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,9 +1,11 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
2
3
|
import React, { useContext } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import { StyledStepSequenceItem, StyledStepSequenceItemContent, StyledStepSequenceItemIndicator, StyledStepSequenceItemHiddenLabel } from "./step-sequence-item.style";
|
|
5
6
|
import Icon from "../../icon";
|
|
6
7
|
import { StepSequenceContext } from "../step-sequence.component";
|
|
8
|
+
|
|
7
9
|
const StepSequenceItem = ({
|
|
8
10
|
hideIndicator = false,
|
|
9
11
|
indicator,
|
|
@@ -17,21 +19,27 @@ const StepSequenceItem = ({
|
|
|
17
19
|
const {
|
|
18
20
|
orientation
|
|
19
21
|
} = useContext(StepSequenceContext);
|
|
22
|
+
|
|
20
23
|
const indicatorText = () => {
|
|
21
24
|
return !hideIndicator ? /*#__PURE__*/React.createElement(StyledStepSequenceItemIndicator, null, indicator) : null;
|
|
22
25
|
};
|
|
26
|
+
|
|
23
27
|
const icon = () => status === "complete" ? /*#__PURE__*/React.createElement(Icon, {
|
|
24
28
|
type: "tick"
|
|
25
29
|
}) : indicatorText();
|
|
30
|
+
|
|
26
31
|
const hiddenLabel = () => {
|
|
27
32
|
if (hiddenCompleteLabel && status === "complete") {
|
|
28
33
|
return /*#__PURE__*/React.createElement(StyledStepSequenceItemHiddenLabel, null, hiddenCompleteLabel);
|
|
29
34
|
}
|
|
35
|
+
|
|
30
36
|
if (hiddenCurrentLabel && status === "current") {
|
|
31
37
|
return /*#__PURE__*/React.createElement(StyledStepSequenceItemHiddenLabel, null, hiddenCurrentLabel);
|
|
32
38
|
}
|
|
39
|
+
|
|
33
40
|
return null;
|
|
34
41
|
};
|
|
42
|
+
|
|
35
43
|
return /*#__PURE__*/React.createElement(StyledStepSequenceItem, _extends({
|
|
36
44
|
"data-component": "step-sequence-item",
|
|
37
45
|
orientation: orientation,
|
|
@@ -40,6 +48,7 @@ const StepSequenceItem = ({
|
|
|
40
48
|
"aria-label": ariaLabel
|
|
41
49
|
}, rest), hiddenLabel(), /*#__PURE__*/React.createElement(StyledStepSequenceItemContent, null, icon(), /*#__PURE__*/React.createElement("span", null, children)));
|
|
42
50
|
};
|
|
51
|
+
|
|
43
52
|
StepSequenceItem.propTypes = {
|
|
44
53
|
"ariaLabel": PropTypes.string,
|
|
45
54
|
"children": PropTypes.node,
|
|
@@ -1,10 +1,12 @@
|
|
|
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 StyledStepSequence from "./step-sequence.style";
|
|
5
6
|
export const StepSequenceContext = /*#__PURE__*/React.createContext({
|
|
6
7
|
orientation: "horizontal"
|
|
7
8
|
});
|
|
9
|
+
|
|
8
10
|
const StepSequence = ({
|
|
9
11
|
children,
|
|
10
12
|
orientation = "horizontal",
|
|
@@ -20,6 +22,7 @@ const StepSequence = ({
|
|
|
20
22
|
}
|
|
21
23
|
}, children));
|
|
22
24
|
};
|
|
25
|
+
|
|
23
26
|
StepSequence.propTypes = {
|
|
24
27
|
"children": PropTypes.node,
|
|
25
28
|
"m": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
|
|
@@ -5,6 +5,7 @@ import StyledSwitchSlider from "./switch-slider.style";
|
|
|
5
5
|
import SwitchSliderPanel from "./switch-slider-panel.style";
|
|
6
6
|
import ValidationIcon from "../../../__internal__/validations/validation-icon.component";
|
|
7
7
|
import useLocale from "../../../hooks/__internal__/useLocale";
|
|
8
|
+
|
|
8
9
|
const SwitchSlider = ({
|
|
9
10
|
checked,
|
|
10
11
|
disabled,
|
|
@@ -46,6 +47,7 @@ const SwitchSlider = ({
|
|
|
46
47
|
tooltipFlipOverrides: ["top", "bottom"]
|
|
47
48
|
}));
|
|
48
49
|
};
|
|
50
|
+
|
|
49
51
|
SwitchSlider.propTypes = {
|
|
50
52
|
"checked": PropTypes.bool,
|
|
51
53
|
"disabled": PropTypes.bool,
|
|
@@ -6,6 +6,7 @@ import SwitchSlider from "./__internal__/switch-slider.component";
|
|
|
6
6
|
import useIsAboveBreakpoint from "../../hooks/__internal__/useIsAboveBreakpoint";
|
|
7
7
|
import { TooltipProvider } from "../../__internal__/tooltip-provider";
|
|
8
8
|
import { filterStyledSystemMarginProps } from "../../style/utils";
|
|
9
|
+
|
|
9
10
|
const Switch = ({
|
|
10
11
|
autoFocus,
|
|
11
12
|
id,
|
|
@@ -45,9 +46,11 @@ const Switch = ({
|
|
|
45
46
|
}, [setCheckedInternal, onChange]);
|
|
46
47
|
const largeScreen = useIsAboveBreakpoint(adaptiveLabelBreakpoint);
|
|
47
48
|
let shouldLabelBeInline = labelInline;
|
|
49
|
+
|
|
48
50
|
if (adaptiveLabelBreakpoint) {
|
|
49
51
|
shouldLabelBeInline = largeScreen;
|
|
50
52
|
}
|
|
53
|
+
|
|
51
54
|
const shouldValidationBeOnLabel = labelInline && !reverse ? true : validationOnLabel;
|
|
52
55
|
const switchStyleProps = {
|
|
53
56
|
"data-component": dataComponent,
|
|
@@ -102,6 +105,7 @@ const Switch = ({
|
|
|
102
105
|
tooltipPosition: tooltipPosition
|
|
103
106
|
}, /*#__PURE__*/React.createElement(SwitchStyle, switchStyleProps, /*#__PURE__*/React.createElement(CheckableInput, inputProps, /*#__PURE__*/React.createElement(SwitchSlider, switchSliderProps))));
|
|
104
107
|
};
|
|
108
|
+
|
|
105
109
|
Switch.propTypes = {
|
|
106
110
|
"about": PropTypes.string,
|
|
107
111
|
"accept": PropTypes.string,
|
|
@@ -170,6 +174,9 @@ Switch.propTypes = {
|
|
|
170
174
|
"contentEditable": PropTypes.oneOfType([PropTypes.oneOf(["false", "inherit", "true"]), PropTypes.bool]),
|
|
171
175
|
"contextMenu": PropTypes.string,
|
|
172
176
|
"crossOrigin": PropTypes.string,
|
|
177
|
+
"css": PropTypes.oneOfType([PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.shape({
|
|
178
|
+
"__emotion_styles": PropTypes.any.isRequired
|
|
179
|
+
}), PropTypes.string, PropTypes.bool]),
|
|
173
180
|
"dangerouslySetInnerHTML": PropTypes.shape({
|
|
174
181
|
"__html": PropTypes.string.isRequired
|
|
175
182
|
}),
|
|
@@ -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, { useRef, useState } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import { StyledTabTitle, StyledTitleContent, StyledLayoutWrapper, StyledSelectedIndicator } from "./tab-title.style";
|
|
@@ -41,54 +42,64 @@ const TabTitle = /*#__PURE__*/React.forwardRef(({
|
|
|
41
42
|
const hasFailedValidation = error || warning || info;
|
|
42
43
|
const [shouldShowTooltip, setShouldShowTooltip] = useState(false);
|
|
43
44
|
const hasHover = useRef(false);
|
|
45
|
+
|
|
44
46
|
const showTooltip = () => {
|
|
45
47
|
setShouldShowTooltip(true);
|
|
46
48
|
};
|
|
49
|
+
|
|
47
50
|
const hideTooltip = () => {
|
|
48
51
|
if ((ref === null || ref === void 0 ? void 0 : ref.current) !== document.activeElement && !hasHover.current) {
|
|
49
52
|
setShouldShowTooltip(false);
|
|
50
53
|
}
|
|
51
54
|
};
|
|
55
|
+
|
|
52
56
|
if (siblings && !keys.current.length) {
|
|
53
57
|
siblings.forEach(() => keys.current.push(createGuid()));
|
|
54
58
|
}
|
|
59
|
+
|
|
55
60
|
const handleKeyDown = ev => {
|
|
56
61
|
ev.stopPropagation();
|
|
62
|
+
|
|
57
63
|
if (href && Events.isEnterOrSpaceKey(ev)) {
|
|
58
64
|
return window.open(href, "_blank");
|
|
59
65
|
}
|
|
66
|
+
|
|
60
67
|
return onKeyDown(ev);
|
|
61
68
|
};
|
|
69
|
+
|
|
62
70
|
const handleClick = ev => {
|
|
63
71
|
var _ref$current;
|
|
72
|
+
|
|
64
73
|
ev.preventDefault();
|
|
65
|
-
const customEvent = {
|
|
66
|
-
...ev,
|
|
67
|
-
target: {
|
|
68
|
-
...ev.target,
|
|
74
|
+
const customEvent = { ...ev,
|
|
75
|
+
target: { ...ev.target,
|
|
69
76
|
dataset: {
|
|
70
77
|
tabid: dataTabId
|
|
71
78
|
}
|
|
72
79
|
}
|
|
73
80
|
};
|
|
81
|
+
|
|
74
82
|
if (href) {
|
|
75
83
|
onClick(customEvent);
|
|
76
84
|
return window.open(href, "_blank");
|
|
77
|
-
}
|
|
85
|
+
} // safari does not focus buttons by default
|
|
86
|
+
|
|
78
87
|
|
|
79
|
-
// safari does not focus buttons by default
|
|
80
88
|
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
81
89
|
return onClick(customEvent);
|
|
82
90
|
};
|
|
91
|
+
|
|
83
92
|
const renderContent = () => {
|
|
84
93
|
if (customLayout) {
|
|
85
94
|
return /*#__PURE__*/React.createElement(StyledLayoutWrapper, {
|
|
86
95
|
hasCustomLayout: true
|
|
87
96
|
}, customLayout);
|
|
88
97
|
}
|
|
98
|
+
|
|
89
99
|
if (!siblings) {
|
|
90
100
|
return title;
|
|
91
101
|
}
|
|
102
|
+
|
|
92
103
|
const titleText = /*#__PURE__*/React.createElement(React.Fragment, {
|
|
93
104
|
key: "title"
|
|
94
105
|
}, title);
|
|
@@ -97,14 +108,14 @@ const TabTitle = /*#__PURE__*/React.forwardRef(({
|
|
|
97
108
|
key: "title-siblings"
|
|
98
109
|
}, siblings.map((child, index) => {
|
|
99
110
|
const key = child.props.key || keys.current[index];
|
|
100
|
-
return /*#__PURE__*/React.cloneElement(child, {
|
|
101
|
-
...child.props,
|
|
111
|
+
return /*#__PURE__*/React.cloneElement(child, { ...child.props,
|
|
102
112
|
onClick: handleClick,
|
|
103
113
|
key
|
|
104
114
|
});
|
|
105
115
|
}));
|
|
106
116
|
return titlePosition === "before" ? [titleText, titleSiblings] : [titleSiblings, titleText];
|
|
107
117
|
};
|
|
118
|
+
|
|
108
119
|
return /*#__PURE__*/React.createElement(TooltipProvider, {
|
|
109
120
|
tooltipVisible: shouldShowTooltip
|
|
110
121
|
}, /*#__PURE__*/React.createElement(TabTitleContext.Provider, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import { StyledTabsHeaderWrapper, StyledTabsHeaderList } from "./tabs-header.style";
|
|
4
|
+
|
|
4
5
|
const TabsHeader = ({
|
|
5
6
|
align = "left",
|
|
6
7
|
children,
|
|
@@ -24,6 +25,7 @@ const TabsHeader = ({
|
|
|
24
25
|
isInSidebar: isInSidebar
|
|
25
26
|
}, children));
|
|
26
27
|
};
|
|
28
|
+
|
|
27
29
|
TabsHeader.propTypes = {
|
|
28
30
|
align: PropTypes.oneOf(["left", "right"]),
|
|
29
31
|
children: PropTypes.node.isRequired,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import styled, { css } from "styled-components";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
|
+
|
|
3
4
|
const computeLineWidth = ({
|
|
4
5
|
alternateStyling,
|
|
5
6
|
isInSidebar,
|
|
@@ -8,8 +9,10 @@ const computeLineWidth = ({
|
|
|
8
9
|
if (isInSidebar && position === "left") {
|
|
9
10
|
return "0px";
|
|
10
11
|
}
|
|
12
|
+
|
|
11
13
|
return alternateStyling ? "-1px" : "-2px";
|
|
12
14
|
};
|
|
15
|
+
|
|
13
16
|
const StyledTabsHeaderWrapper = styled.div`
|
|
14
17
|
${({
|
|
15
18
|
position,
|
|
@@ -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, useState } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import styledSystemPropTypes from "@styled-system/prop-types";
|
|
@@ -7,6 +8,7 @@ import tagComponent from "../../../__internal__/utils/helpers/tags/tags";
|
|
|
7
8
|
import { filterStyledSystemPaddingProps } from "../../../style/utils";
|
|
8
9
|
const TabContext = /*#__PURE__*/React.createContext({});
|
|
9
10
|
const paddingPropTypes = filterStyledSystemPaddingProps(styledSystemPropTypes.space);
|
|
11
|
+
|
|
10
12
|
const Tab = ({
|
|
11
13
|
ariaLabelledby,
|
|
12
14
|
className,
|
|
@@ -27,24 +29,21 @@ const Tab = ({
|
|
|
27
29
|
const [tabInfos, setTabInfos] = useState({});
|
|
28
30
|
const setError = useCallback((childId, hasError) => {
|
|
29
31
|
if (tabErrors[childId] !== hasError) {
|
|
30
|
-
setTabErrors({
|
|
31
|
-
...tabErrors,
|
|
32
|
+
setTabErrors({ ...tabErrors,
|
|
32
33
|
[childId]: hasError
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
36
|
}, [tabErrors]);
|
|
36
37
|
const setWarning = useCallback((childId, hasWarning) => {
|
|
37
38
|
if (tabWarnings[childId] !== hasWarning) {
|
|
38
|
-
setTabWarnings({
|
|
39
|
-
...tabWarnings,
|
|
39
|
+
setTabWarnings({ ...tabWarnings,
|
|
40
40
|
[childId]: hasWarning
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
}, [tabWarnings]);
|
|
44
44
|
const setInfo = useCallback((childId, hasInfo) => {
|
|
45
45
|
if (tabInfos[childId] !== hasInfo) {
|
|
46
|
-
setTabInfos({
|
|
47
|
-
...tabInfos,
|
|
46
|
+
setTabInfos({ ...tabInfos,
|
|
48
47
|
[childId]: hasInfo
|
|
49
48
|
});
|
|
50
49
|
}
|
|
@@ -78,41 +77,58 @@ const Tab = ({
|
|
|
78
77
|
position: position
|
|
79
78
|
}, tagComponent("tab", rest), rest), !href && children));
|
|
80
79
|
};
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
|
|
81
|
+
Tab.propTypes = { ...paddingPropTypes,
|
|
83
82
|
title: PropTypes.string,
|
|
83
|
+
|
|
84
84
|
/** A unique ID to identify this specific tab. */
|
|
85
85
|
tabId: PropTypes.string.isRequired,
|
|
86
|
+
|
|
86
87
|
/** @ignore @private */
|
|
87
88
|
className: PropTypes.string,
|
|
89
|
+
|
|
88
90
|
/** The child elements of Tab component. */
|
|
89
91
|
children: PropTypes.node,
|
|
92
|
+
|
|
90
93
|
/** Overrides Title default layout with a one defined in this prop */
|
|
91
94
|
customLayout: PropTypes.node,
|
|
95
|
+
|
|
92
96
|
/** @ignore @private Boolean indicating selected state of Tab. */
|
|
93
97
|
isTabSelected: PropTypes.bool,
|
|
98
|
+
|
|
94
99
|
/** The position of the Tab. */
|
|
95
100
|
position: PropTypes.oneOf(["top", "left"]),
|
|
101
|
+
|
|
96
102
|
/** @ignore @private */
|
|
97
103
|
role: PropTypes.string,
|
|
104
|
+
|
|
98
105
|
/** @ignore @private */
|
|
99
106
|
ariaLabelledby: PropTypes.string,
|
|
107
|
+
|
|
100
108
|
/** @ignore @private */
|
|
101
109
|
updateErrors: PropTypes.func,
|
|
110
|
+
|
|
102
111
|
/** @ignore @private */
|
|
103
112
|
updateWarnings: PropTypes.func,
|
|
113
|
+
|
|
104
114
|
/** @ignore @private */
|
|
105
115
|
updateInfos: PropTypes.func,
|
|
116
|
+
|
|
106
117
|
/** Message displayed when Tab has error */
|
|
107
118
|
errorMessage: PropTypes.string,
|
|
119
|
+
|
|
108
120
|
/** Message displayed when Tab has warning */
|
|
109
121
|
warningMessage: PropTypes.string,
|
|
122
|
+
|
|
110
123
|
/** Message displayed when Tab has warning */
|
|
111
124
|
infoMessage: PropTypes.string,
|
|
125
|
+
|
|
112
126
|
/** Additional content to display with title */
|
|
113
127
|
siblings: PropTypes.arrayOf(PropTypes.node),
|
|
128
|
+
|
|
114
129
|
/** Position title before or after siblings */
|
|
115
130
|
titlePosition: PropTypes.oneOf(["before", "after"]),
|
|
131
|
+
|
|
116
132
|
/** Allows Tab to be a link */
|
|
117
133
|
href: PropTypes.string
|
|
118
134
|
};
|
|
@@ -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, useContext, useEffect, useMemo, useRef, useState, createRef, cloneElement, Children } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import styledSystemPropTypes from "@styled-system/prop-types";
|
|
@@ -11,6 +12,7 @@ import TabTitle from "./__internal__/tab-title";
|
|
|
11
12
|
import { DrawerSidebarContext } from "../drawer";
|
|
12
13
|
import { filterStyledSystemMarginProps } from "../../style/utils";
|
|
13
14
|
const marginPropTypes = filterStyledSystemMarginProps(styledSystemPropTypes.space);
|
|
15
|
+
|
|
14
16
|
const Tabs = ({
|
|
15
17
|
align = "left",
|
|
16
18
|
className,
|
|
@@ -29,11 +31,11 @@ const Tabs = ({
|
|
|
29
31
|
}) => {
|
|
30
32
|
/** The children nodes converted into an Array */
|
|
31
33
|
const filteredChildren = useMemo(() => Children.toArray(children).filter(child => child), [children]);
|
|
32
|
-
|
|
33
34
|
/** Array of the tabIds for the child nodes */
|
|
34
|
-
const tabIds = useMemo(() => filteredChildren.map(child => child.props.tabId), [filteredChildren]);
|
|
35
35
|
|
|
36
|
+
const tabIds = useMemo(() => filteredChildren.map(child => child.props.tabId), [filteredChildren]);
|
|
36
37
|
/** Array of refs to the TabTitle nodes */
|
|
38
|
+
|
|
37
39
|
const tabRefs = useMemo(() => Array.from({
|
|
38
40
|
length: filteredChildren.length
|
|
39
41
|
}).map(() => /*#__PURE__*/createRef()), [filteredChildren.length]);
|
|
@@ -48,41 +50,40 @@ const Tabs = ({
|
|
|
48
50
|
const [tabsInfos, setTabsInfos] = useState({});
|
|
49
51
|
const updateErrors = useCallback((id, hasError) => {
|
|
50
52
|
if (tabsErrors[id] !== hasError) {
|
|
51
|
-
setTabsErrors({
|
|
52
|
-
...tabsErrors,
|
|
53
|
+
setTabsErrors({ ...tabsErrors,
|
|
53
54
|
[id]: hasError
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
57
|
}, [tabsErrors]);
|
|
57
58
|
const updateWarnings = useCallback((id, hasWarning) => {
|
|
58
59
|
if (tabsWarnings[id] !== hasWarning) {
|
|
59
|
-
setTabsWarnings({
|
|
60
|
-
...tabsWarnings,
|
|
60
|
+
setTabsWarnings({ ...tabsWarnings,
|
|
61
61
|
[id]: hasWarning
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
}, [tabsWarnings]);
|
|
65
65
|
const updateInfos = useCallback((id, hasInfo) => {
|
|
66
66
|
if (tabsInfos[id] !== hasInfo) {
|
|
67
|
-
setTabsInfos({
|
|
68
|
-
...tabsInfos,
|
|
67
|
+
setTabsInfos({ ...tabsInfos,
|
|
69
68
|
[id]: hasInfo
|
|
70
69
|
});
|
|
71
70
|
}
|
|
72
71
|
}, [tabsInfos]);
|
|
73
|
-
|
|
74
72
|
/** Returns true/false for if the given tab id is selected. */
|
|
73
|
+
|
|
75
74
|
const isTabSelected = useCallback(tabId => tabId === selectedTabIdState, [selectedTabIdState]);
|
|
76
75
|
const hasTabStop = useCallback(tabId => tabId === tabStopId, [tabStopId]);
|
|
77
|
-
|
|
78
76
|
/** Updates the currently visible tab */
|
|
77
|
+
|
|
79
78
|
const updateVisibleTab = useCallback(tabid => {
|
|
80
79
|
if (!isTabSelected(tabid)) {
|
|
81
80
|
setSelectedTabIdState(tabid);
|
|
82
81
|
}
|
|
82
|
+
|
|
83
83
|
if (!hasTabStop(tabid)) {
|
|
84
84
|
setTabStopId(tabid);
|
|
85
85
|
}
|
|
86
|
+
|
|
86
87
|
if (onTabChange) {
|
|
87
88
|
onTabChange(tabid);
|
|
88
89
|
}
|
|
@@ -90,8 +91,10 @@ const Tabs = ({
|
|
|
90
91
|
const blurPreviousSelectedTab = useCallback(() => {
|
|
91
92
|
const previousTabIndex = tabIds.indexOf(previousSelectedTabId.current);
|
|
92
93
|
/* istanbul ignore else */
|
|
94
|
+
|
|
93
95
|
if (previousTabIndex !== -1) {
|
|
94
96
|
var _previousTabRef$curre;
|
|
97
|
+
|
|
95
98
|
const previousTabRef = tabRefs[previousTabIndex];
|
|
96
99
|
(_previousTabRef$curre = previousTabRef.current) === null || _previousTabRef$curre === void 0 ? void 0 : _previousTabRef$curre.blur();
|
|
97
100
|
}
|
|
@@ -102,43 +105,51 @@ const Tabs = ({
|
|
|
102
105
|
setSelectedTabIdState(selectedTabId);
|
|
103
106
|
blurPreviousSelectedTab();
|
|
104
107
|
}
|
|
108
|
+
|
|
105
109
|
previousSelectedTabId.current = selectedTabId;
|
|
106
110
|
}
|
|
107
111
|
}, [blurPreviousSelectedTab, previousSelectedTabId, selectedTabId, selectedTabIdState]);
|
|
108
|
-
|
|
109
112
|
/** Determines if the tab titles are in a vertical format. */
|
|
110
|
-
const isVertical = currentPosition => currentPosition === "left";
|
|
111
113
|
|
|
114
|
+
const isVertical = currentPosition => currentPosition === "left";
|
|
112
115
|
/** Handles the changing of tabs with the mouse */
|
|
116
|
+
|
|
117
|
+
|
|
113
118
|
const handleTabClick = ev => {
|
|
114
119
|
if (Event.isEventType(ev, "keydown")) {
|
|
115
120
|
return;
|
|
116
121
|
}
|
|
122
|
+
|
|
117
123
|
const {
|
|
118
124
|
tabid
|
|
119
125
|
} = ev.target.dataset;
|
|
120
126
|
updateVisibleTab(tabid);
|
|
121
127
|
};
|
|
122
|
-
|
|
123
128
|
/** Focuses the tab for the reference specified */
|
|
124
|
-
const focusTab = ref => ref.current.focus();
|
|
125
129
|
|
|
130
|
+
|
|
131
|
+
const focusTab = ref => ref.current.focus();
|
|
126
132
|
/** Will trigger the tab at the given index. */
|
|
133
|
+
|
|
134
|
+
|
|
127
135
|
const goToTab = (event, index) => {
|
|
128
136
|
event.preventDefault();
|
|
129
137
|
let newIndex = index;
|
|
138
|
+
|
|
130
139
|
if (index < 0) {
|
|
131
140
|
newIndex = tabIds.length - 1;
|
|
132
141
|
} else if (index === tabIds.length) {
|
|
133
142
|
newIndex = 0;
|
|
134
143
|
}
|
|
144
|
+
|
|
135
145
|
const nextTabId = tabIds[newIndex];
|
|
136
146
|
const nextRef = tabRefs[newIndex];
|
|
137
147
|
updateVisibleTab(nextTabId);
|
|
138
148
|
focusTab(nextRef);
|
|
139
149
|
};
|
|
140
|
-
|
|
141
150
|
/** Handles the keyboard navigation of tabs */
|
|
151
|
+
|
|
152
|
+
|
|
142
153
|
const handleKeyDown = index => {
|
|
143
154
|
return event => {
|
|
144
155
|
const isTabVertical = isVertical(position);
|
|
@@ -146,6 +157,7 @@ const Tabs = ({
|
|
|
146
157
|
const isDown = isTabVertical && Event.isDownKey(event);
|
|
147
158
|
const isLeft = !isTabVertical && Event.isLeftKey(event);
|
|
148
159
|
const isRight = !isTabVertical && Event.isRightKey(event);
|
|
160
|
+
|
|
149
161
|
if (isUp || isLeft) {
|
|
150
162
|
goToTab(event, index - 1);
|
|
151
163
|
} else if (isDown || isRight) {
|
|
@@ -153,8 +165,9 @@ const Tabs = ({
|
|
|
153
165
|
}
|
|
154
166
|
};
|
|
155
167
|
};
|
|
156
|
-
|
|
157
168
|
/** Build the headers for the tab component */
|
|
169
|
+
|
|
170
|
+
|
|
158
171
|
const renderTabHeaders = () => {
|
|
159
172
|
const tabTitles = filteredChildren.map((child, index) => {
|
|
160
173
|
const {
|
|
@@ -221,12 +234,12 @@ const Tabs = ({
|
|
|
221
234
|
isInSidebar: isInSidebar
|
|
222
235
|
}, tabTitles);
|
|
223
236
|
};
|
|
224
|
-
|
|
225
237
|
/** Builds the single currently selected tab */
|
|
238
|
+
|
|
239
|
+
|
|
226
240
|
const visibleTab = () => {
|
|
227
241
|
const tab = filteredChildren.find(child => isTabSelected(child.props.tabId));
|
|
228
|
-
return tab && /*#__PURE__*/cloneElement(tab, {
|
|
229
|
-
...tab.props,
|
|
242
|
+
return tab && /*#__PURE__*/cloneElement(tab, { ...tab.props,
|
|
230
243
|
role: "tabpanel",
|
|
231
244
|
position,
|
|
232
245
|
isTabSelected: isTabSelected(tab.props.tabId),
|
|
@@ -237,16 +250,18 @@ const Tabs = ({
|
|
|
237
250
|
updateInfos
|
|
238
251
|
});
|
|
239
252
|
};
|
|
240
|
-
|
|
241
253
|
/** Builds all tabs where non selected tabs have class of hidden */
|
|
254
|
+
|
|
255
|
+
|
|
242
256
|
const renderTabs = () => {
|
|
243
257
|
if (isInSidebar) return null;
|
|
258
|
+
|
|
244
259
|
if (!renderHiddenTabs) {
|
|
245
260
|
return visibleTab();
|
|
246
261
|
}
|
|
262
|
+
|
|
247
263
|
const tabs = filteredChildren.map(child => {
|
|
248
|
-
return /*#__PURE__*/cloneElement(child, {
|
|
249
|
-
...child.props,
|
|
264
|
+
return /*#__PURE__*/cloneElement(child, { ...child.props,
|
|
250
265
|
role: "tabpanel",
|
|
251
266
|
position,
|
|
252
267
|
isTabSelected: isTabSelected(child.props.tabId),
|
|
@@ -259,6 +274,7 @@ const Tabs = ({
|
|
|
259
274
|
});
|
|
260
275
|
return tabs;
|
|
261
276
|
};
|
|
277
|
+
|
|
262
278
|
return /*#__PURE__*/React.createElement(StyledTabs, _extends({
|
|
263
279
|
className: className,
|
|
264
280
|
position: isInSidebar ? "left" : position,
|
|
@@ -269,29 +285,40 @@ const Tabs = ({
|
|
|
269
285
|
headerWidth: headerWidth
|
|
270
286
|
}, rest), renderTabHeaders(), renderTabs());
|
|
271
287
|
};
|
|
272
|
-
|
|
273
|
-
|
|
288
|
+
|
|
289
|
+
Tabs.propTypes = { ...marginPropTypes,
|
|
290
|
+
|
|
274
291
|
/** @ignore @private */
|
|
275
292
|
className: PropTypes.string,
|
|
293
|
+
|
|
276
294
|
/** Prevent rendering of hidden tabs, by default this is set to true and therefore all tabs will be rendered */
|
|
277
295
|
renderHiddenTabs: PropTypes.bool,
|
|
296
|
+
|
|
278
297
|
/** Allows manual control over the currently selected tab. */
|
|
279
298
|
selectedTabId: PropTypes.string,
|
|
299
|
+
|
|
280
300
|
/** The child elements of Tabs need to be Tab components. */
|
|
281
301
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
|
|
302
|
+
|
|
282
303
|
/** Sets the alignment of the tab titles. Possible values include. */
|
|
283
304
|
align: PropTypes.oneOf(["left", "right"]),
|
|
305
|
+
|
|
284
306
|
/** A callback for when a tab is changed. You can use this to manually control
|
|
285
307
|
* tab changing or to fire other events when a tab is changed. */
|
|
286
308
|
onTabChange: PropTypes.func,
|
|
309
|
+
|
|
287
310
|
/** The position of the tab title. */
|
|
288
311
|
position: PropTypes.oneOf(["top", "left"]),
|
|
312
|
+
|
|
289
313
|
/** Sets size of the tab titles. */
|
|
290
314
|
size: PropTypes.oneOf(["default", "large"]),
|
|
315
|
+
|
|
291
316
|
/** Sets the divider of the tab titles header to extend the full width of the parent. */
|
|
292
317
|
extendedLine: PropTypes.bool,
|
|
318
|
+
|
|
293
319
|
/** Adds a combination of borders to the tab titles. */
|
|
294
320
|
borders: PropTypes.oneOf(["off", "on", "no left side", "no right side", "no sides"]),
|
|
321
|
+
|
|
295
322
|
/** sets width to the tab headers. Can be any valid CSS string.
|
|
296
323
|
* The headerWidth prop works only for `position="left"`
|
|
297
324
|
*/
|
|
@@ -299,10 +326,13 @@ Tabs.propTypes = {
|
|
|
299
326
|
if (props.position !== "left" && props[propName] !== undefined) {
|
|
300
327
|
return new Error(`Invalid usage of prop ${propName} in ${componentName}. The ${propName} can be used only if position is set to left`);
|
|
301
328
|
}
|
|
329
|
+
|
|
302
330
|
return null;
|
|
303
331
|
},
|
|
332
|
+
|
|
304
333
|
/** Adds an alternate styling variant to the tab titles. */
|
|
305
334
|
variant: PropTypes.oneOf(["default", "alternate"]),
|
|
335
|
+
|
|
306
336
|
/** An object to support overriding validation statuses, when the Tabs have custom targets for example.
|
|
307
337
|
* The `id` property should match the `tabId`s for the rendered Tabs. */
|
|
308
338
|
validationStatusOverride: PropTypes.shape({
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import EditorLink from "../editor-link";
|
|
2
|
+
|
|
2
3
|
function findWithRegex(regex, contentBlock, callback) {
|
|
3
4
|
const text = contentBlock.getText();
|
|
4
5
|
let matchArr;
|
|
@@ -13,24 +14,23 @@ function findWithRegex(regex, contentBlock, callback) {
|
|
|
13
14
|
start += matchArr.index;
|
|
14
15
|
callback(start, start + candidate.length);
|
|
15
16
|
}
|
|
17
|
+
|
|
16
18
|
start += candidate.length + 1;
|
|
17
19
|
});
|
|
18
20
|
}
|
|
21
|
+
|
|
19
22
|
const linkStrategy = (contentBlock, callback) => {
|
|
20
23
|
const combineRegex = (...regex) => new RegExp(regex.map(r => r.source).join(""), "g");
|
|
21
|
-
|
|
22
|
-
// prefix
|
|
23
|
-
/([\w-]+:([\w-]+@))?/,
|
|
24
|
-
//
|
|
25
|
-
/(
|
|
26
|
-
//
|
|
27
|
-
/(:\d+)?/,
|
|
28
|
-
// port
|
|
29
|
-
/(\/[\w#!:.?+=&%@!-/]+)?/,
|
|
30
|
-
// paths, queries, fragments
|
|
24
|
+
|
|
25
|
+
const urlRegex = combineRegex(/\b/, /(http:\/\/|https:\/\/|www\.)/, // prefix
|
|
26
|
+
/([\w-]+:([\w-]+@))?/, // userinfo
|
|
27
|
+
/([\w-]+\.)+\w+/, // domain
|
|
28
|
+
/(:\d+)?/, // port
|
|
29
|
+
/(\/[\w#!:.?+=&%@!-/]+)?/, // paths, queries, fragments
|
|
31
30
|
/\b/);
|
|
32
31
|
findWithRegex(urlRegex, contentBlock, callback);
|
|
33
32
|
};
|
|
33
|
+
|
|
34
34
|
export default {
|
|
35
35
|
strategy: linkStrategy,
|
|
36
36
|
component: EditorLink
|
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import { StyledCounterWrapper, StyledCounter } from "./editor-counter.style";
|
|
4
4
|
import ValidationIcon from "../../../../__internal__/validations";
|
|
5
|
+
|
|
5
6
|
const Counter = ({
|
|
6
7
|
count = 0,
|
|
7
8
|
limit = 3000,
|
|
@@ -20,15 +21,20 @@ const Counter = ({
|
|
|
20
21
|
}), /*#__PURE__*/React.createElement(StyledCounter, {
|
|
21
22
|
hasError: !!error
|
|
22
23
|
}, `${limit - count}`));
|
|
24
|
+
|
|
23
25
|
Counter.propTypes = {
|
|
24
26
|
/** Sets the current count value */
|
|
25
27
|
count: PropTypes.number,
|
|
28
|
+
|
|
26
29
|
/** Sets the current limit value */
|
|
27
30
|
limit: PropTypes.number,
|
|
31
|
+
|
|
28
32
|
/** Message to be displayed when there is an error */
|
|
29
33
|
error: PropTypes.string,
|
|
34
|
+
|
|
30
35
|
/** Message to be displayed when there is a warning */
|
|
31
36
|
warning: PropTypes.string,
|
|
37
|
+
|
|
32
38
|
/** Message to be displayed when there is an info */
|
|
33
39
|
info: PropTypes.string
|
|
34
40
|
};
|