@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
@@ -6,20 +6,19 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { slicedToArray as _slicedToArray, defineProperty as _defineProperty, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import React__default, { useContext, useState, Fragment } from 'react';
|
9
|
+
import React__default, { useContext, useState, useRef, Fragment } from 'react';
|
10
10
|
import ConditionBlock from '../ConditionBlock/ConditionBlock.js';
|
11
11
|
import PropTypes from '../../../node_modules/prop-types/index.js';
|
12
12
|
import cx from 'classnames';
|
13
|
-
import { blockClass,
|
13
|
+
import { blockClass, statementConfig } from '../ConditionBuilderContext/DataConfigs.js';
|
14
14
|
import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
|
15
|
-
import {
|
16
|
-
import { focusThisField } from '../utils/util.js';
|
15
|
+
import { focusThisField, manageTabIndexAndFocus } from '../utils/util.js';
|
17
16
|
import ConditionConnector from '../ConditionBuilderConnector/ConditionConnector.js';
|
18
17
|
import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
|
19
18
|
import uuidv4 from '../../../global/js/utils/uuidv4.js';
|
20
19
|
import ConditionPreview from '../ConditionPreview/ConditionPreview.js';
|
21
|
-
|
22
|
-
|
20
|
+
import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
|
21
|
+
import { useTranslations } from '../utils/useTranslations.js';
|
23
22
|
|
24
23
|
/**
|
25
24
|
*
|
@@ -29,14 +28,20 @@ var _ConditionPreview, _ConditionPreview2;
|
|
29
28
|
*/
|
30
29
|
|
31
30
|
var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
31
|
+
var _ConditionPreview, _ConditionPreview2;
|
32
32
|
var group = _ref.group,
|
33
33
|
aria = _ref.aria,
|
34
34
|
onRemove = _ref.onRemove,
|
35
35
|
onChange = _ref.onChange,
|
36
|
-
conditionBuilderRef = _ref.conditionBuilderRef,
|
37
36
|
className = _ref.className;
|
37
|
+
var _useTranslations = useTranslations(['conditionBuilderGroupText', 'conditionText', 'conditionBuilderText']),
|
38
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 3),
|
39
|
+
conditionBuilderGroupText = _useTranslations2[0],
|
40
|
+
conditionText = _useTranslations2[1],
|
41
|
+
conditionBuilderText = _useTranslations2[2];
|
38
42
|
var _useContext = useContext(ConditionBuilderContext),
|
39
|
-
variant = _useContext.variant
|
43
|
+
variant = _useContext.variant,
|
44
|
+
conditionBuilderRef = _useContext.conditionBuilderRef;
|
40
45
|
var _useState = useState(-1),
|
41
46
|
_useState2 = _slicedToArray(_useState, 2),
|
42
47
|
showConditionPreview = _useState2[0],
|
@@ -45,14 +50,46 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
45
50
|
_useState4 = _slicedToArray(_useState3, 2),
|
46
51
|
showConditionSubGroupPreview = _useState4[0],
|
47
52
|
setShowConditionSubGroupPreview = _useState4[1];
|
48
|
-
var
|
53
|
+
var conditionBuilderContentRef = useRef();
|
54
|
+
var onRemoveHandler = function onRemoveHandler(conditionId, evt, conditionIndex) {
|
49
55
|
if (group.conditions.length > 1) {
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
+
variant == 'tree' ? handleFocusOnCloseTree(evt) : handleFocusOnClose(evt, conditionIndex);
|
57
|
+
if (group.conditions[1].conditions && group.conditions[1].id !== conditionId) {
|
58
|
+
//when we remove every plain conditions of a group without deleting the subgroup, we need to restructure the group
|
59
|
+
//the inner group become outer group and same level subgroups become plain conditions
|
60
|
+
|
61
|
+
//ensure we are deleting last condition , not the subgroup
|
62
|
+
|
63
|
+
//spreading out the condition inside the subgroup
|
64
|
+
var allConditions = group.conditions.reduce(function (acc, item) {
|
65
|
+
if (item.conditions) {
|
66
|
+
return acc.concat(item.conditions);
|
67
|
+
}
|
68
|
+
return acc;
|
69
|
+
}, []);
|
70
|
+
|
71
|
+
//we always have conditions first and then subgroups, so ordering accordingly
|
72
|
+
var groupedItems = {
|
73
|
+
groups: [],
|
74
|
+
conditions: []
|
75
|
+
};
|
76
|
+
allConditions.forEach(function (item) {
|
77
|
+
if (item.conditions) {
|
78
|
+
groupedItems.groups.push(item);
|
79
|
+
} else {
|
80
|
+
groupedItems.conditions.push(item);
|
81
|
+
}
|
82
|
+
});
|
83
|
+
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
84
|
+
conditions: [].concat(_toConsumableArray(groupedItems.conditions), _toConsumableArray(groupedItems.groups))
|
85
|
+
}));
|
86
|
+
} else {
|
87
|
+
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
88
|
+
conditions: group.conditions.filter(function (condition) {
|
89
|
+
return conditionId !== condition.id;
|
90
|
+
})
|
91
|
+
}));
|
92
|
+
}
|
56
93
|
} else {
|
57
94
|
onRemove(evt);
|
58
95
|
}
|
@@ -75,17 +112,59 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
75
112
|
conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [newCondition], _toConsumableArray(group.conditions.slice(conditionIndex + 1)))
|
76
113
|
}));
|
77
114
|
};
|
78
|
-
var handleFocusOnClose = function handleFocusOnClose(e) {
|
79
|
-
var _e$currentTarget;
|
80
|
-
|
81
|
-
if
|
82
|
-
|
115
|
+
var handleFocusOnClose = function handleFocusOnClose(e, conditionIndex) {
|
116
|
+
var _e$currentTarget$clos;
|
117
|
+
//get all close buttons.
|
118
|
+
//if the last condition is closing, focus the second last one.
|
119
|
+
//or focus the next one.
|
120
|
+
var currentGroupCloseButtons = (_e$currentTarget$clos = e.currentTarget.closest(".".concat(blockClass, "__group"))) === null || _e$currentTarget$clos === void 0 ? void 0 : _e$currentTarget$clos.querySelectorAll('[data-name="closeCondition"]');
|
121
|
+
if (conditionIndex == currentGroupCloseButtons.length - 1) {
|
122
|
+
manageTabIndexAndFocus(currentGroupCloseButtons[conditionIndex - 1], conditionBuilderRef);
|
123
|
+
} else {
|
124
|
+
manageTabIndexAndFocus(currentGroupCloseButtons[conditionIndex + 1], conditionBuilderRef);
|
125
|
+
}
|
126
|
+
};
|
127
|
+
var handleFocusOnCloseTree = function handleFocusOnCloseTree(evt) {
|
128
|
+
var _evt$currentTarget, _evt$currentTarget2, _conditionBuilderCont, _conditionBuilderCont2;
|
129
|
+
//getting the current aria-level and aria-posinset.
|
130
|
+
var currentLevel = (_evt$currentTarget = evt.currentTarget) === null || _evt$currentTarget === void 0 || (_evt$currentTarget = _evt$currentTarget.closest('[role="row"]')) === null || _evt$currentTarget === void 0 ? void 0 : _evt$currentTarget.getAttribute('aria-level');
|
131
|
+
var currentPos = (_evt$currentTarget2 = evt.currentTarget) === null || _evt$currentTarget2 === void 0 || (_evt$currentTarget2 = _evt$currentTarget2.closest('[role="row"]')) === null || _evt$currentTarget2 === void 0 ? void 0 : _evt$currentTarget2.getAttribute('aria-posinset');
|
132
|
+
|
133
|
+
//finding the next and previous items in same level
|
134
|
+
var nextElement = (_conditionBuilderCont = conditionBuilderContentRef.current) === null || _conditionBuilderCont === void 0 ? void 0 : _conditionBuilderCont.querySelector("[aria-level=\"".concat(currentLevel, "\"][aria-posinset=\"").concat(Number(currentPos) + 1, "\"]"));
|
135
|
+
var prevElement = (_conditionBuilderCont2 = conditionBuilderContentRef.current) === null || _conditionBuilderCont2 === void 0 ? void 0 : _conditionBuilderCont2.querySelector("[aria-level=\"".concat(currentLevel, "\"][aria-posinset=\"").concat(Number(currentPos) - 1, "\"]"));
|
136
|
+
//checking if next level is a valid condition. If then, focus the close button inside that condition
|
137
|
+
//Otherwise , check the previous item is a valid condition
|
138
|
+
|
139
|
+
if (nextElement !== null && nextElement !== void 0 && nextElement.classList.contains("".concat(blockClass, "__condition-block"))) {
|
140
|
+
manageTabIndexAndFocus(nextElement === null || nextElement === void 0 ? void 0 : nextElement.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
|
141
|
+
} else if (prevElement !== null && prevElement !== void 0 && prevElement.classList.contains("".concat(blockClass, "__condition-block"))) {
|
142
|
+
manageTabIndexAndFocus(prevElement === null || prevElement === void 0 ? void 0 : prevElement.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
|
143
|
+
}
|
144
|
+
//If there are no valid condition in this group, focus next or previous row
|
145
|
+
else {
|
146
|
+
var _conditionBuilderCont3, _conditionBuilderCont4;
|
147
|
+
var prevRows = (_conditionBuilderCont3 = conditionBuilderContentRef.current) === null || _conditionBuilderCont3 === void 0 ? void 0 : _conditionBuilderCont3.querySelectorAll("[aria-level=\"".concat(Number(currentLevel) - 1, "\"][role=\"row\"]"));
|
148
|
+
var nextRow = (_conditionBuilderCont4 = conditionBuilderContentRef.current) === null || _conditionBuilderCont4 === void 0 ? void 0 : _conditionBuilderCont4.querySelector("[aria-level=\"".concat(Number(currentLevel) + 1, "\"][role=\"row\"]"));
|
149
|
+
if (nextRow) {
|
150
|
+
//since there are no condition in current group, this group will move one level up
|
151
|
+
|
152
|
+
var rowIdentity = {
|
153
|
+
ariaLevel: Number(nextRow.ariaLevel) - 1,
|
154
|
+
ariaPosInSet: nextRow.ariaPosInSet
|
155
|
+
};
|
156
|
+
setTimeout(function () {
|
157
|
+
var currentRowToFocus = conditionBuilderContentRef.current.querySelector("[role=\"row\"][aria-level=\"".concat(rowIdentity.ariaLevel, "\"][aria-posinset=\"").concat(rowIdentity.ariaPosInSet, "\"]"));
|
158
|
+
manageTabIndexAndFocus(currentRowToFocus, conditionBuilderRef);
|
159
|
+
}, 0);
|
160
|
+
} else if ((prevRows === null || prevRows === void 0 ? void 0 : prevRows.length) > 1) {
|
161
|
+
manageTabIndexAndFocus(prevRows[prevRows.length - 2], conditionBuilderRef);
|
162
|
+
}
|
83
163
|
}
|
84
164
|
};
|
85
165
|
var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
|
86
166
|
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
87
167
|
conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
|
88
|
-
groupSeparateOperator: null,
|
89
168
|
groupOperator: 'and',
|
90
169
|
statement: 'if',
|
91
170
|
conditions: [{
|
@@ -115,7 +194,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
115
194
|
setShowConditionPreview(-1);
|
116
195
|
};
|
117
196
|
var onStatementChangeHandler = function onStatementChangeHandler(updatedStatement) {
|
197
|
+
var _statementConfig$find;
|
198
|
+
var groupOperator = (_statementConfig$find = statementConfig.find(function (statement) {
|
199
|
+
return statement.id == updatedStatement;
|
200
|
+
})) === null || _statementConfig$find === void 0 ? void 0 : _statementConfig$find.connector;
|
118
201
|
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
202
|
+
groupOperator: groupOperator,
|
119
203
|
statement: updatedStatement
|
120
204
|
}));
|
121
205
|
};
|
@@ -131,7 +215,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
131
215
|
}, /*#__PURE__*/React__default.createElement("div", {
|
132
216
|
className: "".concat(blockClass, "__condition-wrapper"),
|
133
217
|
role: "grid",
|
134
|
-
"aria-label":
|
218
|
+
"aria-label": conditionBuilderText
|
135
219
|
}, group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.map(function (eachCondition, conditionIndex) {
|
136
220
|
return /*#__PURE__*/React__default.createElement("div", {
|
137
221
|
key: eachCondition.id,
|
@@ -152,7 +236,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
152
236
|
},
|
153
237
|
addConditionHandler: addConditionHandler,
|
154
238
|
onRemove: function onRemove(e) {
|
155
|
-
onRemoveHandler(eachCondition.id, e);
|
239
|
+
onRemoveHandler(eachCondition.id, e, conditionIndex);
|
156
240
|
},
|
157
241
|
onConnectorOperatorChange: onConnectorOperatorChange,
|
158
242
|
onStatementChange: onStatementChangeHandler,
|
@@ -165,7 +249,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
165
249
|
return /*#__PURE__*/React__default.createElement("div", {
|
166
250
|
className: "".concat(className, " ").concat(blockClass, "__condition-wrapper"),
|
167
251
|
role: aria.level === 1 ? 'rowgroup' : undefined,
|
168
|
-
"aria-label": aria.level == 1 ?
|
252
|
+
"aria-label": aria.level == 1 ? conditionBuilderGroupText : undefined,
|
253
|
+
ref: conditionBuilderContentRef
|
169
254
|
}, /*#__PURE__*/React__default.createElement("div", {
|
170
255
|
tabIndex: 0,
|
171
256
|
role: "row",
|
@@ -174,17 +259,17 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
174
259
|
"aria-setsize": aria.setsize
|
175
260
|
}, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
176
261
|
label: group.statement,
|
177
|
-
title:
|
262
|
+
title: conditionText,
|
178
263
|
"data-name": "connectorField",
|
179
264
|
popOverClassName: "".concat(blockClass, "__gap"),
|
180
265
|
className: "".concat(blockClass, "__statement-button")
|
181
|
-
}, /*#__PURE__*/React__default.createElement(
|
266
|
+
}, /*#__PURE__*/React__default.createElement(ItemOption, {
|
182
267
|
conditionState: {
|
183
268
|
value: group.statement,
|
184
|
-
label:
|
269
|
+
label: conditionText
|
185
270
|
},
|
186
271
|
onChange: function onChange(v, evt) {
|
187
|
-
focusThisField(evt);
|
272
|
+
focusThisField(evt, conditionBuilderRef);
|
188
273
|
onStatementChangeHandler(v);
|
189
274
|
},
|
190
275
|
config: {
|
@@ -196,7 +281,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
196
281
|
}, eachCondition.conditions ? /*#__PURE__*/React__default.createElement("div", {
|
197
282
|
className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1))
|
198
283
|
}, /*#__PURE__*/React__default.createElement(ConditionConnector, {
|
199
|
-
className: "".concat(blockClass, "__gap ").concat(blockClass, "__groupConnector"),
|
284
|
+
className: "".concat(blockClass, "__gap ").concat(blockClass, "__gap-bottom ").concat(blockClass, "__groupConnector"),
|
200
285
|
operator: group.groupOperator,
|
201
286
|
"aria-hidden": true
|
202
287
|
}), /*#__PURE__*/React__default.createElement(ConditionGroupBuilder, {
|
@@ -212,9 +297,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
212
297
|
},
|
213
298
|
onRemove: function onRemove(e) {
|
214
299
|
onRemoveHandler(eachCondition.id, e);
|
215
|
-
}
|
216
|
-
|
217
|
-
})) : /*#__PURE__*/React__default.createElement(ConditionBlock, {
|
300
|
+
}
|
301
|
+
})) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBlock, {
|
218
302
|
conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
|
219
303
|
aria: {
|
220
304
|
level: aria.level + 1,
|
@@ -244,10 +328,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
244
328
|
},
|
245
329
|
hideConditionPreviewHandler: hideConditionPreviewHandler,
|
246
330
|
isLastCondition: isLastCondition
|
247
|
-
}), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
|
248
|
-
previewType: "subGroup"
|
331
|
+
})), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
|
332
|
+
previewType: "subGroup",
|
333
|
+
group: group
|
249
334
|
}))), conditionIndex == showConditionPreview && (_ConditionPreview2 || (_ConditionPreview2 = /*#__PURE__*/React__default.createElement(ConditionPreview, {
|
250
|
-
previewType: "condition"
|
335
|
+
previewType: "condition",
|
336
|
+
group: group
|
251
337
|
}))));
|
252
338
|
}));
|
253
339
|
};
|
@@ -266,11 +352,6 @@ ConditionGroupBuilder.propTypes = {
|
|
266
352
|
* Provide an optional class to be applied to the containing node.
|
267
353
|
*/
|
268
354
|
className: PropTypes.string,
|
269
|
-
/**
|
270
|
-
className: PropTypes.string,
|
271
|
-
* ref of condition builder
|
272
|
-
*/
|
273
|
-
conditionBuilderRef: PropTypes.object,
|
274
355
|
group: PropTypes.object,
|
275
356
|
/**
|
276
357
|
* callback to update the current condition of the state tree
|
@@ -1,9 +1,11 @@
|
|
1
1
|
export default ConditionPreview;
|
2
|
-
declare function ConditionPreview({ previewType }: {
|
2
|
+
declare function ConditionPreview({ previewType, group }: {
|
3
3
|
previewType: any;
|
4
|
+
group: any;
|
4
5
|
}): import("react/jsx-runtime").JSX.Element;
|
5
6
|
declare namespace ConditionPreview {
|
6
7
|
namespace propTypes {
|
8
|
+
let group: PropTypes.Requireable<object>;
|
7
9
|
let previewType: PropTypes.Requireable<string>;
|
8
10
|
}
|
9
11
|
}
|
@@ -5,61 +5,87 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
-
import
|
8
|
+
import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
+
import React__default, { useState, useEffect } from 'react';
|
10
|
+
import cx from 'classnames';
|
9
11
|
import PropTypes from '../../../node_modules/prop-types/index.js';
|
10
|
-
import { blockClass
|
12
|
+
import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
|
11
13
|
import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
|
12
14
|
import ConditionConnector from '../ConditionBuilderConnector/ConditionConnector.js';
|
15
|
+
import { useTranslations } from '../utils/useTranslations.js';
|
16
|
+
import { Bee } from '@carbon/react/icons';
|
13
17
|
|
14
18
|
var ConditionPreview = function ConditionPreview(_ref) {
|
15
|
-
var
|
19
|
+
var _ConditionBuilderItem, _ConditionBuilderItem2, _ConditionBuilderItem3;
|
20
|
+
var previewType = _ref.previewType,
|
21
|
+
group = _ref.group;
|
22
|
+
var _useState = useState(false),
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
24
|
+
animate = _useState2[0],
|
25
|
+
setAnimate = _useState2[1];
|
26
|
+
var _useTranslations = useTranslations(['valueText', 'operatorText', 'propertyText', 'ifText']),
|
27
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 4),
|
28
|
+
propertyText = _useTranslations2[0],
|
29
|
+
operatorText = _useTranslations2[1],
|
30
|
+
valueText = _useTranslations2[2],
|
31
|
+
ifText = _useTranslations2[3];
|
32
|
+
useEffect(function () {
|
33
|
+
setAnimate(true);
|
34
|
+
}, []);
|
16
35
|
var getConditionSection = function getConditionSection() {
|
17
|
-
return /*#__PURE__*/React__default.createElement("div",
|
18
|
-
|
19
|
-
}
|
20
|
-
label:
|
21
|
-
|
22
|
-
|
23
|
-
|
36
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
37
|
+
className: "".concat(blockClass, "__preview-condition")
|
38
|
+
}, _ConditionBuilderItem || (_ConditionBuilderItem = /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
39
|
+
label: propertyText,
|
40
|
+
renderIcon: Bee
|
41
|
+
})), _ConditionBuilderItem2 || (_ConditionBuilderItem2 = /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
42
|
+
label: operatorText
|
43
|
+
})), _ConditionBuilderItem3 || (_ConditionBuilderItem3 = /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
44
|
+
label: valueText
|
45
|
+
})));
|
24
46
|
};
|
25
47
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, previewType == 'newGroup' && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
26
|
-
className: "".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview
|
48
|
+
className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
|
27
49
|
}, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
28
50
|
className: "".concat(blockClass, "__statement-button"),
|
29
|
-
label:
|
51
|
+
label: group.groupOperator
|
30
52
|
})), /*#__PURE__*/React__default.createElement("div", {
|
31
53
|
"aria-hidden": true,
|
32
|
-
className: "".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper ").concat(blockClass, "__group-preview ").concat(blockClass, "__group-wrapper")
|
54
|
+
className: cx(["".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper ").concat(blockClass, "__group-preview ").concat(blockClass, "__group-wrapper "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
|
33
55
|
}, /*#__PURE__*/React__default.createElement("div", {
|
34
56
|
className: "".concat(blockClass, "__gap")
|
35
57
|
}, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
36
58
|
className: "".concat(blockClass, "__statement-button"),
|
37
|
-
label:
|
59
|
+
label: ifText
|
38
60
|
})), getConditionSection())), previewType == 'subGroup' && /*#__PURE__*/React__default.createElement("div", {
|
39
|
-
className: "".concat(blockClass, "__group-preview")
|
61
|
+
className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
|
40
62
|
}, /*#__PURE__*/React__default.createElement("div", {
|
41
63
|
className: "".concat(blockClass, "__condition-block ").concat(blockClass, "__gap")
|
42
64
|
}, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
43
|
-
label:
|
65
|
+
label: group.groupOperator,
|
44
66
|
className: "".concat(blockClass, "__statement-button"),
|
45
67
|
popOverClassName: "".concat(blockClass, "__gap")
|
46
68
|
}), /*#__PURE__*/React__default.createElement("div", {
|
47
69
|
className: "".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper")
|
48
70
|
}, /*#__PURE__*/React__default.createElement(ConditionConnector, {
|
49
71
|
className: "".concat(blockClass, "__gap ").concat(blockClass, "__groupConnector"),
|
50
|
-
operator:
|
72
|
+
operator: ifText
|
51
73
|
}), getConditionSection()))), previewType == 'condition' && /*#__PURE__*/React__default.createElement("div", {
|
52
|
-
className: "".concat(blockClass, "__group-preview")
|
74
|
+
className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
|
53
75
|
}, /*#__PURE__*/React__default.createElement("div", {
|
54
76
|
className: "".concat(blockClass, "__condition-block ").concat(blockClass, "__gap")
|
55
77
|
}, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
|
56
|
-
label:
|
78
|
+
label: group.groupOperator,
|
57
79
|
className: "".concat(blockClass, "__statement-button"),
|
58
80
|
popOverClassName: "".concat(blockClass, "__gap")
|
59
81
|
}), getConditionSection())));
|
60
82
|
};
|
61
83
|
var ConditionPreview$1 = ConditionPreview;
|
62
84
|
ConditionPreview.propTypes = {
|
85
|
+
/**
|
86
|
+
* current conditional group
|
87
|
+
*/
|
88
|
+
group: PropTypes.object,
|
63
89
|
/**
|
64
90
|
* type of review to be displayed
|
65
91
|
*/
|
@@ -1 +1,2 @@
|
|
1
|
-
export function handleKeyDown(evt: any, conditionBuilderRef: any): void;
|
1
|
+
export function handleKeyDown(evt: any, conditionBuilderRef: any, variant: any): void;
|
2
|
+
export function handleKeyDownForPopover(evt: any, conditionBuilderRef: any, popoverRef: any): void;
|
@@ -7,18 +7,27 @@
|
|
7
7
|
|
8
8
|
import { toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
|
10
|
-
import { checkForHoldingKey } from './
|
11
|
-
import { focusThisField, traverseReverse, traverseClockVise } from './util.js';
|
10
|
+
import { focusThisItem, manageTabIndexAndFocus, traverseClockVise, traverseReverse, checkForHoldingKey, focusThisField } from './util.js';
|
12
11
|
|
13
|
-
var handleKeyDown = function handleKeyDown(evt, conditionBuilderRef) {
|
12
|
+
var handleKeyDown = function handleKeyDown(evt, conditionBuilderRef, variant) {
|
13
|
+
var _activeElement$closes;
|
14
14
|
var activeElement = document.activeElement;
|
15
|
-
if (activeElement.closest("[role
|
16
|
-
|
17
|
-
}
|
18
|
-
|
15
|
+
if (!((_activeElement$closes = activeElement.closest(".".concat(blockClass, "__popover"))) !== null && _activeElement$closes !== void 0 && _activeElement$closes.querySelector('[role="dialog"]'))) {
|
16
|
+
handleKeyPressForMainContent(evt, conditionBuilderRef, variant);
|
17
|
+
}
|
18
|
+
};
|
19
|
+
var handleKeyDownForPopover = function handleKeyDownForPopover(evt, conditionBuilderRef, popoverRef) {
|
20
|
+
if (excludeKeyPress(evt)) {
|
21
|
+
return;
|
19
22
|
}
|
23
|
+
handleKeyPressForPopover(evt, popoverRef === null || popoverRef === void 0 ? void 0 : popoverRef.current, conditionBuilderRef);
|
20
24
|
};
|
21
|
-
|
25
|
+
|
26
|
+
//skipping keyboard handling for date and time fields to get take carbon's
|
27
|
+
var excludeKeyPress = function excludeKeyPress(evt) {
|
28
|
+
return !['Escape'].includes(evt.key) && (evt.target.closest(".".concat(blockClass, "__item-date")) || evt.target.closest(".".concat(blockClass, "__item-time")));
|
29
|
+
};
|
30
|
+
var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentContainer, conditionBuilderRef) {
|
22
31
|
var _parentContainer$quer;
|
23
32
|
var key = evt.key;
|
24
33
|
var isHoldingShiftKey = checkForHoldingKey(evt, 'shiftKey');
|
@@ -28,22 +37,22 @@ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentCont
|
|
28
37
|
case 'ArrowUp':
|
29
38
|
//traverse through the popover options, search box, selectAll button
|
30
39
|
parentContainer.querySelectorAll("[role=\"option\"]").forEach(function (eachElem, index, allElements) {
|
31
|
-
traverseReverse(eachElem, index, allElements);
|
40
|
+
traverseReverse(eachElem, index, allElements, null, null, conditionBuilderRef);
|
32
41
|
});
|
33
42
|
break;
|
34
43
|
case 'ArrowDown':
|
35
44
|
//traverse through the popover options, search box, selectAll button
|
36
45
|
parentContainer.querySelectorAll("[role=\"option\"]").forEach(function (eachElem, index, allElements) {
|
37
|
-
traverseClockVise(eachElem, index, allElements);
|
46
|
+
traverseClockVise(eachElem, index, allElements, null, null, conditionBuilderRef);
|
38
47
|
});
|
39
48
|
break;
|
40
49
|
case 'Tab':
|
41
50
|
allItems = [].concat(_toConsumableArray(Array.from(parentContainer.querySelectorAll(".".concat(blockClass, "__selectAll-button,[role=\"searchbox\"]")))), [parentContainer.querySelector("[role=\"option\"]")]);
|
42
51
|
allItems.forEach(function (eachElem, index, allElements) {
|
43
52
|
if (isHoldingShiftKey) {
|
44
|
-
traverseReverse(eachElem, index, allElements, true, true);
|
53
|
+
traverseReverse(eachElem, index, allElements, true, true, conditionBuilderRef);
|
45
54
|
} else {
|
46
|
-
traverseClockVise(eachElem, index, allElements, true, true);
|
55
|
+
traverseClockVise(eachElem, index, allElements, true, true, conditionBuilderRef);
|
47
56
|
}
|
48
57
|
});
|
49
58
|
evt.preventDefault();
|
@@ -63,19 +72,88 @@ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentCont
|
|
63
72
|
if (document.activeElement.type !== 'button') {
|
64
73
|
var _document$activeEleme2;
|
65
74
|
//for button , enter key is click which already handled by framework, else trigger click
|
75
|
+
focusThisField(evt, conditionBuilderRef);
|
66
76
|
(_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.click();
|
67
|
-
focusThisField(evt);
|
68
77
|
}
|
69
78
|
}
|
70
79
|
break;
|
71
80
|
case 'Escape':
|
72
|
-
//focus the corresponding field in which the popover is triggered
|
73
|
-
focusThisField(evt);
|
81
|
+
//focus the corresponding field in which the popover is triggered\
|
82
|
+
focusThisField(evt, conditionBuilderRef);
|
83
|
+
break;
|
84
|
+
}
|
85
|
+
};
|
86
|
+
var handleKeyPressForMainContent = function handleKeyPressForMainContent(evt, conditionBuilderRef, variant) {
|
87
|
+
var _document$activeEleme3;
|
88
|
+
switch (evt.key) {
|
89
|
+
case 'ArrowRight':
|
90
|
+
evt.preventDefault();
|
91
|
+
if (variant == 'tree') {
|
92
|
+
var _evt$target$closest;
|
93
|
+
var allCellsInRow = Array.from((_evt$target$closest = evt.target.closest('[role="row"]')) === null || _evt$target$closest === void 0 ? void 0 : _evt$target$closest.querySelectorAll('[role="gridcell"] button'));
|
94
|
+
if (allCellsInRow.length === 1) {
|
95
|
+
evt.target = evt.target.closest('[role="row"]');
|
96
|
+
handleRowNavigationTree(evt, conditionBuilderRef, variant);
|
97
|
+
//focus next row
|
98
|
+
} else if (evt.target.getAttribute('role') == 'row') {
|
99
|
+
//when current focus is on a row, then we need to enter inside and focus the first cell of that row
|
100
|
+
|
101
|
+
//focus first cell
|
102
|
+
manageTabIndexAndFocus(allCellsInRow[0], conditionBuilderRef);
|
103
|
+
} else {
|
104
|
+
//finding the next cell to be focussed
|
105
|
+
//next cell = current cell index + 1
|
106
|
+
|
107
|
+
var currentItemIndex = allCellsInRow.indexOf(evt.target);
|
108
|
+
if (currentItemIndex < allCellsInRow.length - 1) {
|
109
|
+
focusThisItem(allCellsInRow[currentItemIndex + 1], conditionBuilderRef);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
} else {
|
113
|
+
handleCellNavigation(evt, conditionBuilderRef);
|
114
|
+
}
|
115
|
+
break;
|
116
|
+
case 'ArrowLeft':
|
117
|
+
evt.preventDefault();
|
118
|
+
if (variant == 'tree') {
|
119
|
+
if (evt.target.getAttribute('role') !== 'row') {
|
120
|
+
var _evt$target$closest2;
|
121
|
+
//when any cell is focussed, arrow left will select the previous cell or current row
|
122
|
+
|
123
|
+
var _allCellsInRow = Array.from((_evt$target$closest2 = evt.target.closest('[role="row"]')) === null || _evt$target$closest2 === void 0 ? void 0 : _evt$target$closest2.querySelectorAll('[role="gridcell"] button'));
|
124
|
+
var _currentItemIndex = _allCellsInRow.indexOf(evt.target);
|
125
|
+
if (_currentItemIndex > 0) {
|
126
|
+
focusThisItem(_allCellsInRow[_currentItemIndex - 1], conditionBuilderRef);
|
127
|
+
} else {
|
128
|
+
//focus the row
|
129
|
+
var wrapper = evt.target.closest("[role=\"row\"]");
|
130
|
+
manageTabIndexAndFocus(wrapper, conditionBuilderRef);
|
131
|
+
}
|
132
|
+
}
|
133
|
+
} else {
|
134
|
+
handleCellNavigation(evt, conditionBuilderRef);
|
135
|
+
}
|
136
|
+
break;
|
137
|
+
case 'ArrowUp':
|
138
|
+
case 'ArrowDown':
|
139
|
+
evt.preventDefault();
|
140
|
+
if (variant == 'tree') {
|
141
|
+
handleRowNavigationTree(evt, conditionBuilderRef, variant);
|
142
|
+
} else {
|
143
|
+
handleRowNavigation(evt, conditionBuilderRef, variant);
|
144
|
+
}
|
145
|
+
break;
|
146
|
+
case 'Enter':
|
147
|
+
if (((_document$activeEleme3 = document.activeElement) === null || _document$activeEleme3 === void 0 || (_document$activeEleme3 = _document$activeEleme3.querySelectorAll("button")) === null || _document$activeEleme3 === void 0 ? void 0 : _document$activeEleme3.length) === 1) {
|
148
|
+
var _document$activeEleme4;
|
149
|
+
(_document$activeEleme4 = document.activeElement) === null || _document$activeEleme4 === void 0 || (_document$activeEleme4 = _document$activeEleme4.querySelectorAll("button")[0]) === null || _document$activeEleme4 === void 0 || _document$activeEleme4.click();
|
150
|
+
}
|
74
151
|
break;
|
75
152
|
}
|
76
153
|
};
|
77
154
|
var getRows = function getRows(conditionBuilderRef) {
|
78
|
-
|
155
|
+
var _conditionBuilderRef$;
|
156
|
+
return Array.from((_conditionBuilderRef$ = conditionBuilderRef.current) === null || _conditionBuilderRef$ === void 0 ? void 0 : _conditionBuilderRef$.querySelectorAll('[role="row"]'));
|
79
157
|
};
|
80
158
|
var getRowIndex = function getRowIndex(element, conditionBuilderRef) {
|
81
159
|
var rows = getRows(conditionBuilderRef);
|
@@ -83,14 +161,37 @@ var getRowIndex = function getRowIndex(element, conditionBuilderRef) {
|
|
83
161
|
return row.contains(element);
|
84
162
|
});
|
85
163
|
};
|
86
|
-
var handleRowNavigation = function handleRowNavigation(evt, conditionBuilderRef) {
|
164
|
+
var handleRowNavigation = function handleRowNavigation(evt, conditionBuilderRef, variant) {
|
87
165
|
var rows = getRows(conditionBuilderRef);
|
88
166
|
var currentRowIndex = getRowIndex(evt.target, conditionBuilderRef);
|
89
|
-
navigateToNextRowCell(evt, currentRowIndex, rows);
|
167
|
+
navigateToNextRowCell(evt, currentRowIndex, rows, variant, conditionBuilderRef);
|
90
168
|
};
|
91
|
-
var
|
92
|
-
var
|
93
|
-
|
169
|
+
var handleRowNavigationTree = function handleRowNavigationTree(evt, conditionBuilderRef, variant) {
|
170
|
+
var rows = getRows(conditionBuilderRef);
|
171
|
+
var currentRowIndex = getRowIndex(evt.target, conditionBuilderRef);
|
172
|
+
var nextRowIndex = currentRowIndex;
|
173
|
+
if (evt.target.getAttribute('role') == 'row') {
|
174
|
+
if (['ArrowDown', 'ArrowRight'].includes(evt.key)) {
|
175
|
+
nextRowIndex += 1;
|
176
|
+
} else if (evt.key === 'ArrowUp') {
|
177
|
+
nextRowIndex -= 1;
|
178
|
+
}
|
179
|
+
|
180
|
+
//maintaining selection for first and last rows
|
181
|
+
if (nextRowIndex < 0) {
|
182
|
+
nextRowIndex = 0;
|
183
|
+
} else if (nextRowIndex >= rows.length) {
|
184
|
+
nextRowIndex = rows.length - 1;
|
185
|
+
}
|
186
|
+
if (nextRowIndex !== currentRowIndex) {
|
187
|
+
manageTabIndexAndFocus(rows[nextRowIndex], conditionBuilderRef);
|
188
|
+
}
|
189
|
+
} else {
|
190
|
+
navigateToNextRowCell(evt, currentRowIndex, rows, variant, conditionBuilderRef);
|
191
|
+
}
|
192
|
+
};
|
193
|
+
var navigateToNextRowCell = function navigateToNextRowCell(evt, currentRowIndex, rows, variant, conditionBuilderRef) {
|
194
|
+
//when the current focussed element is a cell of any row, arrow up/down will focus the next row same cell.
|
94
195
|
|
95
196
|
var nextRowIndex = currentRowIndex;
|
96
197
|
if (evt.key === 'ArrowUp') {
|
@@ -101,25 +202,21 @@ var navigateToNextRowCell = function navigateToNextRowCell(evt, currentRowIndex,
|
|
101
202
|
}
|
102
203
|
var nextRow = rows[nextRowIndex];
|
103
204
|
var itemName = evt.target.dataset.name;
|
104
|
-
nextRow
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
case 'ArrowLeft':
|
110
|
-
conditionBuilderRef.current.querySelectorAll("[role=\"gridcell\"] button").forEach(function (eachElem, index, allElements) {
|
111
|
-
if (evt.key === 'ArrowRight') {
|
112
|
-
traverseClockVise(eachElem, index, allElements);
|
113
|
-
} else {
|
114
|
-
traverseReverse(eachElem, index, allElements);
|
115
|
-
}
|
116
|
-
});
|
117
|
-
break;
|
118
|
-
case 'ArrowUp':
|
119
|
-
case 'ArrowDown':
|
120
|
-
handleRowNavigation(evt, conditionBuilderRef);
|
121
|
-
break;
|
205
|
+
if (nextRow !== null && nextRow !== void 0 && nextRow.querySelector("[data-name=\"".concat(itemName, "\"]"))) {
|
206
|
+
manageTabIndexAndFocus(nextRow === null || nextRow === void 0 ? void 0 : nextRow.querySelector("[data-name=\"".concat(itemName, "\"]")), conditionBuilderRef);
|
207
|
+
} else if (variant === 'tree') {
|
208
|
+
//when the next row is a if statement , then that row is focused. From any cell of last row of an group , arrow down select the next row (if)
|
209
|
+
manageTabIndexAndFocus(nextRow, conditionBuilderRef);
|
122
210
|
}
|
123
211
|
};
|
212
|
+
var handleCellNavigation = function handleCellNavigation(evt, conditionBuilderRef) {
|
213
|
+
conditionBuilderRef.current.querySelectorAll("[role=\"gridcell\"] button").forEach(function (eachElem, index, allElements) {
|
214
|
+
if (evt.key === 'ArrowRight') {
|
215
|
+
traverseClockVise(eachElem, index, allElements, null, null, conditionBuilderRef);
|
216
|
+
} else {
|
217
|
+
traverseReverse(eachElem, index, allElements, null, null, conditionBuilderRef);
|
218
|
+
}
|
219
|
+
});
|
220
|
+
};
|
124
221
|
|
125
|
-
export { handleKeyDown };
|
222
|
+
export { handleKeyDown, handleKeyDownForPopover };
|
@@ -0,0 +1 @@
|
|
1
|
+
export function useTranslations(translationKeys: any): any;
|