@carbon/ibm-products 2.43.2-canary.9 → 2.43.2-canary.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/index-full-carbon.css +427 -139
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +218 -5
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +247 -101
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +348 -125
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/ActionBar/ActionBarItem.js +1 -1
- package/es/components/Coachmark/Coachmark.d.ts +6 -1
- package/es/components/Coachmark/Coachmark.js +47 -11
- package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
- package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
- package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
- package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
- package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +76 -55
- package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -13
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +30 -8
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +14 -9
- package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +75 -62
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +98 -40
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +121 -40
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +45 -19
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -40
- package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
- package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
- package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
- package/es/components/ConditionBuilder/utils/util.js +42 -17
- package/es/components/CreateFullPage/CreateFullPage.js +2 -2
- package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
- package/es/components/DataSpreadsheet/types/index.d.ts +1 -0
- package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
- package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
- package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
- package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
- package/es/components/Datagrid/types/index.d.ts +57 -9
- package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
- package/es/components/Datagrid/useActionsColumn.js +7 -6
- package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
- package/es/components/Datagrid/useColumnRightAlign.js +4 -3
- package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
- package/es/components/Datagrid/useCustomizeColumns.js +4 -3
- package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
- package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
- package/es/components/Datagrid/useDisableSelectRows.js +27 -22
- package/es/components/Datagrid/useInlineEdit.js +12 -2
- package/es/components/Datagrid/useNestedRowExpander.js +1 -3
- package/es/components/Datagrid/useNestedRows.js +32 -13
- package/es/components/Datagrid/useRowExpander.js +1 -3
- package/es/components/Datagrid/useSelectRows.js +2 -1
- package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
- package/es/components/Datagrid/useStickyColumn.js +12 -9
- package/es/components/Decorator/Decorator.js +2 -1
- package/es/components/DecoratorBase/DecoratorBase.js +3 -5
- package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
- package/es/components/DecoratorLink/DecoratorLink.js +2 -1
- package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
- package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
- package/es/components/EditInPlace/EditInPlace.js +21 -10
- package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
- package/es/components/EditTearsheet/EditTearsheet.js +44 -10
- package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
- package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
- package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
- package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
- package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
- package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
- package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
- package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
- package/es/components/Nav/NavItem.js +12 -3
- package/es/components/OptionsTile/OptionsTile.js +11 -6
- package/es/components/PageHeader/PageHeader.js +1 -0
- package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
- package/es/components/RemoveModal/RemoveModal.js +7 -1
- package/es/components/SearchBar/SearchBar.d.ts +1 -1
- package/es/components/SearchBar/SearchBar.js +2 -2
- package/es/components/SidePanel/SidePanel.js +17 -21
- package/es/components/SidePanel/motion/variants.d.ts +4 -6
- package/es/components/SidePanel/motion/variants.js +10 -11
- package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
- package/es/components/StringFormatter/StringFormatter.js +14 -3
- package/es/components/StringFormatter/utils/enums.d.ts +20 -1
- package/es/components/StringFormatter/utils/enums.js +22 -2
- package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
- package/es/components/Tearsheet/Tearsheet.js +9 -1
- package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
- package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
- package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
- package/es/components/Tearsheet/TearsheetShell.js +28 -7
- package/es/components/Toolbar/ToolbarButton.js +1 -1
- package/es/components/WebTerminal/WebTerminal.js +10 -12
- package/es/components/index.d.ts +1 -1
- package/es/global/js/hooks/useFocus.d.ts +1 -0
- package/es/global/js/hooks/useFocus.js +5 -2
- package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
- package/es/global/js/package-settings.d.ts +1 -1
- package/es/global/js/package-settings.js +1 -1
- package/es/index.js +1 -0
- package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
- package/es/settings.d.ts +1 -1
- package/lib/components/ActionBar/ActionBarItem.js +1 -1
- package/lib/components/Coachmark/Coachmark.d.ts +6 -1
- package/lib/components/Coachmark/Coachmark.js +46 -10
- package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
- package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
- package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
- package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
- package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -53
- package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +12 -7
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +73 -60
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +96 -38
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +118 -37
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -39
- package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
- package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
- package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
- package/lib/components/ConditionBuilder/utils/util.js +44 -16
- package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
- package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
- package/lib/components/DataSpreadsheet/types/index.d.ts +1 -0
- package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
- package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
- package/lib/components/Datagrid/types/index.d.ts +57 -9
- package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
- package/lib/components/Datagrid/useActionsColumn.js +7 -6
- package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
- package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
- package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
- package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
- package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
- package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
- package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
- package/lib/components/Datagrid/useInlineEdit.js +12 -2
- package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
- package/lib/components/Datagrid/useNestedRows.js +32 -13
- package/lib/components/Datagrid/useRowExpander.js +1 -3
- package/lib/components/Datagrid/useSelectRows.js +2 -1
- package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
- package/lib/components/Datagrid/useStickyColumn.js +12 -9
- package/lib/components/Decorator/Decorator.js +2 -1
- package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
- package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
- package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
- package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
- package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
- package/lib/components/EditInPlace/EditInPlace.js +21 -10
- package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
- package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
- package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
- package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
- package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
- package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
- package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
- package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
- package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
- package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
- package/lib/components/Nav/NavItem.js +10 -1
- package/lib/components/OptionsTile/OptionsTile.js +11 -6
- package/lib/components/PageHeader/PageHeader.js +1 -0
- package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
- package/lib/components/RemoveModal/RemoveModal.js +7 -1
- package/lib/components/SearchBar/SearchBar.d.ts +1 -1
- package/lib/components/SearchBar/SearchBar.js +2 -2
- package/lib/components/SidePanel/SidePanel.js +16 -20
- package/lib/components/SidePanel/motion/variants.d.ts +4 -6
- package/lib/components/SidePanel/motion/variants.js +10 -11
- package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
- package/lib/components/StringFormatter/StringFormatter.js +13 -2
- package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
- package/lib/components/StringFormatter/utils/enums.js +23 -1
- package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
- package/lib/components/Tearsheet/Tearsheet.js +9 -1
- package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
- package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
- package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
- package/lib/components/Tearsheet/TearsheetShell.js +26 -5
- package/lib/components/Toolbar/ToolbarButton.js +1 -1
- package/lib/components/WebTerminal/WebTerminal.js +10 -12
- package/lib/components/index.d.ts +1 -1
- package/lib/global/js/hooks/useFocus.d.ts +1 -0
- package/lib/global/js/hooks/useFocus.js +5 -1
- package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
- package/lib/global/js/package-settings.d.ts +1 -1
- package/lib/global/js/package-settings.js +1 -1
- package/lib/index.js +5 -0
- package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
- package/lib/settings.d.ts +1 -1
- package/package.json +9 -8
- package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
- package/scss/components/Coachmark/_coachmark.scss +5 -4
- package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
- package/scss/components/ConditionBuilder/_condition-builder.scss +5 -1
- package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +20 -3
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +32 -3
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
- package/scss/components/Datagrid/_datagrid.scss +0 -4
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
- package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
- package/scss/components/HTTPErrors/_http-errors.scss +77 -0
- package/scss/components/OptionsTile/_options-tile.scss +6 -6
- package/scss/components/SidePanel/_side-panel.scss +1 -1
- package/scss/components/StatusIcon/_status-icon.scss +4 -4
- package/scss/components/StringFormatter/_string-formatter.scss +2 -2
- package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
- package/scss/components/_index-released-only.scss +1 -0
- package/telemetry.yml +32 -19
- package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
- package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
- package/es/global/js/utils/window.d.ts +0 -2
- package/es/global/js/utils/window.js +0 -12
- package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
- package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
- package/lib/global/js/utils/window.d.ts +0 -2
- package/lib/global/js/utils/window.js +0 -16
@@ -5,7 +5,7 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
-
import { slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty
|
8
|
+
import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import { MULTISELECT, DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, SAVED_FILTERS, INSTANT, PANEL } from '../constants.js';
|
10
10
|
import { MultiSelect, Dropdown, FormGroup, RadioButtonGroup, RadioButton, NumberInput, DatePicker, DatePickerInput, Layer, Checkbox } from '@carbon/react';
|
11
11
|
import React__default, { useContext, useState, useRef, useCallback, useEffect } from 'react';
|
@@ -13,6 +13,7 @@ import OverflowCheckboxes from '../OverflowCheckboxes.js';
|
|
13
13
|
import { getInitialStateFromFilters } from '../utils.js';
|
14
14
|
import { FilterContext } from '../FilterProvider.js';
|
15
15
|
import { handleCheckboxChange } from '../handleCheckboxChange.js';
|
16
|
+
import uuidv4 from '../../../../../../global/js/utils/uuidv4.js';
|
16
17
|
import { usePreviousValue } from '../../../../../../global/js/hooks/usePreviousValue.js';
|
17
18
|
|
18
19
|
var useFilters = function useFilters(_ref) {
|
@@ -28,7 +29,8 @@ var useFilters = function useFilters(_ref) {
|
|
28
29
|
isFetching = _ref.isFetching;
|
29
30
|
var _useContext = useContext(FilterContext),
|
30
31
|
state = _useContext.state,
|
31
|
-
localDispatch = _useContext.dispatch
|
32
|
+
localDispatch = _useContext.dispatch,
|
33
|
+
contextTableId = _useContext.tableId;
|
32
34
|
var savedFilters = state.savedFilters;
|
33
35
|
/** State */
|
34
36
|
var _useState = useState(getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
|
@@ -46,6 +48,7 @@ var useFilters = function useFilters(_ref) {
|
|
46
48
|
var previousState = usePreviousValue({
|
47
49
|
panelOpen: panelOpen
|
48
50
|
});
|
51
|
+
var filteredItemsRef = useRef();
|
49
52
|
|
50
53
|
// When using batch actions we have to store the filters to then apply them later
|
51
54
|
var prevFiltersRef = useRef(JSON.stringify(filtersState));
|
@@ -69,24 +72,28 @@ var useFilters = function useFilters(_ref) {
|
|
69
72
|
holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
|
70
73
|
holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
|
71
74
|
}, [setAllFilters]);
|
72
|
-
var reset = useCallback(function () {
|
73
|
-
//
|
74
|
-
|
75
|
+
var reset = useCallback(function (tableId) {
|
76
|
+
// only reset filters if tableid of the datagrid that triggered "clear filters"
|
77
|
+
// matches the table id stored in its context instance
|
78
|
+
if (tableId === contextTableId) {
|
79
|
+
// When we reset we want the "initialFilters" to be an empty array
|
80
|
+
var resetFiltersArray = [];
|
75
81
|
|
76
|
-
|
77
|
-
|
78
|
-
|
82
|
+
// Get the initial values for the filters
|
83
|
+
var initialFiltersState = getInitialStateFromFilters(filters, variation, resetFiltersArray);
|
84
|
+
var initialFiltersObjectArray = [];
|
79
85
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
86
|
+
// Set the state to the initial values
|
87
|
+
setFiltersState(initialFiltersState);
|
88
|
+
setFiltersObjectArray(initialFiltersObjectArray);
|
89
|
+
setAllFilters([]);
|
84
90
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
91
|
+
// Update their respective refs so everything is in sync
|
92
|
+
prevFiltersRef.current = JSON.stringify(initialFiltersState);
|
93
|
+
prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
|
94
|
+
lastAppliedFilters.current = JSON.stringify([]);
|
95
|
+
}
|
96
|
+
}, [filters, setAllFilters, variation, contextTableId]);
|
90
97
|
var applyFilters = function applyFilters(_ref2) {
|
91
98
|
var column = _ref2.column,
|
92
99
|
value = _ref2.value,
|
@@ -302,8 +309,18 @@ var useFilters = function useFilters(_ref) {
|
|
302
309
|
}
|
303
310
|
return null;
|
304
311
|
}).filter(Boolean);
|
312
|
+
var isEqual = compareFilterItems(filteredItems);
|
313
|
+
if (!isEqual) {
|
314
|
+
filteredItemsRef.current = _toConsumableArray(filteredItems);
|
315
|
+
}
|
316
|
+
var getKey = function getKey() {
|
317
|
+
return isEqual ? {
|
318
|
+
key: uuidv4()
|
319
|
+
} : column;
|
320
|
+
};
|
305
321
|
filter = /*#__PURE__*/React__default.createElement(MultiSelect, _extends({}, components.MultiSelect, {
|
306
322
|
selectedItems: filteredItems,
|
323
|
+
key: getKey(),
|
307
324
|
onChange: function onChange(_ref9) {
|
308
325
|
var _components$MultiSele, _components$MultiSele2;
|
309
326
|
var selectedItems = _ref9.selectedItems;
|
@@ -319,6 +336,7 @@ var useFilters = function useFilters(_ref) {
|
|
319
336
|
}
|
320
337
|
return null;
|
321
338
|
}).filter(Boolean);
|
339
|
+
filteredItemsRef.current = _toConsumableArray(foundItems);
|
322
340
|
|
323
341
|
// Change selected state for those items that have been selected
|
324
342
|
allOptions.map(function (a) {
|
@@ -361,6 +379,25 @@ var useFilters = function useFilters(_ref) {
|
|
361
379
|
key: column
|
362
380
|
}, filter);
|
363
381
|
};
|
382
|
+
var compareFilterItems = function compareFilterItems(filteredItems) {
|
383
|
+
var _filteredItems$map, _filteredItemsRef$cur, _filteredItemsRef$cur2;
|
384
|
+
var filteredItemsId = (_filteredItems$map = filteredItems.map(function (item) {
|
385
|
+
return item.id;
|
386
|
+
})) !== null && _filteredItems$map !== void 0 ? _filteredItems$map : [];
|
387
|
+
var previousFilteredItemsId = (_filteredItemsRef$cur = filteredItemsRef === null || filteredItemsRef === void 0 || (_filteredItemsRef$cur2 = filteredItemsRef.current) === null || _filteredItemsRef$cur2 === void 0 ? void 0 : _filteredItemsRef$cur2.map(function (item) {
|
388
|
+
return item.id;
|
389
|
+
})) !== null && _filteredItemsRef$cur !== void 0 ? _filteredItemsRef$cur : [];
|
390
|
+
var set1 = new Set(filteredItemsId);
|
391
|
+
var set2 = new Set(previousFilteredItemsId);
|
392
|
+
// Check if the sets have the same size (same number of unique elements)
|
393
|
+
if (set1.size !== set2.size) {
|
394
|
+
return false;
|
395
|
+
}
|
396
|
+
// Check if all elements in set1 are also present in set2 (using spread syntax)
|
397
|
+
return _toConsumableArray(set1).every(function (element) {
|
398
|
+
return set2.has(element);
|
399
|
+
});
|
400
|
+
};
|
364
401
|
|
365
402
|
/** This useEffect will properly handle the previous filters when the panel closes
|
366
403
|
* 1. If the panel closes we need to call the reset fn but also store the
|
package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js
CHANGED
@@ -27,8 +27,7 @@ var InlineEditButton = function InlineEditButton(_ref) {
|
|
27
27
|
tabIndex: isActiveCell ? 0 : -1,
|
28
28
|
"data-disabled": disabledCell,
|
29
29
|
"aria-disabled": disabledCell,
|
30
|
-
role: "button"
|
31
|
-
title: label
|
30
|
+
role: "button"
|
32
31
|
}, LabelIcon && /*#__PURE__*/React__default.createElement("div", {
|
33
32
|
className: "".concat(blockClass, "__label-icon")
|
34
33
|
}, /*#__PURE__*/React__default.createElement(LabelIcon, null)), label !== '' ? /*#__PURE__*/React__default.createElement("span", {
|
@@ -48,7 +47,7 @@ InlineEditButton.propTypes = {
|
|
48
47
|
nonEditCell: PropTypes.bool,
|
49
48
|
placeholder: PropTypes.string,
|
50
49
|
renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
51
|
-
type: PropTypes.oneOf(['text', 'number', 'selection', 'date']),
|
50
|
+
type: PropTypes.oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
|
52
51
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
|
53
52
|
};
|
54
53
|
|
@@ -8,7 +8,7 @@
|
|
8
8
|
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, extends as _extends, typeof as _typeof } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import React__default, { useContext, useState, useRef, useEffect, useCallback } from 'react';
|
10
10
|
import PropTypes from '../../../../../../node_modules/prop-types/index.js';
|
11
|
-
import { Dropdown, DatePicker, DatePickerInput, NumberInput, TextInput } from '@carbon/react';
|
11
|
+
import { Dropdown, DatePicker, DatePickerInput, NumberInput, Checkbox, TextInput } from '@carbon/react';
|
12
12
|
import { Edit, CaretSort, ChevronDown, Calendar } from '@carbon/react/icons';
|
13
13
|
import { pkg } from '../../../../../../settings.js';
|
14
14
|
import cx from 'classnames';
|
@@ -19,7 +19,7 @@ import { InlineEditButton } from '../InlineEditButton/InlineEditButton.js';
|
|
19
19
|
|
20
20
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
21
21
|
var InlineEditCell = function InlineEditCell(_ref) {
|
22
|
-
var _config$validator
|
22
|
+
var _config$validator;
|
23
23
|
var cell = _ref.cell,
|
24
24
|
config = _ref.config,
|
25
25
|
_ref$disabledCell = _ref.disabledCell,
|
@@ -66,6 +66,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
66
66
|
var _ref2 = config || {},
|
67
67
|
inputProps = _ref2.inputProps;
|
68
68
|
var textInputRef = useRef();
|
69
|
+
var checkboxRef = useRef();
|
69
70
|
var numberInputRef = useRef();
|
70
71
|
var dropdownRef = useRef();
|
71
72
|
var datePickerRef = useRef();
|
@@ -208,10 +209,36 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
208
209
|
var handleKeyDown = function handleKeyDown(event) {
|
209
210
|
var key = event.key;
|
210
211
|
switch (key) {
|
212
|
+
case 'ArrowRight':
|
213
|
+
case 'ArrowLeft':
|
214
|
+
case 'ArrowUp':
|
215
|
+
case 'ArrowDown':
|
216
|
+
if (inEditMode && event.target.type === 'checkbox') {
|
217
|
+
var newCellId = getNewCellId(key);
|
218
|
+
saveCellData(cellValue);
|
219
|
+
setInitialValue(cellValue);
|
220
|
+
dispatch({
|
221
|
+
type: 'EXIT_EDIT_MODE',
|
222
|
+
payload: newCellId
|
223
|
+
});
|
224
|
+
setInEditMode(false);
|
225
|
+
sendFocusBackToGrid();
|
226
|
+
}
|
227
|
+
break;
|
211
228
|
// Save cell contents to data
|
212
229
|
case 'Tab':
|
213
230
|
case 'Enter':
|
214
231
|
{
|
232
|
+
if (type === 'checkbox') {
|
233
|
+
// Since checkbox doesn't need to click into it to enter `inEditMode` we don't need to check for it
|
234
|
+
var _newCellId = getNewCellId(key);
|
235
|
+
dispatch({
|
236
|
+
type: 'EXIT_EDIT_MODE',
|
237
|
+
payload: _newCellId
|
238
|
+
});
|
239
|
+
setInEditMode(false);
|
240
|
+
sendFocusBackToGrid();
|
241
|
+
}
|
215
242
|
if (inEditMode) {
|
216
243
|
// Dropdown saves are handled in the Dropdown's/DatePicker's onChange prop
|
217
244
|
if (type === 'selection' || type === 'date') {
|
@@ -225,12 +252,12 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
225
252
|
if (isInvalid) {
|
226
253
|
return;
|
227
254
|
}
|
228
|
-
var
|
255
|
+
var _newCellId2 = getNewCellId(key);
|
229
256
|
saveCellData(cellValue);
|
230
257
|
setInitialValue(cellValue);
|
231
258
|
dispatch({
|
232
259
|
type: 'EXIT_EDIT_MODE',
|
233
|
-
payload:
|
260
|
+
payload: _newCellId2
|
234
261
|
});
|
235
262
|
setInEditMode(false);
|
236
263
|
sendFocusBackToGrid();
|
@@ -425,9 +452,27 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
425
452
|
ref: numberInputRef
|
426
453
|
}));
|
427
454
|
};
|
455
|
+
var renderCheckBoxCell = function renderCheckBoxCell() {
|
456
|
+
return /*#__PURE__*/React__default.createElement(Checkbox, _extends({
|
457
|
+
labelText: cellLabel || 'Checkbox'
|
458
|
+
}, inputProps, {
|
459
|
+
className: cx("".concat(blockClass, "__inline-edit--outer-cell-checkbox"), _defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-checkbox-focus"), activeCellId === cellId)),
|
460
|
+
id: cellId,
|
461
|
+
hideLabel: true,
|
462
|
+
checked: cellValue,
|
463
|
+
onChange: function onChange(event, _ref10) {
|
464
|
+
var checked = _ref10.checked;
|
465
|
+
setCellValue(checked);
|
466
|
+
if (inputProps.onChange) {
|
467
|
+
inputProps.onChange(checked);
|
468
|
+
}
|
469
|
+
},
|
470
|
+
ref: checkboxRef
|
471
|
+
}));
|
472
|
+
};
|
428
473
|
var renderTextInput = function renderTextInput() {
|
429
|
-
var
|
430
|
-
validator =
|
474
|
+
var _ref11 = config || {},
|
475
|
+
validator = _ref11.validator;
|
431
476
|
var isInvalid = validator === null || validator === void 0 ? void 0 : validator(cellValue);
|
432
477
|
return /*#__PURE__*/React__default.createElement(TextInput, _extends({
|
433
478
|
labelText: cellLabel,
|
@@ -447,6 +492,24 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
447
492
|
ref: textInputRef
|
448
493
|
}));
|
449
494
|
};
|
495
|
+
var getLabel = function getLabel() {
|
496
|
+
var _value$text, _checkStaticCell;
|
497
|
+
var checkStaticCell = function checkStaticCell(val) {
|
498
|
+
if (_typeof(val) === 'object' && val !== null && val !== void 0 && val.isStaticCell) {
|
499
|
+
return val === null || val === void 0 ? void 0 : val.value;
|
500
|
+
}
|
501
|
+
};
|
502
|
+
switch (type) {
|
503
|
+
case 'selection':
|
504
|
+
checkStaticCell(value);
|
505
|
+
return (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value;
|
506
|
+
case 'date':
|
507
|
+
checkStaticCell(value);
|
508
|
+
return buildDate(value);
|
509
|
+
default:
|
510
|
+
return (_checkStaticCell = checkStaticCell(value)) !== null && _checkStaticCell !== void 0 ? _checkStaticCell : value;
|
511
|
+
}
|
512
|
+
};
|
450
513
|
return (
|
451
514
|
/*#__PURE__*/
|
452
515
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
@@ -455,15 +518,15 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
455
518
|
"data-cell-id": cellId,
|
456
519
|
"data-column-index": columnIndex,
|
457
520
|
"data-row-index": cell.row.index,
|
458
|
-
"data-disabled": disabledCell,
|
521
|
+
"data-disabled": disabledCell || nonEditCell,
|
459
522
|
"data-inline-type": type,
|
460
523
|
onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
|
461
524
|
onKeyDown: !nonEditCell ? handleKeyDown : null,
|
462
525
|
className: cx("".concat(blockClass, "__inline-edit--outer-cell-button"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), inEditMode && (config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue))), "".concat(blockClass, "__static--outer-cell"), !disabledCell))
|
463
|
-
}, !nonEditCell && !disabledCell && renderRegularCell(), (!inEditMode || disabledCell) && /*#__PURE__*/React__default.createElement(InlineEditButton, {
|
526
|
+
}, !nonEditCell && !disabledCell && type !== 'checkbox' && renderRegularCell(), (!inEditMode || disabledCell) && type !== 'checkbox' && /*#__PURE__*/React__default.createElement(InlineEditButton, {
|
464
527
|
isActiveCell: cellId === activeCellId,
|
465
528
|
renderIcon: setRenderIcon(),
|
466
|
-
label:
|
529
|
+
label: getLabel(),
|
467
530
|
disabledCell: disabledCell,
|
468
531
|
labelIcon: (value === null || value === void 0 ? void 0 : value.icon) || null,
|
469
532
|
placeholder: placeholder,
|
@@ -471,7 +534,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
471
534
|
nonEditCell: nonEditCell,
|
472
535
|
columnConfig: cell.column,
|
473
536
|
type: type
|
474
|
-
}), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
|
537
|
+
}), type === 'checkbox' && renderCheckBoxCell(), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
|
475
538
|
);
|
476
539
|
};
|
477
540
|
InlineEditCell.propTypes = {
|
@@ -489,7 +552,7 @@ InlineEditCell.propTypes = {
|
|
489
552
|
nonEditCell: PropTypes.bool,
|
490
553
|
placeholder: PropTypes.string,
|
491
554
|
tabIndex: PropTypes.number,
|
492
|
-
type: PropTypes.oneOf(['text', 'number', 'selection', 'date']),
|
555
|
+
type: PropTypes.oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
|
493
556
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.object])
|
494
557
|
};
|
495
558
|
|
@@ -74,7 +74,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
74
74
|
};
|
75
75
|
|
76
76
|
// Stop grid key listener when in edit mode
|
77
|
-
var isEditing = document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
|
77
|
+
var isEditing = focusedCell.getAttribute('data-inline-type') !== 'checkbox' && document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
|
78
78
|
if (isEditing || !gridActive) {
|
79
79
|
return;
|
80
80
|
}
|
@@ -87,6 +87,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
87
87
|
event.preventDefault();
|
88
88
|
}
|
89
89
|
var isDisabledCell = focusedCell.getAttribute('data-disabled') === 'false' ? false : true;
|
90
|
+
var isEditableCell = !event.target.classList.contains("".concat(blockClass, "__inline-edit-button--non-edit"));
|
90
91
|
var sharedUpdateParams = {
|
91
92
|
oldId: activeCellId,
|
92
93
|
instance: instance
|
@@ -194,7 +195,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
194
195
|
case 'Enter':
|
195
196
|
{
|
196
197
|
// Disabled cells are not allowed to go into edit mode
|
197
|
-
if (isDisabledCell) {
|
198
|
+
if (isDisabledCell || !isEditableCell) {
|
198
199
|
return;
|
199
200
|
}
|
200
201
|
// Only go into edit mode if there is no editId, meaning that we're not already in edit mode
|
@@ -207,6 +208,13 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
207
208
|
dropdownTrigger === null || dropdownTrigger === void 0 || dropdownTrigger.click();
|
208
209
|
}, 1);
|
209
210
|
}
|
211
|
+
if (focusedType === 'checkbox') {
|
212
|
+
setTimeout(function () {
|
213
|
+
var checkboxTrigger = focusedCell.querySelector('input');
|
214
|
+
checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.click();
|
215
|
+
checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.focus();
|
216
|
+
}, 1);
|
217
|
+
}
|
210
218
|
if (focusedType === 'date') {
|
211
219
|
setTimeout(function () {
|
212
220
|
var dateInputTrigger = focusedCell.querySelector('input');
|
@@ -5,10 +5,10 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
|
|
5
5
|
import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
|
6
6
|
import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
|
7
7
|
import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
|
8
|
-
import { CSSProperties, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
|
9
|
-
import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseTableHooks } from 'react-table';
|
8
|
+
import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
|
9
|
+
import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableState, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
|
10
10
|
import { CarbonIconType } from '@carbon/react/icons';
|
11
|
-
import { type ButtonProps } from '@carbon/react';
|
11
|
+
import { IconButton, type ButtonProps } from '@carbon/react';
|
12
12
|
import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
|
13
13
|
export type Size = 'xs' | 'sm' | 'md' | 'lg';
|
14
14
|
export interface ResizerProps {
|
@@ -59,6 +59,18 @@ interface Labels {
|
|
59
59
|
allPageRows?: object;
|
60
60
|
allRows?: object;
|
61
61
|
}
|
62
|
+
interface ColumnLabels {
|
63
|
+
findColumnPlaceholderLabel?: string;
|
64
|
+
resetToDefaultLabel?: string;
|
65
|
+
customizeTearsheetHeadingLabel?: string;
|
66
|
+
primaryButtonTextLabel?: string;
|
67
|
+
secondaryButtonTextLabel?: string;
|
68
|
+
instructionsLabel?: string;
|
69
|
+
iconTooltipLabel?: string;
|
70
|
+
assistiveTextInstructionsLabel?: string;
|
71
|
+
assistiveTextDisabledInstructionsLabel?: string;
|
72
|
+
selectAllLabel?: string;
|
73
|
+
}
|
62
74
|
interface Section {
|
63
75
|
categoryTitle?: string;
|
64
76
|
filters?: DataGridFilter[];
|
@@ -85,9 +97,10 @@ export interface DataGridToggleAllRowsProps extends TableToggleAllRowsSelectedPr
|
|
85
97
|
}
|
86
98
|
export interface DatagridTableHooks<T extends object = any> extends UseTableHooks<T> {
|
87
99
|
}
|
88
|
-
export interface DatagridColumn<T extends object = any> extends ColumnInstance<T> {
|
100
|
+
export interface DatagridColumn<T extends object = any> extends ColumnInstance<T>, UseSortByOptions<T>, Partial<UseResizeColumnsColumnProps<T>>, UseResizeColumnsOptions<T> {
|
89
101
|
sticky?: 'left' | 'right';
|
90
102
|
className?: string;
|
103
|
+
rightAlignedColumn?: boolean;
|
91
104
|
disableSortBy?: boolean;
|
92
105
|
centerAlignedColumn?: boolean;
|
93
106
|
}
|
@@ -100,6 +113,7 @@ export interface DatagridRow<T extends object = any> extends Omit<Row<T>, 'cells
|
|
100
113
|
RowExpansionRenderer?: (state?: DataGridState) => void;
|
101
114
|
cells: Array<DataGridCell>;
|
102
115
|
isSkeleton?: boolean;
|
116
|
+
hasExpanded?: boolean;
|
103
117
|
}
|
104
118
|
export interface DataGridHeader<T extends object = any> extends ColumnInstance, UseResizeColumnsColumnProps<T>, UseSortByColumnProps<T> {
|
105
119
|
className(className: any, arg1: {
|
@@ -110,15 +124,31 @@ export interface DataGridHeader<T extends object = any> extends ColumnInstance,
|
|
110
124
|
}
|
111
125
|
export interface DataGridHeaderGroup<T extends object = any> extends HeaderGroup<T>, UseResizeColumnsColumnProps<T> {
|
112
126
|
}
|
113
|
-
export interface
|
114
|
-
className?: string;
|
115
|
-
role?: string;
|
116
|
-
style?: CSSStyleDeclaration;
|
127
|
+
export interface DataGridTableProps extends TableCommonProps {
|
117
128
|
}
|
118
129
|
interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectState<any> {
|
119
130
|
filters: Filters<DataGridFilter>;
|
120
131
|
}
|
121
|
-
export interface DataGridTableInstance<T extends object = any> extends TableInstance<T
|
132
|
+
export interface DataGridTableInstance<T extends object = any> extends Omit<TableInstance<T>, 'state'>, Partial<UsePaginationInstanceProps<any>> {
|
133
|
+
shouldDisableSelectRow?: (...args: any[]) => void | boolean;
|
134
|
+
state?: Partial<TableState & UseRowSelectState<any>>;
|
135
|
+
disableSelectAll?: boolean;
|
136
|
+
disableSelectRowsProps?: {
|
137
|
+
labels?: {
|
138
|
+
toggleAllRowsLabel?: string;
|
139
|
+
};
|
140
|
+
};
|
141
|
+
withSelectRows?: boolean;
|
142
|
+
}
|
143
|
+
export interface RowAction {
|
144
|
+
id?: string;
|
145
|
+
itemText?: string;
|
146
|
+
icon?: ComponentType | FunctionComponent;
|
147
|
+
align?: React.ComponentProps<typeof IconButton>['align'];
|
148
|
+
shouldHideMenuItem?: (...args: any[]) => void;
|
149
|
+
shouldDisableMenuItem?: (...args: any[]) => void;
|
150
|
+
disabled?: boolean;
|
151
|
+
onClick?: (...args: any[]) => void;
|
122
152
|
}
|
123
153
|
export interface DataGridState<T extends object = any> extends TableCommonProps, UsePaginationInstanceProps<T>, Omit<TableInstance<T>, 'state' | 'headers' | 'rows' | 'columns'>, Omit<UseFiltersInstanceProps<T>, 'rows'>, UseRowSelectInstanceProps<T>, Pick<UseRowSelectInstanceProps<T>, 'toggleAllRowsSelected'> {
|
124
154
|
withVirtualScroll?: boolean;
|
@@ -142,6 +172,7 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
|
|
142
172
|
batchActions?: boolean;
|
143
173
|
row: DatagridRow;
|
144
174
|
rows: Array<DatagridRow<any>>;
|
175
|
+
rowActions?: RowAction[];
|
145
176
|
columns: Array<DatagridColumn>;
|
146
177
|
key?: any;
|
147
178
|
rowSize?: Size;
|
@@ -197,11 +228,23 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
|
|
197
228
|
expandedRowIds?: object;
|
198
229
|
onRowClick?: (row: any, event: any) => void;
|
199
230
|
onSort?: boolean;
|
231
|
+
customizeColumnsProps?: {
|
232
|
+
onSaveColumnPrefs?: (args: any) => void;
|
233
|
+
labels?: ColumnLabels;
|
234
|
+
isTearsheetOpen?: boolean;
|
235
|
+
setIsTearsheetOpen?: (args: boolean) => void;
|
236
|
+
};
|
237
|
+
CustomizeColumnsButton?: (args: any) => ReactNode;
|
200
238
|
column?: DatagridColumn;
|
201
239
|
expandedContentHeight?: number;
|
202
240
|
onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
|
203
241
|
ExpandedRowContentComponent?: JSXElementConstructor<any>;
|
204
242
|
}
|
243
|
+
export interface DataGridData {
|
244
|
+
instance?: DataGridTableInstance;
|
245
|
+
column?: DatagridColumn;
|
246
|
+
cell?: DataGridCell;
|
247
|
+
}
|
205
248
|
export interface ResizeHeaderProps {
|
206
249
|
resizerProps?: ResizerProps;
|
207
250
|
header: DataGridHeader;
|
@@ -217,4 +260,9 @@ export interface ResizeHeaderProps {
|
|
217
260
|
isFetching?: boolean;
|
218
261
|
}
|
219
262
|
export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
|
263
|
+
export type NodeFuncType = (props: any) => ReactNode;
|
264
|
+
export interface PropGetterMeta {
|
265
|
+
instance?: DataGridTableInstance;
|
266
|
+
row?: Partial<Row<any> & DatagridRow<any>>;
|
267
|
+
}
|
220
268
|
export {};
|
@@ -1,2 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2021, 2023
|
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 { Hooks } from 'react-table';
|
8
|
+
declare const useActionsColumn: (hooks: Hooks) => void;
|
1
9
|
export default useActionsColumn;
|
2
|
-
declare function useActionsColumn(hooks: any): void;
|
@@ -17,9 +17,10 @@ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuIt
|
|
17
17
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
18
18
|
var useActionsColumn = function useActionsColumn(hooks) {
|
19
19
|
var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
|
20
|
-
var
|
21
|
-
|
22
|
-
|
20
|
+
var _ref = instance,
|
21
|
+
rowActions = _ref.rowActions,
|
22
|
+
isFetching = _ref.isFetching,
|
23
|
+
selectedRowIds = _ref.state.selectedRowIds;
|
23
24
|
var getDisabledState = function getDisabledState(rowIndex) {
|
24
25
|
var selectedRowIndexes = Object.keys(selectedRowIds).map(function (n) {
|
25
26
|
return Number(n);
|
@@ -79,10 +80,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
79
80
|
return;
|
80
81
|
}
|
81
82
|
e.stopPropagation();
|
82
|
-
_onClick(id, row, e);
|
83
|
+
_onClick === null || _onClick === void 0 || _onClick(id, row, e);
|
83
84
|
},
|
84
85
|
disabled: isDisabledByRow
|
85
|
-
}), /*#__PURE__*/React__default.createElement(Icon, null)));
|
86
|
+
}), Icon && /*#__PURE__*/React__default.createElement(Icon, null)));
|
86
87
|
})), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(OverflowMenu, {
|
87
88
|
align: "left",
|
88
89
|
size: "sm",
|
@@ -108,7 +109,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
108
109
|
disabled: isDisabledByRow,
|
109
110
|
onClick: function onClick(e) {
|
110
111
|
e.stopPropagation();
|
111
|
-
_onClick2(id, row, e);
|
112
|
+
_onClick2 === null || _onClick2 === void 0 || _onClick2(id, row, e);
|
112
113
|
},
|
113
114
|
key: id
|
114
115
|
}));
|
@@ -1,2 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2023
|
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 { Hooks } from 'react-table';
|
8
|
+
declare const useColumnRightAlign: (hooks: Hooks) => void;
|
1
9
|
export default useColumnRightAlign;
|
2
|
-
declare function useColumnRightAlign(hooks: any): void;
|
@@ -13,16 +13,17 @@ import { pkg } from '../../settings.js';
|
|
13
13
|
var blockClass = "".concat(pkg.prefix, "--datagrid");
|
14
14
|
var useColumnRightAlign = function useColumnRightAlign(hooks) {
|
15
15
|
var RightAlignRenderer = function RightAlignRenderer(tableProps, column) {
|
16
|
+
var _tableProps$column, _column$Cell;
|
16
17
|
return /*#__PURE__*/React__default.createElement("div", {
|
17
18
|
className: cx("".concat(blockClass, "__right-align-cell-renderer"), {
|
18
|
-
sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
|
19
|
+
sortDisabled: !tableProps.isTableSortable || (tableProps === null || tableProps === void 0 || (_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.disableSortBy) === true
|
19
20
|
})
|
20
|
-
}, column.Cell(tableProps));
|
21
|
+
}, column === null || column === void 0 || (_column$Cell = column.Cell) === null || _column$Cell === void 0 ? void 0 : _column$Cell.call(column, tableProps));
|
21
22
|
};
|
22
23
|
var RightAlignHeader = function RightAlignHeader(headerProp, column) {
|
23
24
|
return /*#__PURE__*/React__default.createElement("div", {
|
24
25
|
className: "".concat(blockClass, "__right-align-header")
|
25
|
-
}, typeof column.Header === 'function' ? column.Header(headerProp) : column.Header);
|
26
|
+
}, typeof column.Header === 'function' ? (column === null || column === void 0 ? void 0 : column.Header.bind(column))(headerProp) : column.Header);
|
26
27
|
};
|
27
28
|
var rightAlignedColumns = function rightAlignedColumns(columns) {
|
28
29
|
var columnsWithDefaultCells = columns.map(function (column) {
|
@@ -1,2 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2021, 2024
|
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 { Hooks } from 'react-table';
|
8
|
+
declare const useCustomizeColumns: (hooks: Hooks) => void;
|
1
9
|
export default useCustomizeColumns;
|
2
|
-
declare function useCustomizeColumns(hooks: any): void;
|
@@ -16,9 +16,10 @@ var useCustomizeColumns = function useCustomizeColumns(hooks) {
|
|
16
16
|
isTearsheetOpen = _React$useState2[0],
|
17
17
|
setIsTearsheetOpen = _React$useState2[1];
|
18
18
|
hooks.useInstance.push(function (instance) {
|
19
|
-
var
|
20
|
-
|
21
|
-
|
19
|
+
var _ref = instance,
|
20
|
+
customizeColumnsProps = _ref.customizeColumnsProps;
|
21
|
+
var _ref2 = customizeColumnsProps || {},
|
22
|
+
labels = _ref2.labels;
|
22
23
|
Object.assign(instance, {
|
23
24
|
customizeColumnsProps: _objectSpread2(_objectSpread2({}, customizeColumnsProps), {}, {
|
24
25
|
isTearsheetOpen: isTearsheetOpen,
|
@@ -21,7 +21,6 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
|
|
21
21
|
var HeaderRenderer = function HeaderRenderer(header, slug) {
|
22
22
|
return /*#__PURE__*/React__default.createElement("div", {
|
23
23
|
className: cx("".concat(blockClass, "__defaultStringRenderer"), _defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/React__default.isValidElement(slug))),
|
24
|
-
title: typeof header === 'string' ? header : '',
|
25
24
|
key: typeof header === 'string' ? header : ''
|
26
25
|
}, header);
|
27
26
|
};
|