carbon-react 111.12.3 → 111.12.5
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/index.d.ts +2 -2
- package/esm/__internal__/radio-button-mapper/radio-button-mapper.component.d.ts +29 -0
- package/esm/__internal__/radio-button-mapper/radio-button-mapper.component.js +25 -21
- 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/checkbox/checkbox.style.d.ts +1 -1
- 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/index.d.ts +4 -6
- package/esm/components/radio-button/index.js +2 -2
- package/esm/components/radio-button/radio-button-group.component.d.ts +42 -0
- package/esm/components/radio-button/radio-button-group.component.js +187 -48
- package/esm/components/radio-button/radio-button-group.style.d.ts +5 -0
- package/esm/components/radio-button/radio-button-svg.component.d.ts +3 -0
- package/esm/components/radio-button/radio-button-svg.component.js +3 -0
- package/esm/components/radio-button/radio-button.component.d.ts +28 -0
- package/esm/components/radio-button/radio-button.component.js +532 -84
- package/esm/components/radio-button/radio-button.style.d.ts +5 -0
- 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.d.ts +2 -2
- package/lib/__internal__/radio-button-mapper/index.js +2 -0
- package/lib/__internal__/radio-button-mapper/radio-button-mapper.component.d.ts +29 -0
- package/lib/__internal__/radio-button-mapper/radio-button-mapper.component.js +30 -21
- 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.d.ts +1 -1
- 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.d.ts +4 -6
- package/lib/components/radio-button/index.js +5 -9
- package/lib/components/radio-button/radio-button-group.component.d.ts +42 -0
- package/lib/components/radio-button/radio-button-group.component.js +198 -49
- package/lib/components/radio-button/radio-button-group.style.d.ts +5 -0
- package/lib/components/radio-button/radio-button-group.style.js +4 -0
- package/lib/components/radio-button/radio-button-svg.component.d.ts +3 -0
- package/lib/components/radio-button/radio-button-svg.component.js +8 -0
- package/lib/components/radio-button/radio-button.component.d.ts +28 -0
- package/lib/components/radio-button/radio-button.component.js +548 -85
- package/lib/components/radio-button/radio-button.style.d.ts +5 -0
- 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
- package/esm/__internal__/radio-button-mapper/radio-button-mapper.d.ts +0 -20
- package/esm/components/radio-button/radio-button-group.d.ts +0 -42
- package/esm/components/radio-button/radio-button.d.ts +0 -30
- package/lib/__internal__/radio-button-mapper/radio-button-mapper.d.ts +0 -20
- package/lib/components/radio-button/radio-button-group.d.ts +0 -42
- package/lib/components/radio-button/radio-button.d.ts +0 -30
|
@@ -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 } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import DayPicker from "react-day-picker";
|
|
@@ -52,27 +53,31 @@ const DatePicker = /*#__PURE__*/React.forwardRef(({
|
|
|
52
53
|
} : {
|
|
53
54
|
width: "abbreviated"
|
|
54
55
|
}).substring(0, 3)), [l, localize]);
|
|
56
|
+
|
|
55
57
|
const handleDayClick = (date, {
|
|
56
58
|
disabled
|
|
57
59
|
}, ev) => {
|
|
58
60
|
if (!disabled) {
|
|
59
61
|
var _inputElement$current;
|
|
62
|
+
|
|
60
63
|
const {
|
|
61
64
|
id,
|
|
62
65
|
name
|
|
63
66
|
} = inputElement === null || inputElement === void 0 ? void 0 : (_inputElement$current = inputElement.current) === null || _inputElement$current === void 0 ? void 0 : _inputElement$current.firstChild;
|
|
64
|
-
ev.target = {
|
|
65
|
-
...ev.target,
|
|
67
|
+
ev.target = { ...ev.target,
|
|
66
68
|
id,
|
|
67
69
|
name
|
|
68
70
|
};
|
|
69
71
|
onDayClick(date, ev);
|
|
70
72
|
}
|
|
71
73
|
};
|
|
74
|
+
|
|
72
75
|
const formatDay = date => `${weekdaysShort[date.getDay()]} ${date.getDate()} ${monthsShort[date.getMonth()]} ${date.getFullYear()}`;
|
|
76
|
+
|
|
73
77
|
if (!open) {
|
|
74
78
|
return null;
|
|
75
79
|
}
|
|
80
|
+
|
|
76
81
|
return /*#__PURE__*/React.createElement(Popover, {
|
|
77
82
|
placement: "bottom-start",
|
|
78
83
|
reference: inputElement,
|
|
@@ -112,20 +117,28 @@ const DatePicker = /*#__PURE__*/React.forwardRef(({
|
|
|
112
117
|
DatePicker.propTypes = {
|
|
113
118
|
/** Minimum possible date */
|
|
114
119
|
minDate: PropTypes.string,
|
|
120
|
+
|
|
115
121
|
/** Maximum possible date */
|
|
116
122
|
maxDate: PropTypes.string,
|
|
123
|
+
|
|
117
124
|
/** Boolean to toggle where DatePicker is rendered in relation to the Date Input */
|
|
118
125
|
disablePortal: PropTypes.bool,
|
|
126
|
+
|
|
119
127
|
/** Element that the DatePicker will be displayed under */
|
|
120
128
|
inputElement: PropTypes.object.isRequired,
|
|
129
|
+
|
|
121
130
|
/** Currently selected date */
|
|
122
131
|
selectedDays: PropTypes.instanceOf(Date),
|
|
132
|
+
|
|
123
133
|
/** Callback to set selected date */
|
|
124
134
|
onDayClick: PropTypes.func,
|
|
135
|
+
|
|
125
136
|
/** Pass any props that match the DayPickerProps interface to override default behaviors */
|
|
126
137
|
pickerProps: PropTypes.object,
|
|
138
|
+
|
|
127
139
|
/** Callback to handle mousedown event on picker */
|
|
128
140
|
pickerMouseDown: PropTypes.func,
|
|
141
|
+
|
|
129
142
|
/** Sets whether the picker should be displayed */
|
|
130
143
|
open: PropTypes.bool
|
|
131
144
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import styled from "styled-components";
|
|
2
|
-
import baseTheme from "../../../../style/themes/base";
|
|
2
|
+
import baseTheme from "../../../../style/themes/base"; // Styles copied from https://github.com/gpbl/react-day-picker/blob/v6.1.1/src/style.css
|
|
3
3
|
|
|
4
|
-
// Styles copied from https://github.com/gpbl/react-day-picker/blob/v6.1.1/src/style.css
|
|
5
4
|
const addReactDayPickerStyles = () => `
|
|
6
5
|
.DayPicker {
|
|
7
6
|
display: inline-block;
|
|
@@ -175,6 +174,7 @@ const addReactDayPickerStyles = () => `
|
|
|
175
174
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
|
|
176
175
|
}
|
|
177
176
|
`;
|
|
177
|
+
|
|
178
178
|
const StyledDayPicker = styled.div`
|
|
179
179
|
${addReactDayPickerStyles}
|
|
180
180
|
|
|
@@ -285,9 +285,13 @@ const StyledDayPicker = styled.div`
|
|
|
285
285
|
|
|
286
286
|
.DayPicker-Day--disabled,
|
|
287
287
|
.DayPicker-Day--disabled:hover {
|
|
288
|
-
color: var(colorsActionMajorYin030);
|
|
288
|
+
color: var(--colorsActionMajorYin030);
|
|
289
289
|
background-color: var(--colorsUtilityYang100);
|
|
290
290
|
cursor: default;
|
|
291
|
+
|
|
292
|
+
&.DayPicker-Day--today {
|
|
293
|
+
background-color: var(--colorsActionMinor200);
|
|
294
|
+
}
|
|
291
295
|
}
|
|
292
296
|
|
|
293
297
|
.DayPicker-Day--selected:not(.DayPicker-Day--disabled):not(.DayPicker-Day--outside) {
|
|
@@ -3,6 +3,7 @@ import PropTypes from "prop-types";
|
|
|
3
3
|
import StyledButton from "./button.style";
|
|
4
4
|
import StyledNavbar from "./navbar.style";
|
|
5
5
|
import Icon from "../../../icon";
|
|
6
|
+
|
|
6
7
|
const Navbar = ({
|
|
7
8
|
onPreviousClick,
|
|
8
9
|
onNextClick,
|
|
@@ -16,6 +17,7 @@ const Navbar = ({
|
|
|
16
17
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
17
18
|
type: "chevron_right"
|
|
18
19
|
})));
|
|
20
|
+
|
|
19
21
|
Navbar.propTypes = {
|
|
20
22
|
onPreviousClick: PropTypes.func,
|
|
21
23
|
onNextClick: PropTypes.func
|
|
@@ -5,9 +5,11 @@ export function parseDate(formatString, valueString) {
|
|
|
5
5
|
}
|
|
6
6
|
export function formatToISO(formatString, valueString) {
|
|
7
7
|
const dateValue = parseDate(formatString, valueString);
|
|
8
|
+
|
|
8
9
|
if (!isDateValid(dateValue)) {
|
|
9
10
|
return null;
|
|
10
11
|
}
|
|
12
|
+
|
|
11
13
|
return formatISO(dateValue).split("T")[0];
|
|
12
14
|
}
|
|
13
15
|
export function formattedValue(formatString, value) {
|
|
@@ -16,6 +18,7 @@ export function formattedValue(formatString, value) {
|
|
|
16
18
|
export function isDateValid(date) {
|
|
17
19
|
return date && date.toString() !== "Invalid Date";
|
|
18
20
|
}
|
|
21
|
+
|
|
19
22
|
function hasMatchedFormat(formatString, valueString, fullFormat, fullValue) {
|
|
20
23
|
if (formatString.includes("d")) {
|
|
21
24
|
return formatString.length === valueString.length && isMatch(fullFormat.join("."), fullValue.join(".")) // need to check day value with month value
|
|
@@ -24,11 +27,13 @@ function hasMatchedFormat(formatString, valueString, fullFormat, fullValue) {
|
|
|
24
27
|
|
|
25
28
|
return formatString.length === valueString.length && isMatch(formatString, valueString);
|
|
26
29
|
}
|
|
30
|
+
|
|
27
31
|
const THRESHOLD_FOR_ADDITIONAL_YEARS = 69;
|
|
28
32
|
export function additionalYears(formatString, value) {
|
|
29
33
|
if (formatString.split("y").length - 1 !== 2) {
|
|
30
34
|
return [formatString, value];
|
|
31
35
|
}
|
|
36
|
+
|
|
32
37
|
const formatStartWithYear = formatString.startsWith("yy");
|
|
33
38
|
const yearStringStartIndex = formatStartWithYear ? 0 : value.length - 2;
|
|
34
39
|
const yearStringEndIndex = formatStartWithYear ? 2 : value.length;
|
|
@@ -37,44 +42,57 @@ export function additionalYears(formatString, value) {
|
|
|
37
42
|
let year = value.substring(yearStringStartIndex, yearStringEndIndex);
|
|
38
43
|
const dayAndMonth = value.substring(dayAndMonthStringStartIndex, dayAndMonthStringEndIndex);
|
|
39
44
|
const yearAsNumber = Number(year);
|
|
45
|
+
|
|
40
46
|
if (yearAsNumber < THRESHOLD_FOR_ADDITIONAL_YEARS) {
|
|
41
47
|
year = String(2000 + yearAsNumber);
|
|
42
48
|
} else {
|
|
43
49
|
year = String(1900 + yearAsNumber);
|
|
44
50
|
}
|
|
51
|
+
|
|
45
52
|
if (formatStartWithYear) {
|
|
46
53
|
return [`yyyy${formatString.substring(2, formatString.length)}`, `${year}${dayAndMonth}`];
|
|
47
54
|
}
|
|
55
|
+
|
|
48
56
|
return [`${formatString.substring(0, formatString.length - 2)}yyyy`, `${dayAndMonth}${year}`];
|
|
49
57
|
}
|
|
58
|
+
|
|
50
59
|
function makeSeparatedValues(arr, str) {
|
|
51
60
|
return arr.map((_, i) => str.substring(arr[i], arr[i + 1]));
|
|
52
61
|
}
|
|
62
|
+
|
|
53
63
|
function checkForCompleteMatch(formatArray, valueArray) {
|
|
54
64
|
return formatArray.every((formatString, i) => hasMatchedFormat(formatString, valueArray[i], formatArray, valueArray));
|
|
55
65
|
}
|
|
66
|
+
|
|
56
67
|
function findMatchWithNoSeparators(valueString, formatString) {
|
|
57
68
|
const indexArray = formatString.split("").reduce((arr, char, index) => {
|
|
58
69
|
if (index === 0 || char !== formatString[index - 1]) {
|
|
59
70
|
return [...arr, index];
|
|
60
71
|
}
|
|
72
|
+
|
|
61
73
|
return arr;
|
|
62
74
|
}, []);
|
|
63
75
|
const formatArray = makeSeparatedValues(indexArray, formatString);
|
|
64
76
|
const valueArray = makeSeparatedValues(indexArray, valueString);
|
|
77
|
+
|
|
65
78
|
if (checkForCompleteMatch(formatArray, valueArray)) {
|
|
66
79
|
return [formatArray.join(" "), valueArray.join(" ")];
|
|
67
80
|
}
|
|
81
|
+
|
|
68
82
|
return null;
|
|
69
83
|
}
|
|
84
|
+
|
|
70
85
|
function findMatchWithSeparators(valueString, formatString, separator) {
|
|
71
86
|
const formatArray = formatString.split(separator);
|
|
72
87
|
const valueArray = valueString.split(separator);
|
|
88
|
+
|
|
73
89
|
if (checkForCompleteMatch(formatArray, valueArray)) {
|
|
74
90
|
return [formatString, valueString];
|
|
75
91
|
}
|
|
92
|
+
|
|
76
93
|
return null;
|
|
77
94
|
}
|
|
95
|
+
|
|
78
96
|
export const getSeparator = value => {
|
|
79
97
|
const separator = ["", ".", ",", "-", "/", " ", ":"].slice(1).find(char => value.includes(char));
|
|
80
98
|
return separator || "";
|
|
@@ -83,24 +101,30 @@ export function findMatchedFormatAndValue(valueString, formats) {
|
|
|
83
101
|
if (!valueString) {
|
|
84
102
|
return ["", ""];
|
|
85
103
|
}
|
|
104
|
+
|
|
86
105
|
const valueSeparator = getSeparator(valueString);
|
|
87
106
|
const filteredFormats = formats.filter(formatString => formatString.length === valueString.length && getSeparator(formatString) === valueSeparator);
|
|
88
107
|
const matchedFormatAndValue = filteredFormats.reduce((acc, formatString) => {
|
|
89
108
|
const formatSeparator = getSeparator(formatString);
|
|
109
|
+
|
|
90
110
|
if (valueSeparator === "" && formatSeparator === "") {
|
|
91
111
|
// This check is added as there is a bug in date-fns https://github.com/date-fns/date-fns/issues/2785
|
|
92
112
|
// it incorrectly matches or fails to parse valid dates with no separators
|
|
93
113
|
const match = findMatchWithNoSeparators(valueString, formatString);
|
|
114
|
+
|
|
94
115
|
if (match) {
|
|
95
116
|
return match;
|
|
96
117
|
}
|
|
97
118
|
}
|
|
119
|
+
|
|
98
120
|
if (valueSeparator && formatSeparator && valueSeparator === formatSeparator) {
|
|
99
121
|
const match = findMatchWithSeparators(valueString, formatString, valueSeparator);
|
|
122
|
+
|
|
100
123
|
if (match) {
|
|
101
124
|
return match;
|
|
102
125
|
}
|
|
103
126
|
}
|
|
127
|
+
|
|
104
128
|
return acc;
|
|
105
129
|
}, []);
|
|
106
130
|
return matchedFormatAndValue;
|
|
@@ -108,34 +132,40 @@ export function findMatchedFormatAndValue(valueString, formats) {
|
|
|
108
132
|
export function parseISODate(value) {
|
|
109
133
|
return parseISO(value);
|
|
110
134
|
}
|
|
111
|
-
|
|
112
135
|
/**
|
|
113
136
|
* Returns the disabled array of days specified by props maxDate and minDate
|
|
114
137
|
*/
|
|
138
|
+
|
|
115
139
|
export function getDisabledDays(minDate, maxDate) {
|
|
116
140
|
const days = [];
|
|
141
|
+
|
|
117
142
|
if (!minDate && !maxDate) {
|
|
118
143
|
return null;
|
|
119
144
|
}
|
|
145
|
+
|
|
120
146
|
if (checkISOFormatAndLength(minDate)) {
|
|
121
147
|
days.push({
|
|
122
148
|
before: parseISODate(minDate)
|
|
123
149
|
});
|
|
124
150
|
}
|
|
151
|
+
|
|
125
152
|
if (checkISOFormatAndLength(maxDate)) {
|
|
126
153
|
days.push({
|
|
127
154
|
after: parseISODate(maxDate)
|
|
128
155
|
});
|
|
129
156
|
}
|
|
157
|
+
|
|
130
158
|
return days;
|
|
131
159
|
}
|
|
132
160
|
export function checkISOFormatAndLength(value) {
|
|
133
161
|
if (!value || value.length !== 10 || !isValidISODate(value)) {
|
|
134
162
|
return false;
|
|
135
163
|
}
|
|
164
|
+
|
|
136
165
|
const array = value.split("-");
|
|
137
166
|
return array.length === 3 && array[0].length === 4 && array[1].length === 2 && array[2].length === 2;
|
|
138
167
|
}
|
|
168
|
+
|
|
139
169
|
function isValidISODate(dateString) {
|
|
140
170
|
return parseISODate(dateString).toString() !== "Invalid Date";
|
|
141
171
|
}
|
|
@@ -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 StyledWeekday from "./weekday.style";
|
|
5
6
|
import StyledAbbr from "./abbr.style";
|
|
7
|
+
|
|
6
8
|
const Weekday = ({
|
|
7
9
|
className,
|
|
8
10
|
title,
|
|
@@ -14,6 +16,7 @@ const Weekday = ({
|
|
|
14
16
|
}, props), /*#__PURE__*/React.createElement(StyledAbbr, {
|
|
15
17
|
title: title
|
|
16
18
|
}, children));
|
|
19
|
+
|
|
17
20
|
Weekday.propTypes = {
|
|
18
21
|
className: PropTypes.string,
|
|
19
22
|
title: PropTypes.string,
|
|
@@ -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, useEffect, useMemo, useRef, useState } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import styledSystemPropTypes from "@styled-system/prop-types";
|
|
@@ -13,6 +14,7 @@ import DatePicker from "./__internal__/date-picker";
|
|
|
13
14
|
import DateRangeContext from "../date-range/date-range.context";
|
|
14
15
|
import useClickAwayListener from "../../hooks/__internal__/useClickAwayListener";
|
|
15
16
|
const marginPropTypes = filterStyledSystemMarginProps(styledSystemPropTypes.space);
|
|
17
|
+
|
|
16
18
|
const DateInput = ({
|
|
17
19
|
adaptiveLabelBreakpoint,
|
|
18
20
|
allowEmptyValue,
|
|
@@ -60,7 +62,9 @@ const DateInput = ({
|
|
|
60
62
|
const [open, setOpen] = useState(false);
|
|
61
63
|
const [selectedDays, setSelectedDays] = useState(checkISOFormatAndLength(value) ? parseISODate(value) : parseDate(format, value));
|
|
62
64
|
const isInitialValue = useRef(true);
|
|
65
|
+
|
|
63
66
|
const computeInvalidRawValue = inputValue => allowEmptyValue && !inputValue.length ? inputValue : null;
|
|
67
|
+
|
|
64
68
|
const buildCustomEvent = ev => {
|
|
65
69
|
const {
|
|
66
70
|
id,
|
|
@@ -69,8 +73,7 @@ const DateInput = ({
|
|
|
69
73
|
const [matchedFormat, matchedValue] = findMatchedFormatAndValue(ev.target.value, formats);
|
|
70
74
|
const formattedValueString = ev.type === "blur" ? formattedValue(format, selectedDays) : ev.target.value;
|
|
71
75
|
const rawValue = isDateValid(parseDate(matchedFormat, matchedValue)) ? formatToISO(...additionalYears(matchedFormat, matchedValue)) : computeInvalidRawValue(ev.target.value);
|
|
72
|
-
ev.target = {
|
|
73
|
-
...(name && {
|
|
76
|
+
ev.target = { ...(name && {
|
|
74
77
|
name
|
|
75
78
|
}),
|
|
76
79
|
...(id && {
|
|
@@ -83,6 +86,7 @@ const DateInput = ({
|
|
|
83
86
|
};
|
|
84
87
|
return ev;
|
|
85
88
|
};
|
|
89
|
+
|
|
86
90
|
const handleClickAway = () => {
|
|
87
91
|
if (open) {
|
|
88
92
|
alreadyFocused.current = true;
|
|
@@ -93,37 +97,44 @@ const DateInput = ({
|
|
|
93
97
|
alreadyFocused.current = false;
|
|
94
98
|
}
|
|
95
99
|
};
|
|
100
|
+
|
|
96
101
|
const handleClickInside = useClickAwayListener(handleClickAway, "mousedown");
|
|
102
|
+
|
|
97
103
|
const handleChange = ev => {
|
|
98
104
|
isInitialValue.current = false;
|
|
99
105
|
onChange(buildCustomEvent(ev));
|
|
100
106
|
};
|
|
107
|
+
|
|
101
108
|
const focusInput = () => {
|
|
102
109
|
var _inputRef$current;
|
|
110
|
+
|
|
103
111
|
focusedViaPicker.current = true;
|
|
104
112
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
105
113
|
};
|
|
114
|
+
|
|
106
115
|
const handleDayClick = (day, ev) => {
|
|
107
116
|
setSelectedDays(day);
|
|
108
|
-
onChange(buildCustomEvent({
|
|
109
|
-
...ev,
|
|
110
|
-
target: {
|
|
111
|
-
...ev.target,
|
|
117
|
+
onChange(buildCustomEvent({ ...ev,
|
|
118
|
+
target: { ...ev.target,
|
|
112
119
|
value: formattedValue(format, day)
|
|
113
120
|
}
|
|
114
121
|
}));
|
|
115
122
|
focusInput();
|
|
116
123
|
setOpen(false);
|
|
117
124
|
};
|
|
125
|
+
|
|
118
126
|
const handleBlur = ev => {
|
|
119
127
|
if (disabled || readOnly) {
|
|
120
128
|
return;
|
|
121
129
|
}
|
|
130
|
+
|
|
122
131
|
let event;
|
|
132
|
+
|
|
123
133
|
if (isDateValid(selectedDays)) {
|
|
124
134
|
event = buildCustomEvent(ev);
|
|
125
135
|
const currentValue = checkISOFormatAndLength(value) ? formattedValue(format, parseISODate(value)) : value;
|
|
126
136
|
const [, matchedValue] = findMatchedFormatAndValue(currentValue, formats);
|
|
137
|
+
|
|
127
138
|
if (formattedValue(format, selectedDays) !== matchedValue) {
|
|
128
139
|
onChange(event);
|
|
129
140
|
}
|
|
@@ -132,8 +143,7 @@ const DateInput = ({
|
|
|
132
143
|
id,
|
|
133
144
|
name
|
|
134
145
|
} = ev.target;
|
|
135
|
-
ev.target = {
|
|
136
|
-
...(name && {
|
|
146
|
+
ev.target = { ...(name && {
|
|
137
147
|
name
|
|
138
148
|
}),
|
|
139
149
|
...(id && {
|
|
@@ -146,52 +156,66 @@ const DateInput = ({
|
|
|
146
156
|
};
|
|
147
157
|
event = ev;
|
|
148
158
|
}
|
|
159
|
+
|
|
149
160
|
if (isBlurBlocked.current) {
|
|
150
161
|
return;
|
|
151
162
|
}
|
|
163
|
+
|
|
152
164
|
if (onBlur) {
|
|
153
165
|
onBlur(event);
|
|
154
166
|
}
|
|
155
167
|
};
|
|
168
|
+
|
|
156
169
|
const handleFocus = ev => {
|
|
157
170
|
if (disabled || readOnly) {
|
|
158
171
|
return;
|
|
159
172
|
}
|
|
173
|
+
|
|
160
174
|
isBlurBlocked.current = false;
|
|
175
|
+
|
|
161
176
|
if (!open && !alreadyFocused.current) {
|
|
162
177
|
setOpen(true);
|
|
163
178
|
} else {
|
|
164
179
|
alreadyFocused.current = false;
|
|
165
180
|
}
|
|
181
|
+
|
|
166
182
|
if (onFocus) {
|
|
167
183
|
onFocus(ev);
|
|
168
184
|
}
|
|
169
185
|
};
|
|
186
|
+
|
|
170
187
|
const handleKeyDown = ev => {
|
|
171
188
|
if (onKeyDown) {
|
|
172
189
|
onKeyDown(ev);
|
|
173
190
|
}
|
|
191
|
+
|
|
174
192
|
if (Events.isTabKey(ev)) {
|
|
175
193
|
setOpen(false);
|
|
176
194
|
alreadyFocused.current = false;
|
|
177
195
|
}
|
|
178
196
|
};
|
|
197
|
+
|
|
179
198
|
const handleClick = ev => {
|
|
180
199
|
if (disabled || readOnly) {
|
|
181
200
|
return;
|
|
182
201
|
}
|
|
202
|
+
|
|
183
203
|
if (onClick) {
|
|
184
204
|
onClick(ev);
|
|
185
205
|
}
|
|
186
206
|
};
|
|
207
|
+
|
|
187
208
|
const handleMouseDown = ev => {
|
|
188
209
|
handleClickInside(ev);
|
|
210
|
+
|
|
189
211
|
if (disabled || readOnly) {
|
|
190
212
|
return;
|
|
191
213
|
}
|
|
214
|
+
|
|
192
215
|
if (setInputRefMap) {
|
|
193
216
|
isBlurBlocked.current = true;
|
|
194
217
|
}
|
|
218
|
+
|
|
195
219
|
if (ev.target.type === "text" && !open) {
|
|
196
220
|
setOpen(true);
|
|
197
221
|
} else if (ev.target.type !== "text") {
|
|
@@ -199,18 +223,23 @@ const DateInput = ({
|
|
|
199
223
|
setOpen(prev => !prev);
|
|
200
224
|
}
|
|
201
225
|
};
|
|
226
|
+
|
|
202
227
|
const handleIconMouseDown = e => {
|
|
203
228
|
isBlurBlocked.current = true;
|
|
204
229
|
handleMouseDown(e);
|
|
205
230
|
};
|
|
231
|
+
|
|
206
232
|
const handlePickerMouseDown = ev => {
|
|
207
233
|
isBlurBlocked.current = true;
|
|
208
234
|
handleClickInside(ev);
|
|
209
235
|
};
|
|
236
|
+
|
|
210
237
|
const assignInput = input => {
|
|
211
238
|
var _inputRefMap$inputNam;
|
|
239
|
+
|
|
212
240
|
inputRef.current = input.current;
|
|
213
241
|
parentRef.current = input.current.parentElement;
|
|
242
|
+
|
|
214
243
|
if (inputRefMap && ((_inputRefMap$inputNam = inputRefMap[inputName]) === null || _inputRefMap$inputNam === void 0 ? void 0 : _inputRefMap$inputNam.setOpen) !== setOpen) {
|
|
215
244
|
setInputRefMap({
|
|
216
245
|
[inputName]: {
|
|
@@ -220,8 +249,10 @@ const DateInput = ({
|
|
|
220
249
|
});
|
|
221
250
|
}
|
|
222
251
|
};
|
|
252
|
+
|
|
223
253
|
useEffect(() => {
|
|
224
254
|
const [matchedFormat, matchedValue] = findMatchedFormatAndValue(value, formats);
|
|
255
|
+
|
|
225
256
|
if (matchedFormat && matchedValue && isDateValid(parseDate(matchedFormat, matchedValue))) {
|
|
226
257
|
setSelectedDays(parseDate(...additionalYears(matchedFormat, matchedValue)));
|
|
227
258
|
} else if (checkISOFormatAndLength(value) && isInitialValue.current) {
|
|
@@ -230,20 +261,26 @@ const DateInput = ({
|
|
|
230
261
|
setSelectedDays(undefined);
|
|
231
262
|
}
|
|
232
263
|
}, [value, formats]);
|
|
264
|
+
|
|
233
265
|
const computedValue = () => {
|
|
234
266
|
if (checkISOFormatAndLength(value) && isInitialValue.current) {
|
|
235
267
|
return formattedValue(format, parseISODate(value));
|
|
236
268
|
}
|
|
269
|
+
|
|
237
270
|
const valueSeparator = getSeparator(value);
|
|
238
271
|
const formatSeparator = getSeparator(format);
|
|
272
|
+
|
|
239
273
|
const replaceSeparators = () => value.split("").map(char => char === valueSeparator ? formatSeparator : char).join("");
|
|
274
|
+
|
|
240
275
|
if (isInitialValue.current && valueSeparator !== formatSeparator && isDateValid(parseDate(format, replaceSeparators()))) {
|
|
241
276
|
isInitialValue.current = false;
|
|
242
277
|
const [matchedFormat, matchedValue] = findMatchedFormatAndValue(replaceSeparators(), formats);
|
|
243
278
|
return formattedValue(format, parseDate(...additionalYears(matchedFormat, matchedValue)));
|
|
244
279
|
}
|
|
280
|
+
|
|
245
281
|
return value;
|
|
246
282
|
};
|
|
283
|
+
|
|
247
284
|
return /*#__PURE__*/React.createElement(StyledDateInput, _extends({
|
|
248
285
|
ref: wrapperRef,
|
|
249
286
|
role: "presentation",
|
|
@@ -285,23 +322,30 @@ const DateInput = ({
|
|
|
285
322
|
open: open
|
|
286
323
|
}));
|
|
287
324
|
};
|
|
288
|
-
|
|
289
|
-
|
|
325
|
+
|
|
326
|
+
DateInput.propTypes = { ...Textbox.propTypes,
|
|
290
327
|
...marginPropTypes,
|
|
328
|
+
|
|
291
329
|
/** Pass any props that match the [DayPickerProps](https://react-day-picker-v7.netlify.app/docs/getting-started/)
|
|
292
330
|
* interface to override default behaviors
|
|
293
331
|
* */
|
|
294
332
|
pickerProps: PropTypes.object,
|
|
333
|
+
|
|
295
334
|
/** Boolean to toggle where DatePicker is rendered in relation to the Date Input */
|
|
296
335
|
disablePortal: PropTypes.bool,
|
|
336
|
+
|
|
297
337
|
/** Minimum possible date YYYY-MM-DD */
|
|
298
338
|
minDate: PropTypes.string,
|
|
339
|
+
|
|
299
340
|
/** Maximum possible date YYYY-MM-DD */
|
|
300
341
|
maxDate: PropTypes.string,
|
|
342
|
+
|
|
301
343
|
/** Specify a callback triggered on change */
|
|
302
344
|
onChange: PropTypes.func.isRequired,
|
|
345
|
+
|
|
303
346
|
/** The current date string */
|
|
304
347
|
value: PropTypes.string.isRequired,
|
|
348
|
+
|
|
305
349
|
/** Boolean to allow the input to have an empty value */
|
|
306
350
|
allowEmptyValue: PropTypes.bool
|
|
307
351
|
};
|