carbon-react 111.12.3 → 111.12.4
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/esm/__internal__/DeprecationWarning.js +2 -0
- package/esm/__internal__/character-count/character-count.component.js +2 -0
- package/esm/__internal__/checkable-input/checkable-input.component.js +5 -0
- package/esm/__internal__/checkable-input/hidden-checkable-input.component.js +11 -0
- package/esm/__internal__/field-help/field-help.component.js +2 -0
- package/esm/__internal__/fieldset/fieldset.component.js +3 -0
- package/esm/__internal__/focus-trap/focus-trap-utils.js +25 -6
- package/esm/__internal__/focus-trap/focus-trap.component.js +17 -7
- package/esm/__internal__/form-field/form-field.component.js +5 -0
- package/esm/__internal__/full-screen-heading/full-screen-heading.component.js +1 -0
- package/esm/__internal__/input/input-presentation.component.js +5 -0
- package/esm/__internal__/input/input-presentation.style.js +5 -0
- package/esm/__internal__/input/input.component.js +25 -2
- package/esm/__internal__/input-behaviour/input-behaviour.component.js +3 -2
- package/esm/__internal__/input-behaviour/input-group-behaviour.component.js +2 -0
- package/esm/__internal__/input-behaviour/useInputBehaviour.js +4 -2
- package/esm/__internal__/input-icon-toggle/input-icon-toggle.component.js +5 -0
- package/esm/__internal__/input-icon-toggle/input-icon-toggle.style.js +1 -0
- package/esm/__internal__/label/label.component.js +10 -0
- package/esm/__internal__/popover/popover.component.js +11 -0
- package/esm/__internal__/radio-button-mapper/radio-button-mapper.component.js +10 -0
- package/esm/__internal__/sticky-footer/sticky-footer.component.js +5 -0
- package/esm/__internal__/utils/helpers/browser-type-check/index.js +1 -0
- package/esm/__internal__/utils/helpers/events/composedPath.js +4 -1
- package/esm/__internal__/utils/helpers/events/events.js +16 -1
- package/esm/__internal__/utils/helpers/guid/index.js +1 -0
- package/esm/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +3 -2
- package/esm/__internal__/utils/helpers/tags/tags.js +4 -0
- package/esm/__internal__/utils/logger/index.js +1 -1
- package/esm/__internal__/validation-message/validation-message.component.js +2 -0
- package/esm/__internal__/validations/validation-icon.component.js +8 -0
- package/esm/__spec_helper__/enzyme-snapshot-helper.js +5 -0
- package/esm/__spec_helper__/expect.js +5 -2
- package/esm/__spec_helper__/mock-match-media.js +3 -0
- package/esm/__spec_helper__/mock-resize-observer.js +2 -0
- package/esm/__spec_helper__/test-utils.js +62 -27
- package/esm/components/accordion/accordion-group/accordion-group.component.js +9 -0
- package/esm/components/accordion/accordion.component.js +7 -0
- package/esm/components/action-popover/action-popover-item/action-popover-item.component.js +21 -2
- package/esm/components/action-popover/action-popover-menu/action-popover-menu.component.js +7 -2
- package/esm/components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js +3 -0
- package/esm/components/action-popover/action-popover.component.js +19 -4
- package/esm/components/advanced-color-picker/advanced-color-picker.component.js +19 -0
- package/esm/components/alert/alert.component.js +3 -0
- package/esm/components/anchor-navigation/anchor-navigation.component.js +14 -5
- package/esm/components/badge/badge.component.js +2 -0
- package/esm/components/batch-selection/batch-selection.component.js +6 -0
- package/esm/components/box/box.config.js +1 -0
- package/esm/components/button/button-types.style.js +2 -0
- package/esm/components/button/button.component.js +12 -0
- package/esm/components/button/button.style.js +8 -0
- package/esm/components/button-bar/button-bar.component.js +8 -2
- package/esm/components/button-toggle/button-toggle-icon.component.js +2 -0
- package/esm/components/button-toggle/button-toggle-input.component.js +6 -0
- package/esm/components/button-toggle/button-toggle.component.js +6 -0
- package/esm/components/button-toggle-group/button-toggle-group.component.js +3 -0
- package/esm/components/carbon-provider/carbon-provider.component.js +2 -0
- package/esm/components/carbon-provider/top-modal-context.js +7 -3
- package/esm/components/card/card-column/card-column.component.js +2 -0
- package/esm/components/card/card-footer/card-footer.component.js +3 -0
- package/esm/components/card/card-row/card-row.component.js +3 -0
- package/esm/components/card/card.component.js +8 -0
- package/esm/components/carousel/carousel.component.js +15 -0
- package/esm/components/carousel/slide/slide.component.js +3 -0
- package/esm/components/carousel/slide/slide.style.js +1 -2
- package/esm/components/checkbox/checkbox-group.component.js +3 -0
- package/esm/components/checkbox/checkbox-svg.component.js +2 -0
- package/esm/components/checkbox/checkbox.component.js +7 -0
- package/esm/components/confirm/confirm.component.js +38 -0
- package/esm/components/content/content.component.js +3 -0
- package/esm/components/date/__internal__/date-formats/index.js +19 -6
- package/esm/components/date/__internal__/date-picker/date-picker.component.js +15 -2
- package/esm/components/date/__internal__/date-picker/day-picker.style.js +7 -3
- package/esm/components/date/__internal__/navbar/navbar.component.js +2 -0
- package/esm/components/date/__internal__/utils.js +31 -1
- package/esm/components/date/__internal__/weekday/weekday.component.js +3 -0
- package/esm/components/date/date.component.js +54 -10
- package/esm/components/date-range/date-range.component.js +46 -14
- package/esm/components/decimal/decimal.component.js +29 -4
- package/esm/components/definition-list/dd.component.js +3 -0
- package/esm/components/definition-list/dl.component.js +8 -0
- package/esm/components/definition-list/dt.component.js +3 -0
- package/esm/components/detail/detail.component.js +8 -2
- package/esm/components/dialog/dialog.component.js +14 -0
- package/esm/components/dialog/dialog.style.js +2 -0
- package/esm/components/dialog-full-screen/dialog-full-screen.component.js +25 -0
- package/esm/components/dismissible-box/dismissible-box.component.js +3 -0
- package/esm/components/draggable/draggable-container.component.js +16 -4
- package/esm/components/draggable/draggable-item.component.js +11 -2
- package/esm/components/drawer/drawer.component.js +16 -0
- package/esm/components/drawer/drawer.style.js +7 -0
- package/esm/components/duelling-picklist/duelling-picklist.component.js +14 -2
- package/esm/components/duelling-picklist/picklist/picklist.component.js +7 -0
- package/esm/components/duelling-picklist/picklist-divider/picklist-divider.component.js +3 -0
- package/esm/components/duelling-picklist/picklist-group/picklist-group.component.js +7 -0
- package/esm/components/duelling-picklist/picklist-item/picklist-item.component.js +14 -0
- package/esm/components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js +2 -0
- package/esm/components/fieldset/fieldset.component.js +4 -0
- package/esm/components/flat-table/flat-table-body/flat-table-body.component.js +1 -0
- package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +13 -0
- package/esm/components/flat-table/flat-table-cell/flat-table-cell.component.js +18 -0
- package/esm/components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js +15 -0
- package/esm/components/flat-table/flat-table-head/flat-table-head.component.js +8 -4
- package/esm/components/flat-table/flat-table-header/flat-table-header-utils.js +4 -1
- package/esm/components/flat-table/flat-table-header/flat-table-header.component.js +13 -0
- package/esm/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +9 -0
- package/esm/components/flat-table/flat-table-row/flat-table-row.component.js +35 -0
- package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +11 -2
- package/esm/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +15 -0
- package/esm/components/flat-table/flat-table.component.js +20 -2
- package/esm/components/flat-table/flat-table.style.js +3 -0
- package/esm/components/flat-table/sort/sort.component.js +7 -0
- package/esm/components/form/__internal__/form-summary.component.js +7 -0
- package/esm/components/form/form.component.js +3 -0
- package/esm/components/form/form.style.js +3 -2
- package/esm/components/global-header/global-header.component.js +6 -1
- package/esm/components/grid/grid-container/grid-container.component.js +6 -0
- package/esm/components/grid/grid-item/grid-item.component.js +6 -0
- package/esm/components/grid/grid-item/grid-item.style.js +14 -0
- package/esm/components/grouped-character/grouped-character.component.js +21 -3
- package/esm/components/heading/heading.component.js +9 -2
- package/esm/components/help/help.component.js +8 -0
- package/esm/components/hr/hr.component.js +5 -0
- package/esm/components/i18n-provider/i18n-provider.component.js +2 -0
- package/esm/components/icon/icon-unicodes.js +1 -2
- package/esm/components/icon/icon.component.js +12 -1
- package/esm/components/icon/icon.style.js +6 -0
- package/esm/components/icon-button/icon-button.component.js +4 -0
- package/esm/components/image/image.component.js +3 -0
- package/esm/components/image/image.style.js +1 -2
- package/esm/components/inline-inputs/inline-inputs.component.js +6 -0
- package/esm/components/link/link.component.js +12 -3
- package/esm/components/link/link.style.js +4 -0
- package/esm/components/link-preview/__internal__/placeholder.component.js +2 -0
- package/esm/components/link-preview/link-preview.component.js +7 -0
- package/esm/components/loader/loader-square.style.js +6 -0
- package/esm/components/loader/loader.component.js +3 -0
- package/esm/components/loader-bar/loader-bar.component.js +3 -0
- package/esm/components/loader-bar/loader-bar.style.js +4 -0
- package/esm/components/menu/__internal__/keyboard-navigation/index.js +9 -0
- package/esm/components/menu/__internal__/spec-helper/index.js +2 -0
- package/esm/components/menu/__internal__/submenu/submenu.component.js +59 -7
- package/esm/components/menu/menu-full-screen/menu-full-screen.component.js +8 -0
- package/esm/components/menu/menu-item/menu-item.component.js +35 -0
- package/esm/components/menu/menu-segment-title/menu-segment-title.component.js +1 -0
- package/esm/components/menu/menu.component.js +8 -0
- package/esm/components/menu/menu.context.js +3 -1
- package/esm/components/menu/scrollable-block/scrollable-block.component.js +9 -0
- package/esm/components/message/message-content/message-content.component.js +2 -0
- package/esm/components/message/message.component.js +5 -0
- package/esm/components/message/type-icon/type-icon.component.js +2 -0
- package/esm/components/modal/__internal__/modal-manager.js +24 -0
- package/esm/components/modal/modal.component.js +6 -0
- package/esm/components/multi-action-button/multi-action-button.component.js +20 -3
- package/esm/components/navigation-bar/navigation-bar.component.js +3 -0
- package/esm/components/note/note.component.js +10 -1
- package/esm/components/number/number.component.js +9 -2
- package/esm/components/numeral-date/numeral-date.component.js +22 -9
- package/esm/components/pager/__internal__/pager-navigation-link.component.js +11 -0
- package/esm/components/pager/__internal__/pager-navigation.component.js +22 -0
- package/esm/components/pager/pager.component.js +29 -0
- package/esm/components/pages/page/page.component.js +3 -0
- package/esm/components/pages/pages.component.js +14 -4
- package/esm/components/pill/pill.component.js +3 -0
- package/esm/components/pill/pill.style.js +4 -0
- package/esm/components/pod/pod.component.js +40 -4
- package/esm/components/pod/pod.style.js +8 -6
- package/esm/components/popover-container/popover-container.component.js +14 -2
- package/esm/components/popover-container/popover-container.style.js +3 -0
- package/esm/components/portal/portal.js +14 -2
- package/esm/components/portrait/portrait-gravatar.component.js +4 -0
- package/esm/components/portrait/portrait-initials.component.js +12 -10
- package/esm/components/portrait/portrait.component.js +10 -0
- package/esm/components/portrait/portrait.style.js +10 -3
- package/esm/components/preview/__internal__/preview-placeholder.component.js +3 -0
- package/esm/components/preview/preview.component.js +7 -0
- package/esm/components/preview/preview.style.js +1 -2
- package/esm/components/profile/profile.component.js +8 -0
- package/esm/components/progress-tracker/progress-tracker.component.js +24 -2
- package/esm/components/progress-tracker/progress-tracker.style.js +5 -0
- package/esm/components/radio-button/radio-button-group.component.js +27 -2
- package/esm/components/radio-button/radio-button-svg.component.js +2 -0
- package/esm/components/radio-button/radio-button.component.js +32 -6
- package/esm/components/search/search.component.js +21 -2
- package/esm/components/select/__internal__/select-text/select-text.component.js +13 -0
- package/esm/components/select/filterable-select/filterable-select.component.js +73 -8
- package/esm/components/select/list-action-button/list-action-button.component.js +4 -0
- package/esm/components/select/multi-select/multi-select.component.js +81 -15
- package/esm/components/select/option/option.component.js +12 -0
- package/esm/components/select/option-group-header/option-group-header.component.js +3 -0
- package/esm/components/select/option-row/option-row.component.js +9 -0
- package/esm/components/select/select-list/select-list.component.js +45 -2
- package/esm/components/select/select-list/select-list.style.js +1 -2
- package/esm/components/select/select-list/update-list-scroll.js +3 -0
- package/esm/components/select/select-textbox/select-textbox.component.js +41 -2
- package/esm/components/select/simple-select/simple-select.component.js +60 -2
- package/esm/components/select/utils/get-next-child-by-text.js +8 -0
- package/esm/components/select/utils/get-next-index-by-key.js +13 -0
- package/esm/components/select/utils/highlight-part-of-text.js +7 -0
- package/esm/components/select/utils/is-expected-option.js +4 -0
- package/esm/components/select/utils/is-expected-value.js +1 -0
- package/esm/components/select/utils/with-filter.hoc.js +29 -3
- package/esm/components/settings-row/settings-row.component.js +10 -2
- package/esm/components/show-edit-pod/show-edit-pod.component.js +43 -6
- package/esm/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +2 -0
- package/esm/components/sidebar/sidebar.component.js +4 -3
- package/esm/components/simple-color-picker/color-sample-box/color-sample-box.component.js +5 -1
- package/esm/components/simple-color-picker/simple-color/simple-color.component.js +7 -0
- package/esm/components/simple-color-picker/simple-color-picker.component.js +41 -8
- package/esm/components/simple-color-picker/simple-color-picker.style.js +2 -0
- package/esm/components/simple-color-picker/tick-icon/tick-icon.style.js +6 -4
- package/esm/components/split-button/split-button.component.js +20 -1
- package/esm/components/step-sequence/step-sequence-item/step-sequence-item.component.js +9 -0
- package/esm/components/step-sequence/step-sequence.component.js +3 -0
- package/esm/components/switch/__internal__/switch-slider.component.js +2 -0
- package/esm/components/switch/switch.component.js +7 -0
- package/esm/components/tabs/__internal__/tab-title/tab-title.component.js +19 -8
- package/esm/components/tabs/__internal__/tabs-header/tabs-header.component.js +2 -0
- package/esm/components/tabs/__internal__/tabs-header/tabs-header.style.js +3 -0
- package/esm/components/tabs/tab/tab.component.js +24 -8
- package/esm/components/tabs/tabs.component.js +54 -24
- package/esm/components/text-editor/__internal__/decorators/link-decorator.js +10 -10
- package/esm/components/text-editor/__internal__/editor-counter/editor-counter.component.js +6 -0
- package/esm/components/text-editor/__internal__/editor-link/editor-link.component.js +7 -2
- package/esm/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +3 -0
- package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +6 -0
- package/esm/components/text-editor/__internal__/toolbar/toolbar.component.js +10 -0
- package/esm/components/text-editor/__internal__/utils/utils.js +21 -9
- package/esm/components/text-editor/text-editor.component.js +53 -22
- package/esm/components/textarea/textarea.component.js +50 -6
- package/esm/components/textbox/textbox.component.js +9 -2
- package/esm/components/tile/tile-footer/tile-footer.component.js +5 -2
- package/esm/components/tile/tile.component.js +10 -0
- package/esm/components/tile-select/__internal__/accordion/accordion.component.js +2 -0
- package/esm/components/tile-select/tile-select-group.component.js +16 -2
- package/esm/components/tile-select/tile-select.component.js +33 -4
- package/esm/components/toast/toast.component.js +18 -0
- package/esm/components/tooltip/tooltip-pointer.style.js +2 -0
- package/esm/components/tooltip/tooltip.component.js +3 -0
- package/esm/components/tooltip/tooltip.style.js +6 -0
- package/esm/components/typography/list.component.js +7 -0
- package/esm/components/typography/typography.component.js +28 -0
- package/esm/components/vertical-divider/vertical-divider.component.js +3 -0
- package/esm/hooks/__internal__/useCharacterCount/useCharacterCount.js +4 -0
- package/esm/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +2 -3
- package/esm/hooks/__internal__/useFloating/useFloating.js +6 -0
- package/esm/hooks/__internal__/useIsStickyFooterForm/useIsStickyFooterForm.js +1 -0
- package/esm/hooks/__internal__/useMenuKeyboardNavigation/useMenuKeyboardNavigation.js +16 -2
- package/esm/hooks/__internal__/useModalManager/useModalManager.js +4 -0
- package/esm/hooks/__internal__/useResizeObserver/useResizeObserver.js +8 -3
- package/esm/hooks/__internal__/useScrollBlock/scroll-block-manager.js +16 -6
- package/esm/hooks/__internal__/useScrollBlock/useScrollBlock.js +15 -11
- package/esm/hooks/useMediaQuery/useMediaQuery.js +2 -0
- package/esm/locales/en-gb.js +8 -1
- package/esm/locales/pl-pl.js +8 -1
- package/esm/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +0 -1
- package/esm/style/design-tokens/debug-theme.util.js +9 -5
- package/esm/style/design-tokens/generate-css-variables.util.js +0 -1
- package/esm/style/palette/index.js +6 -2
- package/esm/style/themes/aegean/aegean-theme.config.js +3 -0
- package/esm/style/themes/base/base-theme.config.js +4 -2
- package/esm/style/themes/base/index.js +2 -4
- package/esm/style/themes/mint/mint-theme.config.js +3 -0
- package/esm/style/themes/sage/index.js +2 -4
- package/esm/style/themes/test-utils.js +4 -4
- package/esm/style/utils/add-hex-symbols.js +1 -0
- package/esm/style/utils/at-opacity.js +1 -0
- package/esm/style/utils/color.js +8 -3
- package/esm/style/utils/filter-out-styled-system-spacing-props.js +2 -0
- package/esm/style/utils/filter-styled-system-padding-props.js +1 -2
- package/esm/style/utils/form-style-utils.js +12 -0
- package/esm/style/utils/get-color-value.js +1 -0
- package/esm/style/utils/get-rgb-values.js +1 -1
- package/esm/style/utils/merge-deep.js +6 -1
- package/esm/style/utils/mix.js +7 -1
- package/esm/style/utils/width.js +0 -1
- package/lib/__internal__/DeprecationWarning.js +5 -0
- package/lib/__internal__/character-count/character-count.component.js +6 -0
- package/lib/__internal__/character-count/character-count.style.js +6 -0
- package/lib/__internal__/character-count/index.js +2 -0
- package/lib/__internal__/checkable-input/checkable-input-svg-wrapper.style.js +3 -0
- package/lib/__internal__/checkable-input/checkable-input.component.js +16 -0
- package/lib/__internal__/checkable-input/checkable-input.style.js +11 -0
- package/lib/__internal__/checkable-input/hidden-checkable-input.component.js +20 -0
- package/lib/__internal__/checkable-input/hidden-checkable-input.style.js +3 -0
- package/lib/__internal__/checkable-input/index.js +2 -0
- package/lib/__internal__/field-help/field-help.component.js +6 -0
- package/lib/__internal__/field-help/field-help.style.js +4 -0
- package/lib/__internal__/field-help/index.js +2 -0
- package/lib/__internal__/fieldset/fieldset.component.js +9 -0
- package/lib/__internal__/fieldset/fieldset.style.js +7 -0
- package/lib/__internal__/fieldset/index.js +2 -0
- package/lib/__internal__/filter-object-properties/filter-object-properties.js +1 -0
- package/lib/__internal__/filter-object-properties/index.js +2 -0
- package/lib/__internal__/focus-trap/focus-trap-utils.js +26 -6
- package/lib/__internal__/focus-trap/focus-trap.component.js +26 -4
- package/lib/__internal__/focus-trap/index.js +2 -0
- package/lib/__internal__/form-field/form-field.component.js +18 -0
- package/lib/__internal__/form-field/form-field.style.js +6 -0
- package/lib/__internal__/form-field/index.js +2 -0
- package/lib/__internal__/full-screen-heading/full-screen-heading.component.js +10 -0
- package/lib/__internal__/full-screen-heading/full-screen-heading.style.js +5 -0
- package/lib/__internal__/full-screen-heading/index.js +2 -0
- package/lib/__internal__/i18n-context/index.js +5 -0
- package/lib/__internal__/input/index.js +4 -0
- package/lib/__internal__/input/input-presentation.component.js +13 -0
- package/lib/__internal__/input/input-presentation.style.js +12 -0
- package/lib/__internal__/input/input.component.js +33 -2
- package/lib/__internal__/input/input.style.js +4 -0
- package/lib/__internal__/input-behaviour/index.js +2 -0
- package/lib/__internal__/input-behaviour/input-behaviour.component.js +12 -2
- package/lib/__internal__/input-behaviour/input-group-behaviour.component.js +8 -0
- package/lib/__internal__/input-behaviour/useInputBehaviour.js +5 -2
- package/lib/__internal__/input-icon-toggle/index.js +2 -0
- package/lib/__internal__/input-icon-toggle/input-icon-toggle.component.js +11 -0
- package/lib/__internal__/input-icon-toggle/input-icon-toggle.style.js +7 -0
- package/lib/__internal__/label/icon-wrapper.style.js +5 -0
- package/lib/__internal__/label/index.js +2 -0
- package/lib/__internal__/label/label.component.js +22 -0
- package/lib/__internal__/label/label.style.js +4 -0
- package/lib/__internal__/popover/index.js +2 -0
- package/lib/__internal__/popover/popover.component.js +24 -0
- package/lib/__internal__/popover/popover.style.js +4 -0
- package/lib/__internal__/radio-button-mapper/index.js +2 -0
- package/lib/__internal__/radio-button-mapper/radio-button-mapper.component.js +15 -0
- package/lib/__internal__/sticky-footer/index.js +2 -0
- package/lib/__internal__/sticky-footer/sticky-footer.component.js +13 -0
- package/lib/__internal__/sticky-footer/sticky-footer.style.js +4 -0
- package/lib/__internal__/tooltip-provider/index.js +9 -0
- package/lib/__internal__/utils/helpers/browser-type-check/index.js +3 -0
- package/lib/__internal__/utils/helpers/events/composedPath.js +6 -0
- package/lib/__internal__/utils/helpers/events/events.js +18 -0
- package/lib/__internal__/utils/helpers/events/index.js +2 -0
- package/lib/__internal__/utils/helpers/guid/index.js +3 -0
- package/lib/__internal__/utils/helpers/tags/index.js +2 -0
- package/lib/__internal__/utils/helpers/tags/tags-specs/index.js +1 -0
- package/lib/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +5 -2
- package/lib/__internal__/utils/helpers/tags/tags.js +5 -0
- package/lib/__internal__/utils/helpers/useUniqueId/index.js +5 -0
- package/lib/__internal__/utils/logger/index.js +2 -1
- package/lib/__internal__/validation-message/index.js +2 -0
- package/lib/__internal__/validation-message/validation-message.component.js +6 -0
- package/lib/__internal__/validation-message/validation-message.style.js +4 -0
- package/lib/__internal__/validations/index.js +2 -0
- package/lib/__internal__/validations/validation-icon.component.js +18 -0
- package/lib/__internal__/validations/validation-icon.style.js +8 -0
- package/lib/__spec_helper__/enzyme-snapshot-helper.js +6 -0
- package/lib/__spec_helper__/expect.js +8 -2
- package/lib/__spec_helper__/index.js +4 -0
- package/lib/__spec_helper__/mock-match-media.js +7 -0
- package/lib/__spec_helper__/mock-resize-observer.js +3 -0
- package/lib/__spec_helper__/test-utils.js +87 -28
- package/lib/components/accordion/accordion-group/accordion-group.component.js +20 -0
- package/lib/components/accordion/accordion.component.js +19 -0
- package/lib/components/accordion/accordion.style.js +9 -0
- package/lib/components/accordion/index.js +3 -0
- package/lib/components/action-popover/action-popover-context.js +4 -0
- package/lib/components/action-popover/action-popover-divider/action-popover-divider.component.js +2 -0
- package/lib/components/action-popover/action-popover-item/action-popover-item.component.js +34 -2
- package/lib/components/action-popover/action-popover-menu/action-popover-menu.component.js +22 -2
- package/lib/components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js +8 -0
- package/lib/components/action-popover/action-popover.component.js +35 -4
- package/lib/components/action-popover/action-popover.style.js +10 -0
- package/lib/components/action-popover/index.js +6 -0
- package/lib/components/advanced-color-picker/advanced-color-picker-cell.style.js +4 -0
- package/lib/components/advanced-color-picker/advanced-color-picker.component.js +30 -0
- package/lib/components/advanced-color-picker/advanced-color-picker.style.js +14 -0
- package/lib/components/advanced-color-picker/index.js +2 -0
- package/lib/components/alert/alert.component.js +7 -0
- package/lib/components/alert/index.js +2 -0
- package/lib/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.component.js +6 -0
- package/lib/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.style.js +4 -0
- package/lib/components/anchor-navigation/anchor-navigation.component.js +27 -5
- package/lib/components/anchor-navigation/anchor-navigation.style.js +3 -0
- package/lib/components/anchor-navigation/anchor-section-divider.component.js +3 -0
- package/lib/components/anchor-navigation/index.js +4 -0
- package/lib/components/badge/badge.component.js +6 -0
- package/lib/components/badge/badge.style.js +6 -0
- package/lib/components/badge/index.js +2 -0
- package/lib/components/batch-selection/batch-selection.component.js +11 -0
- package/lib/components/batch-selection/batch-selection.style.js +7 -0
- package/lib/components/batch-selection/index.js +2 -0
- package/lib/components/box/box.component.js +9 -0
- package/lib/components/box/box.config.js +3 -0
- package/lib/components/box/index.js +2 -0
- package/lib/components/button/button-types.style.js +6 -0
- package/lib/components/button/button.component.js +29 -0
- package/lib/components/button/button.style.js +16 -0
- package/lib/components/button/index.js +3 -0
- package/lib/components/button-bar/button-bar.component.js +18 -2
- package/lib/components/button-bar/button-bar.style.js +8 -0
- package/lib/components/button-bar/index.js +2 -0
- package/lib/components/button-toggle/button-toggle-icon.component.js +7 -0
- package/lib/components/button-toggle/button-toggle-input.component.js +15 -0
- package/lib/components/button-toggle/button-toggle.component.js +17 -0
- package/lib/components/button-toggle/button-toggle.style.js +6 -0
- package/lib/components/button-toggle/index.js +2 -0
- package/lib/components/button-toggle-group/button-toggle-group.component.js +18 -0
- package/lib/components/button-toggle-group/button-toggle-group.style.js +7 -0
- package/lib/components/button-toggle-group/index.js +2 -0
- package/lib/components/carbon-provider/carbon-provider.component.js +12 -0
- package/lib/components/carbon-provider/index.js +2 -0
- package/lib/components/carbon-provider/top-modal-context.js +13 -3
- package/lib/components/card/card-column/card-column.component.js +6 -0
- package/lib/components/card/card-column/card-column.style.js +3 -0
- package/lib/components/card/card-column/index.js +2 -0
- package/lib/components/card/card-footer/card-footer.component.js +8 -0
- package/lib/components/card/card-footer/card-footer.style.js +7 -0
- package/lib/components/card/card-footer/index.js +2 -0
- package/lib/components/card/card-row/card-row.component.js +8 -0
- package/lib/components/card/card-row/card-row.style.js +7 -0
- package/lib/components/card/card-row/index.js +2 -0
- package/lib/components/card/card.component.js +19 -0
- package/lib/components/card/card.style.js +7 -0
- package/lib/components/card/index.js +5 -0
- package/lib/components/carousel/carousel.component.js +24 -0
- package/lib/components/carousel/carousel.style.js +8 -0
- package/lib/components/carousel/index.js +3 -0
- package/lib/components/carousel/slide/index.js +2 -0
- package/lib/components/carousel/slide/slide.component.js +8 -0
- package/lib/components/carousel/slide/slide.style.js +5 -2
- package/lib/components/carousel/slide.config.js +2 -0
- package/lib/components/checkbox/checkbox-group.component.js +13 -0
- package/lib/components/checkbox/checkbox-group.style.js +10 -0
- package/lib/components/checkbox/checkbox-svg.component.js +6 -0
- package/lib/components/checkbox/checkbox.component.js +19 -0
- package/lib/components/checkbox/checkbox.style.js +13 -0
- package/lib/components/checkbox/index.js +3 -0
- package/lib/components/confirm/confirm.component.js +51 -0
- package/lib/components/confirm/confirm.style.js +8 -0
- package/lib/components/confirm/index.js +2 -0
- package/lib/components/content/content.component.js +7 -0
- package/lib/components/content/content.style.js +6 -0
- package/lib/components/content/index.js +2 -0
- package/lib/components/date/__internal__/date-formats/index.js +19 -6
- package/lib/components/date/__internal__/date-picker/date-picker.component.js +31 -2
- package/lib/components/date/__internal__/date-picker/day-picker.style.js +10 -1
- package/lib/components/date/__internal__/date-picker/index.js +2 -0
- package/lib/components/date/__internal__/navbar/button.style.js +3 -0
- package/lib/components/date/__internal__/navbar/index.js +2 -0
- package/lib/components/date/__internal__/navbar/navbar.component.js +8 -0
- package/lib/components/date/__internal__/navbar/navbar.style.js +3 -0
- package/lib/components/date/__internal__/utils.js +42 -1
- package/lib/components/date/__internal__/weekday/abbr.style.js +3 -0
- package/lib/components/date/__internal__/weekday/index.js +2 -0
- package/lib/components/date/__internal__/weekday/weekday.component.js +8 -0
- package/lib/components/date/__internal__/weekday/weekday.style.js +3 -0
- package/lib/components/date/date.component.js +71 -10
- package/lib/components/date/date.style.js +8 -0
- package/lib/components/date/index.js +2 -0
- package/lib/components/date-range/date-range.component.js +63 -14
- package/lib/components/date-range/date-range.context.js +4 -0
- package/lib/components/date-range/date-range.style.js +8 -0
- package/lib/components/date-range/index.js +2 -0
- package/lib/components/decimal/decimal.component.js +38 -4
- package/lib/components/decimal/index.js +2 -0
- package/lib/components/definition-list/__internal__/dl.context.js +4 -0
- package/lib/components/definition-list/dd.component.js +7 -0
- package/lib/components/definition-list/definition-list.style.js +8 -0
- package/lib/components/definition-list/dl.component.js +20 -0
- package/lib/components/definition-list/dt.component.js +10 -0
- package/lib/components/definition-list/index.js +4 -0
- package/lib/components/detail/detail.component.js +17 -2
- package/lib/components/detail/detail.style.js +8 -0
- package/lib/components/detail/index.js +2 -0
- package/lib/components/dialog/dialog.component.js +32 -0
- package/lib/components/dialog/dialog.style.js +14 -0
- package/lib/components/dialog/index.js +2 -0
- package/lib/components/dialog-full-screen/content.style.js +5 -0
- package/lib/components/dialog-full-screen/dialog-full-screen.component.js +42 -0
- package/lib/components/dialog-full-screen/dialog-full-screen.style.js +11 -0
- package/lib/components/dialog-full-screen/index.js +2 -0
- package/lib/components/dismissible-box/dismissible-box.component.js +9 -0
- package/lib/components/dismissible-box/dismissible-box.style.js +7 -0
- package/lib/components/dismissible-box/index.js +2 -0
- package/lib/components/draggable/draggable-container.component.js +30 -4
- package/lib/components/draggable/draggable-item.component.js +19 -2
- package/lib/components/draggable/draggable-item.style.js +6 -0
- package/lib/components/draggable/index.js +3 -0
- package/lib/components/drawer/drawer.component.js +29 -0
- package/lib/components/drawer/drawer.style.js +15 -0
- package/lib/components/drawer/index.js +3 -0
- package/lib/components/duelling-picklist/duelling-picklist.component.js +26 -2
- package/lib/components/duelling-picklist/duelling-picklist.context.js +4 -0
- package/lib/components/duelling-picklist/duelling-picklist.style.js +6 -0
- package/lib/components/duelling-picklist/index.js +7 -0
- package/lib/components/duelling-picklist/picklist/picklist.component.js +25 -0
- package/lib/components/duelling-picklist/picklist/picklist.style.js +4 -0
- package/lib/components/duelling-picklist/picklist-divider/picklist-divider.component.js +6 -0
- package/lib/components/duelling-picklist/picklist-divider/picklist-divider.style.js +3 -0
- package/lib/components/duelling-picklist/picklist-group/picklist-group.component.js +22 -0
- package/lib/components/duelling-picklist/picklist-group/picklist-group.style.js +7 -0
- package/lib/components/duelling-picklist/picklist-item/picklist-item.component.js +25 -0
- package/lib/components/duelling-picklist/picklist-item/picklist-item.style.js +8 -0
- package/lib/components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js +6 -0
- package/lib/components/fieldset/fieldset.component.js +11 -0
- package/lib/components/fieldset/fieldset.style.js +9 -0
- package/lib/components/fieldset/index.js +2 -0
- package/lib/components/flat-table/flat-table-body/flat-table-body.component.js +6 -0
- package/lib/components/flat-table/flat-table-body/index.js +2 -0
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +23 -0
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.js +4 -0
- package/lib/components/flat-table/flat-table-body-draggable/index.js +2 -0
- package/lib/components/flat-table/flat-table-cell/flat-table-cell.component.js +28 -0
- package/lib/components/flat-table/flat-table-cell/flat-table-cell.style.js +8 -0
- package/lib/components/flat-table/flat-table-cell/index.js +2 -0
- package/lib/components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js +22 -0
- package/lib/components/flat-table/flat-table-checkbox/flat-table-checkbox.style.js +6 -0
- package/lib/components/flat-table/flat-table-checkbox/index.js +2 -0
- package/lib/components/flat-table/flat-table-head/flat-table-head.component.js +15 -4
- package/lib/components/flat-table/flat-table-head/flat-table-head.style.js +6 -0
- package/lib/components/flat-table/flat-table-head/index.js +2 -0
- package/lib/components/flat-table/flat-table-header/flat-table-header-utils.js +5 -1
- package/lib/components/flat-table/flat-table-header/flat-table-header.component.js +23 -0
- package/lib/components/flat-table/flat-table-header/flat-table-header.style.js +9 -0
- package/lib/components/flat-table/flat-table-header/index.js +2 -0
- package/lib/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +13 -0
- package/lib/components/flat-table/flat-table-row/flat-table-row.component.js +50 -0
- package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +23 -2
- package/lib/components/flat-table/flat-table-row/index.js +2 -0
- package/lib/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +25 -0
- package/lib/components/flat-table/flat-table-row-header/flat-table-row-header.style.js +8 -0
- package/lib/components/flat-table/flat-table-row-header/index.js +2 -0
- package/lib/components/flat-table/flat-table.component.js +29 -2
- package/lib/components/flat-table/flat-table.style.js +17 -0
- package/lib/components/flat-table/index.js +11 -0
- package/lib/components/flat-table/sort/index.js +2 -0
- package/lib/components/flat-table/sort/sort.component.js +16 -0
- package/lib/components/flat-table/sort/sort.style.js +4 -0
- package/lib/components/form/__internal__/form-summary.component.js +15 -0
- package/lib/components/form/__internal__/form-summary.style.js +7 -0
- package/lib/components/form/form.component.js +12 -0
- package/lib/components/form/form.style.js +17 -2
- package/lib/components/form/index.js +2 -0
- package/lib/components/global-header/global-header.component.js +16 -1
- package/lib/components/global-header/index.js +2 -0
- package/lib/components/grid/grid-container/grid-container.component.js +10 -0
- package/lib/components/grid/grid-container/grid-container.style.js +4 -0
- package/lib/components/grid/grid-container/index.js +2 -0
- package/lib/components/grid/grid-item/grid-item.component.js +10 -0
- package/lib/components/grid/grid-item/grid-item.style.js +19 -0
- package/lib/components/grid/grid-item/index.js +2 -0
- package/lib/components/grid/index.js +3 -0
- package/lib/components/grouped-character/grouped-character.component.js +28 -3
- package/lib/components/grouped-character/grouped-character.utils.js +4 -0
- package/lib/components/grouped-character/index.js +2 -0
- package/lib/components/heading/heading.component.js +16 -2
- package/lib/components/heading/heading.style.js +13 -0
- package/lib/components/heading/index.js +2 -0
- package/lib/components/help/help.component.js +20 -0
- package/lib/components/help/help.style.js +8 -0
- package/lib/components/help/index.js +2 -0
- package/lib/components/hr/hr.component.js +10 -0
- package/lib/components/hr/hr.style.js +5 -0
- package/lib/components/hr/index.js +2 -0
- package/lib/components/i18n-provider/i18n-provider.component.js +8 -0
- package/lib/components/i18n-provider/index.js +2 -0
- package/lib/components/icon/icon-unicodes.js +1 -2
- package/lib/components/icon/icon.component.js +27 -1
- package/lib/components/icon/icon.style.js +18 -0
- package/lib/components/icon/index.js +2 -0
- package/lib/components/icon-button/icon-button.component.js +15 -0
- package/lib/components/icon-button/icon-button.style.js +8 -0
- package/lib/components/icon-button/index.js +2 -0
- package/lib/components/image/image.component.js +8 -0
- package/lib/components/image/image.style.js +7 -2
- package/lib/components/image/index.js +2 -0
- package/lib/components/inline-inputs/index.js +3 -0
- package/lib/components/inline-inputs/inline-inputs.component.js +17 -0
- package/lib/components/inline-inputs/inline-inputs.style.js +8 -0
- package/lib/components/link/index.js +2 -0
- package/lib/components/link/link.component.js +24 -3
- package/lib/components/link/link.style.js +11 -0
- package/lib/components/link-preview/__internal__/placeholder.component.js +6 -0
- package/lib/components/link-preview/index.js +2 -0
- package/lib/components/link-preview/link-preview.component.js +17 -0
- package/lib/components/link-preview/link-preview.style.js +6 -0
- package/lib/components/loader/index.js +2 -0
- package/lib/components/loader/loader-square.style.js +10 -0
- package/lib/components/loader/loader.component.js +9 -0
- package/lib/components/loader/loader.style.js +5 -0
- package/lib/components/loader-bar/index.js +2 -0
- package/lib/components/loader-bar/loader-bar.component.js +10 -0
- package/lib/components/loader-bar/loader-bar.style.js +10 -0
- package/lib/components/menu/__internal__/keyboard-navigation/index.js +11 -0
- package/lib/components/menu/__internal__/spec-helper/index.js +7 -0
- package/lib/components/menu/__internal__/submenu/submenu.component.js +80 -7
- package/lib/components/menu/__internal__/submenu/submenu.context.js +4 -0
- package/lib/components/menu/__internal__/submenu/submenu.style.js +12 -0
- package/lib/components/menu/index.js +7 -0
- package/lib/components/menu/menu-divider/menu-divider.component.js +10 -0
- package/lib/components/menu/menu-divider/menu-divider.style.js +6 -0
- package/lib/components/menu/menu-full-screen/index.js +2 -0
- package/lib/components/menu/menu-full-screen/menu-full-screen.component.js +23 -0
- package/lib/components/menu/menu-full-screen/menu-full-screen.style.js +12 -0
- package/lib/components/menu/menu-item/index.js +2 -0
- package/lib/components/menu/menu-item/menu-item.component.js +52 -0
- package/lib/components/menu/menu-item/menu-item.style.js +8 -0
- package/lib/components/menu/menu-segment-title/menu-segment-title.component.js +11 -0
- package/lib/components/menu/menu-segment-title/menu-segment-title.style.js +6 -0
- package/lib/components/menu/menu.component.js +18 -0
- package/lib/components/menu/menu.context.js +7 -1
- package/lib/components/menu/menu.style.js +9 -0
- package/lib/components/menu/scrollable-block/index.js +2 -0
- package/lib/components/menu/scrollable-block/scrollable-block.component.js +19 -0
- package/lib/components/menu/scrollable-block/scrollable-block.style.js +7 -0
- package/lib/components/message/index.js +2 -0
- package/lib/components/message/message-content/message-content.component.js +7 -0
- package/lib/components/message/message-content/message-content.style.js +3 -0
- package/lib/components/message/message.component.js +16 -0
- package/lib/components/message/message.style.js +8 -0
- package/lib/components/message/type-icon/type-icon.component.js +7 -0
- package/lib/components/message/type-icon/type-icon.style.js +4 -0
- package/lib/components/modal/__internal__/modal-manager.js +25 -0
- package/lib/components/modal/index.js +3 -0
- package/lib/components/modal/modal.component.js +19 -0
- package/lib/components/modal/modal.style.js +6 -0
- package/lib/components/multi-action-button/index.js +2 -0
- package/lib/components/multi-action-button/multi-action-button.component.js +32 -3
- package/lib/components/multi-action-button/multi-action-button.style.js +9 -0
- package/lib/components/navigation-bar/index.js +2 -0
- package/lib/components/navigation-bar/navigation-bar.component.js +7 -0
- package/lib/components/navigation-bar/navigation-bar.style.js +6 -0
- package/lib/components/note/__internal__/status-icon/index.js +2 -0
- package/lib/components/note/__internal__/status-icon/status-icon.component.js +7 -0
- package/lib/components/note/__internal__/status-icon/status-icon.style.js +3 -0
- package/lib/components/note/index.js +2 -0
- package/lib/components/note/note.component.js +21 -1
- package/lib/components/note/note.style.js +8 -0
- package/lib/components/number/index.js +3 -0
- package/lib/components/number/number.component.js +14 -2
- package/lib/components/numeral-date/index.js +2 -0
- package/lib/components/numeral-date/numeral-date-context.js +4 -0
- package/lib/components/numeral-date/numeral-date.component.js +42 -9
- package/lib/components/numeral-date/numeral-date.style.js +9 -0
- package/lib/components/pager/__internal__/pager-navigation-link.component.js +18 -0
- package/lib/components/pager/__internal__/pager-navigation.component.js +34 -0
- package/lib/components/pager/index.js +2 -0
- package/lib/components/pager/pager.component.js +40 -0
- package/lib/components/pager/pager.style.js +10 -0
- package/lib/components/pages/index.js +3 -0
- package/lib/components/pages/page/index.js +2 -0
- package/lib/components/pages/page/page.component.js +14 -0
- package/lib/components/pages/page/page.style.js +5 -0
- package/lib/components/pages/pages.component.js +26 -4
- package/lib/components/pages/pages.config.js +2 -0
- package/lib/components/pages/pages.style.js +6 -0
- package/lib/components/pill/index.js +2 -0
- package/lib/components/pill/pill.component.js +10 -0
- package/lib/components/pill/pill.style.config.js +2 -0
- package/lib/components/pill/pill.style.js +15 -0
- package/lib/components/pod/index.js +2 -0
- package/lib/components/pod/pod.component.js +53 -4
- package/lib/components/pod/pod.style.js +19 -6
- package/lib/components/popover-container/index.js +2 -0
- package/lib/components/popover-container/popover-container.component.js +27 -2
- package/lib/components/popover-container/popover-container.style.js +10 -0
- package/lib/components/portal/index.js +2 -0
- package/lib/components/portal/portal.js +23 -2
- package/lib/components/portrait/index.js +2 -0
- package/lib/components/portrait/portrait-gravatar.component.js +10 -0
- package/lib/components/portrait/portrait-initials.component.js +20 -10
- package/lib/components/portrait/portrait.component.js +21 -0
- package/lib/components/portrait/portrait.style.js +19 -3
- package/lib/components/preview/__internal__/preview-placeholder.component.js +8 -0
- package/lib/components/preview/__internal__/preview-placeholder.style.js +4 -0
- package/lib/components/preview/index.js +2 -0
- package/lib/components/preview/preview.component.js +13 -0
- package/lib/components/preview/preview.style.js +6 -3
- package/lib/components/profile/index.js +2 -0
- package/lib/components/profile/profile.component.js +14 -0
- package/lib/components/profile/profile.style.js +7 -0
- package/lib/components/progress-tracker/index.js +2 -0
- package/lib/components/progress-tracker/progress-tracker.component.js +35 -2
- package/lib/components/progress-tracker/progress-tracker.config.js +1 -0
- package/lib/components/progress-tracker/progress-tracker.style.js +14 -0
- package/lib/components/radio-button/index.js +6 -0
- package/lib/components/radio-button/radio-button-group.component.js +39 -2
- package/lib/components/radio-button/radio-button-group.style.js +4 -0
- package/lib/components/radio-button/radio-button-svg.component.js +6 -0
- package/lib/components/radio-button/radio-button.component.js +48 -6
- package/lib/components/radio-button/radio-button.style.js +14 -0
- package/lib/components/search/index.js +2 -0
- package/lib/components/search/search-button.style.js +6 -0
- package/lib/components/search/search.component.js +34 -2
- package/lib/components/search/search.style.js +12 -0
- package/lib/components/select/__internal__/select-list-context.js +4 -0
- package/lib/components/select/__internal__/select-text/select-text.component.js +17 -0
- package/lib/components/select/__internal__/select-text/select-text.style.js +6 -0
- package/lib/components/select/filterable-select/filterable-select.component.js +91 -8
- package/lib/components/select/index.js +7 -0
- package/lib/components/select/list-action-button/list-action-button.component.js +12 -0
- package/lib/components/select/list-action-button/list-action-button.style.js +4 -0
- package/lib/components/select/multi-select/multi-select.component.js +102 -15
- package/lib/components/select/multi-select/multi-select.style.js +10 -0
- package/lib/components/select/option/option.component.js +21 -0
- package/lib/components/select/option/option.style.js +6 -0
- package/lib/components/select/option-group-header/option-group-header.component.js +8 -0
- package/lib/components/select/option-group-header/option-group-header.style.js +4 -0
- package/lib/components/select/option-row/option-row.component.js +18 -0
- package/lib/components/select/option-row/option-row.style.js +4 -0
- package/lib/components/select/select-list/select-list-container.style.js +4 -0
- package/lib/components/select/select-list/select-list.component.js +67 -2
- package/lib/components/select/select-list/select-list.style.js +5 -2
- package/lib/components/select/select-list/update-list-scroll.js +4 -0
- package/lib/components/select/select-textbox/select-textbox.component.js +53 -2
- package/lib/components/select/select.style.js +10 -0
- package/lib/components/select/simple-select/simple-select.component.js +78 -2
- package/lib/components/select/utils/get-next-child-by-text.js +9 -0
- package/lib/components/select/utils/get-next-index-by-key.js +14 -0
- package/lib/components/select/utils/highlight-part-of-text.js +11 -0
- package/lib/components/select/utils/is-expected-option.js +9 -0
- package/lib/components/select/utils/is-expected-value.js +2 -0
- package/lib/components/select/utils/is-navigation-key.js +1 -0
- package/lib/components/select/utils/matching-text.style.js +3 -0
- package/lib/components/select/utils/with-filter.hoc.js +43 -3
- package/lib/components/settings-row/index.js +2 -0
- package/lib/components/settings-row/settings-row.component.js +19 -2
- package/lib/components/settings-row/settings-row.style.js +8 -0
- package/lib/components/show-edit-pod/index.js +2 -0
- package/lib/components/show-edit-pod/show-edit-pod.component.js +58 -6
- package/lib/components/show-edit-pod/show-edit-pod.style.js +6 -0
- package/lib/components/sidebar/__internal__/sidebar-header/index.js +2 -0
- package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +6 -0
- package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.style.js +3 -0
- package/lib/components/sidebar/index.js +3 -0
- package/lib/components/sidebar/sidebar.component.js +26 -0
- package/lib/components/sidebar/sidebar.style.js +11 -0
- package/lib/components/simple-color-picker/color-sample-box/color-sample-box.component.js +11 -1
- package/lib/components/simple-color-picker/color-sample-box/color-sample-box.style.js +7 -0
- package/lib/components/simple-color-picker/color-sample-box/index.js +2 -0
- package/lib/components/simple-color-picker/index.js +3 -0
- package/lib/components/simple-color-picker/simple-color/index.js +2 -0
- package/lib/components/simple-color-picker/simple-color/simple-color.component.js +16 -0
- package/lib/components/simple-color-picker/simple-color/simple-color.style.js +3 -0
- package/lib/components/simple-color-picker/simple-color-input/simple-color-input.style.js +5 -0
- package/lib/components/simple-color-picker/simple-color-picker.component.js +59 -8
- package/lib/components/simple-color-picker/simple-color-picker.style.js +8 -0
- package/lib/components/simple-color-picker/tick-icon/tick-icon.style.js +12 -4
- package/lib/components/split-button/index.js +2 -0
- package/lib/components/split-button/split-button-children.style.js +7 -0
- package/lib/components/split-button/split-button-toggle.style.js +7 -0
- package/lib/components/split-button/split-button.component.js +40 -1
- package/lib/components/split-button/split-button.style.js +6 -0
- package/lib/components/step-sequence/index.js +3 -0
- package/lib/components/step-sequence/step-sequence-item/index.js +2 -0
- package/lib/components/step-sequence/step-sequence-item/step-sequence-item.component.js +17 -0
- package/lib/components/step-sequence/step-sequence-item/step-sequence-item.style.js +6 -0
- package/lib/components/step-sequence/step-sequence.component.js +9 -0
- package/lib/components/step-sequence/step-sequence.style.js +6 -0
- package/lib/components/switch/__internal__/switch-slider-panel.style.js +7 -0
- package/lib/components/switch/__internal__/switch-slider.component.js +12 -0
- package/lib/components/switch/__internal__/switch-slider.style.js +7 -0
- package/lib/components/switch/index.js +2 -0
- package/lib/components/switch/switch.component.js +18 -0
- package/lib/components/switch/switch.style.js +14 -0
- package/lib/components/tabs/__internal__/tab-title/index.js +2 -0
- package/lib/components/tabs/__internal__/tab-title/tab-title.component.js +37 -8
- package/lib/components/tabs/__internal__/tab-title/tab-title.style.js +8 -0
- package/lib/components/tabs/__internal__/tabs-header/index.js +2 -0
- package/lib/components/tabs/__internal__/tabs-header/tabs-header.component.js +6 -0
- package/lib/components/tabs/__internal__/tabs-header/tabs-header.style.js +8 -0
- package/lib/components/tabs/index.js +1 -0
- package/lib/components/tabs/tab/index.js +3 -0
- package/lib/components/tabs/tab/tab.component.js +35 -8
- package/lib/components/tabs/tab/tab.style.js +8 -0
- package/lib/components/tabs/tabs.component.js +75 -24
- package/lib/components/tabs/tabs.style.js +10 -0
- package/lib/components/text-editor/__internal__/decorators/index.js +5 -0
- package/lib/components/text-editor/__internal__/decorators/link-decorator.js +12 -10
- package/lib/components/text-editor/__internal__/editor-counter/editor-counter.component.js +11 -0
- package/lib/components/text-editor/__internal__/editor-counter/editor-counter.style.js +3 -0
- package/lib/components/text-editor/__internal__/editor-counter/index.js +2 -0
- package/lib/components/text-editor/__internal__/editor-link/editor-link.component.js +14 -2
- package/lib/components/text-editor/__internal__/editor-link/editor-link.style.js +4 -0
- package/lib/components/text-editor/__internal__/editor-link/index.js +2 -0
- package/lib/components/text-editor/__internal__/label-wrapper/index.js +2 -0
- package/lib/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +6 -0
- package/lib/components/text-editor/__internal__/toolbar/index.js +2 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar-button/index.js +2 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +12 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.js +6 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar.component.js +22 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar.style.js +4 -0
- package/lib/components/text-editor/__internal__/utils/index.js +1 -0
- package/lib/components/text-editor/__internal__/utils/utils.js +49 -9
- package/lib/components/text-editor/index.js +3 -0
- package/lib/components/text-editor/text-editor.component.js +76 -22
- package/lib/components/text-editor/text-editor.style.js +8 -0
- package/lib/components/textarea/index.js +2 -0
- package/lib/components/textarea/textarea.component.js +71 -6
- package/lib/components/textarea/textarea.style.js +10 -0
- package/lib/components/textbox/__internal__/prefix.style.js +3 -0
- package/lib/components/textbox/index.js +2 -0
- package/lib/components/textbox/textbox.component.js +28 -2
- package/lib/components/textbox/textbox.style.js +4 -0
- package/lib/components/tile/index.js +2 -0
- package/lib/components/tile/tile-footer/index.js +2 -0
- package/lib/components/tile/tile-footer/tile-footer.component.js +12 -2
- package/lib/components/tile/tile-footer/tile-footer.style.js +6 -0
- package/lib/components/tile/tile.component.js +16 -0
- package/lib/components/tile/tile.style.js +9 -0
- package/lib/components/tile-select/__internal__/accordion/accordion.component.js +9 -0
- package/lib/components/tile-select/__internal__/accordion/accordion.style.js +4 -0
- package/lib/components/tile-select/__internal__/accordion/index.js +2 -0
- package/lib/components/tile-select/index.js +3 -0
- package/lib/components/tile-select/tile-select-group.component.js +28 -2
- package/lib/components/tile-select/tile-select.component.js +48 -4
- package/lib/components/tile-select/tile-select.style.js +11 -0
- package/lib/components/toast/index.js +2 -0
- package/lib/components/toast/toast.component.js +34 -0
- package/lib/components/toast/toast.style.js +12 -0
- package/lib/components/tooltip/index.js +2 -0
- package/lib/components/tooltip/tooltip-pointer.style.js +8 -0
- package/lib/components/tooltip/tooltip.component.js +17 -0
- package/lib/components/tooltip/tooltip.style.js +13 -0
- package/lib/components/typography/index.js +3 -0
- package/lib/components/typography/list.component.js +11 -0
- package/lib/components/typography/typography.component.js +36 -0
- package/lib/components/vertical-divider/index.js +2 -0
- package/lib/components/vertical-divider/vertical-divider.component.js +10 -0
- package/lib/components/vertical-divider/vertical-divider.style.js +6 -0
- package/lib/hooks/__internal__/useCharacterCount/index.js +2 -0
- package/lib/hooks/__internal__/useCharacterCount/useCharacterCount.js +10 -0
- package/lib/hooks/__internal__/useClickAwayListener/index.js +2 -0
- package/lib/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +4 -0
- package/lib/hooks/__internal__/useFloating/index.js +2 -0
- package/lib/hooks/__internal__/useFloating/useFloating.js +8 -0
- package/lib/hooks/__internal__/useInputAccessibility/index.js +2 -0
- package/lib/hooks/__internal__/useInputAccessibility/useInputAccessibility.js +1 -0
- package/lib/hooks/__internal__/useIsAboveBreakpoint/index.js +2 -0
- package/lib/hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js +3 -0
- package/lib/hooks/__internal__/useIsStickyFooterForm/index.js +2 -0
- package/lib/hooks/__internal__/useIsStickyFooterForm/useIsStickyFooterForm.js +8 -0
- package/lib/hooks/__internal__/useLocale/index.js +2 -0
- package/lib/hooks/__internal__/useLocale/useLocale.js +4 -0
- package/lib/hooks/__internal__/useMenuKeyboardNavigation/index.js +2 -0
- package/lib/hooks/__internal__/useMenuKeyboardNavigation/useMenuKeyboardNavigation.js +23 -2
- package/lib/hooks/__internal__/useModalManager/index.js +2 -0
- package/lib/hooks/__internal__/useModalManager/useModalManager.js +9 -0
- package/lib/hooks/__internal__/usePrevious/index.js +2 -0
- package/lib/hooks/__internal__/useResizeObserver/index.js +2 -0
- package/lib/hooks/__internal__/useResizeObserver/useResizeObserver.js +10 -3
- package/lib/hooks/__internal__/useScrollBlock/index.js +2 -0
- package/lib/hooks/__internal__/useScrollBlock/scroll-block-manager.js +17 -6
- package/lib/hooks/__internal__/useScrollBlock/useScrollBlock.js +18 -8
- package/lib/hooks/useMediaQuery/index.js +2 -0
- package/lib/hooks/useMediaQuery/useMediaQuery.js +8 -0
- package/lib/locales/date-fns-locales/index.js +2 -0
- package/lib/locales/en-gb.js +9 -1
- package/lib/locales/index.js +3 -0
- package/lib/locales/pl-pl.js +9 -1
- package/lib/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +5 -1
- package/lib/style/design-tokens/carbon-scoped-tokens-provider/index.js +2 -0
- package/lib/style/design-tokens/debug-theme.util.js +12 -5
- package/lib/style/design-tokens/generate-css-variables.util.js +2 -0
- package/lib/style/global-style.js +2 -0
- package/lib/style/palette/index.js +9 -2
- package/lib/style/themes/aegean/aegean-theme.config.js +5 -0
- package/lib/style/themes/aegean/index.js +5 -0
- package/lib/style/themes/base/base-theme.config.js +9 -2
- package/lib/style/themes/base/index.js +12 -4
- package/lib/style/themes/index.js +7 -0
- package/lib/style/themes/medium/index.js +3 -0
- package/lib/style/themes/mint/index.js +5 -0
- package/lib/style/themes/mint/mint-theme.config.js +5 -0
- package/lib/style/themes/none/index.js +5 -0
- package/lib/style/themes/none/none-theme.config.js +2 -0
- package/lib/style/themes/sage/index.js +6 -4
- package/lib/style/themes/small/index.js +3 -0
- package/lib/style/themes/test-utils.js +6 -4
- package/lib/style/utils/add-hex-symbols.js +3 -0
- package/lib/style/utils/at-opacity.js +3 -0
- package/lib/style/utils/color.js +14 -3
- package/lib/style/utils/filter-out-position-props.js +4 -0
- package/lib/style/utils/filter-out-styled-system-spacing-props.js +4 -0
- package/lib/style/utils/filter-styled-system-margin-props.js +4 -0
- package/lib/style/utils/filter-styled-system-padding-props.js +5 -2
- package/lib/style/utils/form-style-utils.js +18 -0
- package/lib/style/utils/get-color-value.js +5 -0
- package/lib/style/utils/get-rgb-values.js +2 -1
- package/lib/style/utils/index.js +4 -0
- package/lib/style/utils/merge-deep.js +7 -1
- package/lib/style/utils/mix.js +9 -1
- package/lib/style/utils/shade.js +4 -0
- package/lib/style/utils/tint.js +4 -0
- package/lib/style/utils/width.js +4 -0
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
2
3
|
import React, { useState, useEffect, useRef, useCallback, useMemo } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import propTypes from "@styled-system/prop-types";
|
|
@@ -59,8 +60,7 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
59
60
|
const childOptions = useMemo(() => React.Children.toArray(children), [children]);
|
|
60
61
|
const createCustomEvent = useCallback(newValue => {
|
|
61
62
|
const customEvent = {
|
|
62
|
-
target: {
|
|
63
|
-
...(name && {
|
|
63
|
+
target: { ...(name && {
|
|
64
64
|
name
|
|
65
65
|
}),
|
|
66
66
|
...(id && {
|
|
@@ -75,15 +75,19 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
75
75
|
setSelectedValue(previousValue => {
|
|
76
76
|
const previousIndex = childOptions.findIndex(child => isExpectedOption(child, previousValue));
|
|
77
77
|
const match = getNextChildByText(newFilterText, childOptions, previousIndex);
|
|
78
|
+
|
|
78
79
|
if (!match) {
|
|
79
80
|
return previousValue;
|
|
80
81
|
}
|
|
82
|
+
|
|
81
83
|
if (onChange) {
|
|
82
84
|
onChange(createCustomEvent(match.props.value));
|
|
83
85
|
}
|
|
86
|
+
|
|
84
87
|
if (isControlled.current) {
|
|
85
88
|
return previousValue;
|
|
86
89
|
}
|
|
90
|
+
|
|
87
91
|
setTextValue(match.props.text);
|
|
88
92
|
return match.props.value;
|
|
89
93
|
});
|
|
@@ -98,6 +102,7 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
98
102
|
filterText.current = newCharacter;
|
|
99
103
|
selectValueStartingWithText(newCharacter);
|
|
100
104
|
}
|
|
105
|
+
|
|
101
106
|
isTimerCounting.current = true;
|
|
102
107
|
clearTimeout(filterTimer.current);
|
|
103
108
|
filterTimer.current = setTimeout(() => {
|
|
@@ -109,18 +114,22 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
109
114
|
const {
|
|
110
115
|
key
|
|
111
116
|
} = event;
|
|
117
|
+
|
|
112
118
|
if (onKeyDown) {
|
|
113
119
|
onKeyDown(event);
|
|
114
120
|
}
|
|
121
|
+
|
|
115
122
|
if (readOnly) {
|
|
116
123
|
return;
|
|
117
124
|
}
|
|
125
|
+
|
|
118
126
|
if (key === "Enter" || key === " " || isNavigationKey(key)) {
|
|
119
127
|
event.preventDefault();
|
|
120
128
|
setOpenState(isAlreadyOpen => {
|
|
121
129
|
if (!isAlreadyOpen && onOpen) {
|
|
122
130
|
onOpen();
|
|
123
131
|
}
|
|
132
|
+
|
|
124
133
|
return true;
|
|
125
134
|
});
|
|
126
135
|
} else if (key.length === 1 && !event.metaKey && !event.ctrlKey) {
|
|
@@ -131,9 +140,11 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
131
140
|
const notInContainer = containerRef.current && !containerRef.current.contains(event.target);
|
|
132
141
|
const notInList = listboxRef.current && !listboxRef.current.contains(event.target);
|
|
133
142
|
isMouseDownReported.current = false;
|
|
143
|
+
|
|
134
144
|
if (notInContainer && notInList && !isClickTriggeredBySelect.current) {
|
|
135
145
|
setOpenState(false);
|
|
136
146
|
}
|
|
147
|
+
|
|
137
148
|
isClickTriggeredBySelect.current = false;
|
|
138
149
|
}, []);
|
|
139
150
|
useEffect(() => {
|
|
@@ -141,6 +152,7 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
141
152
|
const onChangeMissingMessage = "onChange prop required when using a controlled input element";
|
|
142
153
|
!(isControlled.current === (value !== undefined)) ? process.env.NODE_ENV !== "production" ? invariant(false, modeSwitchedMessage) : invariant(false) : void 0;
|
|
143
154
|
!(!isControlled.current || isControlled.current && onChange) ? process.env.NODE_ENV !== "production" ? invariant(false, onChangeMissingMessage) : invariant(false) : void 0;
|
|
155
|
+
|
|
144
156
|
if (isControlled.current) {
|
|
145
157
|
setSelectedValue(value);
|
|
146
158
|
}
|
|
@@ -148,9 +160,11 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
148
160
|
useEffect(() => {
|
|
149
161
|
const matchingOption = childOptions.find(child => isExpectedOption(child, selectedValue));
|
|
150
162
|
let newText = "";
|
|
163
|
+
|
|
151
164
|
if (matchingOption) {
|
|
152
165
|
newText = matchingOption.props.text;
|
|
153
166
|
}
|
|
167
|
+
|
|
154
168
|
setTextValue(newText);
|
|
155
169
|
}, [selectedValue, childOptions]);
|
|
156
170
|
useEffect(() => {
|
|
@@ -165,61 +179,78 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
165
179
|
clearTimeout(filterTimer.current);
|
|
166
180
|
};
|
|
167
181
|
}, []);
|
|
182
|
+
|
|
168
183
|
function handleDropdownIconClick(event) {
|
|
169
184
|
handleTextboxClick(event);
|
|
170
185
|
}
|
|
186
|
+
|
|
171
187
|
function handleListMouseDown() {
|
|
172
188
|
isMouseDownReported.current = true;
|
|
173
189
|
}
|
|
190
|
+
|
|
174
191
|
function handleTextboxBlur(event) {
|
|
175
192
|
if (isMouseDownReported.current) {
|
|
176
193
|
return;
|
|
177
194
|
}
|
|
195
|
+
|
|
178
196
|
if (onBlur) {
|
|
179
197
|
onBlur(event);
|
|
180
198
|
}
|
|
181
199
|
}
|
|
200
|
+
|
|
182
201
|
function handleTextboxClick(event) {
|
|
183
202
|
isMouseDownReported.current = false;
|
|
203
|
+
|
|
184
204
|
if (onClick) {
|
|
185
205
|
onClick(event);
|
|
186
206
|
}
|
|
207
|
+
|
|
187
208
|
setOpenState(isAlreadyOpen => {
|
|
188
209
|
if (isAlreadyOpen) {
|
|
189
210
|
return false;
|
|
190
211
|
}
|
|
212
|
+
|
|
191
213
|
if (onOpen) {
|
|
192
214
|
onOpen();
|
|
193
215
|
}
|
|
216
|
+
|
|
194
217
|
return true;
|
|
195
218
|
});
|
|
196
219
|
}
|
|
220
|
+
|
|
197
221
|
function handleTextboxMouseDown() {
|
|
198
222
|
isMouseDownReported.current = true;
|
|
199
223
|
}
|
|
224
|
+
|
|
200
225
|
function handleTextboxFocus(event) {
|
|
201
226
|
if (isClickTriggeredBySelect.current) {
|
|
202
227
|
return;
|
|
203
228
|
}
|
|
229
|
+
|
|
204
230
|
if (onFocus) {
|
|
205
231
|
onFocus(event);
|
|
206
232
|
}
|
|
233
|
+
|
|
207
234
|
if (isMouseDownReported.current) {
|
|
208
235
|
isMouseDownReported.current = false;
|
|
209
236
|
return;
|
|
210
237
|
}
|
|
238
|
+
|
|
211
239
|
if (openOnFocus) {
|
|
212
240
|
setOpenState(isAlreadyOpen => {
|
|
213
241
|
if (isAlreadyOpen) {
|
|
214
242
|
return true;
|
|
215
243
|
}
|
|
244
|
+
|
|
216
245
|
if (onOpen) {
|
|
217
246
|
onOpen();
|
|
218
247
|
}
|
|
248
|
+
|
|
219
249
|
return true;
|
|
220
250
|
});
|
|
221
251
|
}
|
|
222
252
|
}
|
|
253
|
+
|
|
223
254
|
function onSelectOption(optionData) {
|
|
224
255
|
const {
|
|
225
256
|
text,
|
|
@@ -230,32 +261,40 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
230
261
|
const isClickTriggered = selectionType === "click";
|
|
231
262
|
updateValue(newValue, text);
|
|
232
263
|
setActiveDescendantId(selectedOptionId);
|
|
264
|
+
|
|
233
265
|
if (selectionType !== "navigationKey") {
|
|
234
266
|
setOpenState(false);
|
|
235
267
|
}
|
|
268
|
+
|
|
236
269
|
if (isClickTriggered) {
|
|
237
270
|
isClickTriggeredBySelect.current = true;
|
|
238
271
|
textboxRef.focus();
|
|
239
272
|
}
|
|
240
273
|
}
|
|
274
|
+
|
|
241
275
|
function updateValue(newValue, text) {
|
|
242
276
|
if (!isControlled.current) {
|
|
243
277
|
setSelectedValue(newValue);
|
|
244
278
|
setTextValue(text);
|
|
245
279
|
}
|
|
280
|
+
|
|
246
281
|
if (onChange) {
|
|
247
282
|
onChange(createCustomEvent(newValue));
|
|
248
283
|
}
|
|
249
284
|
}
|
|
285
|
+
|
|
250
286
|
function onSelectListClose() {
|
|
251
287
|
setOpenState(false);
|
|
252
288
|
}
|
|
289
|
+
|
|
253
290
|
function assignInput(input) {
|
|
254
291
|
setTextboxRef(input.current);
|
|
292
|
+
|
|
255
293
|
if (inputRef) {
|
|
256
294
|
inputRef.current = input.current;
|
|
257
295
|
}
|
|
258
296
|
}
|
|
297
|
+
|
|
259
298
|
function getTextboxProps() {
|
|
260
299
|
return {
|
|
261
300
|
id,
|
|
@@ -276,6 +315,7 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
276
315
|
...filterOutStyledSystemSpacingProps(props)
|
|
277
316
|
};
|
|
278
317
|
}
|
|
318
|
+
|
|
279
319
|
const selectList = /*#__PURE__*/React.createElement(SelectList, {
|
|
280
320
|
ref: listboxRef,
|
|
281
321
|
id: selectListId.current,
|
|
@@ -318,42 +358,60 @@ SimpleSelect.propTypes = {
|
|
|
318
358
|
/** Styled system spacing props */
|
|
319
359
|
...propTypes.space,
|
|
320
360
|
...formInputPropTypes,
|
|
361
|
+
|
|
321
362
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
322
363
|
"data-component": PropTypes.string,
|
|
364
|
+
|
|
323
365
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
324
366
|
"data-element": PropTypes.string,
|
|
367
|
+
|
|
325
368
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
326
369
|
"data-role": PropTypes.string,
|
|
370
|
+
|
|
327
371
|
/** The selected value(s), when the component is operating in controlled mode */
|
|
328
372
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
373
|
+
|
|
329
374
|
/** Boolean to toggle where SelectList is rendered in relation to the Select Input */
|
|
330
375
|
disablePortal: PropTypes.bool,
|
|
376
|
+
|
|
331
377
|
/** The default selected value(s), when the component is operating in uncontrolled mode */
|
|
332
378
|
defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
379
|
+
|
|
333
380
|
/** Child components (such as Option or OptionRow) for the SelectList */
|
|
334
381
|
children: PropTypes.node.isRequired,
|
|
382
|
+
|
|
335
383
|
/** If true the Component opens on focus */
|
|
336
384
|
openOnFocus: PropTypes.bool,
|
|
385
|
+
|
|
337
386
|
/** If true the component input has no border and a transparent background */
|
|
338
387
|
transparent: PropTypes.bool,
|
|
388
|
+
|
|
339
389
|
/** SelectList table header, should consist of multiple th elements.
|
|
340
390
|
Works only in multiColumn mode */
|
|
341
391
|
tableHeader: PropTypes.node,
|
|
392
|
+
|
|
342
393
|
/** When true component will work in multi column mode.
|
|
343
394
|
Children should consist of OptionRow components in this mode */
|
|
344
395
|
multiColumn: PropTypes.bool,
|
|
396
|
+
|
|
345
397
|
/** A custom callback for when the dropdown menu opens */
|
|
346
398
|
onOpen: PropTypes.func,
|
|
399
|
+
|
|
347
400
|
/** If true the loader animation is displayed below the last option */
|
|
348
401
|
isLoading: PropTypes.bool,
|
|
402
|
+
|
|
349
403
|
/** A callback that is triggered when a user scrolls to the bottom of the list */
|
|
350
404
|
onListScrollBottom: PropTypes.func,
|
|
405
|
+
|
|
351
406
|
/** Overrides the default tooltip position */
|
|
352
407
|
tooltipPosition: PropTypes.oneOf(["top", "bottom", "left", "right"]),
|
|
408
|
+
|
|
353
409
|
/** Maximum list height - defaults to 180 */
|
|
354
410
|
listMaxHeight: PropTypes.number,
|
|
411
|
+
|
|
355
412
|
/** Placement of the select list in relation to the input element */
|
|
356
413
|
listPlacement: PropTypes.oneOf(["top", "bottom", "right", "left"]),
|
|
414
|
+
|
|
357
415
|
/** Use the opposite list placement if the set placement does not fit */
|
|
358
416
|
flipEnabled: PropTypes.bool
|
|
359
417
|
};
|
|
@@ -6,26 +6,34 @@ export default function getNextChildByText(textToMatch, arrayOfChildren, previou
|
|
|
6
6
|
const isTheSameCharacter = textToMatch.split("").every(character => character === lastCharacter);
|
|
7
7
|
let indexOfMatch = findElementStartingWithText(textToMatch, arrayOfChildren);
|
|
8
8
|
const listOfMatches = getListOfMatches(arrayOfChildren, lastCharacter);
|
|
9
|
+
|
|
9
10
|
if (isTheSameCharacter && listOfMatches.length > 1) {
|
|
10
11
|
indexOfMatch = getIndexOfNextElement(listOfMatches, previousIndex);
|
|
11
12
|
}
|
|
13
|
+
|
|
12
14
|
return arrayOfChildren[indexOfMatch];
|
|
13
15
|
}
|
|
16
|
+
|
|
14
17
|
function getListOfMatches(arrayOfChildren, lastCharacter) {
|
|
15
18
|
return arrayOfChildren.reduce((acc, child, index) => {
|
|
16
19
|
if (child.props.text && child.props.text.toLowerCase().startsWith(lastCharacter.toLowerCase())) {
|
|
17
20
|
acc.push(index);
|
|
18
21
|
}
|
|
22
|
+
|
|
19
23
|
return acc;
|
|
20
24
|
}, []);
|
|
21
25
|
}
|
|
26
|
+
|
|
22
27
|
function getIndexOfNextElement(listOfMatches, previousIndex) {
|
|
23
28
|
const isLastIndex = previousIndex === listOfMatches[listOfMatches.length - 1];
|
|
29
|
+
|
|
24
30
|
if (isLastIndex) {
|
|
25
31
|
return listOfMatches[0];
|
|
26
32
|
}
|
|
33
|
+
|
|
27
34
|
return listOfMatches[listOfMatches.indexOf(previousIndex) + 1];
|
|
28
35
|
}
|
|
36
|
+
|
|
29
37
|
function findElementStartingWithText(textToMatch, list) {
|
|
30
38
|
return list.findIndex(child => {
|
|
31
39
|
return child.props.text && child.props.text.toLowerCase().startsWith(textToMatch.toLowerCase());
|
|
@@ -2,46 +2,59 @@ export const PAGE_SIZE = 4;
|
|
|
2
2
|
export default function getNextIndexByKey(key, currentIndex, lastIndex, isLoading) {
|
|
3
3
|
const isNoOptionSelected = currentIndex === -1;
|
|
4
4
|
let newIndex = currentIndex;
|
|
5
|
+
|
|
5
6
|
switch (key) {
|
|
6
7
|
case "Home":
|
|
7
8
|
newIndex = 0;
|
|
8
9
|
break;
|
|
10
|
+
|
|
9
11
|
case "End":
|
|
10
12
|
newIndex = lastIndex;
|
|
11
13
|
break;
|
|
14
|
+
|
|
12
15
|
case "ArrowDown":
|
|
13
16
|
if (isLoading && currentIndex === lastIndex) {
|
|
14
17
|
return lastIndex;
|
|
15
18
|
}
|
|
19
|
+
|
|
16
20
|
if (currentIndex === lastIndex || isNoOptionSelected) {
|
|
17
21
|
newIndex = 0;
|
|
18
22
|
} else {
|
|
19
23
|
newIndex = currentIndex + 1;
|
|
20
24
|
}
|
|
25
|
+
|
|
21
26
|
break;
|
|
27
|
+
|
|
22
28
|
case "ArrowUp":
|
|
23
29
|
if (currentIndex === 0 || isNoOptionSelected) {
|
|
24
30
|
newIndex = lastIndex;
|
|
25
31
|
} else {
|
|
26
32
|
newIndex = currentIndex - 1;
|
|
27
33
|
}
|
|
34
|
+
|
|
28
35
|
break;
|
|
36
|
+
|
|
29
37
|
case "PageDown":
|
|
30
38
|
if (isNoOptionSelected) {
|
|
31
39
|
newIndex = Math.min(PAGE_SIZE - 1, lastIndex);
|
|
32
40
|
} else {
|
|
33
41
|
newIndex = Math.min(currentIndex + PAGE_SIZE, lastIndex);
|
|
34
42
|
}
|
|
43
|
+
|
|
35
44
|
break;
|
|
45
|
+
|
|
36
46
|
case "PageUp":
|
|
37
47
|
if (isNoOptionSelected) {
|
|
38
48
|
newIndex = Math.max(lastIndex + 1 - PAGE_SIZE, 0);
|
|
39
49
|
} else {
|
|
40
50
|
newIndex = Math.max(currentIndex - PAGE_SIZE, 0);
|
|
41
51
|
}
|
|
52
|
+
|
|
42
53
|
break;
|
|
54
|
+
|
|
43
55
|
default:
|
|
44
56
|
break;
|
|
45
57
|
}
|
|
58
|
+
|
|
46
59
|
return newIndex;
|
|
47
60
|
}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import MatchingText from "./matching-text.style";
|
|
3
|
+
|
|
3
4
|
function highlightPartOfText(text, partToHighlight) {
|
|
4
5
|
if (!partToHighlight || !partToHighlight.length || !text) return text;
|
|
5
6
|
const lowercaseText = text.toLowerCase();
|
|
6
7
|
const lowercasePart = partToHighlight.toLowerCase();
|
|
7
8
|
const indexOfFirstMatch = lowercaseText.indexOf(lowercasePart);
|
|
9
|
+
|
|
8
10
|
if (indexOfFirstMatch === -1) {
|
|
9
11
|
return text;
|
|
10
12
|
}
|
|
13
|
+
|
|
11
14
|
const precedingText = text.substr(0, indexOfFirstMatch);
|
|
12
15
|
const matchingText = text.substr(indexOfFirstMatch, partToHighlight.length);
|
|
13
16
|
let followingText = text.substr(indexOfFirstMatch + partToHighlight.length, text.length);
|
|
17
|
+
|
|
14
18
|
if (followingText.length >= partToHighlight.length) {
|
|
15
19
|
followingText = highlightPartOfText(followingText, partToHighlight);
|
|
16
20
|
}
|
|
21
|
+
|
|
17
22
|
const newValue = [/*#__PURE__*/React.createElement("span", {
|
|
18
23
|
key: "preceding"
|
|
19
24
|
}, precedingText), /*#__PURE__*/React.createElement(MatchingText, {
|
|
@@ -23,10 +28,12 @@ function highlightPartOfText(text, partToHighlight) {
|
|
|
23
28
|
}, followingText)];
|
|
24
29
|
return newValue;
|
|
25
30
|
}
|
|
31
|
+
|
|
26
32
|
export default function highlightPartOfTextRecursive(child, partToHighlight) {
|
|
27
33
|
if (typeof child === "string") {
|
|
28
34
|
return highlightPartOfText(child, partToHighlight);
|
|
29
35
|
}
|
|
36
|
+
|
|
30
37
|
const highlightedChildren = React.Children.map(child.props.children, grandChild => highlightPartOfTextRecursive(grandChild, partToHighlight));
|
|
31
38
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
32
39
|
children: highlightedChildren
|
|
@@ -5,14 +5,18 @@ export default function isExpectedOption(element, expectedValue) {
|
|
|
5
5
|
if (element.type !== Option && element.type !== OptionRow) {
|
|
6
6
|
return false;
|
|
7
7
|
}
|
|
8
|
+
|
|
8
9
|
if (expectedValue === null || expectedValue === undefined) {
|
|
9
10
|
return false;
|
|
10
11
|
}
|
|
12
|
+
|
|
11
13
|
const {
|
|
12
14
|
length
|
|
13
15
|
} = typeof expectedValue === "string" ? expectedValue : Object.keys(expectedValue);
|
|
16
|
+
|
|
14
17
|
if (!length) {
|
|
15
18
|
return false;
|
|
16
19
|
}
|
|
20
|
+
|
|
17
21
|
return isExpectedValue(element.props.value, expectedValue);
|
|
18
22
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
2
3
|
import React, { useCallback } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import useLocale from "../../../hooks/__internal__/useLocale";
|
|
@@ -7,15 +8,20 @@ import StyledOption from "../option/option.style";
|
|
|
7
8
|
import Option from "../option/option.component";
|
|
8
9
|
import OptionRow from "../option-row/option-row.component";
|
|
9
10
|
import highlightPartOfText from "./highlight-part-of-text";
|
|
11
|
+
|
|
10
12
|
const filterOptions = (option, filterText) => {
|
|
11
13
|
var _option$props$text;
|
|
14
|
+
|
|
12
15
|
const processedText = (_option$props$text = option.props.text) === null || _option$props$text === void 0 ? void 0 : _option$props$text.toLowerCase();
|
|
13
16
|
const processedValue = filterText.toLowerCase();
|
|
17
|
+
|
|
14
18
|
if (processedText.includes(processedValue)) {
|
|
15
19
|
return option;
|
|
16
20
|
}
|
|
21
|
+
|
|
17
22
|
return null;
|
|
18
23
|
};
|
|
24
|
+
|
|
19
25
|
const filterOptionRows = (optionRow, filterText) => {
|
|
20
26
|
const cells = React.Children.toArray(optionRow.props.children);
|
|
21
27
|
const hasText = cells.find(cell => {
|
|
@@ -23,31 +29,38 @@ const filterOptionRows = (optionRow, filterText) => {
|
|
|
23
29
|
const processedText = cell.props.children.toLowerCase();
|
|
24
30
|
const processedValue = filterText.toLowerCase();
|
|
25
31
|
return processedText.includes(processedValue);
|
|
26
|
-
}
|
|
27
|
-
|
|
32
|
+
} // filter recursively based on children
|
|
33
|
+
|
|
34
|
+
|
|
28
35
|
return filterOptionRows(cell, filterText);
|
|
29
36
|
});
|
|
37
|
+
|
|
30
38
|
if (hasText) {
|
|
31
39
|
return optionRow;
|
|
32
40
|
}
|
|
41
|
+
|
|
33
42
|
return null;
|
|
34
43
|
};
|
|
44
|
+
|
|
35
45
|
const filterChildren = filterText => children => {
|
|
36
46
|
// eslint-disable-next-line consistent-return
|
|
37
47
|
const filteredChildren = React.Children.map(children, child => {
|
|
38
48
|
if (child.type === Option) {
|
|
39
49
|
return filterOptions(child, filterText);
|
|
40
50
|
}
|
|
51
|
+
|
|
41
52
|
if (child.type === OptionRow) {
|
|
42
53
|
return filterOptionRows(child, filterText);
|
|
43
54
|
}
|
|
55
|
+
|
|
44
56
|
return null;
|
|
45
57
|
});
|
|
46
58
|
if (React.Children.count(filteredChildren)) return filteredChildren;
|
|
47
59
|
return null;
|
|
48
60
|
};
|
|
49
|
-
|
|
50
61
|
/** Filters wrapped component children based on provided filter text and highlights matching content */
|
|
62
|
+
|
|
63
|
+
|
|
51
64
|
const withFilter = WrappedComponent => {
|
|
52
65
|
const FilteredComponent = /*#__PURE__*/React.forwardRef(({
|
|
53
66
|
children,
|
|
@@ -61,12 +74,16 @@ const withFilter = WrappedComponent => {
|
|
|
61
74
|
const l = useLocale();
|
|
62
75
|
const getFilteredChildren = useCallback(() => {
|
|
63
76
|
let filteredElements = children;
|
|
77
|
+
|
|
64
78
|
if (filterText && !isLoading) {
|
|
65
79
|
filteredElements = filterChildren(filterText)(children);
|
|
80
|
+
|
|
66
81
|
if (!filteredElements) {
|
|
67
82
|
const noResultsText = l.select.noResultsForTerm(filterText);
|
|
83
|
+
|
|
68
84
|
if (multiColumn) {
|
|
69
85
|
var _tableHeader$props;
|
|
86
|
+
|
|
70
87
|
const colSpan = React.Children.count(tableHeader === null || tableHeader === void 0 ? void 0 : (_tableHeader$props = tableHeader.props) === null || _tableHeader$props === void 0 ? void 0 : _tableHeader$props.children);
|
|
71
88
|
return /*#__PURE__*/React.createElement(StyledOptionRow, null, /*#__PURE__*/React.createElement("td", {
|
|
72
89
|
style: {
|
|
@@ -75,10 +92,13 @@ const withFilter = WrappedComponent => {
|
|
|
75
92
|
colSpan: colSpan
|
|
76
93
|
}, noResultsMessage || noResultsText));
|
|
77
94
|
}
|
|
95
|
+
|
|
78
96
|
return /*#__PURE__*/React.createElement(StyledOption, null, noResultsMessage || noResultsText);
|
|
79
97
|
}
|
|
98
|
+
|
|
80
99
|
return addHighlightedContent(filteredElements, filterText);
|
|
81
100
|
}
|
|
101
|
+
|
|
82
102
|
return children;
|
|
83
103
|
}, [children, filterText, isLoading, multiColumn, noResultsMessage, tableHeader, l]);
|
|
84
104
|
return /*#__PURE__*/React.createElement(WrappedComponent, _extends({
|
|
@@ -90,22 +110,27 @@ const withFilter = WrappedComponent => {
|
|
|
90
110
|
ref: forwardedRef
|
|
91
111
|
}), getFilteredChildren());
|
|
92
112
|
});
|
|
113
|
+
|
|
93
114
|
function addHighlightedContent(filteredElements, filterText) {
|
|
94
115
|
return React.Children.map(filteredElements, child => {
|
|
95
116
|
let highlightedContent;
|
|
117
|
+
|
|
96
118
|
if (child.type === Option) {
|
|
97
119
|
highlightedContent = highlightPartOfText(child.props.text, filterText);
|
|
98
120
|
}
|
|
121
|
+
|
|
99
122
|
if (child.type === OptionRow) {
|
|
100
123
|
highlightedContent = React.Children.map(child.props.children, cell => /*#__PURE__*/React.cloneElement(cell, {
|
|
101
124
|
children: highlightPartOfText(cell.props.children, filterText)
|
|
102
125
|
}));
|
|
103
126
|
}
|
|
127
|
+
|
|
104
128
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
105
129
|
children: highlightedContent
|
|
106
130
|
});
|
|
107
131
|
});
|
|
108
132
|
}
|
|
133
|
+
|
|
109
134
|
FilteredComponent.propTypes = {
|
|
110
135
|
forwardedRef: PropTypes.object,
|
|
111
136
|
children: PropTypes.node,
|
|
@@ -117,4 +142,5 @@ const withFilter = WrappedComponent => {
|
|
|
117
142
|
};
|
|
118
143
|
return FilteredComponent;
|
|
119
144
|
};
|
|
145
|
+
|
|
120
146
|
export default withFilter;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
2
3
|
import React from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import styledSystemPropTypes from "@styled-system/prop-types";
|
|
@@ -7,6 +8,7 @@ import tagComponent from "../../__internal__/utils/helpers/tags/tags";
|
|
|
7
8
|
import { filterStyledSystemMarginProps } from "../../style/utils";
|
|
8
9
|
import { StyledSettingsRow, StyledSettingsRowHeader, StyledSettingsRowInput } from "./settings-row.style";
|
|
9
10
|
const marginPropTypes = filterStyledSystemMarginProps(styledSystemPropTypes.space);
|
|
11
|
+
|
|
10
12
|
const SettingsRow = ({
|
|
11
13
|
title,
|
|
12
14
|
description,
|
|
@@ -24,6 +26,7 @@ const SettingsRow = ({
|
|
|
24
26
|
divider: false
|
|
25
27
|
});
|
|
26
28
|
};
|
|
29
|
+
|
|
27
30
|
return /*#__PURE__*/React.createElement(StyledSettingsRow, _extends({
|
|
28
31
|
className: className,
|
|
29
32
|
hasDivider: divider
|
|
@@ -31,16 +34,21 @@ const SettingsRow = ({
|
|
|
31
34
|
m: 0
|
|
32
35
|
}, filterStyledSystemMarginProps(rest)), /*#__PURE__*/React.createElement(StyledSettingsRowHeader, null, heading()), /*#__PURE__*/React.createElement(StyledSettingsRowInput, null, children));
|
|
33
36
|
};
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
|
|
38
|
+
SettingsRow.propTypes = { ...marginPropTypes,
|
|
39
|
+
|
|
36
40
|
/** This component supports children. */
|
|
37
41
|
children: PropTypes.node,
|
|
42
|
+
|
|
38
43
|
/** The CSS classes to apply to the component. */
|
|
39
44
|
className: PropTypes.string,
|
|
45
|
+
|
|
40
46
|
/** A title for this group of settings. */
|
|
41
47
|
title: PropTypes.string,
|
|
48
|
+
|
|
42
49
|
/** A string or JSX object that provides a short description about the group of settings. */
|
|
43
50
|
description: PropTypes.node,
|
|
51
|
+
|
|
44
52
|
/** Shows a divider below the component. */
|
|
45
53
|
divider: PropTypes.bool
|
|
46
54
|
};
|