@carbon/ibm-products 2.0.0-rc.1 → 2.0.0-rc.11
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -2
- package/css/index-full-carbon.css +1294 -331
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +6 -8
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +789 -171
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +4 -8
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +1171 -416
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +6 -8
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +1068 -262
- package/css/index.css.map +1 -1
- package/css/index.min.css +6 -8
- package/css/index.min.css.map +1 -1
- package/es/components/APIKeyModal/APIKeyModal.js +1 -1
- package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
- package/es/components/ActionSet/ActionSet.js +7 -3
- package/es/components/AddSelect/AddSelect.js +6 -6
- package/es/components/AddSelect/AddSelectBody.js +72 -31
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +12 -4
- package/es/components/AddSelect/AddSelectColumn.js +8 -8
- package/es/components/AddSelect/AddSelectFilter.js +10 -7
- package/es/components/AddSelect/AddSelectList.js +64 -29
- package/es/components/AddSelect/AddSelectMetaPanel.js +7 -1
- package/es/components/AddSelect/AddSelectSidebar.js +5 -2
- package/es/components/AddSelect/AddSelectSort.js +2 -2
- package/es/components/AddSelect/add-select-utils.js +9 -2
- package/es/components/AddSelect/hooks/useItemSort.js +6 -0
- package/es/components/AddSelect/hooks/useParentSelect.js +6 -0
- package/es/components/AddSelect/hooks/usePath.js +15 -1
- package/es/components/AddSelect/index.js +1 -1
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +4 -6
- package/es/components/Card/Card.js +16 -6
- package/es/components/Card/CardFooter.js +3 -1
- package/es/components/Card/CardHeader.js +20 -1
- package/es/components/ComboButton/ComboButton.js +1 -1
- package/es/components/CreateFullPage/CreateFullPage.js +4 -1
- package/es/components/CreateTearsheet/CreateTearsheet.js +8 -1
- package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +65 -15
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
- package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
- package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
- package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
- package/es/components/Datagrid/Datagrid/Datagrid.js +13 -37
- package/es/components/Datagrid/Datagrid/DatagridContent.js +159 -0
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +17 -4
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
- package/es/components/Datagrid/Datagrid/DatagridRow.js +44 -5
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -3
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +13 -4
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +29 -8
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +31 -9
- package/es/components/Datagrid/Datagrid/DraggableElement.js +6 -2
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +5 -45
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +4 -1
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +36 -10
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +62 -26
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +424 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +83 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +20 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +22 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +7 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +38 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +537 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +263 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -14
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -36
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
- package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
- package/es/components/Datagrid/index.js +4 -1
- package/es/components/Datagrid/useActionsColumn.js +28 -12
- package/es/components/Datagrid/useColumnOrder.js +8 -0
- package/es/components/Datagrid/useCustomizeColumns.js +5 -0
- package/es/components/Datagrid/useDefaultStringRenderer.js +4 -1
- package/es/components/Datagrid/useDisableSelectRows.js +6 -2
- package/es/components/Datagrid/useExpandedRow.js +0 -1
- package/es/components/Datagrid/useFiltering.js +90 -0
- package/es/components/Datagrid/useInfiniteScroll.js +5 -2
- package/es/components/Datagrid/useInlineEdit.js +71 -0
- package/es/components/Datagrid/useNestedRowExpander.js +47 -0
- package/es/components/Datagrid/useNestedRows.js +16 -4
- package/es/components/Datagrid/useParentDimensions.js +3 -1
- package/es/components/Datagrid/useRowExpander.js +12 -4
- package/es/components/Datagrid/useRowSize.js +17 -6
- package/es/components/Datagrid/useSelectAllToggle.js +17 -4
- package/es/components/Datagrid/useSelectRows.js +12 -2
- package/es/components/Datagrid/useSortableColumns.js +1 -1
- package/es/components/Datagrid/useStickyColumn.js +11 -0
- package/es/components/Datagrid/utils/DatagridActions.js +223 -0
- package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
- package/es/components/Datagrid/utils/Wrapper.js +21 -0
- package/es/components/Datagrid/utils/getArgTypes.js +94 -0
- package/es/components/Datagrid/utils/getInlineEditColumns.js +158 -0
- package/es/components/Datagrid/utils/makeData.js +55 -2
- package/es/components/EditUpdateCards/EditUpdateCards.js +144 -0
- package/es/components/EditUpdateCards/index.js +7 -0
- package/es/components/ExportModal/ExportModal.js +1 -1
- package/es/components/FilterSummary/FilterSummary.js +54 -0
- package/es/components/FilterSummary/index.js +7 -0
- package/es/components/ImportModal/ImportModal.js +3 -3
- package/es/components/InlineEdit/InlineEdit.js +28 -426
- package/es/components/InlineEditV1/InlineEditV1.js +447 -0
- package/es/components/InlineEditV1/index.js +7 -0
- package/es/components/InlineEditV2/InlineEditV2.js +289 -0
- package/es/components/InlineEditV2/index.js +7 -0
- package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
- package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +1 -1
- package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
- package/es/components/MultiAddSelect/index.js +6 -0
- package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
- package/es/components/OptionsTile/OptionsTile.js +29 -13
- package/es/components/PageHeader/PageHeader.js +4 -4
- package/es/components/PageHeader/PageHeaderTitle.js +1 -1
- package/es/components/ProductiveCard/ProductiveCard.js +5 -0
- package/es/components/RemoveModal/RemoveModal.js +20 -3
- package/es/components/Saving/Saving.js +1 -1
- package/es/components/SidePanel/SidePanel.js +45 -52
- package/es/components/SidePanel/motion/variants.js +45 -0
- package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
- package/es/components/SingleAddSelect/index.js +6 -0
- package/es/components/StatusIcon/StatusIcon.js +1 -1
- package/es/components/UserProfileImage/UserProfileImage.js +1 -1
- package/es/components/WebTerminal/WebTerminal.js +2 -2
- package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
- package/es/components/WebTerminal/hooks/index.js +6 -0
- package/es/components/WebTerminal/index.js +6 -0
- package/es/components/WebTerminal/preview-components/Navigation.js +7 -1
- package/es/components/WebTerminal/preview-components/documentationLinks.js +6 -0
- package/es/components/WebTerminal/preview-components/index.js +7 -0
- package/es/components/index.js +3 -2
- package/es/global/js/hooks/index.js +2 -1
- package/es/global/js/hooks/useClickOutside.js +1 -1
- package/es/global/js/hooks/useControllableState.js +83 -0
- package/es/global/js/hooks/useResetCreateComponent.js +6 -2
- package/es/global/js/package-settings.js +7 -4
- package/es/global/js/utils/getBezierValues.js +20 -0
- package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
- package/es/global/js/utils/motionConstants.js +45 -0
- package/es/global/js/utils/rangeWithCallback.js +13 -0
- package/es/global/js/utils/story-helper.js +5 -1
- package/es/global/js/utils/uuidv4.spec.js +4 -0
- package/lib/components/APIKeyModal/APIKeyModal.js +4 -4
- package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
- package/lib/components/ActionSet/ActionSet.js +7 -3
- package/lib/components/AddSelect/AddSelect.js +5 -6
- package/lib/components/AddSelect/AddSelectBody.js +67 -30
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +15 -4
- package/lib/components/AddSelect/AddSelectColumn.js +7 -7
- package/lib/components/AddSelect/AddSelectFilter.js +9 -6
- package/lib/components/AddSelect/AddSelectList.js +65 -30
- package/lib/components/AddSelect/AddSelectMetaPanel.js +8 -2
- package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
- package/lib/components/AddSelect/AddSelectSort.js +5 -5
- package/lib/components/AddSelect/add-select-utils.js +9 -2
- package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
- package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
- package/lib/components/AddSelect/hooks/usePath.js +9 -1
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -6
- package/lib/components/Card/Card.js +16 -6
- package/lib/components/Card/CardFooter.js +3 -1
- package/lib/components/Card/CardHeader.js +21 -1
- package/lib/components/ComboButton/ComboButton.js +3 -3
- package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
- package/lib/components/CreateTearsheet/CreateTearsheet.js +9 -1
- package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +65 -14
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
- package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
- package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +53 -0
- package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
- package/lib/components/Datagrid/Datagrid/Datagrid.js +16 -44
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +193 -0
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +17 -4
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +45 -5
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -3
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +16 -5
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +32 -8
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -9
- package/lib/components/Datagrid/Datagrid/DraggableElement.js +7 -3
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +12 -47
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +5 -2
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +48 -25
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +60 -25
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +443 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +104 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +35 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +33 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +15 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +47 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +562 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +272 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +100 -0
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -13
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -35
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
- package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
- package/lib/components/Datagrid/index.js +25 -1
- package/lib/components/Datagrid/useActionsColumn.js +28 -13
- package/lib/components/Datagrid/useColumnOrder.js +17 -0
- package/lib/components/Datagrid/useCustomizeColumns.js +5 -0
- package/lib/components/Datagrid/useDefaultStringRenderer.js +5 -1
- package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
- package/lib/components/Datagrid/useExpandedRow.js +0 -1
- package/lib/components/Datagrid/useFiltering.js +94 -0
- package/lib/components/Datagrid/useInfiniteScroll.js +5 -2
- package/lib/components/Datagrid/useInlineEdit.js +85 -0
- package/lib/components/Datagrid/useNestedRowExpander.js +63 -0
- package/lib/components/Datagrid/useNestedRows.js +17 -4
- package/lib/components/Datagrid/useParentDimensions.js +3 -1
- package/lib/components/Datagrid/useRowExpander.js +17 -5
- package/lib/components/Datagrid/useRowSize.js +18 -13
- package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
- package/lib/components/Datagrid/useSelectRows.js +12 -2
- package/lib/components/Datagrid/useSortableColumns.js +5 -5
- package/lib/components/Datagrid/useStickyColumn.js +11 -0
- package/lib/components/Datagrid/utils/DatagridActions.js +248 -0
- package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
- package/lib/components/Datagrid/utils/Wrapper.js +33 -0
- package/lib/components/Datagrid/utils/getArgTypes.js +102 -0
- package/lib/components/Datagrid/utils/getInlineEditColumns.js +173 -0
- package/lib/components/Datagrid/utils/makeData.js +57 -3
- package/lib/components/EditUpdateCards/EditUpdateCards.js +152 -0
- package/lib/components/EditUpdateCards/index.js +13 -0
- package/lib/components/ExportModal/ExportModal.js +3 -3
- package/lib/components/FilterSummary/FilterSummary.js +72 -0
- package/lib/components/FilterSummary/index.js +15 -0
- package/lib/components/ImportModal/ImportModal.js +4 -4
- package/lib/components/InlineEdit/InlineEdit.js +27 -426
- package/lib/components/InlineEditV1/InlineEditV1.js +464 -0
- package/lib/components/InlineEditV1/index.js +13 -0
- package/lib/components/InlineEditV2/InlineEditV2.js +309 -0
- package/lib/components/InlineEditV2/index.js +13 -0
- package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +2 -2
- package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +3 -3
- package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
- package/lib/components/NotificationsPanel/NotificationsPanel.js +8 -8
- package/lib/components/OptionsTile/OptionsTile.js +34 -17
- package/lib/components/PageHeader/PageHeader.js +5 -5
- package/lib/components/PageHeader/PageHeaderTitle.js +1 -1
- package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
- package/lib/components/RemoveModal/RemoveModal.js +20 -3
- package/lib/components/Saving/Saving.js +5 -5
- package/lib/components/SidePanel/SidePanel.js +48 -53
- package/lib/components/SidePanel/motion/variants.js +55 -0
- package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
- package/lib/components/StatusIcon/StatusIcon.js +45 -45
- package/lib/components/UserProfileImage/UserProfileImage.js +7 -7
- package/lib/components/WebTerminal/WebTerminal.js +3 -3
- package/lib/components/WebTerminal/hooks/index.js +6 -0
- package/lib/components/WebTerminal/preview-components/Navigation.js +10 -4
- package/lib/components/WebTerminal/preview-components/documentationLinks.js +6 -0
- package/lib/components/index.js +21 -1
- package/lib/global/js/hooks/index.js +9 -1
- package/lib/global/js/hooks/useClickOutside.js +1 -1
- package/lib/global/js/hooks/useControllableState.js +94 -0
- package/lib/global/js/hooks/useResetCreateComponent.js +7 -2
- package/lib/global/js/package-settings.js +7 -4
- package/lib/global/js/utils/getBezierValues.js +29 -0
- package/lib/global/js/utils/getNumberOfHiddenSteps.js +28 -0
- package/lib/global/js/utils/motionConstants.js +55 -0
- package/lib/global/js/utils/rangeWithCallback.js +22 -0
- package/lib/global/js/utils/story-helper.js +5 -1
- package/lib/global/js/utils/uuidv4.spec.js +4 -0
- package/package.json +18 -16
- package/scss/components/ActionSet/_action-set.scss +9 -4
- package/scss/components/AddSelect/_add-select.scss +132 -34
- package/scss/components/AddSelect/_index.scss +1 -1
- package/scss/components/AddSelect/_storybook-styles.scss +1 -1
- package/scss/components/Card/_card.scss +1 -0
- package/scss/components/Cascade/_cascade.scss +1 -1
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -0
- package/scss/components/Datagrid/_datagrid.scss +7 -1
- package/scss/components/Datagrid/_storybook-styles.scss +29 -5
- package/scss/components/Datagrid/styles/_datagrid.scss +105 -18
- package/scss/components/Datagrid/styles/_draggableElement.scss +26 -9
- package/scss/components/Datagrid/styles/_index.scss +2 -0
- package/scss/components/Datagrid/styles/_useActionsColumn.scss +14 -0
- package/scss/components/Datagrid/styles/_useExpandedRow.scss +57 -11
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +419 -0
- package/scss/components/Datagrid/styles/_useNestedRows.scss +33 -1
- package/scss/components/Datagrid/styles/_useStickyColumn.scss +31 -2
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +47 -6
- package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
- package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +9 -1
- package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
- package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
- package/scss/components/EditUpdateCards/_index-with-carbon.scss +9 -0
- package/scss/components/EditUpdateCards/_index.scss +8 -0
- package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
- package/scss/components/FilterSummary/_filter-summary.scss +20 -0
- package/scss/components/FilterSummary/_index.scss +10 -0
- package/scss/components/FilterSummary/_storybook-styles.scss +14 -0
- package/scss/components/{InlineEdit → InlineEditV1}/_carbon-imports.scss +0 -0
- package/scss/components/{InlineEdit → InlineEditV1}/_index-with-carbon.scss +1 -1
- package/scss/components/{InlineEdit → InlineEditV1}/_index.scss +1 -1
- package/scss/components/{InlineEdit/_inline-edit.scss → InlineEditV1/_inline-edit-v1.scss} +4 -2
- package/scss/components/{InlineEdit → InlineEditV1}/_storybook-styles.scss +0 -0
- package/scss/components/InlineEditV2/_carbon-imports.scss +9 -0
- package/scss/components/InlineEditV2/_index-with-carbon.scss +9 -0
- package/scss/components/InlineEditV2/_index.scss +10 -0
- package/scss/components/InlineEditV2/_inline-edit-v2.scss +83 -0
- package/scss/components/InlineEditV2/_storybook-styles.scss +9 -0
- package/scss/components/MultiAddSelect/_multi-add-select.scss +7 -0
- package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
- package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -6
- package/scss/components/RemoveModal/_remove-modal.scss +0 -4
- package/scss/components/SidePanel/_side-panel.scss +3 -82
- package/scss/components/SidePanel/_storybook-styles.scss +6 -1
- package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
- package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
- package/scss/components/SingleAddSelect/_index.scss +7 -0
- package/scss/components/SingleAddSelect/_single-add-select.scss +7 -0
- package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
- package/scss/components/Tearsheet/_tearsheet.scss +2 -2
- package/scss/components/WebTerminal/_carbon-imports.scss +6 -0
- package/scss/components/WebTerminal/_index.scss +7 -0
- package/scss/components/WebTerminal/_storybook-styles.scss +7 -0
- package/scss/components/_index-released-only-with-carbon.scss +1 -1
- package/scss/components/_index-released-only.scss +2 -1
- package/scss/components/_index-with-carbon.scss +3 -1
- package/scss/components/_index.scss +4 -1
@@ -16,6 +16,8 @@ import React, { useEffect } from 'react';
|
|
16
16
|
import { VariableSizeList } from 'react-window';
|
17
17
|
import { DataTable } from '@carbon/react';
|
18
18
|
import { pkg } from '../../../settings';
|
19
|
+
import DatagridHead from './DatagridHead';
|
20
|
+
import { px } from '@carbon/layout';
|
19
21
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
20
22
|
var TableBody = DataTable.TableBody;
|
21
23
|
var rowSizeMap = {
|
@@ -33,6 +35,8 @@ var rowSizeMap = {
|
|
33
35
|
var defaultRowHeight = rowSizeMap.lg;
|
34
36
|
|
35
37
|
var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
38
|
+
var _gridRef$current, _gridRef$current2;
|
39
|
+
|
36
40
|
var getTableBodyProps = datagridState.getTableBodyProps,
|
37
41
|
rows = datagridState.rows,
|
38
42
|
prepareRow = datagridState.prepareRow,
|
@@ -40,12 +44,21 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
40
44
|
innerListRef = datagridState.innerListRef,
|
41
45
|
_datagridState$tableH = datagridState.tableHeight,
|
42
46
|
tableHeight = _datagridState$tableH === void 0 ? 400 : _datagridState$tableH,
|
47
|
+
virtualHeight = datagridState.virtualHeight,
|
43
48
|
listRef = datagridState.listRef,
|
44
49
|
rowSize = datagridState.rowSize,
|
45
50
|
DatagridPagination = datagridState.DatagridPagination,
|
46
51
|
page = datagridState.page,
|
47
52
|
handleResize = datagridState.handleResize,
|
48
|
-
|
53
|
+
gridRef = datagridState.gridRef;
|
54
|
+
|
55
|
+
var syncScroll = function syncScroll(e) {
|
56
|
+
var virtualBody = e.target;
|
57
|
+
document.querySelector(".".concat(blockClass, "__head-warp")).scrollLeft = virtualBody.scrollLeft;
|
58
|
+
var spacerColumn = document.querySelector(".".concat(blockClass, "__head-warp thead th:last-child"));
|
59
|
+
spacerColumn.style.width = px(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
|
60
|
+
};
|
61
|
+
|
49
62
|
useEffect(function () {
|
50
63
|
handleResize();
|
51
64
|
}, [handleResize]);
|
@@ -56,10 +69,18 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
56
69
|
}
|
57
70
|
|
58
71
|
var visibleRows = DatagridPagination && page || rows;
|
59
|
-
return /*#__PURE__*/React.createElement(
|
60
|
-
|
72
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
73
|
+
className: "".concat(blockClass, "__head-warp"),
|
74
|
+
style: {
|
75
|
+
width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
|
76
|
+
overflow: 'hidden'
|
77
|
+
}
|
78
|
+
}, /*#__PURE__*/React.createElement(DatagridHead, datagridState)), /*#__PURE__*/React.createElement(TableBody, _extends({}, getTableBodyProps(), {
|
79
|
+
onScroll: function onScroll(e) {
|
80
|
+
return syncScroll(e);
|
81
|
+
}
|
61
82
|
}), /*#__PURE__*/React.createElement(VariableSizeList, {
|
62
|
-
height: tableHeight,
|
83
|
+
height: virtualHeight || tableHeight,
|
63
84
|
itemCount: visibleRows.length,
|
64
85
|
itemSize: function itemSize(index) {
|
65
86
|
return visibleRows[index].isExpanded ? (visibleRows[index].expandedContentHeight || 0) + rowHeight : rowHeight;
|
@@ -68,20 +89,21 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
68
89
|
onScroll: onScroll,
|
69
90
|
innerRef: innerListRef,
|
70
91
|
ref: listRef,
|
71
|
-
className: "".concat(blockClass, "__virtual-scrollbar")
|
92
|
+
className: "".concat(blockClass, "__virtual-scrollbar"),
|
93
|
+
style: {
|
94
|
+
width: (_gridRef$current2 = gridRef.current) === null || _gridRef$current2 === void 0 ? void 0 : _gridRef$current2.clientWidth
|
95
|
+
}
|
72
96
|
}, function (_ref) {
|
73
97
|
var index = _ref.index,
|
74
98
|
style = _ref.style;
|
75
99
|
var row = visibleRows[index];
|
76
100
|
prepareRow(row);
|
77
101
|
return /*#__PURE__*/React.createElement("div", {
|
78
|
-
style: _objectSpread(
|
79
|
-
overflow: withOverflowRow ? 'visible' : 'hidden'
|
80
|
-
})
|
102
|
+
style: _objectSpread({}, style)
|
81
103
|
}, row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
|
82
104
|
row: row
|
83
105
|
})));
|
84
|
-
}));
|
106
|
+
})));
|
85
107
|
};
|
86
108
|
|
87
109
|
export default DatagridVirtualBody;
|
@@ -11,7 +11,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
11
11
|
*/
|
12
12
|
import * as React from 'react';
|
13
13
|
import PropTypes from 'prop-types';
|
14
|
-
import { Draggable } from '@carbon/icons
|
14
|
+
import { Draggable } from '@carbon/react/icons';
|
15
15
|
import { useDrag, useDrop } from 'react-dnd';
|
16
16
|
import cx from 'classnames';
|
17
17
|
import { pkg } from '../../../settings';
|
@@ -22,6 +22,8 @@ var blockClass = "".concat(pkg.prefix, "--datagrid");
|
|
22
22
|
var DRAG_TYPE = "".concat(blockClass, "__shared-ui-draggable-element");
|
23
23
|
|
24
24
|
var DraggableElement = function DraggableElement(_ref) {
|
25
|
+
var _cx;
|
26
|
+
|
25
27
|
var id = _ref.id,
|
26
28
|
index = _ref.index,
|
27
29
|
listData = _ref.listData,
|
@@ -33,6 +35,7 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
33
35
|
onArrowKeyDown = _ref.onArrowKeyDown,
|
34
36
|
isFocused = _ref.isFocused,
|
35
37
|
moveElement = _ref.moveElement,
|
38
|
+
selected = _ref.selected,
|
36
39
|
_ref$positionLabel = _ref.positionLabel,
|
37
40
|
positionLabel = _ref$positionLabel === void 0 ? 'Current position {index} of {total}' : _ref$positionLabel,
|
38
41
|
_ref$grabbedLabel = _ref.grabbedLabel,
|
@@ -121,7 +124,7 @@ var DraggableElement = function DraggableElement(_ref) {
|
|
121
124
|
size: 16
|
122
125
|
})), children);
|
123
126
|
return /*#__PURE__*/React.createElement("li", {
|
124
|
-
className: cx(
|
127
|
+
className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
|
125
128
|
ref: ref,
|
126
129
|
"aria-selected": isFocused,
|
127
130
|
role: "option",
|
@@ -175,6 +178,7 @@ DraggableElement.propTypes = {
|
|
175
178
|
onArrowKeyDown: PropTypes.func.isRequired,
|
176
179
|
onGrab: PropTypes.func.isRequired,
|
177
180
|
positionLabel: PropTypes.string,
|
181
|
+
selected: PropTypes.bool,
|
178
182
|
type: PropTypes.string.isRequired
|
179
183
|
};
|
180
184
|
export default DraggableElement;
|
@@ -1,10 +1,3 @@
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
-
import _extends from "@babel/runtime/helpers/extends";
|
3
|
-
|
4
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
5
|
-
|
6
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
7
|
-
|
8
1
|
// @flow
|
9
2
|
|
10
3
|
/*
|
@@ -14,28 +7,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
14
7
|
* US Government Users Restricted Rights - Use, duplication or disclosure
|
15
8
|
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
16
9
|
*/
|
17
|
-
import { Reset } from '@carbon/icons-react';
|
18
10
|
import PropTypes from 'prop-types';
|
19
|
-
import {
|
11
|
+
import { Search } from '@carbon/react';
|
20
12
|
import * as React from 'react';
|
21
|
-
import keyBy from 'lodash/keyBy';
|
22
13
|
import { pkg } from '../../../../../settings';
|
23
|
-
import { isColumnVisible } from './common';
|
24
14
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
25
15
|
|
26
16
|
var Actions = function Actions(_ref) {
|
27
17
|
var searchText = _ref.searchText,
|
28
|
-
columns = _ref.columns,
|
29
|
-
originalColumnDefinitions = _ref.originalColumnDefinitions,
|
30
|
-
setColumnsObject = _ref.setColumnsObject,
|
31
18
|
setSearchText = _ref.setSearchText,
|
32
|
-
|
33
|
-
findColumnPlaceholderLabel = _ref$findColumnPlaceh === void 0 ? 'Find column' : _ref$findColumnPlaceh,
|
34
|
-
_ref$resetToDefaultLa = _ref.resetToDefaultLabel,
|
35
|
-
resetToDefaultLabel = _ref$resetToDefaultLa === void 0 ? 'Reset to default' : _ref$resetToDefaultLa;
|
19
|
+
findColumnPlaceholderLabel = _ref.findColumnPlaceholderLabel;
|
36
20
|
return /*#__PURE__*/React.createElement("div", {
|
37
|
-
className: "".concat(blockClass, "__customize-columns-modal--actions")
|
38
|
-
"test-id": "".concat(blockClass, "__customize-columns-modal--actions")
|
21
|
+
className: "".concat(blockClass, "__customize-columns-modal--actions")
|
39
22
|
}, /*#__PURE__*/React.createElement(Search, {
|
40
23
|
placeholder: findColumnPlaceholderLabel,
|
41
24
|
value: searchText,
|
@@ -44,31 +27,8 @@ var Actions = function Actions(_ref) {
|
|
44
27
|
onChange: function onChange(e) {
|
45
28
|
// TODO: is it performant?
|
46
29
|
setSearchText(e.target.value);
|
47
|
-
}
|
48
|
-
|
49
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
50
|
-
onClick: function onClick() {
|
51
|
-
var reset = resetToOriginal(columns, originalColumnDefinitions);
|
52
|
-
setColumnsObject(reset);
|
53
|
-
},
|
54
|
-
size: "sm",
|
55
|
-
kind: "ghost",
|
56
|
-
renderIcon: function renderIcon(props) {
|
57
|
-
return /*#__PURE__*/React.createElement(Reset, _extends({
|
58
|
-
size: 16
|
59
|
-
}, props));
|
60
|
-
},
|
61
|
-
"test-id": "".concat(blockClass, "__customize-columns-modal--reset")
|
62
|
-
}, resetToDefaultLabel));
|
63
|
-
};
|
64
|
-
|
65
|
-
var resetToOriginal = function resetToOriginal(columnDefinitions, originalColumnDefinitions) {
|
66
|
-
var keyedDefs = keyBy(columnDefinitions, 'id');
|
67
|
-
return originalColumnDefinitions.map(function (colDef) {
|
68
|
-
return _objectSpread(_objectSpread({}, keyedDefs[colDef.id]), {}, {
|
69
|
-
isVisible: isColumnVisible(colDef)
|
70
|
-
});
|
71
|
-
});
|
30
|
+
}
|
31
|
+
}));
|
72
32
|
};
|
73
33
|
|
74
34
|
Actions.propTypes = {
|
@@ -12,7 +12,7 @@ var _excluded = ["onClick", "setIsModalOpen", "isModalOpen", "iconTooltipLabel"]
|
|
12
12
|
*/
|
13
13
|
import * as React from 'react';
|
14
14
|
import PropTypes from 'prop-types';
|
15
|
-
import { Column } from '@carbon/icons
|
15
|
+
import { Column } from '@carbon/react/icons';
|
16
16
|
import { Button } from '@carbon/react';
|
17
17
|
import { pkg } from '../../../../../settings';
|
18
18
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
@@ -46,6 +46,9 @@ var ButtonWrapper = function ButtonWrapper(_ref) {
|
|
46
46
|
}));
|
47
47
|
};
|
48
48
|
|
49
|
+
ButtonWrapper.defaultProps = {
|
50
|
+
onClick: function onClick() {}
|
51
|
+
};
|
49
52
|
ButtonWrapper.propTypes = {
|
50
53
|
iconTooltipLabel: PropTypes.string,
|
51
54
|
isModalOpen: PropTypes.bool.isRequired,
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
2
3
|
// @flow
|
3
4
|
|
@@ -8,7 +9,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
8
9
|
* US Government Users Restricted Rights - Use, duplication or disclosure
|
9
10
|
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
10
11
|
*/
|
11
|
-
import
|
12
|
+
import React from 'react';
|
12
13
|
import PropTypes from 'prop-types';
|
13
14
|
import { DndProvider } from 'react-dnd';
|
14
15
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
@@ -17,6 +18,7 @@ import update from 'immutability-helper';
|
|
17
18
|
import { pkg } from '../../../../../settings';
|
18
19
|
import DraggableElement from '../../DraggableElement';
|
19
20
|
import { isColumnVisible } from './common';
|
21
|
+
import cx from 'classnames';
|
20
22
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
21
23
|
|
22
24
|
var getNextIndex = function getNextIndex(array, currentIndex, key) {
|
@@ -34,14 +36,16 @@ var getNextIndex = function getNextIndex(array, currentIndex, key) {
|
|
34
36
|
};
|
35
37
|
|
36
38
|
var Columns = function Columns(_ref) {
|
37
|
-
var
|
39
|
+
var _cx;
|
40
|
+
|
41
|
+
var getVisibleColumnsCount = _ref.getVisibleColumnsCount,
|
42
|
+
filterString = _ref.filterString,
|
38
43
|
columns = _ref.columns,
|
39
44
|
setColumnsObject = _ref.setColumnsObject,
|
40
45
|
onSelectColumn = _ref.onSelectColumn,
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
disabledInstructionsLabel = _ref$disabledInstruct === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$disabledInstruct;
|
46
|
+
assistiveTextInstructionsLabel = _ref.assistiveTextInstructionsLabel,
|
47
|
+
assistiveTextDisabledInstructionsLabel = _ref.assistiveTextDisabledInstructionsLabel,
|
48
|
+
selectAllLabel = _ref.selectAllLabel;
|
45
49
|
|
46
50
|
var _React$useState = React.useState(''),
|
47
51
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
@@ -88,7 +92,20 @@ var Columns = function Columns(_ref) {
|
|
88
92
|
}, ariaRegionText), /*#__PURE__*/React.createElement("span", {
|
89
93
|
id: "".concat(blockClass, "__customize-columns--instructions"),
|
90
94
|
className: "".concat(blockClass, "__shared-ui--assistive-text")
|
91
|
-
}, filterString.length === 0 ?
|
95
|
+
}, filterString.length === 0 ? assistiveTextInstructionsLabel : assistiveTextDisabledInstructionsLabel), /*#__PURE__*/React.createElement("div", {
|
96
|
+
id: "".concat(blockClass, "__customize-columns-select-all"),
|
97
|
+
className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__customize-columns-select-all"), getVisibleColumnsCount() === 0), _defineProperty(_cx, "".concat(blockClass, "__customize-columns-select-all-selected"), getVisibleColumnsCount() > 0), _cx)),
|
98
|
+
selected: getVisibleColumnsCount() > 0
|
99
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
100
|
+
className: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
|
101
|
+
checked: getVisibleColumnsCount() === columns.length,
|
102
|
+
indeterminate: getVisibleColumnsCount() < columns.length && getVisibleColumnsCount() > 0,
|
103
|
+
onChange: function onChange() {
|
104
|
+
onSelectColumn(columns, getVisibleColumnsCount() !== columns.length);
|
105
|
+
},
|
106
|
+
id: "".concat(blockClass, "__customization-column-select-all"),
|
107
|
+
labelText: selectAllLabel
|
108
|
+
})), columns.filter(function (colDef) {
|
92
109
|
return filterString.length === 0 || colDef.Header.props.title.toLowerCase().includes(filterString);
|
93
110
|
}).map(function (colDef, i) {
|
94
111
|
return /*#__PURE__*/React.createElement(DraggableElement, {
|
@@ -117,11 +134,15 @@ var Columns = function Columns(_ref) {
|
|
117
134
|
});
|
118
135
|
}
|
119
136
|
}
|
120
|
-
}
|
137
|
+
},
|
138
|
+
selected: isColumnVisible(colDef)
|
121
139
|
}, /*#__PURE__*/React.createElement(Checkbox, {
|
122
|
-
|
140
|
+
className: cx("".concat(blockClass, "__customize-columns-checkbox-wrapper"), "".concat(blockClass, "__customize-columns-checkbox")),
|
123
141
|
checked: isColumnVisible(colDef),
|
124
|
-
onChange:
|
142
|
+
onChange: function onChange(_, _ref2) {
|
143
|
+
var checked = _ref2.checked;
|
144
|
+
return onSelectColumn(colDef, checked);
|
145
|
+
},
|
125
146
|
id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
|
126
147
|
labelText: colDef.Header.props.title,
|
127
148
|
title: colDef.Header.props.title
|
@@ -130,11 +151,16 @@ var Columns = function Columns(_ref) {
|
|
130
151
|
};
|
131
152
|
|
132
153
|
Columns.propTypes = {
|
154
|
+
assistiveTextDisabledInstructionsLabel: PropTypes.string,
|
155
|
+
assistiveTextInstructionsLabel: PropTypes.string,
|
133
156
|
columns: PropTypes.array.isRequired,
|
134
157
|
disabledInstructionsLabel: PropTypes.string,
|
135
158
|
filterString: PropTypes.string.isRequired,
|
159
|
+
getVisibleColumnsCount: PropTypes.func.isRequired,
|
136
160
|
instructionsLabel: PropTypes.string,
|
137
161
|
onSelectColumn: PropTypes.func.isRequired,
|
162
|
+
selectAllLabel: PropTypes.string,
|
163
|
+
setColumnStatus: PropTypes.func,
|
138
164
|
setColumnsObject: PropTypes.func.isRequired
|
139
165
|
};
|
140
166
|
export default Columns;
|
@@ -13,13 +13,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
13
13
|
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
14
14
|
*/
|
15
15
|
// @flow
|
16
|
-
import React, { useState } from 'react';
|
16
|
+
import React, { useEffect, useState } from 'react';
|
17
17
|
import PropTypes from 'prop-types';
|
18
18
|
import { Modal } from '@carbon/react';
|
19
19
|
import { isColumnVisible } from './common';
|
20
20
|
import Columns from './Columns';
|
21
21
|
import Actions from './Actions';
|
22
22
|
import { pkg } from '../../../../../settings';
|
23
|
+
import { useCallback } from 'react';
|
23
24
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
24
25
|
|
25
26
|
var CustomizeColumnsModal = function CustomizeColumnsModal(_ref) {
|
@@ -29,20 +30,40 @@ var CustomizeColumnsModal = function CustomizeColumnsModal(_ref) {
|
|
29
30
|
columnDefinitions = _ref.columnDefinitions,
|
30
31
|
originalColumnDefinitions = _ref.originalColumnDefinitions,
|
31
32
|
_ref$customizeModalHe = _ref.customizeModalHeadingLabel,
|
32
|
-
customizeModalHeadingLabel = _ref$customizeModalHe === void 0 ? 'Customize
|
33
|
+
customizeModalHeadingLabel = _ref$customizeModalHe === void 0 ? 'Customize Columns' : _ref$customizeModalHe,
|
33
34
|
_ref$primaryButtonTex = _ref.primaryButtonTextLabel,
|
34
35
|
primaryButtonTextLabel = _ref$primaryButtonTex === void 0 ? 'Save' : _ref$primaryButtonTex,
|
35
36
|
_ref$secondaryButtonT = _ref.secondaryButtonTextLabel,
|
36
37
|
secondaryButtonTextLabel = _ref$secondaryButtonT === void 0 ? 'Cancel' : _ref$secondaryButtonT,
|
37
38
|
_ref$instructionsLabe = _ref.instructionsLabel,
|
38
|
-
instructionsLabel = _ref$instructionsLabe === void 0 ? '
|
39
|
+
instructionsLabel = _ref$instructionsLabe === void 0 ? 'Select columns to display them. Click and drag the box to reorder the columns. These specifications will be saved and persist if you leave and return to the data table.' : _ref$instructionsLabe,
|
40
|
+
_ref$findColumnPlaceh = _ref.findColumnPlaceholderLabel,
|
41
|
+
findColumnPlaceholderLabel = _ref$findColumnPlaceh === void 0 ? 'Find column' : _ref$findColumnPlaceh,
|
42
|
+
_ref$resetToDefaultLa = _ref.resetToDefaultLabel,
|
43
|
+
resetToDefaultLabel = _ref$resetToDefaultLa === void 0 ? 'Reset to default' : _ref$resetToDefaultLa,
|
44
|
+
_ref$assistiveTextIns = _ref.assistiveTextInstructionsLabel,
|
45
|
+
assistiveTextInstructionsLabel = _ref$assistiveTextIns === void 0 ? 'Press space bar to toggle drag drop mode, use arrow keys to move selected elements.' : _ref$assistiveTextIns,
|
46
|
+
_ref$assistiveTextDis = _ref.assistiveTextDisabledInstructionsLabel,
|
47
|
+
assistiveTextDisabledInstructionsLabel = _ref$assistiveTextDis === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$assistiveTextDis,
|
48
|
+
_ref$selectAllLabel = _ref.selectAllLabel,
|
49
|
+
selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel;
|
39
50
|
|
40
51
|
var _useState = useState(''),
|
41
52
|
_useState2 = _slicedToArray(_useState, 2),
|
42
|
-
|
43
|
-
|
53
|
+
visibleColumnsCount = _useState2[0],
|
54
|
+
setVisibleColumnsCount = _useState2[1];
|
44
55
|
|
45
|
-
var _useState3 = useState(
|
56
|
+
var _useState3 = useState(''),
|
57
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
58
|
+
totalColumns = _useState4[0],
|
59
|
+
setTotalColumns = _useState4[1];
|
60
|
+
|
61
|
+
var _useState5 = useState(''),
|
62
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
63
|
+
searchText = _useState6[0],
|
64
|
+
setSearchText = _useState6[1];
|
65
|
+
|
66
|
+
var _useState7 = useState(columnDefinitions // hide the columns without Header, e.g the sticky actions, spacer
|
46
67
|
.filter(function (colDef) {
|
47
68
|
return !!colDef.Header.props;
|
48
69
|
}) // only sort the hidden column to the end when modal reopen
|
@@ -60,14 +81,14 @@ var CustomizeColumnsModal = function CustomizeColumnsModal(_ref) {
|
|
60
81
|
|
61
82
|
return 0;
|
62
83
|
})),
|
63
|
-
|
64
|
-
columnObjects =
|
65
|
-
|
84
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
85
|
+
columnObjects = _useState8[0],
|
86
|
+
setColumnObjects = _useState8[1];
|
66
87
|
|
67
|
-
var
|
68
|
-
|
69
|
-
isDirty =
|
70
|
-
setIsDirty =
|
88
|
+
var _useState9 = useState(false),
|
89
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
90
|
+
isDirty = _useState10[0],
|
91
|
+
setIsDirty = _useState10[1];
|
71
92
|
|
72
93
|
var onRequestClose = function onRequestClose() {
|
73
94
|
setIsModalOpen(false);
|
@@ -86,7 +107,7 @@ var CustomizeColumnsModal = function CustomizeColumnsModal(_ref) {
|
|
86
107
|
|
87
108
|
var onCheckboxCheck = function onCheckboxCheck(col, value) {
|
88
109
|
var changedDefinitions = columnObjects.map(function (definition) {
|
89
|
-
if (definition.id === col.id) {
|
110
|
+
if (Array.isArray(col) && col.indexOf(definition) != null || definition.id === col.id) {
|
90
111
|
return _objectSpread(_objectSpread({}, definition), {}, {
|
91
112
|
isVisible: value
|
92
113
|
});
|
@@ -94,9 +115,7 @@ var CustomizeColumnsModal = function CustomizeColumnsModal(_ref) {
|
|
94
115
|
|
95
116
|
return definition;
|
96
117
|
});
|
97
|
-
|
98
|
-
_setColumnsObject(changedDefinitions);
|
99
|
-
|
118
|
+
setColumnObjects(changedDefinitions);
|
100
119
|
setDirty();
|
101
120
|
};
|
102
121
|
|
@@ -106,19 +125,27 @@ var CustomizeColumnsModal = function CustomizeColumnsModal(_ref) {
|
|
106
125
|
}
|
107
126
|
};
|
108
127
|
|
128
|
+
var getVisibleColumnsCount = useCallback(function () {
|
129
|
+
return columnObjects.filter(function (col) {
|
130
|
+
return col.isVisible;
|
131
|
+
}).length;
|
132
|
+
}, [columnObjects]);
|
109
133
|
var string = searchText.trim().toLowerCase();
|
134
|
+
useEffect(function () {
|
135
|
+
setVisibleColumnsCount(getVisibleColumnsCount());
|
136
|
+
setTotalColumns(columnObjects.length);
|
137
|
+
}, [getVisibleColumnsCount, columnObjects.length]);
|
110
138
|
return /*#__PURE__*/React.createElement(Modal, {
|
111
139
|
className: "".concat(blockClass, "__customize-columns-modal"),
|
112
140
|
open: isOpen,
|
113
|
-
modalHeading: customizeModalHeadingLabel,
|
141
|
+
modalHeading: "".concat(customizeModalHeadingLabel, " (").concat(visibleColumnsCount, "/").concat(totalColumns, ")"),
|
114
142
|
primaryButtonText: primaryButtonTextLabel,
|
115
143
|
secondaryButtonText: secondaryButtonTextLabel,
|
116
144
|
selectorPrimaryFocus: ".".concat(blockClass, "__customize-columns-column-list--focus"),
|
117
145
|
primaryButtonDisabled: !isDirty,
|
118
146
|
onRequestClose: onRequestClose,
|
119
147
|
onRequestSubmit: onRequestSubmit,
|
120
|
-
size: "sm"
|
121
|
-
hasForm: true
|
148
|
+
size: "sm"
|
122
149
|
}, /*#__PURE__*/React.createElement("div", {
|
123
150
|
className: "".concat(blockClass, "__customize-columns-instructions")
|
124
151
|
}, instructionsLabel), /*#__PURE__*/React.createElement(Actions, {
|
@@ -126,32 +153,41 @@ var CustomizeColumnsModal = function CustomizeColumnsModal(_ref) {
|
|
126
153
|
originalColumnDefinitions: originalColumnDefinitions,
|
127
154
|
searchText: searchText,
|
128
155
|
setColumnsObject: function setColumnsObject(cols) {
|
129
|
-
|
130
|
-
|
156
|
+
setColumnObjects(cols);
|
131
157
|
setDirty();
|
132
158
|
},
|
133
|
-
setSearchText: setSearchText
|
159
|
+
setSearchText: setSearchText,
|
160
|
+
findColumnPlaceholderLabel: findColumnPlaceholderLabel,
|
161
|
+
resetToDefaultLabel: resetToDefaultLabel
|
134
162
|
}), isOpen && /*#__PURE__*/React.createElement(Columns, {
|
163
|
+
assistiveTextInstructionsLabel: assistiveTextInstructionsLabel,
|
164
|
+
assistiveTextDisabledInstructionsLabel: assistiveTextDisabledInstructionsLabel,
|
165
|
+
getVisibleColumnsCount: getVisibleColumnsCount,
|
135
166
|
columns: columnObjects,
|
136
167
|
filterString: string,
|
137
168
|
onSelectColumn: onCheckboxCheck,
|
138
169
|
setColumnsObject: function setColumnsObject(cols) {
|
139
|
-
|
140
|
-
|
170
|
+
setColumnObjects(cols);
|
141
171
|
setDirty();
|
142
|
-
}
|
172
|
+
},
|
173
|
+
selectAllLabel: selectAllLabel
|
143
174
|
}));
|
144
175
|
};
|
145
176
|
|
146
177
|
CustomizeColumnsModal.propTypes = {
|
178
|
+
assistiveTextDisabledInstructionsLabel: PropTypes.string,
|
179
|
+
assistiveTextInstructionsLabel: PropTypes.string,
|
147
180
|
columnDefinitions: PropTypes.array.isRequired,
|
148
181
|
customizeModalHeadingLabel: PropTypes.string,
|
182
|
+
findColumnPlaceholderLabel: PropTypes.string,
|
149
183
|
instructionsLabel: PropTypes.string,
|
150
184
|
isOpen: PropTypes.bool.isRequired,
|
151
185
|
onSaveColumnPrefs: PropTypes.func.isRequired,
|
152
186
|
originalColumnDefinitions: PropTypes.array.isRequired,
|
153
187
|
primaryButtonTextLabel: PropTypes.string,
|
188
|
+
resetToDefaultLabel: PropTypes.string,
|
154
189
|
secondaryButtonTextLabel: PropTypes.string,
|
190
|
+
selectAllLabel: PropTypes.string,
|
155
191
|
setIsModalOpen: PropTypes.func.isRequired
|
156
192
|
};
|
157
193
|
export default CustomizeColumnsModal;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
3
|
-
var _excluded = ["onSaveColumnPrefs", "isModalOpen", "setIsModalOpen"];
|
3
|
+
var _excluded = ["onSaveColumnPrefs", "isModalOpen", "setIsModalOpen", "labels"];
|
4
4
|
// @flow
|
5
5
|
|
6
6
|
/*
|
@@ -21,10 +21,11 @@ var ModalWrapper = function ModalWrapper(_ref) {
|
|
21
21
|
_onSaveColumnPrefs = _instance$customizeCo.onSaveColumnPrefs,
|
22
22
|
isModalOpen = _instance$customizeCo.isModalOpen,
|
23
23
|
setIsModalOpen = _instance$customizeCo.setIsModalOpen,
|
24
|
+
labels = _instance$customizeCo.labels,
|
24
25
|
rest = _objectWithoutProperties(_instance$customizeCo, _excluded);
|
25
26
|
|
26
27
|
if (isModalOpen) {
|
27
|
-
return /*#__PURE__*/React.createElement(CustomizeColumnsModal, _extends({}, rest, {
|
28
|
+
return /*#__PURE__*/React.createElement(CustomizeColumnsModal, _extends({}, rest, labels, {
|
28
29
|
isOpen: isModalOpen,
|
29
30
|
setIsModalOpen: setIsModalOpen,
|
30
31
|
columnDefinitions: instance.allColumns,
|