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,40 +1,51 @@
|
|
|
1
1
|
/* eslint-disable jest/no-conditional-expect */
|
|
2
|
+
|
|
2
3
|
/* eslint-disable jest/no-identical-title */
|
|
4
|
+
|
|
3
5
|
/* eslint-disable jest/no-export */
|
|
4
6
|
import { mount } from "enzyme";
|
|
5
7
|
import { sprintf } from "sprintf-js";
|
|
6
8
|
import { space } from "style/themes/base/base-theme.config";
|
|
7
9
|
import { carbonThemeList } from "../style/themes";
|
|
8
10
|
import { mockMatchMedia } from "./mock-match-media";
|
|
11
|
+
|
|
9
12
|
const isUpper = char => char.toUpperCase() === char;
|
|
13
|
+
|
|
10
14
|
const humpToDash = (acc, char) => `${acc}${isUpper(char) ? `-${char.toLowerCase()}` : char}`;
|
|
15
|
+
|
|
11
16
|
const toCSSCase = str => {
|
|
12
17
|
return str.split("").reduce(humpToDash, "");
|
|
13
18
|
};
|
|
19
|
+
|
|
14
20
|
const assertStyleMatch = (styleSpec, component, opts) => {
|
|
15
21
|
Object.entries(styleSpec).forEach(([attr, value]) => {
|
|
16
22
|
expect(component).toHaveStyleRule(toCSSCase(attr), value, opts);
|
|
17
23
|
});
|
|
18
24
|
};
|
|
25
|
+
|
|
19
26
|
const makeArrayKeys = n => [...Array(n).keys()];
|
|
27
|
+
|
|
20
28
|
const dispatchKeyPress = code => {
|
|
21
29
|
const ev = new KeyboardEvent("keydown", {
|
|
22
30
|
key: code
|
|
23
31
|
});
|
|
24
32
|
document.dispatchEvent(ev);
|
|
25
33
|
};
|
|
34
|
+
|
|
26
35
|
const keys = ["ArrowUp", "ArrowDown", "ArrowRight", "ArrowLeft", "Enter", "Tab", " ", "Escape", "End", "Home", "D", "E", "P", "Z", "1"];
|
|
27
36
|
const keyboard = keys.reduce((acc, key) => {
|
|
28
37
|
const methodName = `press${key === " " ? "Space" : key}`;
|
|
38
|
+
|
|
29
39
|
acc[methodName] = () => dispatchKeyPress(key);
|
|
30
|
-
return acc;
|
|
31
|
-
}, {});
|
|
32
40
|
|
|
33
|
-
|
|
41
|
+
return acc;
|
|
42
|
+
}, {}); // Build an object of Enzyme simulate helpers
|
|
34
43
|
// e.g. simulate.keydown.pressTab(target, { shiftKey: true })
|
|
35
44
|
// e.g. simulate.keydown.pressEscape(target)
|
|
45
|
+
|
|
36
46
|
const keydown = keys.reduce((acc, key) => {
|
|
37
47
|
const methodName = `press${key === " " ? "Space" : key}`;
|
|
48
|
+
|
|
38
49
|
acc[methodName] = (target, {
|
|
39
50
|
shiftKey
|
|
40
51
|
} = {
|
|
@@ -45,26 +56,38 @@ const keydown = keys.reduce((acc, key) => {
|
|
|
45
56
|
key
|
|
46
57
|
});
|
|
47
58
|
};
|
|
59
|
+
|
|
48
60
|
return acc;
|
|
49
61
|
}, {});
|
|
50
62
|
const simulate = {
|
|
51
63
|
keydown
|
|
52
64
|
};
|
|
65
|
+
|
|
53
66
|
const listFrom = wrapper => wrapper.find("ul");
|
|
67
|
+
|
|
54
68
|
const childrenFrom = node => node.children();
|
|
69
|
+
|
|
55
70
|
const hoverList = wrapper => item => {
|
|
56
71
|
childrenFrom(listFrom(wrapper)).at(item).simulate("mouseover");
|
|
57
72
|
};
|
|
73
|
+
|
|
58
74
|
const simulateEvent = eventName => wrapper => wrapper.simulate(eventName);
|
|
75
|
+
|
|
59
76
|
const click = simulateEvent("click");
|
|
77
|
+
|
|
60
78
|
const selectedItemOf = wrapper => wrapper.state().selectedItem;
|
|
79
|
+
|
|
61
80
|
const isUnique = (val, index, self) => self.indexOf(val) === index;
|
|
81
|
+
|
|
62
82
|
const isSelectableGiven = nonSelectables => i => !nonSelectables.includes(i);
|
|
83
|
+
|
|
63
84
|
const selectedItemReducer = method => wrapper => (acc, i) => {
|
|
64
85
|
method(wrapper)(i);
|
|
65
86
|
return [...acc, selectedItemOf(wrapper)];
|
|
66
87
|
};
|
|
88
|
+
|
|
67
89
|
const arraysEqual = (arr1, arr2) => arr1.sort().join(",") === arr2.sort().join(",");
|
|
90
|
+
|
|
68
91
|
const assertCorrectTraversal = method => expect => ({
|
|
69
92
|
num,
|
|
70
93
|
nonSelectables = []
|
|
@@ -75,6 +98,7 @@ const assertCorrectTraversal = method => expect => ({
|
|
|
75
98
|
const indexesThatWereSelected = array.reduce(selectedItemReducer(method)(wrapper), [selectedItem]).filter(isUnique);
|
|
76
99
|
expect(arraysEqual(validIndexes, indexesThatWereSelected)).toBeTruthy();
|
|
77
100
|
};
|
|
101
|
+
|
|
78
102
|
const assertKeyboardTraversal = assertCorrectTraversal(() => keyboard.pressArrowDown)(expect);
|
|
79
103
|
const assertHoverTraversal = assertCorrectTraversal(wrapper => hoverList(wrapper))(expect);
|
|
80
104
|
const carbonThemesJestTable = carbonThemeList.map(theme => [theme.name, theme]);
|
|
@@ -90,21 +114,25 @@ export const getDefaultValue = value => {
|
|
|
90
114
|
const spaceArrayLength = space.length - 1;
|
|
91
115
|
if (value === undefined) return value;
|
|
92
116
|
const parsedValue = +value;
|
|
117
|
+
|
|
93
118
|
if (typeof value === "string" && parsedValue > spaceArrayLength) {
|
|
94
119
|
return `${value}px`;
|
|
95
120
|
}
|
|
121
|
+
|
|
96
122
|
if (parsedValue <= spaceArrayLength) {
|
|
97
123
|
return space[parsedValue];
|
|
98
124
|
}
|
|
125
|
+
|
|
99
126
|
if (parsedValue > spaceArrayLength) {
|
|
100
127
|
return `${parsedValue * 8}px`;
|
|
101
128
|
}
|
|
129
|
+
|
|
102
130
|
return value;
|
|
103
131
|
};
|
|
132
|
+
|
|
104
133
|
const testStyledSystemMargin = (component, defaults, styleContainer, assertOpts) => {
|
|
105
134
|
describe("default props", () => {
|
|
106
|
-
const wrapper = mount(component({
|
|
107
|
-
...defaults
|
|
135
|
+
const wrapper = mount(component({ ...defaults
|
|
108
136
|
}));
|
|
109
137
|
const StyleElement = styleContainer ? styleContainer(wrapper) : wrapper;
|
|
110
138
|
it("should set the correct margins", () => {
|
|
@@ -113,6 +141,7 @@ const testStyledSystemMargin = (component, defaults, styleContainer, assertOpts)
|
|
|
113
141
|
let marginRight;
|
|
114
142
|
let marginTop;
|
|
115
143
|
let marginBottom;
|
|
144
|
+
|
|
116
145
|
if (defaults) {
|
|
117
146
|
margin = getDefaultValue(defaults.m);
|
|
118
147
|
marginLeft = getDefaultValue(defaults.ml || defaults.mx);
|
|
@@ -140,8 +169,7 @@ const testStyledSystemMargin = (component, defaults, styleContainer, assertOpts)
|
|
|
140
169
|
const props = {
|
|
141
170
|
[styledSystemProp]: 2
|
|
142
171
|
};
|
|
143
|
-
const wrapper = mount(component({
|
|
144
|
-
...props
|
|
172
|
+
const wrapper = mount(component({ ...props
|
|
145
173
|
}));
|
|
146
174
|
assertStyleMatch({
|
|
147
175
|
[propName]: "var(--spacing200)"
|
|
@@ -149,10 +177,10 @@ const testStyledSystemMargin = (component, defaults, styleContainer, assertOpts)
|
|
|
149
177
|
});
|
|
150
178
|
});
|
|
151
179
|
};
|
|
180
|
+
|
|
152
181
|
const testStyledSystemPadding = (component, defaults, styleContainer, assertOpts) => {
|
|
153
182
|
describe("default props", () => {
|
|
154
|
-
const wrapper = mount(component({
|
|
155
|
-
...defaults
|
|
183
|
+
const wrapper = mount(component({ ...defaults
|
|
156
184
|
}));
|
|
157
185
|
const StyleElement = styleContainer ? styleContainer(wrapper) : wrapper;
|
|
158
186
|
it("should set the correct paddings", () => {
|
|
@@ -161,6 +189,7 @@ const testStyledSystemPadding = (component, defaults, styleContainer, assertOpts
|
|
|
161
189
|
let paddingRight;
|
|
162
190
|
let paddingTop;
|
|
163
191
|
let paddingBottom;
|
|
192
|
+
|
|
164
193
|
if (defaults) {
|
|
165
194
|
padding = getDefaultValue(defaults.p);
|
|
166
195
|
paddingLeft = getDefaultValue(defaults.pl || defaults.px);
|
|
@@ -188,8 +217,7 @@ const testStyledSystemPadding = (component, defaults, styleContainer, assertOpts
|
|
|
188
217
|
const props = {
|
|
189
218
|
[styledSystemProp]: 2
|
|
190
219
|
};
|
|
191
|
-
const wrapper = mount(component({
|
|
192
|
-
...props
|
|
220
|
+
const wrapper = mount(component({ ...props
|
|
193
221
|
}));
|
|
194
222
|
assertStyleMatch({
|
|
195
223
|
[propName]: "var(--spacing200)"
|
|
@@ -197,25 +225,27 @@ const testStyledSystemPadding = (component, defaults, styleContainer, assertOpts
|
|
|
197
225
|
});
|
|
198
226
|
});
|
|
199
227
|
};
|
|
228
|
+
|
|
200
229
|
const testStyledSystemSpacing = (component, defaults, styleContainer, assertOpts) => {
|
|
201
230
|
testStyledSystemMargin(component, defaults, styleContainer, assertOpts);
|
|
202
231
|
testStyledSystemPadding(component, defaults, styleContainer, assertOpts);
|
|
203
232
|
};
|
|
233
|
+
|
|
204
234
|
const testStyledSystemColor = (component, styleContainer) => {
|
|
205
235
|
describe.each(colorProps)('when a prop is specified using the "%s" styled system props', (styledSystemProp, propName, value) => {
|
|
206
236
|
it(`then ${propName} should have been set correctly`, () => {
|
|
207
237
|
const props = {
|
|
208
238
|
[styledSystemProp]: value
|
|
209
239
|
};
|
|
210
|
-
const wrapper = mount(component({
|
|
211
|
-
...props
|
|
240
|
+
const wrapper = mount(component({ ...props
|
|
212
241
|
}));
|
|
213
|
-
const StyleElement = styleContainer ? styleContainer(wrapper) : wrapper;
|
|
214
|
-
|
|
242
|
+
const StyleElement = styleContainer ? styleContainer(wrapper) : wrapper; // Some props need to have camelcase so used toHaveStyleRule rather than assertStyleMatch
|
|
243
|
+
|
|
215
244
|
expect(StyleElement).toHaveStyleRule(propName, value);
|
|
216
245
|
});
|
|
217
246
|
});
|
|
218
247
|
};
|
|
248
|
+
|
|
219
249
|
const testStyledSystemWidth = (component, styleContainer) => {
|
|
220
250
|
describe("when a width prop is specified using styled system props", () => {
|
|
221
251
|
it("then width should have been set correctly", () => {
|
|
@@ -223,29 +253,29 @@ const testStyledSystemWidth = (component, styleContainer) => {
|
|
|
223
253
|
const props = {
|
|
224
254
|
[styledSystemProp]: value
|
|
225
255
|
};
|
|
226
|
-
const wrapper = mount(component({
|
|
227
|
-
...props
|
|
256
|
+
const wrapper = mount(component({ ...props
|
|
228
257
|
}));
|
|
229
258
|
const StyleElement = styleContainer ? styleContainer(wrapper) : wrapper;
|
|
230
259
|
expect(StyleElement).toHaveStyleRule(propName, value);
|
|
231
260
|
});
|
|
232
261
|
});
|
|
233
262
|
};
|
|
263
|
+
|
|
234
264
|
const testStyledSystemLayout = (component, styleContainer) => {
|
|
235
265
|
describe.each(layoutProps)('when a prop is specified using the "%s" styled system props', (styledSystemProp, propName, value) => {
|
|
236
266
|
it(`then ${propName} should have been set correctly`, () => {
|
|
237
267
|
const props = {
|
|
238
268
|
[styledSystemProp]: value
|
|
239
269
|
};
|
|
240
|
-
const wrapper = mount(component({
|
|
241
|
-
...props
|
|
270
|
+
const wrapper = mount(component({ ...props
|
|
242
271
|
}));
|
|
243
|
-
const StyleElement = styleContainer ? styleContainer(wrapper) : wrapper;
|
|
244
|
-
|
|
272
|
+
const StyleElement = styleContainer ? styleContainer(wrapper) : wrapper; // Some props need to have camelcase so used toHaveStyleRule rather than assertStyleMatch
|
|
273
|
+
|
|
245
274
|
expect(StyleElement).toHaveStyleRule(propName, value);
|
|
246
275
|
});
|
|
247
276
|
});
|
|
248
277
|
};
|
|
278
|
+
|
|
249
279
|
const testStyledSystemFlexBox = (component, styleContainer) => {
|
|
250
280
|
describe.each(flexBoxProps)('when a prop is specified using the "%s" styled system props', (styledSystemProp, propName, value) => {
|
|
251
281
|
it(`then ${propName} should have been set correctly`, () => {
|
|
@@ -259,14 +289,14 @@ const testStyledSystemFlexBox = (component, styleContainer) => {
|
|
|
259
289
|
});
|
|
260
290
|
});
|
|
261
291
|
};
|
|
292
|
+
|
|
262
293
|
const testStyledSystemBackground = (component, styleContainer) => {
|
|
263
294
|
describe.each(backgroundProps)('when a prop is specified using the "%s" styled system props', (styledSystemProp, propName, value) => {
|
|
264
295
|
it(`then ${propName} should have been set correctly`, () => {
|
|
265
296
|
const props = {
|
|
266
297
|
[styledSystemProp]: value
|
|
267
298
|
};
|
|
268
|
-
const wrapper = mount(component({
|
|
269
|
-
...props
|
|
299
|
+
const wrapper = mount(component({ ...props
|
|
270
300
|
}));
|
|
271
301
|
assertStyleMatch({
|
|
272
302
|
[styledSystemProp]: value
|
|
@@ -274,27 +304,28 @@ const testStyledSystemBackground = (component, styleContainer) => {
|
|
|
274
304
|
});
|
|
275
305
|
});
|
|
276
306
|
};
|
|
307
|
+
|
|
277
308
|
const testStyledSystemPosition = (component, styleContainer) => {
|
|
278
309
|
describe.each(positionProps)('when a prop is specified using the "%s" styled system props', (styledSystemProp, value) => {
|
|
279
310
|
it(`then ${styledSystemProp} should have been set correctly`, () => {
|
|
280
311
|
const props = {
|
|
281
312
|
[styledSystemProp]: value
|
|
282
313
|
};
|
|
283
|
-
const wrapper = mount(component({
|
|
284
|
-
...props
|
|
314
|
+
const wrapper = mount(component({ ...props
|
|
285
315
|
}));
|
|
286
316
|
assertStyleMatch({
|
|
287
317
|
[styledSystemProp]: value
|
|
288
318
|
}, styleContainer ? styleContainer(wrapper) : wrapper);
|
|
289
319
|
});
|
|
290
320
|
});
|
|
291
|
-
};
|
|
321
|
+
}; // this util will catch that a console output occurred without polluting the output when running the unit tests
|
|
322
|
+
|
|
292
323
|
|
|
293
|
-
// this util will catch that a console output occurred without polluting the output when running the unit tests
|
|
294
324
|
const expectConsoleOutput = (message, type = "error") => {
|
|
295
325
|
if (!message) {
|
|
296
326
|
throw new Error(`no ${type} message provided`);
|
|
297
327
|
}
|
|
328
|
+
|
|
298
329
|
expect.assertions(1);
|
|
299
330
|
const consoleType = global.console[type];
|
|
300
331
|
let consoleArgs;
|
|
@@ -302,10 +333,12 @@ const expectConsoleOutput = (message, type = "error") => {
|
|
|
302
333
|
if (!args.length) return;
|
|
303
334
|
const msg = args.join(" ");
|
|
304
335
|
const params = args.slice(1, args.length);
|
|
336
|
+
|
|
305
337
|
if (sprintf(msg, ...params).includes(message)) {
|
|
306
338
|
consoleArgs = args;
|
|
307
339
|
return;
|
|
308
340
|
}
|
|
341
|
+
|
|
309
342
|
consoleType(...args);
|
|
310
343
|
});
|
|
311
344
|
return () => {
|
|
@@ -313,7 +346,9 @@ const expectConsoleOutput = (message, type = "error") => {
|
|
|
313
346
|
// eslint-disable-next-line no-console
|
|
314
347
|
expect(console[type]).toHaveBeenCalledWith(...consoleArgs);
|
|
315
348
|
}
|
|
349
|
+
|
|
316
350
|
global.console[type] = consoleType;
|
|
317
351
|
};
|
|
318
352
|
};
|
|
353
|
+
|
|
319
354
|
export { assertStyleMatch, toCSSCase, hoverList, selectedItemOf, childrenFrom, makeArrayKeys, keyboard, assertKeyboardTraversal, assertHoverTraversal, listFrom, click, simulate, carbonThemesJestTable, mockMatchMedia, testStyledSystemSpacing, testStyledSystemMargin, testStyledSystemPadding, testStyledSystemColor, testStyledSystemWidth, testStyledSystemLayout, testStyledSystemFlexBox, testStyledSystemBackground, testStyledSystemPosition, expectConsoleOutput };
|
|
@@ -4,6 +4,7 @@ import invariant from "invariant";
|
|
|
4
4
|
import Events from "../../../__internal__/utils/helpers/events";
|
|
5
5
|
import Accordion from "../accordion.component";
|
|
6
6
|
import { StyledAccordionGroup } from "../accordion.style";
|
|
7
|
+
|
|
7
8
|
const AccordionGroup = ({
|
|
8
9
|
children,
|
|
9
10
|
...rest
|
|
@@ -24,14 +25,18 @@ const AccordionGroup = ({
|
|
|
24
25
|
const refs = useMemo(() => filteredChildren.map(child => child.ref || /*#__PURE__*/React.createRef()), [filteredChildren]);
|
|
25
26
|
const focusAccordion = useCallback((ev, index) => {
|
|
26
27
|
ev.preventDefault();
|
|
28
|
+
|
|
27
29
|
if (index === -1) {
|
|
28
30
|
var _refs$current;
|
|
31
|
+
|
|
29
32
|
(_refs$current = refs[refs.length - 1].current) === null || _refs$current === void 0 ? void 0 : _refs$current.focus();
|
|
30
33
|
} else if (index === refs.length) {
|
|
31
34
|
var _refs$0$current;
|
|
35
|
+
|
|
32
36
|
(_refs$0$current = refs[0].current) === null || _refs$0$current === void 0 ? void 0 : _refs$0$current.focus();
|
|
33
37
|
} else {
|
|
34
38
|
var _refs$index$current;
|
|
39
|
+
|
|
35
40
|
(_refs$index$current = refs[index].current) === null || _refs$index$current === void 0 ? void 0 : _refs$index$current.focus();
|
|
36
41
|
}
|
|
37
42
|
}, [refs]);
|
|
@@ -39,12 +44,15 @@ const AccordionGroup = ({
|
|
|
39
44
|
if (Events.isUpKey(ev)) {
|
|
40
45
|
focusAccordion(ev, index - 1);
|
|
41
46
|
}
|
|
47
|
+
|
|
42
48
|
if (Events.isDownKey(ev)) {
|
|
43
49
|
focusAccordion(ev, index + 1);
|
|
44
50
|
}
|
|
51
|
+
|
|
45
52
|
if (Events.isHomeKey(ev)) {
|
|
46
53
|
focusAccordion(ev, 0);
|
|
47
54
|
}
|
|
55
|
+
|
|
48
56
|
if (Events.isEndKey(ev)) {
|
|
49
57
|
focusAccordion(ev, refs.length - 1);
|
|
50
58
|
}
|
|
@@ -58,6 +66,7 @@ const AccordionGroup = ({
|
|
|
58
66
|
handleKeyboardAccessibility
|
|
59
67
|
})));
|
|
60
68
|
};
|
|
69
|
+
|
|
61
70
|
AccordionGroup.propTypes = {
|
|
62
71
|
"children": PropTypes.oneOfType([PropTypes.element, PropTypes.shape({
|
|
63
72
|
"__@iterator": PropTypes.func.isRequired,
|
|
@@ -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, useRef, useEffect, useCallback } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import useResizeObserver from "../../hooks/__internal__/useResizeObserver";
|
|
@@ -39,22 +40,26 @@ const Accordion = /*#__PURE__*/React.forwardRef(({
|
|
|
39
40
|
const isExpanded = isControlled ? expanded : isExpandedInternal;
|
|
40
41
|
useResizeObserver(accordionContent, () => {
|
|
41
42
|
var _accordionContent$cur;
|
|
43
|
+
|
|
42
44
|
setContentHeight((_accordionContent$cur = accordionContent.current) === null || _accordionContent$cur === void 0 ? void 0 : _accordionContent$cur.scrollHeight);
|
|
43
45
|
});
|
|
44
46
|
useEffect(() => {
|
|
45
47
|
var _accordionContent$cur2;
|
|
48
|
+
|
|
46
49
|
setContentHeight((_accordionContent$cur2 = accordionContent.current) === null || _accordionContent$cur2 === void 0 ? void 0 : _accordionContent$cur2.scrollHeight);
|
|
47
50
|
}, [isExpanded]);
|
|
48
51
|
const toggleAccordion = useCallback(ev => {
|
|
49
52
|
if (!isControlled) {
|
|
50
53
|
setIsExpandedInternal(!isExpanded);
|
|
51
54
|
}
|
|
55
|
+
|
|
52
56
|
if (onChange) onChange(ev, !isExpanded);
|
|
53
57
|
}, [isControlled, isExpanded, onChange]);
|
|
54
58
|
const handleKeyDown = useCallback(ev => {
|
|
55
59
|
if (handleKeyboardAccessibility) {
|
|
56
60
|
handleKeyboardAccessibility(ev, index);
|
|
57
61
|
}
|
|
62
|
+
|
|
58
63
|
if (Events.isEnterKey(ev) || Events.isSpaceKey(ev)) {
|
|
59
64
|
toggleAccordion(ev);
|
|
60
65
|
}
|
|
@@ -64,7 +69,9 @@ const Accordion = /*#__PURE__*/React.forwardRef(({
|
|
|
64
69
|
const headerId = `AccordionHeader_${guid.current}`;
|
|
65
70
|
const contentId = `AccordionContent_${guid.current}`;
|
|
66
71
|
const showValidationIcon = !!(error || warning || info);
|
|
72
|
+
|
|
67
73
|
const getTitle = () => isExpanded ? openTitle || title : title;
|
|
74
|
+
|
|
68
75
|
return /*#__PURE__*/React.createElement(StyledAccordionContainer, _extends({
|
|
69
76
|
id: accordionId,
|
|
70
77
|
"data-component": "accordion",
|
|
@@ -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, useEffect, useRef, useState, useContext } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import invariant from "invariant";
|
|
@@ -9,9 +10,11 @@ import ActionPopoverContext from "../action-popover-context";
|
|
|
9
10
|
import useLocale from "../../../hooks/__internal__/useLocale";
|
|
10
11
|
import ActionPopoverMenu from "../action-popover-menu/action-popover-menu.component";
|
|
11
12
|
const INTERVAL = 150;
|
|
13
|
+
|
|
12
14
|
function checkRef(ref) {
|
|
13
15
|
return Boolean(ref && ref.current);
|
|
14
16
|
}
|
|
17
|
+
|
|
15
18
|
function leftAlignSubmenu(ref, submenuRef) {
|
|
16
19
|
/* istanbul ignore if */
|
|
17
20
|
if (!ref.current || !submenuRef.current) return true;
|
|
@@ -23,6 +26,7 @@ function leftAlignSubmenu(ref, submenuRef) {
|
|
|
23
26
|
} = submenuRef.current;
|
|
24
27
|
return left >= offsetWidth;
|
|
25
28
|
}
|
|
29
|
+
|
|
26
30
|
function getContainerPosition(itemRef, submenuRef, placement) {
|
|
27
31
|
/* istanbul ignore if */
|
|
28
32
|
if (!itemRef.current || !submenuRef.current) return undefined;
|
|
@@ -40,6 +44,7 @@ function getContainerPosition(itemRef, submenuRef, placement) {
|
|
|
40
44
|
right: "auto"
|
|
41
45
|
};
|
|
42
46
|
}
|
|
47
|
+
|
|
43
48
|
const ActionPopoverItem = ({
|
|
44
49
|
children,
|
|
45
50
|
icon,
|
|
@@ -86,8 +91,10 @@ const ActionPopoverItem = ({
|
|
|
86
91
|
}, [submenu, placement]);
|
|
87
92
|
useEffect(() => {
|
|
88
93
|
alignSubmenu();
|
|
94
|
+
|
|
89
95
|
if (focusItem) {
|
|
90
96
|
var _ref$current;
|
|
97
|
+
|
|
91
98
|
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
92
99
|
}
|
|
93
100
|
}, [alignSubmenu, focusItem]);
|
|
@@ -106,14 +113,17 @@ const ActionPopoverItem = ({
|
|
|
106
113
|
}, [alignSubmenu]);
|
|
107
114
|
const onClick = useCallback(e => {
|
|
108
115
|
e.stopPropagation();
|
|
116
|
+
|
|
109
117
|
if (!disabled) {
|
|
110
118
|
setOpenPopover(false);
|
|
111
119
|
focusButton();
|
|
120
|
+
|
|
112
121
|
if (onClickProp) {
|
|
113
122
|
onClickProp(e);
|
|
114
123
|
}
|
|
115
124
|
} else {
|
|
116
125
|
var _ref$current2;
|
|
126
|
+
|
|
117
127
|
(_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus();
|
|
118
128
|
e.preventDefault();
|
|
119
129
|
}
|
|
@@ -136,6 +146,7 @@ const ActionPopoverItem = ({
|
|
|
136
146
|
e.stopPropagation();
|
|
137
147
|
} else if (Events.isRightKey(e)) {
|
|
138
148
|
var _ref$current3;
|
|
149
|
+
|
|
139
150
|
setOpen(false);
|
|
140
151
|
(_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.focus();
|
|
141
152
|
e.stopPropagation();
|
|
@@ -147,19 +158,24 @@ const ActionPopoverItem = ({
|
|
|
147
158
|
setFocusIndex(0);
|
|
148
159
|
e.stopPropagation();
|
|
149
160
|
}
|
|
161
|
+
|
|
150
162
|
if (Events.isLeftKey(e)) {
|
|
151
163
|
var _ref$current4;
|
|
164
|
+
|
|
152
165
|
setOpen(false);
|
|
153
166
|
(_ref$current4 = ref.current) === null || _ref$current4 === void 0 ? void 0 : _ref$current4.focus();
|
|
154
167
|
e.stopPropagation();
|
|
155
168
|
}
|
|
156
169
|
}
|
|
170
|
+
|
|
157
171
|
e.preventDefault();
|
|
158
172
|
} else if (Events.isEnterKey(e)) {
|
|
159
173
|
if (isHref && download) {
|
|
160
174
|
var _ref$current5;
|
|
175
|
+
|
|
161
176
|
(_ref$current5 = ref.current) === null || _ref$current5 === void 0 ? void 0 : _ref$current5.click();
|
|
162
177
|
}
|
|
178
|
+
|
|
163
179
|
e.preventDefault();
|
|
164
180
|
onClick(e);
|
|
165
181
|
}
|
|
@@ -167,8 +183,7 @@ const ActionPopoverItem = ({
|
|
|
167
183
|
e.stopPropagation();
|
|
168
184
|
}
|
|
169
185
|
}, [disabled, download, focusButton, isHref, isLeftAligned, onClick, setOpenPopover, submenu]);
|
|
170
|
-
const itemSubmenuProps = {
|
|
171
|
-
...(!disabled && {
|
|
186
|
+
const itemSubmenuProps = { ...(!disabled && {
|
|
172
187
|
onMouseEnter: e => {
|
|
173
188
|
if (mouseEnterTimer.current) clearTimeout(mouseEnterTimer.current);
|
|
174
189
|
setFocusIndex(-1);
|
|
@@ -186,6 +201,7 @@ const ActionPopoverItem = ({
|
|
|
186
201
|
},
|
|
187
202
|
onClick: e => {
|
|
188
203
|
var _ref$current6;
|
|
204
|
+
|
|
189
205
|
setOpen(true);
|
|
190
206
|
(_ref$current6 = ref.current) === null || _ref$current6 === void 0 ? void 0 : _ref$current6.focus();
|
|
191
207
|
e.preventDefault();
|
|
@@ -197,12 +213,14 @@ const ActionPopoverItem = ({
|
|
|
197
213
|
"aria-controls": `ActionPopoverMenu_${guid}`,
|
|
198
214
|
"aria-expanded": isOpen
|
|
199
215
|
};
|
|
216
|
+
|
|
200
217
|
const renderMenuItemIcon = () => {
|
|
201
218
|
return icon && /*#__PURE__*/React.createElement(MenuItemIcon, {
|
|
202
219
|
as: undefined,
|
|
203
220
|
type: icon
|
|
204
221
|
});
|
|
205
222
|
};
|
|
223
|
+
|
|
206
224
|
return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({}, rest, {
|
|
207
225
|
ref: ref,
|
|
208
226
|
onClick: onClick,
|
|
@@ -234,6 +252,7 @@ const ActionPopoverItem = ({
|
|
|
234
252
|
type: "chevron_right"
|
|
235
253
|
}) : null);
|
|
236
254
|
};
|
|
255
|
+
|
|
237
256
|
ActionPopoverItem.propTypes = {
|
|
238
257
|
"children": PropTypes.string.isRequired,
|
|
239
258
|
"disabled": PropTypes.bool,
|
|
@@ -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, useMemo, useContext } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import invariant from "invariant";
|
|
@@ -30,6 +31,7 @@ const ActionPopoverMenu = /*#__PURE__*/React.forwardRef(({
|
|
|
30
31
|
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
31
32
|
return true;
|
|
32
33
|
}
|
|
34
|
+
|
|
33
35
|
return child.type !== ActionPopoverItem && child.type !== ActionPopoverDivider;
|
|
34
36
|
});
|
|
35
37
|
return !incorrectChild;
|
|
@@ -42,8 +44,8 @@ const ActionPopoverMenu = /*#__PURE__*/React.forwardRef(({
|
|
|
42
44
|
}, [children]);
|
|
43
45
|
const onKeyDown = useCallback(e => {
|
|
44
46
|
if (Events.isTabKey(e)) {
|
|
45
|
-
e.preventDefault();
|
|
46
|
-
|
|
47
|
+
e.preventDefault(); // TAB: close menu and allow focus to change to next focusable element
|
|
48
|
+
|
|
47
49
|
focusButton();
|
|
48
50
|
setOpen(false);
|
|
49
51
|
} else if (Events.isDownKey(e)) {
|
|
@@ -79,11 +81,13 @@ const ActionPopoverMenu = /*#__PURE__*/React.forwardRef(({
|
|
|
79
81
|
if (firstMatch === undefined) {
|
|
80
82
|
firstMatch = index;
|
|
81
83
|
}
|
|
84
|
+
|
|
82
85
|
if (index > focusIndex && nextMatch === undefined) {
|
|
83
86
|
nextMatch = index;
|
|
84
87
|
}
|
|
85
88
|
}
|
|
86
89
|
});
|
|
90
|
+
|
|
87
91
|
if (nextMatch !== undefined) {
|
|
88
92
|
setFocusIndex(nextMatch);
|
|
89
93
|
} else if (firstMatch !== undefined) {
|
|
@@ -102,6 +106,7 @@ const ActionPopoverMenu = /*#__PURE__*/React.forwardRef(({
|
|
|
102
106
|
horizontalAlignment
|
|
103
107
|
});
|
|
104
108
|
}
|
|
109
|
+
|
|
105
110
|
return child;
|
|
106
111
|
});
|
|
107
112
|
}, [children, focusIndex, isOpen, placement, horizontalAlignment]);
|
|
@@ -1,8 +1,10 @@
|
|
|
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 { MenuButtonOverrideWrapper } from "../action-popover.style";
|
|
5
6
|
import Button from "../../button";
|
|
7
|
+
|
|
6
8
|
const ActionPopoverMenuButton = ({
|
|
7
9
|
buttonType,
|
|
8
10
|
iconType,
|
|
@@ -16,6 +18,7 @@ const ActionPopoverMenuButton = ({
|
|
|
16
18
|
iconPosition: iconPosition,
|
|
17
19
|
size: size
|
|
18
20
|
}, props), children));
|
|
21
|
+
|
|
19
22
|
ActionPopoverMenuButton.propTypes = {
|
|
20
23
|
"ariaAttributes": PropTypes.shape({
|
|
21
24
|
"aria-controls": PropTypes.string.isRequired,
|