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,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import StyledCheckableInputSvgWrapper from "../../__internal__/checkable-input/checkable-input-svg-wrapper.style";
|
|
3
|
+
|
|
3
4
|
const RadioButtonSvg = () => {
|
|
4
5
|
return /*#__PURE__*/React.createElement(StyledCheckableInputSvgWrapper, null, /*#__PURE__*/React.createElement("svg", {
|
|
5
6
|
focusable: "false",
|
|
@@ -17,4 +18,5 @@ const RadioButtonSvg = () => {
|
|
|
17
18
|
r: "5"
|
|
18
19
|
}))));
|
|
19
20
|
};
|
|
21
|
+
|
|
20
22
|
export default /*#__PURE__*/React.memo(RadioButtonSvg, () => true);
|
|
@@ -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 styledSystemPropTypes from "@styled-system/prop-types";
|
|
@@ -50,8 +51,8 @@ const RadioButton = /*#__PURE__*/React.forwardRef(({
|
|
|
50
51
|
}, ref) => {
|
|
51
52
|
const marginProps = filterStyledSystemMarginProps(props);
|
|
52
53
|
const handleChange = useCallback(ev => {
|
|
53
|
-
onChange(ev);
|
|
54
|
-
|
|
54
|
+
onChange(ev); // trigger focus, as Safari doesn't focus radioButtons on click by default
|
|
55
|
+
|
|
55
56
|
ev.target.focus();
|
|
56
57
|
}, [onChange]);
|
|
57
58
|
const commonProps = {
|
|
@@ -63,8 +64,7 @@ const RadioButton = /*#__PURE__*/React.forwardRef(({
|
|
|
63
64
|
warning,
|
|
64
65
|
info
|
|
65
66
|
};
|
|
66
|
-
const inputProps = {
|
|
67
|
-
...commonProps,
|
|
67
|
+
const inputProps = { ...commonProps,
|
|
68
68
|
autoFocus,
|
|
69
69
|
checked,
|
|
70
70
|
fieldHelp,
|
|
@@ -80,6 +80,7 @@ const RadioButton = /*#__PURE__*/React.forwardRef(({
|
|
|
80
80
|
id,
|
|
81
81
|
value,
|
|
82
82
|
type: "radio",
|
|
83
|
+
|
|
83
84
|
/**
|
|
84
85
|
* Invert the reverse prop, to ensure the FormField component renders the components
|
|
85
86
|
* in the desired order (other elements which use FormField render their sub-components the
|
|
@@ -103,65 +104,90 @@ const RadioButton = /*#__PURE__*/React.forwardRef(({
|
|
|
103
104
|
}, commonProps, marginProps), /*#__PURE__*/React.createElement(CheckableInput, inputProps, /*#__PURE__*/React.createElement(RadioButtonSvg, null))));
|
|
104
105
|
});
|
|
105
106
|
RadioButton.displayName = "RadioButton";
|
|
106
|
-
RadioButton.propTypes = {
|
|
107
|
-
|
|
107
|
+
RadioButton.propTypes = { ...marginPropTypes,
|
|
108
|
+
|
|
108
109
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
109
110
|
"data-component": PropTypes.string,
|
|
111
|
+
|
|
110
112
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
111
113
|
"data-element": PropTypes.string,
|
|
114
|
+
|
|
112
115
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
113
116
|
"data-role": PropTypes.string,
|
|
117
|
+
|
|
114
118
|
/** If true the Component will be focused when page load */
|
|
115
119
|
autoFocus: PropTypes.bool,
|
|
120
|
+
|
|
116
121
|
/** Set the value of the radio button */
|
|
117
122
|
checked: PropTypes.bool,
|
|
123
|
+
|
|
118
124
|
/** Toggles disabling of input */
|
|
119
125
|
disabled: PropTypes.bool,
|
|
126
|
+
|
|
120
127
|
/** The fieldHelp content to display for the input */
|
|
121
128
|
fieldHelp: PropTypes.node,
|
|
129
|
+
|
|
122
130
|
/** Displays fieldHelp inline with the radio button */
|
|
123
131
|
fieldHelpInline: PropTypes.bool,
|
|
132
|
+
|
|
124
133
|
/** Unique Identifier for the input. Will use a randomly generated GUID if none is provided */
|
|
125
134
|
id: PropTypes.string,
|
|
135
|
+
|
|
126
136
|
/** Sets percentage-based input width */
|
|
127
137
|
inputWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
138
|
+
|
|
128
139
|
/** The content of the label for the input */
|
|
129
140
|
label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
|
|
141
|
+
|
|
130
142
|
/** The content for the help tooltip, to appear next to the Label */
|
|
131
143
|
labelHelp: PropTypes.node,
|
|
144
|
+
|
|
132
145
|
/** Sets label alignment - accepted values: 'left' (default), 'right' */
|
|
133
146
|
labelAlign: PropTypes.oneOf(["left", "right"]),
|
|
147
|
+
|
|
134
148
|
/** Spacing between label and a field for inline label, given number will be multiplied by base spacing unit (8) */
|
|
135
149
|
labelSpacing: PropTypes.oneOf([1, 2]),
|
|
150
|
+
|
|
136
151
|
/** Sets percentage-based label width */
|
|
137
152
|
labelWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
153
|
+
|
|
138
154
|
/** The name of the the RadioButton (can also be set via the 'name' prop of the RadioButtonGroup component) */
|
|
139
155
|
name: PropTypes.string,
|
|
156
|
+
|
|
140
157
|
/** Accepts a callback function which can be used to update parent state on change */
|
|
141
158
|
onChange: PropTypes.func,
|
|
159
|
+
|
|
142
160
|
/** Accepts a callback function which is triggered on blur event */
|
|
143
161
|
onBlur: PropTypes.func,
|
|
162
|
+
|
|
144
163
|
/** Accepts a callback function which is triggered on focus event */
|
|
145
164
|
onFocus: PropTypes.func,
|
|
165
|
+
|
|
146
166
|
/** Accepts a callback function which is triggered on click event */
|
|
147
167
|
onClick: PropTypes.func,
|
|
168
|
+
|
|
148
169
|
/** Reverses label and radio button display */
|
|
149
170
|
reverse: PropTypes.bool,
|
|
171
|
+
|
|
150
172
|
/**
|
|
151
173
|
* Set the size of the radio button to 'small' (16x16 - default) or 'large' (24x24).
|
|
152
174
|
* No effect when using Classic theme.
|
|
153
175
|
*/
|
|
154
176
|
size: PropTypes.oneOf(["small", "large"]),
|
|
177
|
+
|
|
155
178
|
/** the value of the Radio Button, passed on form submit */
|
|
156
179
|
value: PropTypes.string.isRequired,
|
|
157
180
|
children: (props, propName, componentName) => {
|
|
158
181
|
if (props[propName]) {
|
|
159
182
|
return new Error(`Forbidden prop \`${propName}\` supplied to \`${componentName}\`. ` + "This component is meant to be used as a self-closing tag. " + "You should probably use the label prop instead.");
|
|
160
183
|
}
|
|
184
|
+
|
|
161
185
|
return null;
|
|
162
186
|
},
|
|
187
|
+
|
|
163
188
|
/** Overrides the default tooltip position */
|
|
164
189
|
tooltipPosition: PropTypes.oneOf(["top", "bottom", "left", "right"]),
|
|
190
|
+
|
|
165
191
|
/** Aria label for rendered help component */
|
|
166
192
|
helpAriaLabel: PropTypes.string,
|
|
167
193
|
...radioButtonGroupPassedProps
|
|
@@ -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, useMemo, useEffect } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import invariant from "invariant";
|
|
@@ -9,6 +10,7 @@ import StyledSearchButton, { StyledButtonIcon } from "./search-button.style";
|
|
|
9
10
|
import Icon from "../icon";
|
|
10
11
|
import Textbox from "../textbox";
|
|
11
12
|
import Button from "../button";
|
|
13
|
+
|
|
12
14
|
const Search = ({
|
|
13
15
|
defaultValue,
|
|
14
16
|
onChange,
|
|
@@ -46,29 +48,37 @@ const Search = ({
|
|
|
46
48
|
const [iconType, iconTabIndex] = useMemo(() => {
|
|
47
49
|
const isSearchValueEmpty = !isControlled ? searchValue.length === 0 : value.length === 0;
|
|
48
50
|
const isFocusedOrActive = isFocused || searchIsActive || (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === document.activeElement;
|
|
51
|
+
|
|
49
52
|
if (!isSearchValueEmpty) {
|
|
50
53
|
return ["cross", 0];
|
|
51
54
|
}
|
|
55
|
+
|
|
52
56
|
if (!isFocusedOrActive || threshold === 0 || !searchButton && isSearchValueEmpty) {
|
|
53
57
|
return ["search", -1];
|
|
54
58
|
}
|
|
59
|
+
|
|
55
60
|
return [undefined, -1];
|
|
56
61
|
}, [isControlled, searchValue, value, isFocused, searchIsActive, threshold, searchButton, inputRef]);
|
|
57
62
|
let buttonProps = {};
|
|
63
|
+
|
|
58
64
|
const handleChange = event => {
|
|
59
65
|
if (onChange) {
|
|
60
66
|
onChange(event);
|
|
61
67
|
}
|
|
68
|
+
|
|
62
69
|
if (!isControlled) {
|
|
63
70
|
setSearchValue(event.target.value);
|
|
64
71
|
}
|
|
65
72
|
};
|
|
73
|
+
|
|
66
74
|
const handleFocus = event => {
|
|
67
75
|
setIsFocused(true);
|
|
76
|
+
|
|
68
77
|
if (onFocus) {
|
|
69
78
|
onFocus(event);
|
|
70
79
|
}
|
|
71
80
|
};
|
|
81
|
+
|
|
72
82
|
if (searchButton && onClick) {
|
|
73
83
|
buttonProps = {
|
|
74
84
|
onClick: () => {
|
|
@@ -82,12 +92,13 @@ const Search = ({
|
|
|
82
92
|
}
|
|
83
93
|
};
|
|
84
94
|
}
|
|
95
|
+
|
|
85
96
|
const handleIconClick = () => {
|
|
86
97
|
setSearchValue("");
|
|
98
|
+
|
|
87
99
|
if (onChange) {
|
|
88
100
|
onChange({
|
|
89
|
-
target: {
|
|
90
|
-
...(name && {
|
|
101
|
+
target: { ...(name && {
|
|
91
102
|
name
|
|
92
103
|
}),
|
|
93
104
|
...(id && {
|
|
@@ -98,28 +109,35 @@ const Search = ({
|
|
|
98
109
|
});
|
|
99
110
|
}
|
|
100
111
|
};
|
|
112
|
+
|
|
101
113
|
const handleMouseDown = event => {
|
|
102
114
|
event.preventDefault();
|
|
103
115
|
};
|
|
116
|
+
|
|
104
117
|
const handleBlur = event => {
|
|
105
118
|
setIsFocused(false);
|
|
119
|
+
|
|
106
120
|
if (onBlur) {
|
|
107
121
|
onBlur(event);
|
|
108
122
|
}
|
|
109
123
|
};
|
|
124
|
+
|
|
110
125
|
const handleKeyDown = event => {
|
|
111
126
|
if (event.key.length === 1) {
|
|
112
127
|
event.stopPropagation();
|
|
113
128
|
}
|
|
129
|
+
|
|
114
130
|
if (onKeyDown) {
|
|
115
131
|
onKeyDown(event);
|
|
116
132
|
}
|
|
117
133
|
};
|
|
134
|
+
|
|
118
135
|
const assignInput = input => {
|
|
119
136
|
if (inputRef) {
|
|
120
137
|
inputRef.current = input === null || input === void 0 ? void 0 : input.current;
|
|
121
138
|
}
|
|
122
139
|
};
|
|
140
|
+
|
|
123
141
|
const isSearchTyped = isFocused || (!isControlled ? !!searchValue.length : !!value.length);
|
|
124
142
|
return /*#__PURE__*/React.createElement(StyledSearch, _extends({
|
|
125
143
|
isFocused: isFocused,
|
|
@@ -157,6 +175,7 @@ const Search = ({
|
|
|
157
175
|
type: "search"
|
|
158
176
|
})))));
|
|
159
177
|
};
|
|
178
|
+
|
|
160
179
|
Search.propTypes = {
|
|
161
180
|
"aria-label": PropTypes.string,
|
|
162
181
|
"defaultValue": PropTypes.string,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import StyledSelectText from "./select-text.style";
|
|
4
|
+
|
|
4
5
|
const SelectText = ({
|
|
5
6
|
disabled,
|
|
6
7
|
formattedValue = "",
|
|
@@ -14,9 +15,11 @@ const SelectText = ({
|
|
|
14
15
|
size = "medium"
|
|
15
16
|
}) => {
|
|
16
17
|
const hasPlaceholder = !disabled && !readOnly && !formattedValue;
|
|
18
|
+
|
|
17
19
|
function handleClick(event) {
|
|
18
20
|
onClick(event);
|
|
19
21
|
}
|
|
22
|
+
|
|
20
23
|
return /*#__PURE__*/React.createElement(StyledSelectText, {
|
|
21
24
|
"aria-hidden": true,
|
|
22
25
|
"data-element": "select-text",
|
|
@@ -33,25 +36,35 @@ const SelectText = ({
|
|
|
33
36
|
size: size
|
|
34
37
|
}, hasPlaceholder ? placeholder : formattedValue);
|
|
35
38
|
};
|
|
39
|
+
|
|
36
40
|
SelectText.propTypes = {
|
|
37
41
|
/** If true the Component will be disabled */
|
|
38
42
|
disabled: PropTypes.bool,
|
|
43
|
+
|
|
39
44
|
/** Value to be displayed */
|
|
40
45
|
formattedValue: PropTypes.string,
|
|
46
|
+
|
|
41
47
|
/** Callback function for when the component is clicked. */
|
|
42
48
|
onClick: PropTypes.func,
|
|
49
|
+
|
|
43
50
|
/** Callback function for when the key is pressed when focused on Select Text. */
|
|
44
51
|
onKeyDown: PropTypes.func,
|
|
52
|
+
|
|
45
53
|
/** Callback function for when the left mouse key is pressed when focused on Select Text. */
|
|
46
54
|
onMouseDown: PropTypes.func,
|
|
55
|
+
|
|
47
56
|
/** Placeholder string to be displayed when formattedValue is empty */
|
|
48
57
|
placeholder: PropTypes.string,
|
|
58
|
+
|
|
49
59
|
/** If true the Component will be read-only */
|
|
50
60
|
readOnly: PropTypes.bool,
|
|
61
|
+
|
|
51
62
|
/** If true the component has no border and a transparent background */
|
|
52
63
|
transparent: PropTypes.bool,
|
|
64
|
+
|
|
53
65
|
/** Id of the Select Text element */
|
|
54
66
|
textId: PropTypes.string,
|
|
67
|
+
|
|
55
68
|
/** Component size */
|
|
56
69
|
size: PropTypes.string
|
|
57
70
|
};
|
|
@@ -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 } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import invariant from "invariant";
|
|
@@ -62,8 +63,7 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
62
63
|
const [filterText, setFilterText] = useState("");
|
|
63
64
|
const createCustomEvent = useCallback(newValue => {
|
|
64
65
|
const customEvent = {
|
|
65
|
-
target: {
|
|
66
|
-
...(name && {
|
|
66
|
+
target: { ...(name && {
|
|
67
67
|
name
|
|
68
68
|
}),
|
|
69
69
|
...(id && {
|
|
@@ -83,30 +83,37 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
83
83
|
setSelectedValue(previousValue => {
|
|
84
84
|
const match = findElementWithMatchingText(newFilterText, children);
|
|
85
85
|
const isFilterCleared = isDeleteEvent && newFilterText === "";
|
|
86
|
+
|
|
86
87
|
if (!match || isFilterCleared) {
|
|
87
88
|
setTextValue(newFilterText);
|
|
88
89
|
triggerChange("");
|
|
89
90
|
return "";
|
|
90
91
|
}
|
|
92
|
+
|
|
91
93
|
if (isDeleteEvent) {
|
|
92
94
|
setTextValue(newFilterText);
|
|
93
95
|
return match.props.value;
|
|
94
96
|
}
|
|
97
|
+
|
|
95
98
|
triggerChange(match.props.value);
|
|
99
|
+
|
|
96
100
|
if (match.props.text.toLowerCase().startsWith(newFilterText.toLowerCase())) {
|
|
97
101
|
setTextValue(match.props.text);
|
|
98
102
|
} else {
|
|
99
103
|
setTextValue(newFilterText);
|
|
100
104
|
}
|
|
105
|
+
|
|
101
106
|
if (isControlled.current) {
|
|
102
107
|
return previousValue;
|
|
103
108
|
}
|
|
109
|
+
|
|
104
110
|
setHighlightedValue(match.props.value);
|
|
105
111
|
return match.props.value;
|
|
106
112
|
});
|
|
107
113
|
}, [children, triggerChange]);
|
|
108
114
|
const setMatchingText = useCallback((newValue, isClosing) => {
|
|
109
115
|
const matchingOption = React.Children.toArray(children).find(child => isExpectedOption(child, newValue));
|
|
116
|
+
|
|
110
117
|
if (!matchingOption || matchingOption.props.text === undefined) {
|
|
111
118
|
setTextValue(filterText || "");
|
|
112
119
|
} else if (isClosing || matchingOption.props.text.toLowerCase().startsWith(filterText.toLowerCase())) {
|
|
@@ -125,6 +132,7 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
125
132
|
if (previousFilterText.length === textValue.length - 1 && key === textValue.slice(-1)) {
|
|
126
133
|
return textValue;
|
|
127
134
|
}
|
|
135
|
+
|
|
128
136
|
return previousFilterText;
|
|
129
137
|
});
|
|
130
138
|
}, [textValue]);
|
|
@@ -132,16 +140,20 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
132
140
|
const {
|
|
133
141
|
key
|
|
134
142
|
} = event;
|
|
143
|
+
|
|
135
144
|
if (onKeyDown) {
|
|
136
145
|
onKeyDown(event);
|
|
137
146
|
}
|
|
147
|
+
|
|
138
148
|
if (readOnly) {
|
|
139
149
|
return;
|
|
140
150
|
}
|
|
151
|
+
|
|
141
152
|
if (!event.defaultPrevented && isNavigationKey(key)) {
|
|
142
153
|
event.preventDefault();
|
|
143
154
|
setOpen(true);
|
|
144
155
|
}
|
|
156
|
+
|
|
145
157
|
fillLastFilterCharacter(key);
|
|
146
158
|
}, [fillLastFilterCharacter, onKeyDown, readOnly]);
|
|
147
159
|
const valueToUse = isControlled.current ? value : selectedValue;
|
|
@@ -149,6 +161,7 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
149
161
|
const notInContainer = containerRef.current && !containerRef.current.contains(event.target);
|
|
150
162
|
const notInList = listboxRef.current && !listboxRef.current.contains(event.target);
|
|
151
163
|
isMouseDownReported.current = false;
|
|
164
|
+
|
|
152
165
|
if (notInContainer && notInList) {
|
|
153
166
|
setMatchingText(valueToUse, true);
|
|
154
167
|
setOpen(false);
|
|
@@ -159,11 +172,13 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
159
172
|
const onChangeMissingMessage = "onChange prop required when using a controlled input element";
|
|
160
173
|
!(isControlled.current === (value !== undefined)) ? process.env.NODE_ENV !== "production" ? invariant(false, modeSwitchedMessage) : invariant(false) : void 0;
|
|
161
174
|
!(!isControlled.current || isControlled.current && onChange) ? process.env.NODE_ENV !== "production" ? invariant(false, onChangeMissingMessage) : invariant(false) : void 0;
|
|
175
|
+
|
|
162
176
|
if (isControlled.current) {
|
|
163
177
|
setSelectedValue(prevValue => {
|
|
164
178
|
if (value && prevValue !== value) {
|
|
165
179
|
setMatchingText(value);
|
|
166
180
|
}
|
|
181
|
+
|
|
167
182
|
return value;
|
|
168
183
|
});
|
|
169
184
|
setHighlightedValue(value);
|
|
@@ -171,13 +186,14 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
171
186
|
if (textValue !== selectedValue) {
|
|
172
187
|
setMatchingText(selectedValue);
|
|
173
188
|
}
|
|
189
|
+
|
|
174
190
|
if (highlightedValue !== selectedValue) {
|
|
175
191
|
setHighlightedValue(selectedValue);
|
|
176
192
|
}
|
|
177
|
-
}
|
|
178
|
-
// prevent value update on filter change
|
|
193
|
+
} // prevent value update on filter change
|
|
179
194
|
// selectedValue and highlightedValue omitted from deps, only want uncontrolled change if onChange/children update
|
|
180
195
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
196
|
+
|
|
181
197
|
}, [value, onChange, children]);
|
|
182
198
|
useEffect(() => {
|
|
183
199
|
if (!isOpen) {
|
|
@@ -194,9 +210,9 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
194
210
|
useEffect(() => {
|
|
195
211
|
if (isControlled.current) {
|
|
196
212
|
setMatchingText(value);
|
|
197
|
-
}
|
|
198
|
-
// update text value only when children are changing
|
|
213
|
+
} // update text value only when children are changing
|
|
199
214
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
215
|
+
|
|
200
216
|
}, [value, children]);
|
|
201
217
|
useEffect(() => {
|
|
202
218
|
if (onFilterChange) {
|
|
@@ -213,6 +229,7 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
213
229
|
useEffect(() => {
|
|
214
230
|
const textStartsWithFilter = textValue.toLowerCase().startsWith(filterText.toLowerCase());
|
|
215
231
|
const isTextboxActive = !disabled && !readOnly;
|
|
232
|
+
|
|
216
233
|
if (isTextboxActive && textboxRef && filterText.length && textValue.length > filterText.length && textStartsWithFilter) {
|
|
217
234
|
textboxRef.selectionStart = filterText.length;
|
|
218
235
|
}
|
|
@@ -224,18 +241,22 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
224
241
|
value: newValue,
|
|
225
242
|
selectionType
|
|
226
243
|
} = optionData;
|
|
244
|
+
|
|
227
245
|
if (selectionType === "tab") {
|
|
228
246
|
setOpen(false);
|
|
229
247
|
textboxRef.focus();
|
|
230
248
|
return;
|
|
231
249
|
}
|
|
250
|
+
|
|
232
251
|
if (!isControlled.current) {
|
|
233
252
|
setSelectedValue(newValue);
|
|
234
253
|
setHighlightedValue(newValue);
|
|
235
254
|
}
|
|
255
|
+
|
|
236
256
|
setTextValue(text);
|
|
237
257
|
triggerChange(newValue);
|
|
238
258
|
setActiveDescendantId(selectedOptionId);
|
|
259
|
+
|
|
239
260
|
if (selectionType !== "navigationKey") {
|
|
240
261
|
setOpen(false);
|
|
241
262
|
textboxRef.focus();
|
|
@@ -246,38 +267,49 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
246
267
|
setOpen(false);
|
|
247
268
|
setMatchingText(selectedValue, true);
|
|
248
269
|
}, [selectedValue, setMatchingText]);
|
|
270
|
+
|
|
249
271
|
function handleTextboxClick(event) {
|
|
250
272
|
isMouseDownReported.current = false;
|
|
273
|
+
|
|
251
274
|
if (onClick) {
|
|
252
275
|
onClick(event);
|
|
253
276
|
}
|
|
254
277
|
}
|
|
278
|
+
|
|
255
279
|
function handleDropdownIconClick(event) {
|
|
256
280
|
isMouseDownReported.current = false;
|
|
281
|
+
|
|
257
282
|
if (onClick) {
|
|
258
283
|
onClick(event);
|
|
259
284
|
}
|
|
285
|
+
|
|
260
286
|
setOpen(isAlreadyOpen => {
|
|
261
287
|
return !isAlreadyOpen;
|
|
262
288
|
});
|
|
263
289
|
}
|
|
290
|
+
|
|
264
291
|
function handleTextboxFocus(event) {
|
|
265
292
|
const triggerFocus = () => onFocus(event);
|
|
293
|
+
|
|
266
294
|
if (openOnFocus) {
|
|
267
295
|
setOpen(isAlreadyOpen => {
|
|
268
296
|
if (isAlreadyOpen) {
|
|
269
297
|
return true;
|
|
270
298
|
}
|
|
299
|
+
|
|
271
300
|
if (onOpen) {
|
|
272
301
|
onOpen();
|
|
273
302
|
}
|
|
303
|
+
|
|
274
304
|
if (onFocus && !isInputFocused.current) {
|
|
275
305
|
triggerFocus();
|
|
276
306
|
isInputFocused.current = true;
|
|
277
307
|
}
|
|
308
|
+
|
|
278
309
|
if (isMouseDownReported.current && !isMouseDownOnInput.current) {
|
|
279
310
|
return false;
|
|
280
311
|
}
|
|
312
|
+
|
|
281
313
|
return true;
|
|
282
314
|
});
|
|
283
315
|
} else if (onFocus && !isInputFocused.current) {
|
|
@@ -285,25 +317,33 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
285
317
|
isInputFocused.current = true;
|
|
286
318
|
}
|
|
287
319
|
}
|
|
320
|
+
|
|
288
321
|
function handleTextboxBlur(event) {
|
|
289
322
|
isMouseDownOnInput.current = false;
|
|
323
|
+
|
|
290
324
|
if (isMouseDownReported.current) {
|
|
291
325
|
return;
|
|
292
326
|
}
|
|
327
|
+
|
|
293
328
|
isInputFocused.current = false;
|
|
329
|
+
|
|
294
330
|
if (onBlur) {
|
|
295
331
|
onBlur(event);
|
|
296
332
|
}
|
|
297
333
|
}
|
|
334
|
+
|
|
298
335
|
function handleTextboxMouseDown(event) {
|
|
299
336
|
isMouseDownReported.current = true;
|
|
337
|
+
|
|
300
338
|
if (event.target.attributes["data-element"] && event.target.attributes["data-element"].value === "input") {
|
|
301
339
|
isMouseDownOnInput.current = true;
|
|
302
340
|
}
|
|
303
341
|
}
|
|
342
|
+
|
|
304
343
|
function handleListMouseDown() {
|
|
305
344
|
isMouseDownReported.current = true;
|
|
306
345
|
}
|
|
346
|
+
|
|
307
347
|
function findElementWithMatchingText(textToMatch, list) {
|
|
308
348
|
return list.find(child => {
|
|
309
349
|
const {
|
|
@@ -312,16 +352,20 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
312
352
|
return text && text.toLowerCase().indexOf(textToMatch.toLowerCase()) !== -1;
|
|
313
353
|
});
|
|
314
354
|
}
|
|
355
|
+
|
|
315
356
|
function handleOnListAction() {
|
|
316
357
|
setOpen(false);
|
|
317
358
|
onListAction();
|
|
318
359
|
}
|
|
360
|
+
|
|
319
361
|
function assignInput(input) {
|
|
320
362
|
setTextboxRef(input.current);
|
|
363
|
+
|
|
321
364
|
if (inputRef) {
|
|
322
365
|
inputRef.current = input.current;
|
|
323
366
|
}
|
|
324
367
|
}
|
|
368
|
+
|
|
325
369
|
function getTextboxProps() {
|
|
326
370
|
return {
|
|
327
371
|
id,
|
|
@@ -344,6 +388,7 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
344
388
|
...filterOutStyledSystemSpacingProps(textboxProps)
|
|
345
389
|
};
|
|
346
390
|
}
|
|
391
|
+
|
|
347
392
|
const selectList = /*#__PURE__*/React.createElement(FilterableSelectList, {
|
|
348
393
|
ref: listboxRef,
|
|
349
394
|
id: selectListId.current,
|
|
@@ -388,50 +433,70 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
388
433
|
textboxRef: textboxRef
|
|
389
434
|
}, getTextboxProps()))), selectList);
|
|
390
435
|
});
|
|
391
|
-
FilterableSelect.propTypes = {
|
|
392
|
-
|
|
436
|
+
FilterableSelect.propTypes = { ...formInputPropTypes,
|
|
437
|
+
|
|
393
438
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
394
439
|
"data-component": PropTypes.string,
|
|
440
|
+
|
|
395
441
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
396
442
|
"data-element": PropTypes.string,
|
|
443
|
+
|
|
397
444
|
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
398
445
|
"data-role": PropTypes.string,
|
|
446
|
+
|
|
399
447
|
/** Boolean to toggle where SelectList is rendered in relation to the Select Input */
|
|
400
448
|
disablePortal: PropTypes.bool,
|
|
449
|
+
|
|
401
450
|
/** The selected value(s), when the component is operating in controlled mode */
|
|
402
451
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
452
|
+
|
|
403
453
|
/** The default selected value(s), when the component is operating in uncontrolled mode */
|
|
404
454
|
defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
455
|
+
|
|
405
456
|
/** Child components (such as Option or OptionRow) for the SelectList */
|
|
406
457
|
children: PropTypes.node.isRequired,
|
|
458
|
+
|
|
407
459
|
/** A custom callback for when the input text changes */
|
|
408
460
|
onFilterChange: PropTypes.func,
|
|
461
|
+
|
|
409
462
|
/** A custom callback for when the dropdown menu opens */
|
|
410
463
|
onOpen: PropTypes.func,
|
|
464
|
+
|
|
411
465
|
/** If true the Component opens on focus */
|
|
412
466
|
openOnFocus: PropTypes.bool,
|
|
467
|
+
|
|
413
468
|
/** SelectList table header, should consist of multiple th elements.
|
|
414
469
|
Works only in multiColumn mode */
|
|
415
470
|
tableHeader: PropTypes.node,
|
|
471
|
+
|
|
416
472
|
/** When true component will work in multi column mode.
|
|
417
473
|
Children should consist of OptionRow components in this mode */
|
|
418
474
|
multiColumn: PropTypes.bool,
|
|
475
|
+
|
|
419
476
|
/** A custom message to be displayed when any option does not match the filter text */
|
|
420
477
|
noResultsMessage: PropTypes.string,
|
|
478
|
+
|
|
421
479
|
/** True for default text button or a Button Component to be rendered */
|
|
422
480
|
listActionButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.element]),
|
|
481
|
+
|
|
423
482
|
/** A callback for when the Action Button is triggered */
|
|
424
483
|
onListAction: PropTypes.func,
|
|
484
|
+
|
|
425
485
|
/** If true the loader animation is displayed in the option list */
|
|
426
486
|
isLoading: PropTypes.bool,
|
|
487
|
+
|
|
427
488
|
/** A callback that is triggered when a user scrolls to the bottom of the list */
|
|
428
489
|
onListScrollBottom: PropTypes.func,
|
|
490
|
+
|
|
429
491
|
/** Overrides the default tooltip position */
|
|
430
492
|
tooltipPosition: PropTypes.oneOf(["top", "bottom", "left", "right"]),
|
|
493
|
+
|
|
431
494
|
/** Maximum list height - defaults to 180 */
|
|
432
495
|
listMaxHeight: PropTypes.number,
|
|
496
|
+
|
|
433
497
|
/** Placement of the select list in relation to the input element */
|
|
434
498
|
listPlacement: PropTypes.oneOf(["top", "bottom", "right", "left"]),
|
|
499
|
+
|
|
435
500
|
/** Use the opposite list placement if the set placement does not fit */
|
|
436
501
|
flipEnabled: PropTypes.bool
|
|
437
502
|
};
|
|
@@ -8,6 +8,7 @@ const ListActionButton = /*#__PURE__*/React.forwardRef(({
|
|
|
8
8
|
onListAction
|
|
9
9
|
}, ref) => {
|
|
10
10
|
const l = useLocale();
|
|
11
|
+
|
|
11
12
|
function renderListActionButton() {
|
|
12
13
|
if (!listActionButton || listActionButton === true) {
|
|
13
14
|
return /*#__PURE__*/React.createElement(Button, {
|
|
@@ -17,16 +18,19 @@ const ListActionButton = /*#__PURE__*/React.forwardRef(({
|
|
|
17
18
|
iconPosition: "after"
|
|
18
19
|
}, l.select.actionButtonText());
|
|
19
20
|
}
|
|
21
|
+
|
|
20
22
|
return /*#__PURE__*/React.cloneElement(listActionButton, {
|
|
21
23
|
forwardRef: ref,
|
|
22
24
|
onClick: onListAction
|
|
23
25
|
});
|
|
24
26
|
}
|
|
27
|
+
|
|
25
28
|
return /*#__PURE__*/React.createElement(StyledListActionButtonWrapper, null, renderListActionButton());
|
|
26
29
|
});
|
|
27
30
|
ListActionButton.propTypes = {
|
|
28
31
|
/** True for default text button or a Button Component to be rendered */
|
|
29
32
|
listActionButton: PropTypes.oneOfType([PropTypes.bool, PropTypes.element]),
|
|
33
|
+
|
|
30
34
|
/** A callback for when the Action Button is triggered */
|
|
31
35
|
onListAction: PropTypes.func.isRequired
|
|
32
36
|
};
|