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
|
/* eslint-disable jsx-a11y/mouse-events-have-key-events */
|
|
3
4
|
import React, { useCallback, useEffect, useContext, useMemo, useRef, useState } from "react";
|
|
4
5
|
import PropTypes from "prop-types";
|
|
@@ -44,22 +45,28 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
|
|
|
44
45
|
const formattedChildren = React.Children.map(children, child => {
|
|
45
46
|
if (child.type === ScrollableBlock) {
|
|
46
47
|
const blockChildren = [...child.props.children];
|
|
48
|
+
|
|
47
49
|
if (child.props.parent) {
|
|
48
50
|
blockChildren.unshift( /*#__PURE__*/React.createElement(MenuItem, null, child.props.parent));
|
|
49
51
|
}
|
|
52
|
+
|
|
50
53
|
return blockChildren;
|
|
51
54
|
}
|
|
55
|
+
|
|
52
56
|
return child;
|
|
53
57
|
});
|
|
54
58
|
const arrayOfFormattedChildren = React.Children.toArray(formattedChildren);
|
|
55
59
|
const numberOfChildren = useMemo(() => React.Children.count(formattedChildren), [formattedChildren]);
|
|
56
60
|
const blockIndex = useMemo(() => {
|
|
57
61
|
var _childrenArray$index;
|
|
62
|
+
|
|
58
63
|
const childrenArray = React.Children.toArray(children);
|
|
59
64
|
let index = childrenArray.findIndex(item => item.type === ScrollableBlock);
|
|
65
|
+
|
|
60
66
|
if ((_childrenArray$index = childrenArray[index]) !== null && _childrenArray$index !== void 0 && _childrenArray$index.props.parent) {
|
|
61
67
|
index += 1;
|
|
62
68
|
}
|
|
69
|
+
|
|
63
70
|
return index;
|
|
64
71
|
}, [children]);
|
|
65
72
|
const characterTimer = useRef();
|
|
@@ -79,9 +86,11 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
|
|
|
79
86
|
}, [onSubmenuOpen, indexInMenu, setOpenSubmenuIndex]);
|
|
80
87
|
const closeSubmenu = useCallback(() => {
|
|
81
88
|
setSubmenuOpen(false);
|
|
89
|
+
|
|
82
90
|
if (openSubmenuIndex === indexInMenu) {
|
|
83
91
|
setOpenSubmenuIndex(null);
|
|
84
92
|
}
|
|
93
|
+
|
|
85
94
|
if (onSubmenuClose) onSubmenuClose();
|
|
86
95
|
setSubmenuFocusIndex(undefined);
|
|
87
96
|
setBlockDoubleFocus(false);
|
|
@@ -97,92 +106,114 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
|
|
|
97
106
|
if (Events.isEnterKey(event) || Events.isSpaceKey(event) || Events.isDownKey(event) || Events.isUpKey(event)) {
|
|
98
107
|
event.preventDefault();
|
|
99
108
|
openSubmenu();
|
|
109
|
+
|
|
100
110
|
if (!href) {
|
|
101
111
|
setSubmenuFocusIndex(0);
|
|
102
112
|
}
|
|
103
113
|
}
|
|
114
|
+
|
|
104
115
|
if (!event.defaultPrevented) {
|
|
105
116
|
menuContext.handleKeyDown(event);
|
|
106
117
|
}
|
|
107
118
|
}
|
|
119
|
+
|
|
108
120
|
if (submenuOpen) {
|
|
109
121
|
let nextIndex = index;
|
|
122
|
+
|
|
110
123
|
if (Events.isTabKey(event) && !Events.isShiftKey(event)) {
|
|
111
124
|
if (index === numberOfChildren - 1) {
|
|
112
125
|
closeSubmenu();
|
|
113
126
|
return;
|
|
114
127
|
}
|
|
128
|
+
|
|
115
129
|
nextIndex = index + 1;
|
|
116
130
|
setBlockDoubleFocus(true);
|
|
117
131
|
}
|
|
132
|
+
|
|
118
133
|
if (Events.isTabKey(event) && Events.isShiftKey(event)) {
|
|
119
134
|
if (index === 0) {
|
|
120
135
|
closeSubmenu();
|
|
121
136
|
return;
|
|
122
137
|
}
|
|
138
|
+
|
|
123
139
|
nextIndex = index - 1;
|
|
124
140
|
setBlockDoubleFocus(true);
|
|
125
141
|
}
|
|
142
|
+
|
|
126
143
|
if (Events.isDownKey(event)) {
|
|
127
144
|
event.preventDefault();
|
|
145
|
+
|
|
128
146
|
if (index < numberOfChildren - 1) {
|
|
129
147
|
nextIndex = index + 1;
|
|
130
148
|
}
|
|
149
|
+
|
|
131
150
|
setBlockDoubleFocus(false);
|
|
132
151
|
}
|
|
152
|
+
|
|
133
153
|
if (Events.isUpKey(event)) {
|
|
134
154
|
event.preventDefault();
|
|
155
|
+
|
|
135
156
|
if (index > 0) {
|
|
136
157
|
nextIndex = index - 1;
|
|
137
158
|
}
|
|
159
|
+
|
|
138
160
|
setBlockDoubleFocus(false);
|
|
139
161
|
}
|
|
162
|
+
|
|
140
163
|
if (Events.isEscKey(event)) {
|
|
141
164
|
onKeyDown(event);
|
|
142
165
|
closeSubmenu();
|
|
143
166
|
return;
|
|
144
167
|
}
|
|
168
|
+
|
|
145
169
|
if (Events.isHomeKey(event)) {
|
|
146
170
|
event.preventDefault();
|
|
147
171
|
nextIndex = 0;
|
|
148
172
|
}
|
|
173
|
+
|
|
149
174
|
if (Events.isEndKey(event)) {
|
|
150
175
|
event.preventDefault();
|
|
151
176
|
nextIndex = numberOfChildren - 1;
|
|
152
177
|
}
|
|
178
|
+
|
|
153
179
|
if (event.key.length === 1) {
|
|
154
180
|
event.stopPropagation();
|
|
181
|
+
|
|
155
182
|
if (characterTimer.current) {
|
|
156
183
|
restartCharacterTimeout();
|
|
157
184
|
} else {
|
|
158
185
|
startCharacterTimeout();
|
|
159
186
|
}
|
|
187
|
+
|
|
160
188
|
setCharacterString(`${characterString}${event.key.toLowerCase()}`);
|
|
161
189
|
} else {
|
|
162
190
|
setCharacterString("");
|
|
163
191
|
}
|
|
192
|
+
|
|
164
193
|
if (Events.isEnterKey(event)) {
|
|
165
194
|
/* timeout enforces that the "closeSubmenu" method will be run after
|
|
166
195
|
the browser navigates to the specified href of the menu-item. */
|
|
167
196
|
setTimeout(() => closeSubmenu());
|
|
168
197
|
}
|
|
198
|
+
|
|
169
199
|
if (href && index === undefined) {
|
|
170
200
|
if (Events.isEnterKey(event) || Events.isTabKey(event) && Events.isShiftKey(event)) {
|
|
171
201
|
closeSubmenu();
|
|
172
202
|
return;
|
|
173
203
|
}
|
|
204
|
+
|
|
174
205
|
if (Events.isSpaceKey(event) || Events.isDownKey(event) || Events.isUpKey(event) || Events.isTabKey(event)) {
|
|
175
206
|
nextIndex = 0;
|
|
176
207
|
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// Defensive check in case an unhandled key event from a child component
|
|
208
|
+
} // Defensive check in case an unhandled key event from a child component
|
|
180
209
|
// has bubbled up
|
|
181
|
-
if (!nextIndex && nextIndex !== 0) return;
|
|
182
210
|
|
|
183
|
-
|
|
211
|
+
|
|
212
|
+
if (!nextIndex && nextIndex !== 0) return; // Check that next index contains a MenuItem
|
|
184
213
|
// If not, call handleKeyDown again
|
|
214
|
+
|
|
185
215
|
const nextChild = arrayOfFormattedChildren[nextIndex];
|
|
216
|
+
|
|
186
217
|
if ((nextChild === null || nextChild === void 0 ? void 0 : nextChild.type) === MenuItem) {
|
|
187
218
|
setSubmenuFocusIndex(nextIndex);
|
|
188
219
|
} else {
|
|
@@ -190,24 +221,29 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
|
|
|
190
221
|
}
|
|
191
222
|
}
|
|
192
223
|
}, [submenuFocusIndex, submenuOpen, href, menuContext, arrayOfFormattedChildren, numberOfChildren, openSubmenu, closeSubmenu, onKeyDown, characterString, restartCharacterTimeout, startCharacterTimeout]);
|
|
224
|
+
|
|
193
225
|
const handleClickAway = () => {
|
|
194
226
|
document.removeEventListener("click", handleClickAway);
|
|
195
227
|
closeSubmenu();
|
|
196
228
|
};
|
|
229
|
+
|
|
197
230
|
const handleClick = event => {
|
|
198
231
|
openSubmenu();
|
|
232
|
+
|
|
199
233
|
if (onClick) {
|
|
200
234
|
onClick(event);
|
|
201
235
|
}
|
|
202
236
|
};
|
|
237
|
+
|
|
203
238
|
useEffect(() => {
|
|
204
239
|
if (characterString !== "") {
|
|
205
240
|
const nextIndex = characterNavigation(characterString, React.Children.toArray(formattedChildren), submenuFocusIndex);
|
|
206
241
|
setSubmenuFocusIndex(nextIndex);
|
|
207
|
-
}
|
|
208
|
-
|
|
242
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
243
|
+
|
|
209
244
|
}, [characterString]);
|
|
210
245
|
const handleClickInside = useClickAwayListener(handleClickAway);
|
|
246
|
+
|
|
211
247
|
if (inFullscreenView) {
|
|
212
248
|
return /*#__PURE__*/React.createElement(StyledSubmenuWrapper, {
|
|
213
249
|
"data-component": "submenu-wrapper",
|
|
@@ -239,6 +275,7 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
|
|
|
239
275
|
}
|
|
240
276
|
}, child))));
|
|
241
277
|
}
|
|
278
|
+
|
|
242
279
|
return /*#__PURE__*/React.createElement(StyledSubmenuWrapper, {
|
|
243
280
|
"data-component": "submenu-wrapper",
|
|
244
281
|
onMouseOver: !clickToOpen ? () => openSubmenu() : undefined,
|
|
@@ -282,38 +319,53 @@ const Submenu = /*#__PURE__*/React.forwardRef(({
|
|
|
282
319
|
Submenu.propTypes = {
|
|
283
320
|
/** Children elements */
|
|
284
321
|
children: PropTypes.node.isRequired,
|
|
322
|
+
|
|
285
323
|
/** Custom className */
|
|
286
324
|
className: PropTypes.string,
|
|
325
|
+
|
|
287
326
|
/**
|
|
288
327
|
* * <a href="https://brand.sage.com/d/NdbrveWvNheA/foundations#/icons/icons" target="_blank">List of supported icons</a>
|
|
289
328
|
*
|
|
290
329
|
* Adds an icon to the menu item.
|
|
291
330
|
* */
|
|
292
331
|
icon: PropTypes.string,
|
|
332
|
+
|
|
293
333
|
/** Defines which direction the submenu will hang eg. left/right */
|
|
294
334
|
submenuDirection: PropTypes.string,
|
|
335
|
+
|
|
295
336
|
/** A title for the menu item that has a submenu. */
|
|
296
337
|
title: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
|
|
338
|
+
|
|
297
339
|
/** onKeyDown handler */
|
|
298
340
|
onKeyDown: PropTypes.func,
|
|
341
|
+
|
|
299
342
|
/** set the colour variant for a menuType */
|
|
300
343
|
variant: PropTypes.oneOf(["default", "alternate"]),
|
|
344
|
+
|
|
301
345
|
/** Flag to display the dropdown arrow when an item has a submenu */
|
|
302
346
|
showDropdownArrow: PropTypes.bool,
|
|
347
|
+
|
|
303
348
|
/** When set the submenu opens by click instead of hover */
|
|
304
349
|
clickToOpen: PropTypes.bool,
|
|
350
|
+
|
|
305
351
|
/** The href to use for the menu item. */
|
|
306
352
|
href: PropTypes.string,
|
|
353
|
+
|
|
307
354
|
/** Maximum width. Any valid CSS string */
|
|
308
355
|
maxWidth: PropTypes.string,
|
|
356
|
+
|
|
309
357
|
/** Used to set a submenu parent to passive styling in MenuFullscreen */
|
|
310
358
|
asPassiveItem: PropTypes.bool,
|
|
359
|
+
|
|
311
360
|
/** Callback triggered when submenu opens. Only valid with submenu prop */
|
|
312
361
|
onSubmenuOpen: PropTypes.func,
|
|
362
|
+
|
|
313
363
|
/** Callback triggered when submenu closes. Only valid with submenu prop */
|
|
314
364
|
onSubmenuClose: PropTypes.func,
|
|
365
|
+
|
|
315
366
|
/** Callback triggered when the top-level menu item is clicked */
|
|
316
367
|
onClick: PropTypes.func,
|
|
368
|
+
|
|
317
369
|
/** index of child in the parent menu */
|
|
318
370
|
indexInMenu: PropTypes.number
|
|
319
371
|
};
|
|
@@ -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, { useContext, useRef } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import { StyledMenuFullscreen, StyledMenuFullscreenHeader } from "./menu-full-screen.style";
|
|
@@ -11,6 +12,7 @@ import IconButton from "../../icon-button";
|
|
|
11
12
|
import Icon from "../../icon";
|
|
12
13
|
import Portal from "../../portal";
|
|
13
14
|
import MenuDivider from "../menu-divider/menu-divider.component";
|
|
15
|
+
|
|
14
16
|
const MenuFullscreen = ({
|
|
15
17
|
children,
|
|
16
18
|
isOpen,
|
|
@@ -23,12 +25,14 @@ const MenuFullscreen = ({
|
|
|
23
25
|
const {
|
|
24
26
|
menuType
|
|
25
27
|
} = useContext(MenuContext);
|
|
28
|
+
|
|
26
29
|
const handleKeyDown = ev => {
|
|
27
30
|
/* istanbul ignore else */
|
|
28
31
|
if (Events.isEscKey(ev)) {
|
|
29
32
|
onClose(ev);
|
|
30
33
|
}
|
|
31
34
|
};
|
|
35
|
+
|
|
32
36
|
const scrollVariants = {
|
|
33
37
|
light: "light",
|
|
34
38
|
dark: "dark",
|
|
@@ -85,13 +89,17 @@ const MenuFullscreen = ({
|
|
|
85
89
|
}
|
|
86
90
|
}, child, index < React.Children.count(children) - 1 && /*#__PURE__*/React.createElement(MenuDivider, null)))))))));
|
|
87
91
|
};
|
|
92
|
+
|
|
88
93
|
MenuFullscreen.propTypes = {
|
|
89
94
|
/** The child elements to render */
|
|
90
95
|
children: PropTypes.node,
|
|
96
|
+
|
|
91
97
|
/** Sets whether the component is open or closed */
|
|
92
98
|
isOpen: PropTypes.bool,
|
|
99
|
+
|
|
93
100
|
/** The start position for the component to open from */
|
|
94
101
|
startPosition: PropTypes.oneOf(["left", "right"]),
|
|
102
|
+
|
|
95
103
|
/** A callback to be called when the close icon is clicked or enter is pressed when focused */
|
|
96
104
|
onClose: PropTypes.func.isRequired
|
|
97
105
|
};
|
|
@@ -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, { useMemo, useRef, useEffect, useCallback, useContext } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import propTypes from "@styled-system/prop-types";
|
|
@@ -11,6 +12,7 @@ import Submenu from "../__internal__/submenu/submenu.component";
|
|
|
11
12
|
import SubmenuContext from "../__internal__/submenu/submenu.context";
|
|
12
13
|
import { StyledMenuItem } from "../menu.style";
|
|
13
14
|
import Search from "../../search";
|
|
15
|
+
|
|
14
16
|
const MenuItem = ({
|
|
15
17
|
submenu,
|
|
16
18
|
children,
|
|
@@ -48,6 +50,7 @@ const MenuItem = ({
|
|
|
48
50
|
if ((child === null || child === void 0 ? void 0 : child.type) === Search) {
|
|
49
51
|
isChildSearch.current = true;
|
|
50
52
|
}
|
|
53
|
+
|
|
51
54
|
return child;
|
|
52
55
|
});
|
|
53
56
|
const focusRef = isChildSearch.current ? childRef : ref;
|
|
@@ -68,11 +71,14 @@ const MenuItem = ({
|
|
|
68
71
|
if (onKeyDown) {
|
|
69
72
|
onKeyDown(event);
|
|
70
73
|
}
|
|
74
|
+
|
|
71
75
|
if (Events.isEscKey(event)) {
|
|
72
76
|
ref.current.focus();
|
|
73
77
|
}
|
|
78
|
+
|
|
74
79
|
if (submenuContext.handleKeyDown !== undefined) {
|
|
75
80
|
var _focusRef$current;
|
|
81
|
+
|
|
76
82
|
if (!(isChildSearch.current && document.activeElement === focusRef.current && (_focusRef$current = focusRef.current) !== null && _focusRef$current !== void 0 && _focusRef$current.value)) {
|
|
77
83
|
submenuContext.handleKeyDown(event);
|
|
78
84
|
}
|
|
@@ -99,8 +105,11 @@ const MenuItem = ({
|
|
|
99
105
|
const clonedChildren = isChildSearch.current ? childrenItems.map(child => /*#__PURE__*/React.cloneElement(child, {
|
|
100
106
|
inputRef: childRef
|
|
101
107
|
})) : children;
|
|
108
|
+
|
|
102
109
|
const getTitle = title => maxWidth && typeof title === "string" ? title : "";
|
|
110
|
+
|
|
103
111
|
const itemMaxWidth = !inFullscreenView ? maxWidth : undefined;
|
|
112
|
+
|
|
104
113
|
if (submenu) {
|
|
105
114
|
const asPassiveItem = !(onClick || href);
|
|
106
115
|
return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({
|
|
@@ -125,6 +134,7 @@ const MenuItem = ({
|
|
|
125
134
|
onSubmenuClose: onSubmenuClose
|
|
126
135
|
}, elementProps, rest), childrenItems));
|
|
127
136
|
}
|
|
137
|
+
|
|
128
138
|
return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({
|
|
129
139
|
"data-component": "menu-item",
|
|
130
140
|
menuType: menuContext.menuType,
|
|
@@ -145,11 +155,14 @@ const MenuItem = ({
|
|
|
145
155
|
inFullscreenView: inFullscreenView
|
|
146
156
|
}), clonedChildren));
|
|
147
157
|
};
|
|
158
|
+
|
|
148
159
|
MenuItem.propTypes = {
|
|
149
160
|
/** Styled system flex props */
|
|
150
161
|
...propTypes.flexbox,
|
|
162
|
+
|
|
151
163
|
/** Styled system layout props */
|
|
152
164
|
...propTypes.layout,
|
|
165
|
+
|
|
153
166
|
/** Either prop `icon` must be defined or this node must have children.
|
|
154
167
|
* @type node
|
|
155
168
|
*/
|
|
@@ -157,12 +170,16 @@ MenuItem.propTypes = {
|
|
|
157
170
|
if (!props.icon && !props.children) {
|
|
158
171
|
return new Error("Either prop `icon` must be defined or this node must have children.");
|
|
159
172
|
}
|
|
173
|
+
|
|
160
174
|
return PropTypes.node(props, propName, ...rest);
|
|
161
175
|
},
|
|
176
|
+
|
|
162
177
|
/** Custom className */
|
|
163
178
|
className: PropTypes.string,
|
|
179
|
+
|
|
164
180
|
/** onClick handler */
|
|
165
181
|
onClick: PropTypes.func,
|
|
182
|
+
|
|
166
183
|
/**
|
|
167
184
|
* <a href="https://brand.sage.com/d/NdbrveWvNheA/foundations#/icons/icons" target="_blank">List of supported icons</a>
|
|
168
185
|
*
|
|
@@ -172,43 +189,61 @@ MenuItem.propTypes = {
|
|
|
172
189
|
if (!props.icon && !props.children) {
|
|
173
190
|
return new Error("Either prop `icon` must be defined or this node must have children.");
|
|
174
191
|
}
|
|
192
|
+
|
|
175
193
|
return PropTypes.oneOfType([PropTypes.string, PropTypes.node])(props, propName, ...rest);
|
|
176
194
|
},
|
|
195
|
+
|
|
177
196
|
/** Defines which direction the submenu will hang eg. left/right */
|
|
178
197
|
submenuDirection: PropTypes.string,
|
|
198
|
+
|
|
179
199
|
/** Is the menu item the currently selected item. */
|
|
180
200
|
selected: PropTypes.bool,
|
|
201
|
+
|
|
181
202
|
/** A title for the menu item that has a submenu. */
|
|
182
203
|
submenu: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),
|
|
204
|
+
|
|
183
205
|
/** When set the submenu opens by click instead of hover */
|
|
184
206
|
clickToOpen: PropTypes.bool,
|
|
207
|
+
|
|
185
208
|
/** The href to use for the menu item. */
|
|
186
209
|
href: PropTypes.string,
|
|
210
|
+
|
|
187
211
|
/** onKeyDown handler */
|
|
188
212
|
onKeyDown: PropTypes.func,
|
|
213
|
+
|
|
189
214
|
/** The target to use for the menu item. */
|
|
190
215
|
target: PropTypes.string,
|
|
216
|
+
|
|
191
217
|
/** The rel attribute to be used for the underlying <a> tag */
|
|
192
218
|
rel: PropTypes.string,
|
|
219
|
+
|
|
193
220
|
/** Flag to display the dropdown arrow when an item has a submenu */
|
|
194
221
|
showDropdownArrow: PropTypes.bool,
|
|
222
|
+
|
|
195
223
|
/** set the colour variant for a menuType */
|
|
196
224
|
variant: PropTypes.oneOf(["default", "alternate"]),
|
|
225
|
+
|
|
197
226
|
/** If no text is provided an ariaLabel should be given to facilitate accessibility. */
|
|
198
227
|
ariaLabel: (props, ...rest) => {
|
|
199
228
|
if (!props.children && typeof props.submenu !== "string" && !props.ariaLabel) {
|
|
200
229
|
return new Error("If no text is provided an ariaLabel should be given to facilitate accessibility.");
|
|
201
230
|
}
|
|
231
|
+
|
|
202
232
|
return PropTypes.string(props, ...rest);
|
|
203
233
|
},
|
|
234
|
+
|
|
204
235
|
/** Callback triggered when submenu opens. Only valid with submenu prop */
|
|
205
236
|
onSubmenuOpen: PropTypes.func,
|
|
237
|
+
|
|
206
238
|
/** Callback triggered when submenu closes. Only valid with submenu prop */
|
|
207
239
|
onSubmenuClose: PropTypes.func,
|
|
240
|
+
|
|
208
241
|
/** @ignore @private */
|
|
209
242
|
overrideColor: PropTypes.bool,
|
|
243
|
+
|
|
210
244
|
/** @ignore @private */
|
|
211
245
|
isFocused: PropTypes.bool,
|
|
246
|
+
|
|
212
247
|
/** @ignore @private */
|
|
213
248
|
indexInMenu: PropTypes.number
|
|
214
249
|
};
|
|
@@ -20,6 +20,7 @@ const MenuSegmentTitle = /*#__PURE__*/React.forwardRef(({
|
|
|
20
20
|
MenuSegmentTitle.propTypes = {
|
|
21
21
|
/** set the colour variant for a menuType */
|
|
22
22
|
variant: PropTypes.oneOf(["default", "alternate"]),
|
|
23
|
+
|
|
23
24
|
/** the text to be displayed */
|
|
24
25
|
children: PropTypes.string.isRequired
|
|
25
26
|
};
|
|
@@ -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, { useEffect, useState, useCallback, useRef } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import propTypes from "@styled-system/prop-types";
|
|
@@ -6,6 +7,7 @@ import { StyledMenuWrapper } from "./menu.style";
|
|
|
6
7
|
import { menuKeyboardNavigation } from "./__internal__/keyboard-navigation";
|
|
7
8
|
import Events from "../../__internal__/utils/helpers/events";
|
|
8
9
|
import MenuContext from "./menu.context";
|
|
10
|
+
|
|
9
11
|
const Menu = ({
|
|
10
12
|
menuType = "light",
|
|
11
13
|
children,
|
|
@@ -47,22 +49,28 @@ const Menu = ({
|
|
|
47
49
|
}
|
|
48
50
|
}, React.Children.map(children, (child, index) => {
|
|
49
51
|
const isFocused = focusedItemIndex === index;
|
|
52
|
+
|
|
50
53
|
if ( /*#__PURE__*/React.isValidElement(child) && child.type.displayName === "MenuItem" && child.props.submenu) {
|
|
51
54
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
52
55
|
isFocused,
|
|
53
56
|
indexInMenu: index
|
|
54
57
|
});
|
|
55
58
|
}
|
|
59
|
+
|
|
56
60
|
return child;
|
|
57
61
|
})));
|
|
58
62
|
};
|
|
63
|
+
|
|
59
64
|
Menu.propTypes = {
|
|
60
65
|
/** Styled system flex props */
|
|
61
66
|
...propTypes.flexbox,
|
|
67
|
+
|
|
62
68
|
/** Styled system layout props */
|
|
63
69
|
...propTypes.layout,
|
|
70
|
+
|
|
64
71
|
/** Defines the color scheme of the component */
|
|
65
72
|
menuType: PropTypes.oneOf(["light", "dark", "white", "black"]),
|
|
73
|
+
|
|
66
74
|
/** Children elements */
|
|
67
75
|
children: PropTypes.node.isRequired
|
|
68
76
|
};
|
|
@@ -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, { useContext } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import MenuContext from "../menu.context";
|
|
@@ -6,6 +7,7 @@ import MenuItem from "../menu-item";
|
|
|
6
7
|
import SubmenuContext from "../__internal__/submenu/submenu.context";
|
|
7
8
|
import StyledScrollableBlock from "./scrollable-block.style";
|
|
8
9
|
import Box from "../../box";
|
|
10
|
+
|
|
9
11
|
const ScrollableBlock = ({
|
|
10
12
|
children,
|
|
11
13
|
height,
|
|
@@ -46,9 +48,11 @@ const ScrollableBlock = ({
|
|
|
46
48
|
}, React.Children.map(children, (child, index) => {
|
|
47
49
|
let isFocused = false;
|
|
48
50
|
const blockItemFocused = focusIndex >= blockIndex;
|
|
51
|
+
|
|
49
52
|
if (blockItemFocused) {
|
|
50
53
|
isFocused = focusIndex - blockIndex === index;
|
|
51
54
|
}
|
|
55
|
+
|
|
52
56
|
return /*#__PURE__*/React.createElement(SubmenuContext.Provider, {
|
|
53
57
|
value: {
|
|
54
58
|
isFocused,
|
|
@@ -57,17 +61,22 @@ const ScrollableBlock = ({
|
|
|
57
61
|
}, child);
|
|
58
62
|
})));
|
|
59
63
|
};
|
|
64
|
+
|
|
60
65
|
ScrollableBlock.propTypes = {
|
|
61
66
|
/** Children elements */
|
|
62
67
|
children: PropTypes.node.isRequired,
|
|
68
|
+
|
|
63
69
|
/** Styled system height prop */
|
|
64
70
|
height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
71
|
+
|
|
65
72
|
/** set the colour variant for a menuType */
|
|
66
73
|
variant: PropTypes.oneOf(["default", "alternate"]),
|
|
74
|
+
|
|
67
75
|
/** the element, if any, displayed at the top of the block to be its semantic "parent",
|
|
68
76
|
* but not part of the scrollable section
|
|
69
77
|
*/
|
|
70
78
|
parent: PropTypes.node,
|
|
79
|
+
|
|
71
80
|
/** the colour variant for the parent element, if different from the variant of the block */
|
|
72
81
|
parentVariant: PropTypes.oneOf(["default", "alternate"])
|
|
73
82
|
};
|
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import Content from "../../content";
|
|
4
4
|
import MessageContentStyle from "./message-content.style";
|
|
5
|
+
|
|
5
6
|
const MessageContent = ({
|
|
6
7
|
title,
|
|
7
8
|
children
|
|
@@ -10,6 +11,7 @@ const MessageContent = ({
|
|
|
10
11
|
title: title
|
|
11
12
|
}, children));
|
|
12
13
|
};
|
|
14
|
+
|
|
13
15
|
MessageContent.propTypes = {
|
|
14
16
|
"children": PropTypes.node,
|
|
15
17
|
"title": PropTypes.node
|
|
@@ -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 MessageStyle from "./message.style";
|
|
@@ -9,6 +10,7 @@ import Icon from "../icon";
|
|
|
9
10
|
import IconButton from "../icon-button";
|
|
10
11
|
import { filterStyledSystemMarginProps } from "../../style/utils";
|
|
11
12
|
import useLocale from "../../hooks/__internal__/useLocale";
|
|
13
|
+
|
|
12
14
|
const Message = ({
|
|
13
15
|
open = true,
|
|
14
16
|
transparent = false,
|
|
@@ -24,6 +26,7 @@ const Message = ({
|
|
|
24
26
|
}) => {
|
|
25
27
|
const marginProps = filterStyledSystemMarginProps(props);
|
|
26
28
|
const l = useLocale();
|
|
29
|
+
|
|
27
30
|
const renderCloseIcon = () => {
|
|
28
31
|
if (!showCloseIcon || !onDismiss) return null;
|
|
29
32
|
return /*#__PURE__*/React.createElement(IconButton, {
|
|
@@ -34,6 +37,7 @@ const Message = ({
|
|
|
34
37
|
type: "close"
|
|
35
38
|
}));
|
|
36
39
|
};
|
|
40
|
+
|
|
37
41
|
return open ? /*#__PURE__*/React.createElement(MessageStyle, _extends({}, tagComponent("Message", props), {
|
|
38
42
|
className: className,
|
|
39
43
|
transparent: transparent,
|
|
@@ -47,6 +51,7 @@ const Message = ({
|
|
|
47
51
|
title: title
|
|
48
52
|
}, children), renderCloseIcon()) : null;
|
|
49
53
|
};
|
|
54
|
+
|
|
50
55
|
Message.propTypes = {
|
|
51
56
|
"children": PropTypes.node,
|
|
52
57
|
"className": PropTypes.string,
|
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import TypeIconStyle from "./type-icon.style";
|
|
4
4
|
import Icon from "../../icon";
|
|
5
|
+
|
|
5
6
|
const TypeIcon = ({
|
|
6
7
|
variant = "info",
|
|
7
8
|
transparent = false
|
|
@@ -13,6 +14,7 @@ const TypeIcon = ({
|
|
|
13
14
|
type: variant
|
|
14
15
|
}));
|
|
15
16
|
};
|
|
17
|
+
|
|
16
18
|
TypeIcon.propTypes = {
|
|
17
19
|
"transparent": PropTypes.bool,
|
|
18
20
|
"variant": PropTypes.oneOf(["error", "info", "success", "warning"])
|