From 10e96bad10b57b37acaabcdbb6f1233915717643 Mon Sep 17 00:00:00 2001 From: Titani Date: Mon, 3 Apr 2023 10:50:48 -0400 Subject: [PATCH 01/10] react-table: import from dist/esm like we do in react-core (#8708) This by large avoids importing from the high level export file from @patternfly/react-core as that exports the whole patternfly react exported modules, which affects consumers if tree-shaking algorithm does not mark them as dead code. Noticed these problematic imports while trying to port out project to 'esbuild' which created a noticably big dist'ed CSS because of these. [1] [1] https://github.com/evanw/esbuild/issues/2933 --- packages/react-table/src/components/Table/BodyCell.tsx | 6 ++++-- .../react-table/src/components/Table/CollapseColumn.tsx | 2 +- .../react-table/src/components/Table/DraggableCell.tsx | 2 +- .../src/components/Table/EditableSelectInputCell.tsx | 2 +- .../react-table/src/components/Table/FavoritesCell.tsx | 2 +- .../src/components/Table/HeaderCellInfoWrapper.tsx | 4 +++- packages/react-table/src/components/Table/Table.tsx | 4 ++-- packages/react-table/src/components/Table/TableText.tsx | 2 +- packages/react-table/src/components/Table/TableTypes.tsx | 9 ++++++--- packages/react-table/src/components/Table/base/types.tsx | 6 ++++-- .../src/components/Table/utils/decorators/treeRow.tsx | 3 ++- .../src/components/Table/utils/transformers.test.tsx | 2 +- .../src/components/TableComposable/TableComposable.tsx | 2 +- .../react-table/src/components/TableComposable/Td.tsx | 2 +- .../react-table/src/components/TableComposable/Th.tsx | 2 +- .../react-table/src/components/TableComposable/Tr.tsx | 2 +- 16 files changed, 31 insertions(+), 21 deletions(-) diff --git a/packages/react-table/src/components/Table/BodyCell.tsx b/packages/react-table/src/components/Table/BodyCell.tsx index d26bac64b05..dd27ccdad84 100644 --- a/packages/react-table/src/components/Table/BodyCell.tsx +++ b/packages/react-table/src/components/Table/BodyCell.tsx @@ -1,6 +1,8 @@ import * as React from 'react'; -import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip/Tooltip'; -import { Bullseye, EmptyState, SelectProps } from '@patternfly/react-core'; +import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip'; +import { Bullseye } from '@patternfly/react-core/dist/esm/layouts/Bullseye'; +import { EmptyState } from '@patternfly/react-core/dist/esm/components/EmptyState'; +import { SelectProps } from '@patternfly/react-core/dist/esm/components/Select'; import { Td } from '../TableComposable/Td'; export interface BodyCellProps { diff --git a/packages/react-table/src/components/Table/CollapseColumn.tsx b/packages/react-table/src/components/Table/CollapseColumn.tsx index 3400053ef7c..1a8b01fdcab 100644 --- a/packages/react-table/src/components/Table/CollapseColumn.tsx +++ b/packages/react-table/src/components/Table/CollapseColumn.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import AngleDownIcon from '@patternfly/react-icons/dist/esm/icons/angle-down-icon'; import { css } from '@patternfly/react-styles'; -import { Button } from '@patternfly/react-core/dist/esm/components/Button/Button'; +import { Button } from '@patternfly/react-core/dist/esm/components/Button'; import styles from '@patternfly/react-styles/css/components/Table/table'; export interface CollapseColumnProps { diff --git a/packages/react-table/src/components/Table/DraggableCell.tsx b/packages/react-table/src/components/Table/DraggableCell.tsx index 6bc6076c031..4dee58fe332 100644 --- a/packages/react-table/src/components/Table/DraggableCell.tsx +++ b/packages/react-table/src/components/Table/DraggableCell.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import GripVerticalIcon from '@patternfly/react-icons/dist/esm/icons/grip-vertical-icon'; -import { Button } from '@patternfly/react-core/dist/esm/components/Button/Button'; +import { Button } from '@patternfly/react-core/dist/esm/components/Button'; export interface DraggableCellProps { id: string; diff --git a/packages/react-table/src/components/Table/EditableSelectInputCell.tsx b/packages/react-table/src/components/Table/EditableSelectInputCell.tsx index 0496079ffeb..f472fc29ab1 100644 --- a/packages/react-table/src/components/Table/EditableSelectInputCell.tsx +++ b/packages/react-table/src/components/Table/EditableSelectInputCell.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { css } from '@patternfly/react-styles'; -import { Select, SelectOptionObject } from '@patternfly/react-core'; +import { Select, SelectOptionObject } from '@patternfly/react-core/dist/esm/components/Select'; import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import formStyles from '@patternfly/react-styles/css/components/Form/form'; import { EditableSelectInputProps } from './base'; diff --git a/packages/react-table/src/components/Table/FavoritesCell.tsx b/packages/react-table/src/components/Table/FavoritesCell.tsx index 92c90ccf1e1..234f1ac051f 100644 --- a/packages/react-table/src/components/Table/FavoritesCell.tsx +++ b/packages/react-table/src/components/Table/FavoritesCell.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import StarIcon from '@patternfly/react-icons/dist/esm/icons/star-icon'; -import { Button } from '@patternfly/react-core/dist/esm/components/Button/Button'; +import { Button } from '@patternfly/react-core/dist/esm/components/Button'; export interface FavoritesCellProps { id?: string; diff --git a/packages/react-table/src/components/Table/HeaderCellInfoWrapper.tsx b/packages/react-table/src/components/Table/HeaderCellInfoWrapper.tsx index f2bec82641f..336bbbd0486 100644 --- a/packages/react-table/src/components/Table/HeaderCellInfoWrapper.tsx +++ b/packages/react-table/src/components/Table/HeaderCellInfoWrapper.tsx @@ -2,7 +2,9 @@ import * as React from 'react'; import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon'; import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/Table/table'; -import { Button, Tooltip, Popover, TooltipProps, PopoverProps } from '@patternfly/react-core'; +import { Tooltip, TooltipProps } from '@patternfly/react-core/dist/esm/components/Tooltip'; +import { Popover, PopoverProps } from '@patternfly/react-core/dist/esm/components/Popover'; +import { Button } from '@patternfly/react-core/dist/esm/components/Button'; import { TableText } from './TableText'; export interface ColumnHelpWrapperProps { diff --git a/packages/react-table/src/components/Table/Table.tsx b/packages/react-table/src/components/Table/Table.tsx index c286abe0b3f..944681c9e26 100644 --- a/packages/react-table/src/components/Table/Table.tsx +++ b/packages/react-table/src/components/Table/Table.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import { OUIAProps, getDefaultOUIAId } from '@patternfly/react-core'; -import { DropdownDirection, DropdownPosition } from '@patternfly/react-core/dist/esm/deprecated/components'; +import { OUIAProps, getDefaultOUIAId } from '@patternfly/react-core/dist/esm/helpers'; +import { DropdownDirection, DropdownPosition } from '@patternfly/react-core/dist/esm/components/Dropdown'; import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import { css } from '@patternfly/react-styles'; import { Provider } from './base'; diff --git a/packages/react-table/src/components/Table/TableText.tsx b/packages/react-table/src/components/Table/TableText.tsx index 993ad35ea58..f00a4e1b2ad 100644 --- a/packages/react-table/src/components/Table/TableText.tsx +++ b/packages/react-table/src/components/Table/TableText.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import styles from '@patternfly/react-styles/css/components/Table/table'; import { css } from '@patternfly/react-styles'; -import { Tooltip, TooltipProps } from '@patternfly/react-core/dist/esm/components/Tooltip/Tooltip'; +import { Tooltip, TooltipProps } from '@patternfly/react-core/dist/esm/components/Tooltip'; export enum TableTextVariant { div = 'div', diff --git a/packages/react-table/src/components/Table/TableTypes.tsx b/packages/react-table/src/components/Table/TableTypes.tsx index b9a9f093b74..fb96fa0479e 100644 --- a/packages/react-table/src/components/Table/TableTypes.tsx +++ b/packages/react-table/src/components/Table/TableTypes.tsx @@ -1,10 +1,13 @@ -import { DropdownItemProps } from '@patternfly/react-core'; +import { ButtonProps } from '@patternfly/react-core/dist/esm/components/Button'; import { formatterValueType, ColumnType, RowType, RowKeyType, HeaderType } from './base'; import { SortByDirection } from './SortColumn'; -import { DropdownDirection, DropdownPosition } from '@patternfly/react-core/dist/esm/deprecated/components'; +import { + DropdownItemProps, + DropdownDirection, + DropdownPosition +} from '@patternfly/react-core/dist/esm/components/Dropdown'; import * as React from 'react'; import { CustomActionsToggleProps } from './ActionsColumn'; -import { ButtonProps } from '@patternfly/react-core'; export enum TableGridBreakpoint { none = '', diff --git a/packages/react-table/src/components/Table/base/types.tsx b/packages/react-table/src/components/Table/base/types.tsx index 83644a30487..79f95a4f343 100644 --- a/packages/react-table/src/components/Table/base/types.tsx +++ b/packages/react-table/src/components/Table/base/types.tsx @@ -6,8 +6,10 @@ */ import * as React from 'react'; -import { TooltipProps, PopoverProps, SelectOptionObject, SelectProps } from '@patternfly/react-core'; -import { DropdownPosition, DropdownDirection } from '@patternfly/react-core/dist/esm/deprecated/components'; +import { TooltipProps } from '@patternfly/react-core/dist/esm/components/Tooltip'; +import { PopoverProps } from '@patternfly/react-core/dist/esm/components/Popover'; +import { DropdownPosition, DropdownDirection } from '@patternfly/react-core/dist/esm/components/Dropdown'; +import { SelectProps, SelectOptionObject } from '@patternfly/react-core/dist/esm/components/Select'; import { TableComposable } from '../../TableComposable/TableComposable'; import { Thead } from '../../TableComposable/Thead'; import { Tbody } from '../../TableComposable/Tbody'; diff --git a/packages/react-table/src/components/Table/utils/decorators/treeRow.tsx b/packages/react-table/src/components/Table/utils/decorators/treeRow.tsx index a2250e9fb3c..679c5951c24 100644 --- a/packages/react-table/src/components/Table/utils/decorators/treeRow.tsx +++ b/packages/react-table/src/components/Table/utils/decorators/treeRow.tsx @@ -3,7 +3,8 @@ import { IExtra, IFormatterValueType, OnCheckChange, OnTreeRowCollapse, OnToggle import { css } from '@patternfly/react-styles'; import styles from '@patternfly/react-styles/css/components/Table/table'; import stylesTreeView from '@patternfly/react-styles/css/components/Table/table-tree-view'; -import { Button, Checkbox } from '@patternfly/react-core'; +import { Button } from '@patternfly/react-core/dist/esm/components/Button'; +import { Checkbox } from '@patternfly/react-core/dist/esm/components/Checkbox'; import AngleDownIcon from '@patternfly/react-icons/dist/esm/icons/angle-down-icon'; import EllipsisHIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-h-icon'; diff --git a/packages/react-table/src/components/Table/utils/transformers.test.tsx b/packages/react-table/src/components/Table/utils/transformers.test.tsx index bd8652aea13..cc3045af1f9 100644 --- a/packages/react-table/src/components/Table/utils/transformers.test.tsx +++ b/packages/react-table/src/components/Table/utils/transformers.test.tsx @@ -18,7 +18,7 @@ import { textCenter, cellActions } from './'; -import { DropdownPosition, DropdownDirection } from '@patternfly/react-core/deprecated'; +import { DropdownPosition, DropdownDirection } from '@patternfly/react-core/dist/esm/components/Dropdown'; import { IAction, IActions, diff --git a/packages/react-table/src/components/TableComposable/TableComposable.tsx b/packages/react-table/src/components/TableComposable/TableComposable.tsx index e0b01c571e2..a901d11af3d 100644 --- a/packages/react-table/src/components/TableComposable/TableComposable.tsx +++ b/packages/react-table/src/components/TableComposable/TableComposable.tsx @@ -5,7 +5,7 @@ import stylesTreeView from '@patternfly/react-styles/css/components/Table/table- import { css } from '@patternfly/react-styles'; import { toCamel } from '../Table/utils/utils'; import { IVisibility } from '../Table/utils/decorators/classNames'; -import { useOUIAProps, OUIAProps, handleArrows, setTabIndex } from '@patternfly/react-core'; +import { useOUIAProps, OUIAProps, handleArrows, setTabIndex } from '@patternfly/react-core/dist/esm/helpers'; import { TableGridBreakpoint, TableVariant } from '../Table/TableTypes'; export interface BaseCellProps { diff --git a/packages/react-table/src/components/TableComposable/Td.tsx b/packages/react-table/src/components/TableComposable/Td.tsx index 18ee5686a09..82d73314fde 100644 --- a/packages/react-table/src/components/TableComposable/Td.tsx +++ b/packages/react-table/src/components/TableComposable/Td.tsx @@ -14,7 +14,7 @@ import { draggable } from '../Table/utils/decorators/draggable'; import { treeRow } from '../Table/utils/decorators/treeRow'; import { mergeProps } from '../Table/base/merge-props'; import { IVisibility } from '../Table/utils/decorators/classNames'; -import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip/Tooltip'; +import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip'; import { IFormatterValueType, IExtra } from '../Table/TableTypes'; import { TdActionsType, diff --git a/packages/react-table/src/components/TableComposable/Th.tsx b/packages/react-table/src/components/TableComposable/Th.tsx index e9cc84c5910..9e8a542b092 100644 --- a/packages/react-table/src/components/TableComposable/Th.tsx +++ b/packages/react-table/src/components/TableComposable/Th.tsx @@ -11,7 +11,7 @@ import { Visibility, classNames } from './../Table/utils/decorators/classNames'; import { ThInfoType, ThSelectType, ThExpandType, ThSortType, formatterValueType } from '../Table/base/types'; import { mergeProps } from '../Table/base/merge-props'; import { IVisibility } from '../Table/utils/decorators/classNames'; -import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip/Tooltip'; +import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip'; import { BaseCellProps } from './TableComposable'; import { IFormatterValueType, IColumn } from '../Table/TableTypes'; diff --git a/packages/react-table/src/components/TableComposable/Tr.tsx b/packages/react-table/src/components/TableComposable/Tr.tsx index d96d20bde5e..b36d73c2edb 100644 --- a/packages/react-table/src/components/TableComposable/Tr.tsx +++ b/packages/react-table/src/components/TableComposable/Tr.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { useOUIAProps, OUIAProps } from '@patternfly/react-core'; +import { useOUIAProps, OUIAProps } from '@patternfly/react-core/dist/esm/helpers'; import styles from '@patternfly/react-styles/css/components/Table/table'; import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import { css } from '@patternfly/react-styles'; From 620531405a26d766beefa834a38eb921de9b6349 Mon Sep 17 00:00:00 2001 From: Titani Date: Mon, 3 Apr 2023 12:35:22 -0400 Subject: [PATCH 02/10] fix merge issues --- packages/react-table/src/components/Table/ActionsColumn.tsx | 2 +- packages/react-table/src/components/Table/Table.tsx | 2 +- packages/react-table/src/components/Table/TableTypes.tsx | 2 +- .../src/components/Table/utils/transformers.test.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/react-table/src/components/Table/ActionsColumn.tsx b/packages/react-table/src/components/Table/ActionsColumn.tsx index 27130789aba..ab63e4fd595 100644 --- a/packages/react-table/src/components/Table/ActionsColumn.tsx +++ b/packages/react-table/src/components/Table/ActionsColumn.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { Dropdown, DropdownItem, DropdownList } from '@patternfly/react-core'; +import { Dropdown, DropdownItem, DropdownList } from '@patternfly/react-core/dist/esm/components/Dropdown'; import { Button } from '@patternfly/react-core/dist/esm/components/Button'; import { Divider } from '@patternfly/react-core/dist/esm/components/Divider'; import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle'; diff --git a/packages/react-table/src/components/Table/Table.tsx b/packages/react-table/src/components/Table/Table.tsx index 944681c9e26..307165544ae 100644 --- a/packages/react-table/src/components/Table/Table.tsx +++ b/packages/react-table/src/components/Table/Table.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { OUIAProps, getDefaultOUIAId } from '@patternfly/react-core/dist/esm/helpers'; -import { DropdownDirection, DropdownPosition } from '@patternfly/react-core/dist/esm/components/Dropdown'; +import { DropdownDirection, DropdownPosition } from '@patternfly/react-core/dist/esm/deprecated/components/Dropdown'; import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import { css } from '@patternfly/react-styles'; import { Provider } from './base'; diff --git a/packages/react-table/src/components/Table/TableTypes.tsx b/packages/react-table/src/components/Table/TableTypes.tsx index fb96fa0479e..d78c0831686 100644 --- a/packages/react-table/src/components/Table/TableTypes.tsx +++ b/packages/react-table/src/components/Table/TableTypes.tsx @@ -5,7 +5,7 @@ import { DropdownItemProps, DropdownDirection, DropdownPosition -} from '@patternfly/react-core/dist/esm/components/Dropdown'; +} from '@patternfly/react-core/dist/esm/deprecated/components/Dropdown'; import * as React from 'react'; import { CustomActionsToggleProps } from './ActionsColumn'; diff --git a/packages/react-table/src/components/Table/utils/transformers.test.tsx b/packages/react-table/src/components/Table/utils/transformers.test.tsx index cc3045af1f9..a2637cf32ae 100644 --- a/packages/react-table/src/components/Table/utils/transformers.test.tsx +++ b/packages/react-table/src/components/Table/utils/transformers.test.tsx @@ -18,7 +18,7 @@ import { textCenter, cellActions } from './'; -import { DropdownPosition, DropdownDirection } from '@patternfly/react-core/dist/esm/components/Dropdown'; +import { DropdownPosition, DropdownDirection } from '@patternfly/react-core/dist/esm/deprecated/components/Dropdown'; import { IAction, IActions, From c6d9e57a5623cd45592ca50ccf1d3e2873cbc9a3 Mon Sep 17 00:00:00 2001 From: Titani Date: Mon, 3 Apr 2023 17:12:47 -0400 Subject: [PATCH 03/10] fix conflict --- packages/react-table/src/components/Table/ActionsColumn.tsx | 6 +++--- packages/react-table/src/components/Table/base/types.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/react-table/src/components/Table/ActionsColumn.tsx b/packages/react-table/src/components/Table/ActionsColumn.tsx index ab63e4fd595..acfa1f64c86 100644 --- a/packages/react-table/src/components/Table/ActionsColumn.tsx +++ b/packages/react-table/src/components/Table/ActionsColumn.tsx @@ -70,7 +70,7 @@ const ActionsColumnBase: React.FunctionComponent = ({ .map(({ title, itemKey, onClick, isOutsideDropdown, ...props }, key) => typeof title === 'string' ? (