@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
@@ -0,0 +1,39 @@
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
+
|
3
|
+
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; }
|
4
|
+
|
5
|
+
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; }
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Copyright IBM Corp. 2022, 2022
|
9
|
+
*
|
10
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
11
|
+
* LICENSE file in the root directory of this source tree.
|
12
|
+
*/
|
13
|
+
import { pkg } from '../../../../../../settings';
|
14
|
+
var blockClass = "".concat(pkg.prefix, "--datagrid"); // This function returns the state back to the reducer after
|
15
|
+
// determining the new active cell value
|
16
|
+
|
17
|
+
export var returnUpdatedActiveCell = function returnUpdatedActiveCell(_ref) {
|
18
|
+
var activeCellCoords = _ref.activeCellCoords,
|
19
|
+
direction = _ref.direction,
|
20
|
+
totalVisibleColumns = _ref.totalVisibleColumns,
|
21
|
+
state = _ref.state,
|
22
|
+
instance = _ref.instance;
|
23
|
+
|
24
|
+
var newActiveCoords = _objectSpread(_objectSpread({}, activeCellCoords), {}, {
|
25
|
+
column: direction === 'right' ? activeCellCoords.column < totalVisibleColumns.length - 1 ? activeCellCoords.column + 1 : activeCellCoords.column : direction === 'left' ? activeCellCoords.column === 0 ? 0 : activeCellCoords.column - 1 : activeCellCoords.column,
|
26
|
+
row: direction === 'up' ? activeCellCoords.row === 0 ? 0 : activeCellCoords.row - 1 : direction === 'down' ? activeCellCoords.row < instance.rows.length - 1 ? activeCellCoords.row + 1 : activeCellCoords.row : activeCellCoords.row
|
27
|
+
});
|
28
|
+
|
29
|
+
var newActiveCellId = "column-".concat(newActiveCoords.column, "-row-").concat(newActiveCoords.row);
|
30
|
+
var newCellIdButton = document.querySelector("#".concat(instance.tableId, " .").concat(blockClass, "__table-with-inline-edit [data-cell-id=\"").concat(newActiveCellId, "\"] .").concat(blockClass, "__inline-edit-button")); // Allows scrollable area to keep focused/active cell id visible
|
31
|
+
|
32
|
+
if (newCellIdButton) {
|
33
|
+
newCellIdButton === null || newCellIdButton === void 0 ? void 0 : newCellIdButton.focus();
|
34
|
+
}
|
35
|
+
|
36
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
37
|
+
activeCellId: newActiveCellId
|
38
|
+
});
|
39
|
+
};
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2022, 2022
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
export var handleGridFocus = function handleGridFocus(state, dispatch) {
|
8
|
+
var gridActive = state.gridActive,
|
9
|
+
previousActiveCellId = state.previousActiveCellId;
|
10
|
+
|
11
|
+
if (!gridActive) {
|
12
|
+
// Initialize grid active state
|
13
|
+
dispatch({
|
14
|
+
type: 'ADD_GRID_ACTIVE_FOCUS',
|
15
|
+
payload: previousActiveCellId || 'column-0-row-0' // If there is a previous active cell id that is found use that, otherwise use the first cell in the grid area
|
16
|
+
|
17
|
+
});
|
18
|
+
}
|
19
|
+
};
|
@@ -0,0 +1,263 @@
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
+
|
3
|
+
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; }
|
4
|
+
|
5
|
+
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; }
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Copyright IBM Corp. 2022, 2022
|
9
|
+
*
|
10
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
11
|
+
* LICENSE file in the root directory of this source tree.
|
12
|
+
*/
|
13
|
+
import { carbon, pkg } from '../../../../../settings';
|
14
|
+
import { handleMultipleKeys } from './handleMultipleKeys';
|
15
|
+
import { getCellIdAsObject } from './InlineEditContext/getCellIdAsObject';
|
16
|
+
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
17
|
+
export var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
18
|
+
var event = _ref.event,
|
19
|
+
dispatch = _ref.dispatch,
|
20
|
+
state = _ref.state,
|
21
|
+
instance = _ref.instance,
|
22
|
+
keysPressedList = _ref.keysPressedList,
|
23
|
+
usingMac = _ref.usingMac;
|
24
|
+
var key = event.key;
|
25
|
+
var gridActive = state.gridActive,
|
26
|
+
activeCellId = state.activeCellId,
|
27
|
+
editId = state.editId;
|
28
|
+
var focusedCell = document.querySelector("#".concat(instance.tableId, " .").concat(blockClass, "__table-with-inline-edit [data-cell-id=\"").concat(activeCellId, "\"]")); // If we reach this it means that tab was pressed while in
|
29
|
+
// edit mode which should not remove the focus from the grid
|
30
|
+
|
31
|
+
if (activeCellId === editId && key === 'Tab') {
|
32
|
+
// Attempting to exit date picker
|
33
|
+
if (focusedCell.getAttribute('data-inline-type') === 'date') {
|
34
|
+
dispatch({
|
35
|
+
type: 'EXIT_EDIT_MODE',
|
36
|
+
payload: activeCellId
|
37
|
+
});
|
38
|
+
var inlineEditArea = document.querySelector("#".concat(instance.tableId, " .").concat(blockClass, "__table-with-inline-edit"));
|
39
|
+
inlineEditArea.focus();
|
40
|
+
}
|
41
|
+
|
42
|
+
event.preventDefault();
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
|
46
|
+
if (activeCellId === editId && key === 'Escape') {
|
47
|
+
if (focusedCell.getAttribute('data-inline-type') === 'date') {
|
48
|
+
dispatch({
|
49
|
+
type: 'EXIT_EDIT_MODE',
|
50
|
+
payload: activeCellId
|
51
|
+
});
|
52
|
+
event.preventDefault();
|
53
|
+
|
54
|
+
var _inlineEditArea = document.querySelector("#".concat(instance.tableId, " .").concat(blockClass, "__table-with-inline-edit"));
|
55
|
+
|
56
|
+
_inlineEditArea.focus();
|
57
|
+
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
} // Checks if the dropdown menu is open
|
61
|
+
|
62
|
+
|
63
|
+
var dropdownIsActive = function dropdownIsActive() {
|
64
|
+
var focusedElementRole = document.activeElement.getAttribute('role');
|
65
|
+
|
66
|
+
if (focusedElementRole === 'listbox' && document.activeElement.classList.contains("".concat(carbon.prefix, "--list-box__menu"))) {
|
67
|
+
// Prevents arrow keys from scrolling any other content when dropdown menu is open
|
68
|
+
event.preventDefault();
|
69
|
+
return true;
|
70
|
+
}
|
71
|
+
|
72
|
+
return false;
|
73
|
+
}; // Checks if the date picker is open
|
74
|
+
|
75
|
+
|
76
|
+
var datePickerIsActive = function datePickerIsActive() {
|
77
|
+
var focusedCalendarElement = document.querySelector(".".concat(carbon.prefix, "--date-picker__input.flatpickr-input.active"));
|
78
|
+
|
79
|
+
if (focusedCalendarElement || document.activeElement.classList.contains("flatpickr-day")) {
|
80
|
+
event.preventDefault();
|
81
|
+
return true;
|
82
|
+
}
|
83
|
+
|
84
|
+
return false;
|
85
|
+
}; // Stop grid key listener when in edit mode
|
86
|
+
|
87
|
+
|
88
|
+
var isEditing = document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
|
89
|
+
|
90
|
+
if (isEditing || !gridActive) {
|
91
|
+
return;
|
92
|
+
} // Command keys need to be returned as there is default browser behavior with these keys
|
93
|
+
|
94
|
+
|
95
|
+
if (key === 'Meta' || key === 'Control') {
|
96
|
+
return;
|
97
|
+
} // Prevent arrow keys, home key, and end key from scrolling the page when the data spreadsheet container has focus
|
98
|
+
|
99
|
+
|
100
|
+
if (['End', 'Home', 'ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].indexOf(key) > -1 && !isEditing && keysPressedList.length < 2) {
|
101
|
+
event.preventDefault();
|
102
|
+
}
|
103
|
+
|
104
|
+
var isDisabledCell = !!focusedCell.getAttribute('data-disabled');
|
105
|
+
var sharedUpdateParams = {
|
106
|
+
oldId: activeCellId,
|
107
|
+
instance: instance
|
108
|
+
};
|
109
|
+
|
110
|
+
if (keysPressedList.length > 1) {
|
111
|
+
handleMultipleKeys({
|
112
|
+
usingMac: usingMac,
|
113
|
+
keysPressedList: keysPressedList,
|
114
|
+
dispatch: dispatch,
|
115
|
+
activeCellId: activeCellId,
|
116
|
+
instance: instance
|
117
|
+
});
|
118
|
+
}
|
119
|
+
|
120
|
+
if (keysPressedList.length < 2) {
|
121
|
+
switch (key) {
|
122
|
+
case 'Tab':
|
123
|
+
{
|
124
|
+
if (!editId) {
|
125
|
+
dispatch({
|
126
|
+
type: 'REMOVE_GRID_ACTIVE_FOCUS',
|
127
|
+
payload: activeCellId
|
128
|
+
});
|
129
|
+
}
|
130
|
+
|
131
|
+
break;
|
132
|
+
}
|
133
|
+
|
134
|
+
case 'ArrowRight':
|
135
|
+
{
|
136
|
+
dispatch({
|
137
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
138
|
+
payload: _objectSpread({
|
139
|
+
direction: 'right'
|
140
|
+
}, sharedUpdateParams)
|
141
|
+
});
|
142
|
+
break;
|
143
|
+
}
|
144
|
+
|
145
|
+
case 'ArrowLeft':
|
146
|
+
{
|
147
|
+
dispatch({
|
148
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
149
|
+
payload: _objectSpread({
|
150
|
+
direction: 'left'
|
151
|
+
}, sharedUpdateParams)
|
152
|
+
});
|
153
|
+
break;
|
154
|
+
}
|
155
|
+
|
156
|
+
case 'ArrowUp':
|
157
|
+
{
|
158
|
+
dispatch({
|
159
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
160
|
+
payload: _objectSpread({
|
161
|
+
direction: 'up'
|
162
|
+
}, sharedUpdateParams)
|
163
|
+
});
|
164
|
+
break;
|
165
|
+
}
|
166
|
+
|
167
|
+
case 'ArrowDown':
|
168
|
+
{
|
169
|
+
dispatch({
|
170
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
171
|
+
payload: _objectSpread({
|
172
|
+
direction: 'down'
|
173
|
+
}, sharedUpdateParams)
|
174
|
+
});
|
175
|
+
break;
|
176
|
+
}
|
177
|
+
// Move active cell to first column in current row
|
178
|
+
|
179
|
+
case 'Home':
|
180
|
+
{
|
181
|
+
var activeCellObject = getCellIdAsObject(activeCellId);
|
182
|
+
|
183
|
+
var newActiveCellCoords = _objectSpread(_objectSpread({}, activeCellObject), {}, {
|
184
|
+
column: 0
|
185
|
+
});
|
186
|
+
|
187
|
+
var newActiveCellId = "column-".concat(newActiveCellCoords.column, "-row-").concat(newActiveCellCoords.row);
|
188
|
+
var scrollElement = document.querySelector("#".concat(instance.tableId, " .").concat(pkg.prefix, "--datagrid__table-container")); // Scroll table container to the furthest left position
|
189
|
+
|
190
|
+
scrollElement.scrollLeft = 0;
|
191
|
+
dispatch({
|
192
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
193
|
+
payload: newActiveCellId
|
194
|
+
});
|
195
|
+
break;
|
196
|
+
}
|
197
|
+
// Move active cell to last column in current row
|
198
|
+
|
199
|
+
case 'End':
|
200
|
+
{
|
201
|
+
var _activeCellObject = getCellIdAsObject(activeCellId);
|
202
|
+
|
203
|
+
var totalVisibleColumns = instance.visibleColumns.filter(function (item) {
|
204
|
+
return item.id !== 'spacer';
|
205
|
+
});
|
206
|
+
|
207
|
+
var _newActiveCellCoords = _objectSpread(_objectSpread({}, _activeCellObject), {}, {
|
208
|
+
column: totalVisibleColumns.length - 1
|
209
|
+
});
|
210
|
+
|
211
|
+
var _newActiveCellId = "column-".concat(_newActiveCellCoords.column, "-row-").concat(_newActiveCellCoords.row);
|
212
|
+
|
213
|
+
var _scrollElement = document.querySelector("#".concat(instance.tableId, " .").concat(pkg.prefix, "--datagrid__table-container")); // Scroll table container to the furthest right position
|
214
|
+
|
215
|
+
|
216
|
+
_scrollElement.scrollLeft = _scrollElement.scrollWidth;
|
217
|
+
dispatch({
|
218
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
219
|
+
payload: _newActiveCellId
|
220
|
+
});
|
221
|
+
break;
|
222
|
+
}
|
223
|
+
|
224
|
+
case ' ':
|
225
|
+
case 'F2':
|
226
|
+
case 'Enter':
|
227
|
+
{
|
228
|
+
// Disabled cells are not allowed to go into edit mode
|
229
|
+
if (isDisabledCell) {
|
230
|
+
return;
|
231
|
+
} // Only go into edit mode if there is no editId, meaning that we're not already in edit mode
|
232
|
+
|
233
|
+
|
234
|
+
if (!editId) {
|
235
|
+
var focusedType = focusedCell.getAttribute('data-inline-type'); // Open dropdown immediately after entering edit mode for selection type
|
236
|
+
|
237
|
+
if (focusedType === 'selection') {
|
238
|
+
setTimeout(function () {
|
239
|
+
var dropdownTrigger = focusedCell.querySelector('button');
|
240
|
+
dropdownTrigger === null || dropdownTrigger === void 0 ? void 0 : dropdownTrigger.click();
|
241
|
+
}, 1);
|
242
|
+
}
|
243
|
+
|
244
|
+
if (focusedType === 'date') {
|
245
|
+
setTimeout(function () {
|
246
|
+
var dateInputTrigger = focusedCell.querySelector('input');
|
247
|
+
dateInputTrigger === null || dateInputTrigger === void 0 ? void 0 : dateInputTrigger.click();
|
248
|
+
dateInputTrigger === null || dateInputTrigger === void 0 ? void 0 : dateInputTrigger.focus();
|
249
|
+
}, 1);
|
250
|
+
}
|
251
|
+
|
252
|
+
dispatch({
|
253
|
+
type: 'ENTER_EDIT_MODE',
|
254
|
+
payload: {
|
255
|
+
activeCellId: activeCellId,
|
256
|
+
editId: activeCellId
|
257
|
+
}
|
258
|
+
});
|
259
|
+
}
|
260
|
+
}
|
261
|
+
}
|
262
|
+
}
|
263
|
+
};
|
@@ -0,0 +1,87 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2022, 2022
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { includesResourceKey } from '../../../../DataSpreadsheet/utils/handleMultipleKeys';
|
8
|
+
import { pkg } from '../../../../../settings';
|
9
|
+
import { getFocusableElements } from '../../../../../global/js/utils/getFocusableElements';
|
10
|
+
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
11
|
+
export var handleMultipleKeys = function handleMultipleKeys(_ref) {
|
12
|
+
var usingMac = _ref.usingMac,
|
13
|
+
keysPressedList = _ref.keysPressedList,
|
14
|
+
dispatch = _ref.dispatch,
|
15
|
+
activeCellId = _ref.activeCellId,
|
16
|
+
instance = _ref.instance;
|
17
|
+
|
18
|
+
// Resource key and Home
|
19
|
+
// Move active cell to first cell in first row and column
|
20
|
+
if (includesResourceKey(keysPressedList, usingMac) && keysPressedList.includes('Home')) {
|
21
|
+
var scrollElement = document.querySelector("#".concat(instance.tableId, " .").concat(pkg.prefix, "--datagrid__table-container")); // Scroll table container to the furthest top left position
|
22
|
+
|
23
|
+
scrollElement.scrollTop = 0;
|
24
|
+
scrollElement.scrollLeft = 0;
|
25
|
+
dispatch({
|
26
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
27
|
+
payload: 'column-0-row-0'
|
28
|
+
});
|
29
|
+
} // Resource key and End
|
30
|
+
// Move active cell to last cell in in the last row and column
|
31
|
+
|
32
|
+
|
33
|
+
if (includesResourceKey(keysPressedList, usingMac) && keysPressedList.includes('End')) {
|
34
|
+
var _instance$rows;
|
35
|
+
|
36
|
+
var totalVisibleColumns = instance.visibleColumns.filter(function (item) {
|
37
|
+
return item.id !== 'spacer';
|
38
|
+
}).length;
|
39
|
+
var totalRows = (_instance$rows = instance.rows) === null || _instance$rows === void 0 ? void 0 : _instance$rows.length;
|
40
|
+
var lastCellDataId = "column-".concat(totalVisibleColumns - 1, "-row-").concat(totalRows - 1);
|
41
|
+
var lastCellElement = document.querySelector("#".concat(instance.tableId, " .").concat(blockClass, "__table-with-inline-edit [data-cell-id=\"").concat(activeCellId, "\"]"));
|
42
|
+
|
43
|
+
var _scrollElement = document.querySelector("#".concat(instance.tableId, " .").concat(pkg.prefix, "--datagrid__table-container")); // Scroll table container to the furthest bottom right position
|
44
|
+
|
45
|
+
|
46
|
+
_scrollElement.scrollTop = _scrollElement.scrollHeight;
|
47
|
+
_scrollElement.scrollLeft = _scrollElement.scrollWidth;
|
48
|
+
|
49
|
+
if (lastCellElement) {
|
50
|
+
dispatch({
|
51
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
52
|
+
payload: lastCellDataId
|
53
|
+
});
|
54
|
+
} else {
|
55
|
+
// If a Datagrid component is using virtualized data, it's possible that the last cell
|
56
|
+
// has not yet been rendered. In this case, we simply need to wait until the scrollable
|
57
|
+
// container has scrolled to the bottom/right most position, then we can dispatch the
|
58
|
+
// update active cell id action
|
59
|
+
setTimeout(function () {
|
60
|
+
dispatch({
|
61
|
+
type: 'UPDATE_ACTIVE_CELL_ID',
|
62
|
+
payload: lastCellDataId
|
63
|
+
});
|
64
|
+
}, 250);
|
65
|
+
}
|
66
|
+
} // Shift + Tab
|
67
|
+
// This should remove the active grid state
|
68
|
+
|
69
|
+
|
70
|
+
if ((keysPressedList.includes('ShiftLeft') || keysPressedList.includes('ShiftRight')) && keysPressedList.includes('Tab')) {
|
71
|
+
dispatch({
|
72
|
+
type: 'REMOVE_GRID_ACTIVE_FOCUS',
|
73
|
+
payload: activeCellId
|
74
|
+
});
|
75
|
+
var tableElement = document.querySelector("#".concat(instance.tableId));
|
76
|
+
var datagridFocusableElements = getFocusableElements(tableElement);
|
77
|
+
var indexOfTable = datagridFocusableElements.findIndex(function (item) {
|
78
|
+
return item instanceof HTMLTableElement;
|
79
|
+
});
|
80
|
+
|
81
|
+
if (indexOfTable && Number.isFinite(indexOfTable)) {
|
82
|
+
var _datagridFocusableEle;
|
83
|
+
|
84
|
+
(_datagridFocusableEle = datagridFocusableElements[indexOfTable]) === null || _datagridFocusableEle === void 0 ? void 0 : _datagridFocusableEle.focus();
|
85
|
+
}
|
86
|
+
}
|
87
|
+
};
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
5
|
-
var _excluded = ["
|
5
|
+
var _excluded = ["legendText"];
|
6
6
|
// @flow
|
7
7
|
|
8
8
|
/*
|
@@ -14,47 +14,50 @@ var _excluded = ["buttonLabel"];
|
|
14
14
|
*/
|
15
15
|
import * as React from 'react';
|
16
16
|
import PropTypes from 'prop-types';
|
17
|
-
import { Settings } from '@carbon/icons
|
18
|
-
import { IconButton } from '@carbon/react';
|
17
|
+
import { Settings } from '@carbon/react/icons';
|
18
|
+
import { IconButton, Popover, PopoverContent } from '@carbon/react';
|
19
19
|
import cx from 'classnames';
|
20
20
|
import RowSizeRadioGroup from './RowSizeRadioGroup';
|
21
21
|
import { pkg } from '../../../../../settings';
|
22
22
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
23
23
|
|
24
24
|
var RowSizeDropdown = function RowSizeDropdown(_ref) {
|
25
|
-
var _ref$
|
26
|
-
|
25
|
+
var _ref$legendText = _ref.legendText,
|
26
|
+
legendText = _ref$legendText === void 0 ? 'Row height' : _ref$legendText,
|
27
27
|
props = _objectWithoutProperties(_ref, _excluded);
|
28
28
|
|
29
|
-
var buttonRef = React.useRef({});
|
30
|
-
|
31
29
|
var _React$useState = React.useState(false),
|
32
30
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
33
31
|
isOpen = _React$useState2[0],
|
34
32
|
setIsOpen = _React$useState2[1];
|
35
33
|
|
36
|
-
return /*#__PURE__*/React.createElement(
|
37
|
-
|
34
|
+
return /*#__PURE__*/React.createElement(Popover, {
|
35
|
+
align: "bottom-right",
|
36
|
+
caret: false,
|
37
|
+
dropShadow: false,
|
38
|
+
open: isOpen,
|
39
|
+
className: "".concat(blockClass, "__row-height-settings-popover")
|
40
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
38
41
|
kind: "ghost",
|
39
42
|
align: "left",
|
40
43
|
onClick: function onClick() {
|
41
44
|
return setIsOpen(!isOpen);
|
42
45
|
},
|
43
|
-
label:
|
46
|
+
label: legendText,
|
44
47
|
className: cx("".concat(blockClass, "__row-size-button"), _defineProperty({}, "".concat(blockClass, "__row-size-button--open"), isOpen))
|
45
48
|
}, /*#__PURE__*/React.createElement(Settings, {
|
46
49
|
size: 16
|
47
|
-
})),
|
48
|
-
|
50
|
+
})), /*#__PURE__*/React.createElement(PopoverContent, null, /*#__PURE__*/React.createElement(RowSizeRadioGroup, _extends({}, props, {
|
51
|
+
legendText: legendText,
|
49
52
|
hideRadioGroup: function hideRadioGroup() {
|
50
53
|
setIsOpen(false);
|
51
54
|
}
|
52
|
-
})));
|
55
|
+
}))));
|
53
56
|
};
|
54
57
|
|
55
58
|
RowSizeDropdown.propTypes = {
|
56
|
-
buttonLabel: PropTypes.string,
|
57
59
|
datagridName: PropTypes.string,
|
60
|
+
legendText: PropTypes.string,
|
58
61
|
light: PropTypes.bool,
|
59
62
|
onChange: PropTypes.func.isRequired,
|
60
63
|
selectedOption: PropTypes.string
|
@@ -8,20 +8,21 @@
|
|
8
8
|
* US Government Users Restricted Rights - Use, duplication or disclosure
|
9
9
|
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
10
10
|
*/
|
11
|
-
import React, {
|
11
|
+
import React, { useRef } from 'react';
|
12
12
|
import PropTypes from 'prop-types';
|
13
13
|
import { RadioButtonGroup, RadioButton } from '@carbon/react';
|
14
14
|
import isArray from 'lodash/isArray';
|
15
15
|
import { pkg } from '../../../../../settings';
|
16
|
+
import { useClickOutside } from '../../../../../global/js/hooks';
|
16
17
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
17
|
-
|
18
|
+
|
19
|
+
var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
|
18
20
|
var rowSizes = _ref.rowSizes,
|
19
21
|
selectedOption = _ref.selectedOption,
|
20
22
|
datagridName = _ref.datagridName,
|
21
23
|
onChange = _ref.onChange,
|
22
24
|
hideRadioGroup = _ref.hideRadioGroup,
|
23
|
-
|
24
|
-
legendText = _ref$legendText === void 0 ? 'Row height' : _ref$legendText,
|
25
|
+
legendText = _ref.legendText,
|
25
26
|
_ref$rowSizeLabels = _ref.rowSizeLabels,
|
26
27
|
rowSizeLabels = _ref$rowSizeLabels === void 0 ? {
|
27
28
|
xl: 'Extra large',
|
@@ -30,41 +31,17 @@ var RowSizeRadioGroup = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
30
31
|
sm: 'Small',
|
31
32
|
xs: 'Extra small'
|
32
33
|
} : _ref$rowSizeLabels;
|
33
|
-
|
34
|
-
|
35
|
-
if (
|
36
|
-
|
37
|
-
|
38
|
-
var _right = buttonEle.offsetLeft + buttonEle.offsetWidth;
|
39
|
-
|
40
|
-
return {
|
41
|
-
top: _top,
|
42
|
-
right: _right
|
43
|
-
};
|
34
|
+
var popoverContentRef = useRef();
|
35
|
+
useClickOutside(popoverContentRef, function (target) {
|
36
|
+
if (target.closest(".".concat(blockClass, "__row-size-button"))) {
|
37
|
+
return;
|
44
38
|
}
|
45
39
|
|
46
|
-
|
47
|
-
|
48
|
-
right: 0
|
49
|
-
};
|
50
|
-
};
|
51
|
-
|
52
|
-
var _getDropdownPosition = getDropdownPosition(ref.current),
|
53
|
-
top = _getDropdownPosition.top,
|
54
|
-
right = _getDropdownPosition.right;
|
55
|
-
|
56
|
-
useEffect(function () {
|
57
|
-
window.addEventListener('click', hideRadioGroup);
|
58
|
-
return function () {
|
59
|
-
window.removeEventListener('click', hideRadioGroup);
|
60
|
-
};
|
61
|
-
}, [hideRadioGroup]);
|
40
|
+
hideRadioGroup();
|
41
|
+
});
|
62
42
|
return /*#__PURE__*/React.createElement("div", {
|
43
|
+
ref: popoverContentRef,
|
63
44
|
className: "".concat(blockClass, "__row-size-dropdown"),
|
64
|
-
style: {
|
65
|
-
top: top,
|
66
|
-
right: right
|
67
|
-
},
|
68
45
|
role: "presentation",
|
69
46
|
onClick: function onClick(e) {
|
70
47
|
e.stopPropagation();
|
@@ -91,7 +68,7 @@ var RowSizeRadioGroup = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
91
68
|
id: "".concat(datagridName || 'datagrid', "--row-density--").concat(option.value)
|
92
69
|
});
|
93
70
|
})));
|
94
|
-
}
|
71
|
+
};
|
95
72
|
|
96
73
|
var getBackwardCompatibleRowSize = function getBackwardCompatibleRowSize(rowSize) {
|
97
74
|
// TODO: deprecate this function in next major release (v8) on carbon-components-react
|
package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js
RENAMED
File without changes
|
package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js
RENAMED
File without changes
|
package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -20,4 +20,7 @@ export { default as useStickyColumn } from './useStickyColumn';
|
|
20
20
|
export { default as useActionsColumn } from './useActionsColumn';
|
21
21
|
export { default as useCustomizeColumns } from './useCustomizeColumns';
|
22
22
|
export { default as useSelectAllWithToggle } from './useSelectAllToggle';
|
23
|
-
export { default as useColumnCenterAlign } from './useColumnCenterAlign';
|
23
|
+
export { default as useColumnCenterAlign } from './useColumnCenterAlign';
|
24
|
+
export { default as useColumnOrder } from './useColumnOrder';
|
25
|
+
export { default as useInlineEdit } from './useInlineEdit';
|
26
|
+
export { default as useFiltering } from './useFiltering';
|