@carbon/ibm-products 2.43.2-canary.7 → 2.43.2-canary.72
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 +167 -15
- 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 +215 -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 +167 -15
- 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 +167 -15
- 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/Coachmark/Coachmark.js +12 -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 +57 -42
- package/es/components/ConditionBuilder/ConditionBuilder.js +81 -24
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +151 -0
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +27 -13
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +10 -6
- package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +58 -41
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -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 +37 -36
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +67 -33
- 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} +66 -36
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +19 -7
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +74 -23
- 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 +1 -1
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
- 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 +1 -0
- package/es/components/ConditionBuilder/utils/util.js +8 -1
- package/es/components/CreateFullPage/CreateFullPage.js +2 -2
- package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
- package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
- 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/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 +21 -16
- 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 +44 -8
- 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/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/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 +24 -6
- 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/settings.d.ts +1 -1
- package/lib/components/Coachmark/Coachmark.js +12 -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 +56 -41
- package/lib/components/ConditionBuilder/ConditionBuilder.js +81 -24
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +160 -0
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +26 -11
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +28 -6
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +8 -4
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +57 -40
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -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 +37 -36
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +66 -32
- 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} +63 -33
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +18 -6
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +72 -21
- 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 +1 -1
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
- 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 +1 -0
- package/lib/components/ConditionBuilder/utils/util.js +8 -0
- package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
- package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
- package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
- 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/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 +21 -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 +44 -8
- 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/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/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 +22 -4
- 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/settings.d.ts +1 -1
- package/package.json +7 -6
- package/scss/components/ConditionBuilder/_condition-builder.scss +1 -1
- package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +14 -2
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +31 -2
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +17 -2
- package/scss/components/Datagrid/_datagrid.scss +0 -4
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
- 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 +27 -5
- 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
@@ -10,10 +10,11 @@ import React__default, { useRef, useState, useEffect } from 'react';
|
|
10
10
|
import { Popover, PopoverContent, Layer } from '@carbon/react';
|
11
11
|
import PropTypes from '../../../node_modules/prop-types/index.js';
|
12
12
|
import { Add } from '@carbon/react/icons';
|
13
|
-
import {
|
13
|
+
import { blockClass, valueRenderers } from '../ConditionBuilderContext/DataConfigs.js';
|
14
14
|
import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
|
15
|
+
import { useTranslations } from '../utils/useTranslations.js';
|
15
16
|
|
16
|
-
var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config"];
|
17
|
+
var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config", "renderChildren"];
|
17
18
|
var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
18
19
|
var children = _ref.children,
|
19
20
|
className = _ref.className,
|
@@ -25,21 +26,41 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
|
25
26
|
condition = _ref.condition,
|
26
27
|
popOverClassName = _ref.popOverClassName,
|
27
28
|
config = _ref.config,
|
29
|
+
renderChildren = _ref.renderChildren,
|
28
30
|
rest = _objectWithoutProperties(_ref, _excluded);
|
29
31
|
var contentRef = useRef(null);
|
30
|
-
var
|
32
|
+
var popoverRef = useRef(null);
|
33
|
+
var _useState = useState(false),
|
31
34
|
_useState2 = _slicedToArray(_useState, 2),
|
32
|
-
|
33
|
-
|
34
|
-
var
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
35
|
+
open = _useState2[0],
|
36
|
+
setOpen = _useState2[1];
|
37
|
+
var _useTranslations = useTranslations(['invalidText', 'addConditionText', label, 'invalidDateText']),
|
38
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 4),
|
39
|
+
invalidText = _useTranslations2[0],
|
40
|
+
addConditionText = _useTranslations2[1],
|
41
|
+
labelText = _useTranslations2[2],
|
42
|
+
invalidDateText = _useTranslations2[3];
|
43
|
+
var getPropertyDetails = function getPropertyDetails() {
|
44
|
+
if (label === 'INVALID') {
|
45
|
+
return {
|
46
|
+
propertyLabel: invalidText,
|
47
|
+
isInvalid: true
|
48
|
+
};
|
49
|
+
} else if (label === 'INVALID_DATE') {
|
50
|
+
return {
|
51
|
+
propertyLabel: invalidDateText,
|
52
|
+
isInvalid: true
|
53
|
+
};
|
54
|
+
}
|
55
|
+
var propertyId = rest['data-name'] == 'valueField' && type ? valueRenderers[type](label, config) : labelText;
|
56
|
+
return {
|
57
|
+
isInvalid: false,
|
58
|
+
propertyLabel: propertyId
|
59
|
+
};
|
60
|
+
};
|
61
|
+
var _getPropertyDetails = getPropertyDetails(),
|
62
|
+
propertyLabel = _getPropertyDetails.propertyLabel,
|
63
|
+
isInvalid = _getPropertyDetails.isInvalid;
|
43
64
|
useEffect(function () {
|
44
65
|
/**
|
45
66
|
* rest['data-name'] holds the current field name
|
@@ -50,59 +71,68 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
|
|
50
71
|
//if any condition is changed, state prop is triggered
|
51
72
|
if (condition.popoverToOpen && currentField !== condition.popoverToOpen) {
|
52
73
|
// close the previous popover
|
53
|
-
|
54
|
-
} else if (currentField == 'valueField' && type == 'option' && condition.operator !== '
|
74
|
+
closePopover();
|
75
|
+
} else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'oneOf') {
|
55
76
|
//close the current popover if the field is valueField and is a single select dropdown. For all other inputs ,popover need to be open on value changes.
|
56
|
-
|
77
|
+
closePopover();
|
57
78
|
}
|
58
79
|
if (condition.popoverToOpen == currentField) {
|
59
80
|
//current popover need to be opened
|
60
|
-
|
81
|
+
openPopOver();
|
61
82
|
}
|
62
83
|
} else {
|
63
84
|
// when we change any statement(if/ excl.if) which is not part of condition state, label change is triggered.
|
64
85
|
//close popOver when statement is changed.
|
65
|
-
|
86
|
+
closePopover();
|
66
87
|
}
|
67
88
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
68
89
|
}, [condition, label]);
|
69
90
|
useEffect(function () {
|
70
91
|
//this will focus the first input field in the popover
|
71
92
|
if (open && contentRef.current) {
|
72
|
-
var firstFocusableElement = contentRef.current.querySelector('input');
|
93
|
+
var firstFocusableElement = contentRef.current.querySelector('input,textarea');
|
73
94
|
if (firstFocusableElement) {
|
74
95
|
firstFocusableElement.focus();
|
75
96
|
}
|
76
97
|
}
|
77
98
|
}, [contentRef, open]);
|
99
|
+
var closePopover = function closePopover() {
|
100
|
+
return setOpen(false);
|
101
|
+
};
|
102
|
+
var openPopOver = function openPopOver() {
|
103
|
+
return setOpen(true);
|
104
|
+
};
|
105
|
+
var togglePopover = function togglePopover() {
|
106
|
+
return setOpen(!open);
|
107
|
+
};
|
78
108
|
return /*#__PURE__*/React__default.createElement(Popover, {
|
79
109
|
open: open,
|
80
110
|
isTabTip: true,
|
81
111
|
role: "gridcell",
|
82
112
|
className: popOverClassName,
|
83
|
-
|
84
|
-
|
85
|
-
}
|
113
|
+
ref: popoverRef,
|
114
|
+
onRequestClose: closePopover
|
86
115
|
}, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, _extends({
|
87
|
-
label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel :
|
116
|
+
label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : addConditionText,
|
88
117
|
hideLabel: !label ? true : false,
|
89
|
-
onClick:
|
90
|
-
children ? setOpen(!open) : null;
|
91
|
-
},
|
118
|
+
onClick: togglePopover,
|
92
119
|
className: className,
|
93
120
|
"aria-haspopup": true,
|
94
121
|
"aria-expanded": open,
|
95
122
|
renderIcon: renderIcon ? renderIcon : label == undefined ? Add : null,
|
96
|
-
showToolTip: showToolTip
|
97
|
-
|
123
|
+
showToolTip: showToolTip,
|
124
|
+
isInvalid: isInvalid,
|
125
|
+
condition: condition
|
126
|
+
}, rest)), open && /*#__PURE__*/React__default.createElement(PopoverContent, {
|
98
127
|
className: "".concat(blockClass, "__item__content"),
|
99
128
|
role: "dialog",
|
100
|
-
"aria-label":
|
129
|
+
"aria-label": title
|
101
130
|
}, /*#__PURE__*/React__default.createElement(Layer, null, /*#__PURE__*/React__default.createElement("h1", {
|
102
131
|
className: "".concat(blockClass, "__item__title")
|
103
132
|
}, title), /*#__PURE__*/React__default.createElement("div", {
|
104
|
-
ref: contentRef
|
105
|
-
|
133
|
+
ref: contentRef,
|
134
|
+
className: "".concat(blockClass, "__popover-content")
|
135
|
+
}, renderChildren ? renderChildren(popoverRef) : children))));
|
106
136
|
};
|
107
137
|
ConditionBuilderItem.propTypes = {
|
108
138
|
/**
|
@@ -125,11 +155,15 @@ ConditionBuilderItem.propTypes = {
|
|
125
155
|
/**
|
126
156
|
* text to be displayed in the field
|
127
157
|
*/
|
128
|
-
label: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
|
158
|
+
label: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]),
|
129
159
|
/**
|
130
160
|
* class name for popover
|
131
161
|
*/
|
132
162
|
popOverClassName: PropTypes.string,
|
163
|
+
/**
|
164
|
+
* callback prop that returns the jsx for children
|
165
|
+
*/
|
166
|
+
renderChildren: PropTypes.func,
|
133
167
|
/**
|
134
168
|
* Optional prop to allow overriding the icon rendering.
|
135
169
|
*/
|
@@ -1,11 +1,13 @@
|
|
1
|
-
export function ConditionBuilderItemDate({ conditionState, onChange }: {
|
1
|
+
export function ConditionBuilderItemDate({ conditionState, onChange, parentRef, }: {
|
2
2
|
conditionState: any;
|
3
3
|
onChange: any;
|
4
|
+
parentRef: any;
|
4
5
|
}): import("react/jsx-runtime").JSX.Element;
|
5
6
|
export namespace ConditionBuilderItemDate {
|
6
7
|
namespace propTypes {
|
7
8
|
let conditionState: PropTypes.Requireable<object>;
|
8
9
|
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
10
|
+
let parentRef: PropTypes.Requireable<object>;
|
9
11
|
}
|
10
12
|
}
|
11
13
|
import PropTypes from 'prop-types';
|
@@ -5,26 +5,36 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
+
import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
8
9
|
import React__default, { useRef } from 'react';
|
9
10
|
import { DatePicker, DatePickerInput } from '@carbon/react';
|
10
11
|
import { pkg } from '../../../../settings.js';
|
11
12
|
import PropTypes from '../../../../node_modules/prop-types/index.js';
|
12
|
-
import {
|
13
|
+
import { useTranslations } from '../../utils/useTranslations.js';
|
13
14
|
|
14
15
|
var blockClass = "".concat(pkg.prefix, "--condition-builder");
|
15
16
|
var ConditionBuilderItemDate = function ConditionBuilderItemDate(_ref) {
|
16
17
|
var conditionState = _ref.conditionState,
|
17
|
-
onChange = _ref.onChange
|
18
|
+
onChange = _ref.onChange,
|
19
|
+
parentRef = _ref.parentRef;
|
18
20
|
var DatePickerInputRef = useRef();
|
21
|
+
var _useTranslations = useTranslations(['startText', 'endText']),
|
22
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 2),
|
23
|
+
startText = _useTranslations2[0],
|
24
|
+
endText = _useTranslations2[1];
|
19
25
|
var datePickerType = conditionState.operator == 'between' ? 'range' : 'single';
|
26
|
+
var onCloseHandler = function onCloseHandler(selectedDate) {
|
27
|
+
onChange(selectedDate && selectedDate.length > 0 ? selectedDate : 'INVALID_DATE');
|
28
|
+
};
|
20
29
|
return /*#__PURE__*/React__default.createElement("div", {
|
21
30
|
className: "".concat(blockClass, "__item-date ")
|
22
31
|
}, datePickerType == 'single' && /*#__PURE__*/React__default.createElement(DatePicker, {
|
23
32
|
ref: DatePickerInputRef,
|
24
33
|
dateFormat: "d/m/Y",
|
25
34
|
datePickerType: "single",
|
26
|
-
|
27
|
-
|
35
|
+
value: conditionState.value,
|
36
|
+
onClose: onCloseHandler,
|
37
|
+
appendTo: parentRef === null || parentRef === void 0 ? void 0 : parentRef.current
|
28
38
|
}, /*#__PURE__*/React__default.createElement(DatePickerInput, {
|
29
39
|
id: "datePicker",
|
30
40
|
placeholder: "dd/mm/yyyy",
|
@@ -33,16 +43,17 @@ var ConditionBuilderItemDate = function ConditionBuilderItemDate(_ref) {
|
|
33
43
|
ref: DatePickerInputRef,
|
34
44
|
dateFormat: "d/m/Y",
|
35
45
|
datePickerType: datePickerType,
|
36
|
-
onClose:
|
37
|
-
value: conditionState.value
|
46
|
+
onClose: onCloseHandler,
|
47
|
+
value: conditionState.value,
|
48
|
+
appendTo: parentRef === null || parentRef === void 0 ? void 0 : parentRef.current
|
38
49
|
}, /*#__PURE__*/React__default.createElement(DatePickerInput, {
|
39
50
|
id: "datePickerStart",
|
40
51
|
placeholder: "dd/mm/yyyy",
|
41
|
-
labelText:
|
52
|
+
labelText: startText
|
42
53
|
}), /*#__PURE__*/React__default.createElement(DatePickerInput, {
|
43
54
|
id: "datePickerEnd",
|
44
55
|
placeholder: "dd/mm/yyyy",
|
45
|
-
labelText:
|
56
|
+
labelText: endText
|
46
57
|
})));
|
47
58
|
};
|
48
59
|
ConditionBuilderItemDate.propTypes = {
|
@@ -53,7 +64,11 @@ ConditionBuilderItemDate.propTypes = {
|
|
53
64
|
/**
|
54
65
|
* callback to update state oin date change
|
55
66
|
*/
|
56
|
-
onChange: PropTypes.func
|
67
|
+
onChange: PropTypes.func,
|
68
|
+
/**
|
69
|
+
* reference to the popover node
|
70
|
+
*/
|
71
|
+
parentRef: PropTypes.object
|
57
72
|
};
|
58
73
|
|
59
74
|
export { ConditionBuilderItemDate };
|
@@ -5,34 +5,52 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
+
import { slicedToArray as _slicedToArray, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
8
9
|
import React__default from 'react';
|
9
10
|
import { NumberInput } from '@carbon/react';
|
10
|
-
import { pkg } from '../../../../settings.js';
|
11
11
|
import PropTypes from '../../../../node_modules/prop-types/index.js';
|
12
|
+
import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
|
13
|
+
import { useTranslations } from '../../utils/useTranslations.js';
|
12
14
|
|
13
|
-
var blockClass = "".concat(pkg.prefix, "--condition-builder");
|
14
15
|
var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
|
15
16
|
var _conditionState$prope;
|
16
17
|
var conditionState = _ref.conditionState,
|
17
18
|
config = _ref.config,
|
18
19
|
onChange = _ref.onChange;
|
20
|
+
var _useTranslations = useTranslations(['invalidNumberWarnText']),
|
21
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 1),
|
22
|
+
invalidNumberWarnText = _useTranslations2[0];
|
19
23
|
var onChangeHandler = function onChangeHandler(e, _ref2) {
|
20
24
|
var value = _ref2.value;
|
21
|
-
|
25
|
+
if (!isNaN(value) && checkIfValid(value)) {
|
26
|
+
var _config$unit;
|
27
|
+
onChange("".concat(value, " ").concat((_config$unit = config.unit) !== null && _config$unit !== void 0 ? _config$unit : ''));
|
28
|
+
} else {
|
29
|
+
onChange('INVALID');
|
30
|
+
}
|
31
|
+
};
|
32
|
+
var checkIfValid = function checkIfValid(value) {
|
33
|
+
if (value > config.max || value < config.min) {
|
34
|
+
return false;
|
35
|
+
}
|
36
|
+
return true;
|
37
|
+
};
|
38
|
+
var getDefaultValue = function getDefaultValue() {
|
39
|
+
var _conditionState$value;
|
40
|
+
return (_conditionState$value = conditionState.value) === null || _conditionState$value === void 0 || (_conditionState$value = _conditionState$value.split(' ')) === null || _conditionState$value === void 0 ? void 0 : _conditionState$value[0];
|
22
41
|
};
|
23
42
|
return /*#__PURE__*/React__default.createElement("div", {
|
24
43
|
className: "".concat(blockClass, "__item-number")
|
25
|
-
}, /*#__PURE__*/React__default.createElement(NumberInput, {
|
44
|
+
}, /*#__PURE__*/React__default.createElement(NumberInput, _extends({
|
26
45
|
label: conditionState.property,
|
27
46
|
hideLabel: true,
|
28
47
|
id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
|
29
|
-
|
30
|
-
min: config.min,
|
31
|
-
max: config.max,
|
32
|
-
step: config.step,
|
48
|
+
invalidText: invalidNumberWarnText,
|
33
49
|
allowEmpty: true,
|
34
50
|
onChange: onChangeHandler
|
35
|
-
}
|
51
|
+
}, config, {
|
52
|
+
defaultValue: getDefaultValue()
|
53
|
+
})));
|
36
54
|
};
|
37
55
|
ConditionBuilderItemNumber.propTypes = {
|
38
56
|
/**
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export function ItemOption({ conditionState, config, onChange }: {
|
2
|
+
conditionState?: {} | undefined;
|
3
|
+
config?: {} | undefined;
|
4
|
+
onChange: any;
|
5
|
+
}): import("react/jsx-runtime").JSX.Element | undefined;
|
6
|
+
export namespace ItemOption {
|
7
|
+
namespace propTypes {
|
8
|
+
let conditionState: PropTypes.Requireable<object>;
|
9
|
+
let config: PropTypes.Requireable<object>;
|
10
|
+
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
import PropTypes from 'prop-types';
|
package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 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
|
+
|
8
|
+
import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
+
import React__default, { useContext, useRef, useState, useEffect } from 'react';
|
10
|
+
import { Search } from '@carbon/react';
|
11
|
+
import { Checkmark } from '@carbon/react/icons';
|
12
|
+
import PropTypes from '../../../../node_modules/prop-types/index.js';
|
13
|
+
import { ConditionBuilderContext } from '../../ConditionBuilderContext/ConditionBuilderProvider.js';
|
14
|
+
import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
|
15
|
+
import { useTranslations } from '../../utils/useTranslations.js';
|
16
|
+
|
17
|
+
var ItemOption = function ItemOption(_ref) {
|
18
|
+
var _ref$conditionState = _ref.conditionState,
|
19
|
+
conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
|
20
|
+
_ref$config = _ref.config,
|
21
|
+
config = _ref$config === void 0 ? {} : _ref$config,
|
22
|
+
onChange = _ref.onChange;
|
23
|
+
var _useContext = useContext(ConditionBuilderContext),
|
24
|
+
popOverSearchThreshold = _useContext.popOverSearchThreshold;
|
25
|
+
var contentRef = useRef();
|
26
|
+
var _useTranslations = useTranslations(['propertyText', 'clearSearchText']),
|
27
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 2),
|
28
|
+
propertyText = _useTranslations2[0],
|
29
|
+
clearSearchText = _useTranslations2[1];
|
30
|
+
var allOptions = config.options;
|
31
|
+
var _useState = useState(''),
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
33
|
+
searchValue = _useState2[0],
|
34
|
+
setSearchValue = _useState2[1];
|
35
|
+
var selection = conditionState.value;
|
36
|
+
var filteredItems = allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
|
37
|
+
return opt.label.toLowerCase().includes(searchValue.toLowerCase());
|
38
|
+
});
|
39
|
+
useEffect(function () {
|
40
|
+
//this will focus the first input field in the popover
|
41
|
+
|
42
|
+
if (contentRef.current) {
|
43
|
+
var firstFocusableElement = contentRef.current.querySelector('input, button,li');
|
44
|
+
if (firstFocusableElement) {
|
45
|
+
firstFocusableElement.focus();
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}, [allOptions]);
|
49
|
+
var onClickHandler = function onClickHandler(evt, option) {
|
50
|
+
onChange(option.id, evt);
|
51
|
+
};
|
52
|
+
var onSearchChangeHandler = function onSearchChangeHandler(evt) {
|
53
|
+
var value = evt.target.value;
|
54
|
+
setSearchValue(value);
|
55
|
+
};
|
56
|
+
var getAriaLabel = function getAriaLabel() {
|
57
|
+
return conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : propertyText;
|
58
|
+
};
|
59
|
+
if (!allOptions) {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
63
|
+
className: "".concat(blockClass, "__item-option"),
|
64
|
+
ref: contentRef
|
65
|
+
}, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
|
66
|
+
className: "".concat(blockClass, "__item-option__search")
|
67
|
+
}, /*#__PURE__*/React__default.createElement(Search, {
|
68
|
+
size: "sm",
|
69
|
+
labelText: clearSearchText,
|
70
|
+
closeButtonLabelText: clearSearchText,
|
71
|
+
onChange: onSearchChangeHandler
|
72
|
+
})), /*#__PURE__*/React__default.createElement("ul", {
|
73
|
+
"aria-label": getAriaLabel(),
|
74
|
+
role: "listbox"
|
75
|
+
}, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
|
76
|
+
var isSelected = selection === option.id;
|
77
|
+
var Icon = option.icon;
|
78
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
79
|
+
tabIndex: 0,
|
80
|
+
key: option.id,
|
81
|
+
role: "option",
|
82
|
+
"aria-selected": isSelected,
|
83
|
+
className: "".concat(blockClass, "__item-option__option"),
|
84
|
+
onKeyUp: function onKeyUp() {
|
85
|
+
return false;
|
86
|
+
},
|
87
|
+
onClick: function onClick(evt) {
|
88
|
+
return onClickHandler(evt, option);
|
89
|
+
}
|
90
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
91
|
+
className: "".concat(blockClass, "__item-option__option-content")
|
92
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
93
|
+
className: "".concat(blockClass, "__item-option__option-label")
|
94
|
+
}, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
|
95
|
+
className: "".concat(blockClass, "__checkmark")
|
96
|
+
})));
|
97
|
+
})));
|
98
|
+
};
|
99
|
+
ItemOption.propTypes = {
|
100
|
+
/**
|
101
|
+
* current condition object
|
102
|
+
*/
|
103
|
+
conditionState: PropTypes.object,
|
104
|
+
/**
|
105
|
+
* current config object that this property is part of
|
106
|
+
*/
|
107
|
+
config: PropTypes.object,
|
108
|
+
/**
|
109
|
+
* callback to update state oin date change
|
110
|
+
*/
|
111
|
+
onChange: PropTypes.func
|
112
|
+
};
|
113
|
+
|
114
|
+
export { ItemOption };
|
@@ -1,9 +1,9 @@
|
|
1
|
-
export function
|
1
|
+
export function ItemOptionForValueField({ conditionState, config, onChange, }: {
|
2
2
|
conditionState?: {} | undefined;
|
3
3
|
config?: {} | undefined;
|
4
4
|
onChange: any;
|
5
5
|
}): import("react/jsx-runtime").JSX.Element;
|
6
|
-
export namespace
|
6
|
+
export namespace ItemOptionForValueField {
|
7
7
|
namespace propTypes {
|
8
8
|
let conditionState: PropTypes.Requireable<object>;
|
9
9
|
let config: PropTypes.Requireable<object>;
|
@@ -6,35 +6,63 @@
|
|
6
6
|
*/
|
7
7
|
|
8
8
|
import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
|
-
import React__default, { useContext,
|
10
|
-
import { Search, Button
|
9
|
+
import React__default, { useContext, useRef, useState, useEffect } from 'react';
|
10
|
+
import { SelectSkeleton, Search, Button } from '@carbon/react';
|
11
11
|
import { CheckboxCheckedFilled, Checkbox, Checkmark } from '@carbon/react/icons';
|
12
12
|
import PropTypes from '../../../../node_modules/prop-types/index.js';
|
13
13
|
import { ConditionBuilderContext } from '../../ConditionBuilderContext/ConditionBuilderProvider.js';
|
14
|
-
import { blockClass
|
14
|
+
import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
|
15
|
+
import { useTranslations } from '../../utils/useTranslations.js';
|
15
16
|
|
16
|
-
var _CheckboxCheckedFille, _Checkbox
|
17
|
-
var
|
17
|
+
var _SelectSkeleton, _CheckboxCheckedFille, _Checkbox;
|
18
|
+
var ItemOptionForValueField = function ItemOptionForValueField(_ref) {
|
18
19
|
var _ref$conditionState = _ref.conditionState,
|
19
20
|
conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
|
20
21
|
_ref$config = _ref.config,
|
21
22
|
config = _ref$config === void 0 ? {} : _ref$config,
|
22
23
|
onChange = _ref.onChange;
|
23
|
-
var multiSelectable = conditionState.operator === '
|
24
|
+
var multiSelectable = conditionState.operator === 'oneOf';
|
24
25
|
var _useContext = useContext(ConditionBuilderContext),
|
25
26
|
popOverSearchThreshold = _useContext.popOverSearchThreshold,
|
26
|
-
getOptions = _useContext.getOptions
|
27
|
+
getOptions = _useContext.getOptions,
|
28
|
+
rootState = _useContext.rootState;
|
29
|
+
var _useTranslations = useTranslations(['propertyText', 'clearSearchText']),
|
30
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 2),
|
31
|
+
propertyText = _useTranslations2[0],
|
32
|
+
clearSearchText = _useTranslations2[1];
|
33
|
+
var contentRef = useRef();
|
27
34
|
var _useState = useState(config.options),
|
28
35
|
_useState2 = _slicedToArray(_useState, 2),
|
29
36
|
allOptions = _useState2[0],
|
30
37
|
setAllOptions = _useState2[1];
|
31
|
-
var _useState3 = useState(
|
38
|
+
var _useState3 = useState(''),
|
32
39
|
_useState4 = _slicedToArray(_useState3, 2),
|
33
|
-
|
34
|
-
|
40
|
+
searchValue = _useState4[0],
|
41
|
+
setSearchValue = _useState4[1];
|
42
|
+
var filteredItems = allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
|
43
|
+
return opt.label.toLowerCase().includes(searchValue.toLowerCase());
|
44
|
+
});
|
35
45
|
var selection = Array.isArray(conditionState.value) ? conditionState.value : conditionState.value !== undefined ? [conditionState.value] : [];
|
36
|
-
var contentRef = useRef();
|
37
46
|
useEffect(function () {
|
47
|
+
// if(rest['data-name'] == 'valueField'){
|
48
|
+
// const fetchData = async () => {
|
49
|
+
// const response = await config.options(conditionState);
|
50
|
+
// if (
|
51
|
+
// response?.length > 0 &&
|
52
|
+
// Object.keys(response[0]).includes('label') &&
|
53
|
+
// Object.keys(response[0]).includes('id')
|
54
|
+
// ) {
|
55
|
+
// setAllOptions(response);
|
56
|
+
// setFilteredItems(response);
|
57
|
+
// }
|
58
|
+
// };
|
59
|
+
|
60
|
+
// fetchData(); // Call the async method
|
61
|
+
// }else{
|
62
|
+
// setAllOptions(config.options);
|
63
|
+
// setFilteredItems(config.options);
|
64
|
+
// }
|
65
|
+
|
38
66
|
if (!allOptions && getOptions) {
|
39
67
|
var fetchData = /*#__PURE__*/function () {
|
40
68
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
@@ -43,12 +71,11 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
|
|
43
71
|
while (1) switch (_context.prev = _context.next) {
|
44
72
|
case 0:
|
45
73
|
_context.next = 2;
|
46
|
-
return getOptions(conditionState);
|
74
|
+
return getOptions(rootState, conditionState);
|
47
75
|
case 2:
|
48
76
|
response = _context.sent;
|
49
77
|
if ((response === null || response === void 0 ? void 0 : response.length) > 0 && Object.keys(response[0]).includes('label') && Object.keys(response[0]).includes('id')) {
|
50
78
|
setAllOptions(response);
|
51
|
-
setFilteredItems(response);
|
52
79
|
}
|
53
80
|
case 4:
|
54
81
|
case "end":
|
@@ -68,51 +95,52 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
|
|
68
95
|
//this will focus the first input field in the popover
|
69
96
|
|
70
97
|
if (contentRef.current) {
|
71
|
-
var
|
72
|
-
|
73
|
-
|
98
|
+
var firstFocusableElement = contentRef.current.querySelector('input, button,li');
|
99
|
+
if (firstFocusableElement) {
|
100
|
+
firstFocusableElement.focus();
|
101
|
+
}
|
74
102
|
}
|
75
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
76
103
|
}, [allOptions]);
|
77
104
|
var handleSelectAll = function handleSelectAll(evt) {
|
78
105
|
if (evt.currentTarget.dataset.selectedAll == 'false') {
|
79
106
|
onChange(undefined);
|
80
107
|
} else {
|
81
|
-
onChange(allOptions
|
82
|
-
return op.id;
|
83
|
-
}));
|
108
|
+
onChange(allOptions);
|
84
109
|
}
|
85
110
|
};
|
86
111
|
var onSearchChangeHandler = function onSearchChangeHandler(evt) {
|
87
112
|
var value = evt.target.value;
|
88
|
-
|
89
|
-
return opt.label.toLowerCase().includes(value.toLowerCase());
|
90
|
-
});
|
91
|
-
setFilteredItems(_filteredItems);
|
113
|
+
setSearchValue(value);
|
92
114
|
};
|
93
115
|
var onClickHandler = function onClickHandler(evt, option, isSelected) {
|
94
116
|
if (multiSelectable) {
|
95
117
|
if (isSelected) {
|
96
118
|
var items = selection.filter(function (v) {
|
97
|
-
return v !== option.id;
|
119
|
+
return v.id !== option.id;
|
98
120
|
});
|
99
121
|
onChange(items.length > 0 ? items : undefined, evt);
|
100
122
|
} else {
|
101
|
-
onChange([].concat(_toConsumableArray(selection), [option
|
123
|
+
onChange([].concat(_toConsumableArray(selection), [option]), evt);
|
102
124
|
}
|
103
125
|
} else {
|
104
|
-
onChange(option
|
126
|
+
onChange(option, evt);
|
105
127
|
}
|
106
128
|
};
|
107
|
-
|
129
|
+
var getAriaLabel = function getAriaLabel() {
|
130
|
+
return conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : propertyText;
|
131
|
+
};
|
132
|
+
if (!allOptions) {
|
133
|
+
return _SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default.createElement(SelectSkeleton, null));
|
134
|
+
}
|
135
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
108
136
|
className: "".concat(blockClass, "__item-option"),
|
109
137
|
ref: contentRef
|
110
|
-
},
|
138
|
+
}, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
|
111
139
|
className: "".concat(blockClass, "__item-option__search")
|
112
140
|
}, /*#__PURE__*/React__default.createElement(Search, {
|
113
141
|
size: "sm",
|
114
|
-
labelText:
|
115
|
-
closeButtonLabelText:
|
142
|
+
labelText: clearSearchText,
|
143
|
+
closeButtonLabelText: clearSearchText,
|
116
144
|
onChange: onSearchChangeHandler
|
117
145
|
})), multiSelectable && /*#__PURE__*/React__default.createElement("div", {
|
118
146
|
className: "".concat(blockClass, "__multiselectSelectionStatusContainer")
|
@@ -123,11 +151,13 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
|
|
123
151
|
onClick: handleSelectAll,
|
124
152
|
className: "".concat(blockClass, "__selectAll-button")
|
125
153
|
}, selection.length == 0 ? 'Select all' : 'Deselect all')), /*#__PURE__*/React__default.createElement("ul", {
|
126
|
-
"aria-label":
|
154
|
+
"aria-label": getAriaLabel(),
|
127
155
|
role: "listbox",
|
128
156
|
"data-multi-select": multiSelectable
|
129
157
|
}, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
|
130
|
-
var isSelected = selection.
|
158
|
+
var isSelected = selection.map(function (option) {
|
159
|
+
return option.id;
|
160
|
+
}).includes(option.id);
|
131
161
|
var Icon = option.icon;
|
132
162
|
return /*#__PURE__*/React__default.createElement("li", {
|
133
163
|
tabIndex: 0,
|
@@ -154,9 +184,9 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
|
|
154
184
|
}, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
|
155
185
|
className: "".concat(blockClass, "__checkmark")
|
156
186
|
}))));
|
157
|
-
})))
|
187
|
+
})));
|
158
188
|
};
|
159
|
-
|
189
|
+
ItemOptionForValueField.propTypes = {
|
160
190
|
/**
|
161
191
|
* current condition object
|
162
192
|
*/
|
@@ -171,4 +201,4 @@ ConditionBuilderItemOption.propTypes = {
|
|
171
201
|
onChange: PropTypes.func
|
172
202
|
};
|
173
203
|
|
174
|
-
export {
|
204
|
+
export { ItemOptionForValueField };
|