carbon-react 111.12.3 → 111.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__internal__/DeprecationWarning.js +2 -0
- package/esm/__internal__/character-count/character-count.component.js +2 -0
- package/esm/__internal__/checkable-input/checkable-input.component.js +5 -0
- package/esm/__internal__/checkable-input/hidden-checkable-input.component.js +11 -0
- package/esm/__internal__/field-help/field-help.component.js +2 -0
- package/esm/__internal__/fieldset/fieldset.component.js +3 -0
- package/esm/__internal__/focus-trap/focus-trap-utils.js +25 -6
- package/esm/__internal__/focus-trap/focus-trap.component.js +17 -7
- package/esm/__internal__/form-field/form-field.component.js +5 -0
- package/esm/__internal__/full-screen-heading/full-screen-heading.component.js +1 -0
- package/esm/__internal__/input/input-presentation.component.js +5 -0
- package/esm/__internal__/input/input-presentation.style.js +5 -0
- package/esm/__internal__/input/input.component.js +25 -2
- package/esm/__internal__/input-behaviour/input-behaviour.component.js +3 -2
- package/esm/__internal__/input-behaviour/input-group-behaviour.component.js +2 -0
- package/esm/__internal__/input-behaviour/useInputBehaviour.js +4 -2
- package/esm/__internal__/input-icon-toggle/input-icon-toggle.component.js +5 -0
- package/esm/__internal__/input-icon-toggle/input-icon-toggle.style.js +1 -0
- package/esm/__internal__/label/label.component.js +10 -0
- package/esm/__internal__/popover/popover.component.js +11 -0
- package/esm/__internal__/radio-button-mapper/radio-button-mapper.component.js +10 -0
- package/esm/__internal__/sticky-footer/sticky-footer.component.js +5 -0
- package/esm/__internal__/utils/helpers/browser-type-check/index.js +1 -0
- package/esm/__internal__/utils/helpers/events/composedPath.js +4 -1
- package/esm/__internal__/utils/helpers/events/events.js +16 -1
- package/esm/__internal__/utils/helpers/guid/index.js +1 -0
- package/esm/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +3 -2
- package/esm/__internal__/utils/helpers/tags/tags.js +4 -0
- package/esm/__internal__/utils/logger/index.js +1 -1
- package/esm/__internal__/validation-message/validation-message.component.js +2 -0
- package/esm/__internal__/validations/validation-icon.component.js +8 -0
- package/esm/__spec_helper__/enzyme-snapshot-helper.js +5 -0
- package/esm/__spec_helper__/expect.js +5 -2
- package/esm/__spec_helper__/mock-match-media.js +3 -0
- package/esm/__spec_helper__/mock-resize-observer.js +2 -0
- package/esm/__spec_helper__/test-utils.js +62 -27
- package/esm/components/accordion/accordion-group/accordion-group.component.js +9 -0
- package/esm/components/accordion/accordion.component.js +7 -0
- package/esm/components/action-popover/action-popover-item/action-popover-item.component.js +21 -2
- package/esm/components/action-popover/action-popover-menu/action-popover-menu.component.js +7 -2
- package/esm/components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js +3 -0
- package/esm/components/action-popover/action-popover.component.js +19 -4
- package/esm/components/advanced-color-picker/advanced-color-picker.component.js +19 -0
- package/esm/components/alert/alert.component.js +3 -0
- package/esm/components/anchor-navigation/anchor-navigation.component.js +14 -5
- package/esm/components/badge/badge.component.js +2 -0
- package/esm/components/batch-selection/batch-selection.component.js +6 -0
- package/esm/components/box/box.config.js +1 -0
- package/esm/components/button/button-types.style.js +2 -0
- package/esm/components/button/button.component.js +12 -0
- package/esm/components/button/button.style.js +8 -0
- package/esm/components/button-bar/button-bar.component.js +8 -2
- package/esm/components/button-toggle/button-toggle-icon.component.js +2 -0
- package/esm/components/button-toggle/button-toggle-input.component.js +6 -0
- package/esm/components/button-toggle/button-toggle.component.js +6 -0
- package/esm/components/button-toggle-group/button-toggle-group.component.js +3 -0
- package/esm/components/carbon-provider/carbon-provider.component.js +2 -0
- package/esm/components/carbon-provider/top-modal-context.js +7 -3
- package/esm/components/card/card-column/card-column.component.js +2 -0
- package/esm/components/card/card-footer/card-footer.component.js +3 -0
- package/esm/components/card/card-row/card-row.component.js +3 -0
- package/esm/components/card/card.component.js +8 -0
- package/esm/components/carousel/carousel.component.js +15 -0
- package/esm/components/carousel/slide/slide.component.js +3 -0
- package/esm/components/carousel/slide/slide.style.js +1 -2
- package/esm/components/checkbox/checkbox-group.component.js +3 -0
- package/esm/components/checkbox/checkbox-svg.component.js +2 -0
- package/esm/components/checkbox/checkbox.component.js +7 -0
- package/esm/components/confirm/confirm.component.js +38 -0
- package/esm/components/content/content.component.js +3 -0
- package/esm/components/date/__internal__/date-formats/index.js +19 -6
- package/esm/components/date/__internal__/date-picker/date-picker.component.js +15 -2
- package/esm/components/date/__internal__/date-picker/day-picker.style.js +7 -3
- package/esm/components/date/__internal__/navbar/navbar.component.js +2 -0
- package/esm/components/date/__internal__/utils.js +31 -1
- package/esm/components/date/__internal__/weekday/weekday.component.js +3 -0
- package/esm/components/date/date.component.js +54 -10
- package/esm/components/date-range/date-range.component.js +46 -14
- package/esm/components/decimal/decimal.component.js +29 -4
- package/esm/components/definition-list/dd.component.js +3 -0
- package/esm/components/definition-list/dl.component.js +8 -0
- package/esm/components/definition-list/dt.component.js +3 -0
- package/esm/components/detail/detail.component.js +8 -2
- package/esm/components/dialog/dialog.component.js +14 -0
- package/esm/components/dialog/dialog.style.js +2 -0
- package/esm/components/dialog-full-screen/dialog-full-screen.component.js +25 -0
- package/esm/components/dismissible-box/dismissible-box.component.js +3 -0
- package/esm/components/draggable/draggable-container.component.js +16 -4
- package/esm/components/draggable/draggable-item.component.js +11 -2
- package/esm/components/drawer/drawer.component.js +16 -0
- package/esm/components/drawer/drawer.style.js +7 -0
- package/esm/components/duelling-picklist/duelling-picklist.component.js +14 -2
- package/esm/components/duelling-picklist/picklist/picklist.component.js +7 -0
- package/esm/components/duelling-picklist/picklist-divider/picklist-divider.component.js +3 -0
- package/esm/components/duelling-picklist/picklist-group/picklist-group.component.js +7 -0
- package/esm/components/duelling-picklist/picklist-item/picklist-item.component.js +14 -0
- package/esm/components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js +2 -0
- package/esm/components/fieldset/fieldset.component.js +4 -0
- package/esm/components/flat-table/flat-table-body/flat-table-body.component.js +1 -0
- package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +13 -0
- package/esm/components/flat-table/flat-table-cell/flat-table-cell.component.js +18 -0
- package/esm/components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js +15 -0
- package/esm/components/flat-table/flat-table-head/flat-table-head.component.js +8 -4
- package/esm/components/flat-table/flat-table-header/flat-table-header-utils.js +4 -1
- package/esm/components/flat-table/flat-table-header/flat-table-header.component.js +13 -0
- package/esm/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +9 -0
- package/esm/components/flat-table/flat-table-row/flat-table-row.component.js +35 -0
- package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +11 -2
- package/esm/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +15 -0
- package/esm/components/flat-table/flat-table.component.js +20 -2
- package/esm/components/flat-table/flat-table.style.js +3 -0
- package/esm/components/flat-table/sort/sort.component.js +7 -0
- package/esm/components/form/__internal__/form-summary.component.js +7 -0
- package/esm/components/form/form.component.js +3 -0
- package/esm/components/form/form.style.js +3 -2
- package/esm/components/global-header/global-header.component.js +6 -1
- package/esm/components/grid/grid-container/grid-container.component.js +6 -0
- package/esm/components/grid/grid-item/grid-item.component.js +6 -0
- package/esm/components/grid/grid-item/grid-item.style.js +14 -0
- package/esm/components/grouped-character/grouped-character.component.js +21 -3
- package/esm/components/heading/heading.component.js +9 -2
- package/esm/components/help/help.component.js +8 -0
- package/esm/components/hr/hr.component.js +5 -0
- package/esm/components/i18n-provider/i18n-provider.component.js +2 -0
- package/esm/components/icon/icon-unicodes.js +1 -2
- package/esm/components/icon/icon.component.js +12 -1
- package/esm/components/icon/icon.style.js +6 -0
- package/esm/components/icon-button/icon-button.component.js +4 -0
- package/esm/components/image/image.component.js +3 -0
- package/esm/components/image/image.style.js +1 -2
- package/esm/components/inline-inputs/inline-inputs.component.js +6 -0
- package/esm/components/link/link.component.js +12 -3
- package/esm/components/link/link.style.js +4 -0
- package/esm/components/link-preview/__internal__/placeholder.component.js +2 -0
- package/esm/components/link-preview/link-preview.component.js +7 -0
- package/esm/components/loader/loader-square.style.js +6 -0
- package/esm/components/loader/loader.component.js +3 -0
- package/esm/components/loader-bar/loader-bar.component.js +3 -0
- package/esm/components/loader-bar/loader-bar.style.js +4 -0
- package/esm/components/menu/__internal__/keyboard-navigation/index.js +9 -0
- package/esm/components/menu/__internal__/spec-helper/index.js +2 -0
- package/esm/components/menu/__internal__/submenu/submenu.component.js +59 -7
- package/esm/components/menu/menu-full-screen/menu-full-screen.component.js +8 -0
- package/esm/components/menu/menu-item/menu-item.component.js +35 -0
- package/esm/components/menu/menu-segment-title/menu-segment-title.component.js +1 -0
- package/esm/components/menu/menu.component.js +8 -0
- package/esm/components/menu/menu.context.js +3 -1
- package/esm/components/menu/scrollable-block/scrollable-block.component.js +9 -0
- package/esm/components/message/message-content/message-content.component.js +2 -0
- package/esm/components/message/message.component.js +5 -0
- package/esm/components/message/type-icon/type-icon.component.js +2 -0
- package/esm/components/modal/__internal__/modal-manager.js +24 -0
- package/esm/components/modal/modal.component.js +6 -0
- package/esm/components/multi-action-button/multi-action-button.component.js +20 -3
- package/esm/components/navigation-bar/navigation-bar.component.js +3 -0
- package/esm/components/note/note.component.js +10 -1
- package/esm/components/number/number.component.js +9 -2
- package/esm/components/numeral-date/numeral-date.component.js +22 -9
- package/esm/components/pager/__internal__/pager-navigation-link.component.js +11 -0
- package/esm/components/pager/__internal__/pager-navigation.component.js +22 -0
- package/esm/components/pager/pager.component.js +29 -0
- package/esm/components/pages/page/page.component.js +3 -0
- package/esm/components/pages/pages.component.js +14 -4
- package/esm/components/pill/pill.component.js +3 -0
- package/esm/components/pill/pill.style.js +4 -0
- package/esm/components/pod/pod.component.js +40 -4
- package/esm/components/pod/pod.style.js +8 -6
- package/esm/components/popover-container/popover-container.component.js +14 -2
- package/esm/components/popover-container/popover-container.style.js +3 -0
- package/esm/components/portal/portal.js +14 -2
- package/esm/components/portrait/portrait-gravatar.component.js +4 -0
- package/esm/components/portrait/portrait-initials.component.js +12 -10
- package/esm/components/portrait/portrait.component.js +10 -0
- package/esm/components/portrait/portrait.style.js +10 -3
- package/esm/components/preview/__internal__/preview-placeholder.component.js +3 -0
- package/esm/components/preview/preview.component.js +7 -0
- package/esm/components/preview/preview.style.js +1 -2
- package/esm/components/profile/profile.component.js +8 -0
- package/esm/components/progress-tracker/progress-tracker.component.js +24 -2
- package/esm/components/progress-tracker/progress-tracker.style.js +5 -0
- package/esm/components/radio-button/radio-button-group.component.js +27 -2
- package/esm/components/radio-button/radio-button-svg.component.js +2 -0
- package/esm/components/radio-button/radio-button.component.js +32 -6
- package/esm/components/search/search.component.js +21 -2
- package/esm/components/select/__internal__/select-text/select-text.component.js +13 -0
- package/esm/components/select/filterable-select/filterable-select.component.js +73 -8
- package/esm/components/select/list-action-button/list-action-button.component.js +4 -0
- package/esm/components/select/multi-select/multi-select.component.js +81 -15
- package/esm/components/select/option/option.component.js +12 -0
- package/esm/components/select/option-group-header/option-group-header.component.js +3 -0
- package/esm/components/select/option-row/option-row.component.js +9 -0
- package/esm/components/select/select-list/select-list.component.js +45 -2
- package/esm/components/select/select-list/select-list.style.js +1 -2
- package/esm/components/select/select-list/update-list-scroll.js +3 -0
- package/esm/components/select/select-textbox/select-textbox.component.js +41 -2
- package/esm/components/select/simple-select/simple-select.component.js +60 -2
- package/esm/components/select/utils/get-next-child-by-text.js +8 -0
- package/esm/components/select/utils/get-next-index-by-key.js +13 -0
- package/esm/components/select/utils/highlight-part-of-text.js +7 -0
- package/esm/components/select/utils/is-expected-option.js +4 -0
- package/esm/components/select/utils/is-expected-value.js +1 -0
- package/esm/components/select/utils/with-filter.hoc.js +29 -3
- package/esm/components/settings-row/settings-row.component.js +10 -2
- package/esm/components/show-edit-pod/show-edit-pod.component.js +43 -6
- package/esm/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +2 -0
- package/esm/components/sidebar/sidebar.component.js +4 -3
- package/esm/components/simple-color-picker/color-sample-box/color-sample-box.component.js +5 -1
- package/esm/components/simple-color-picker/simple-color/simple-color.component.js +7 -0
- package/esm/components/simple-color-picker/simple-color-picker.component.js +41 -8
- package/esm/components/simple-color-picker/simple-color-picker.style.js +2 -0
- package/esm/components/simple-color-picker/tick-icon/tick-icon.style.js +6 -4
- package/esm/components/split-button/split-button.component.js +20 -1
- package/esm/components/step-sequence/step-sequence-item/step-sequence-item.component.js +9 -0
- package/esm/components/step-sequence/step-sequence.component.js +3 -0
- package/esm/components/switch/__internal__/switch-slider.component.js +2 -0
- package/esm/components/switch/switch.component.js +7 -0
- package/esm/components/tabs/__internal__/tab-title/tab-title.component.js +19 -8
- package/esm/components/tabs/__internal__/tabs-header/tabs-header.component.js +2 -0
- package/esm/components/tabs/__internal__/tabs-header/tabs-header.style.js +3 -0
- package/esm/components/tabs/tab/tab.component.js +24 -8
- package/esm/components/tabs/tabs.component.js +54 -24
- package/esm/components/text-editor/__internal__/decorators/link-decorator.js +10 -10
- package/esm/components/text-editor/__internal__/editor-counter/editor-counter.component.js +6 -0
- package/esm/components/text-editor/__internal__/editor-link/editor-link.component.js +7 -2
- package/esm/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +3 -0
- package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +6 -0
- package/esm/components/text-editor/__internal__/toolbar/toolbar.component.js +10 -0
- package/esm/components/text-editor/__internal__/utils/utils.js +21 -9
- package/esm/components/text-editor/text-editor.component.js +53 -22
- package/esm/components/textarea/textarea.component.js +50 -6
- package/esm/components/textbox/textbox.component.js +9 -2
- package/esm/components/tile/tile-footer/tile-footer.component.js +5 -2
- package/esm/components/tile/tile.component.js +10 -0
- package/esm/components/tile-select/__internal__/accordion/accordion.component.js +2 -0
- package/esm/components/tile-select/tile-select-group.component.js +16 -2
- package/esm/components/tile-select/tile-select.component.js +33 -4
- package/esm/components/toast/toast.component.js +18 -0
- package/esm/components/tooltip/tooltip-pointer.style.js +2 -0
- package/esm/components/tooltip/tooltip.component.js +3 -0
- package/esm/components/tooltip/tooltip.style.js +6 -0
- package/esm/components/typography/list.component.js +7 -0
- package/esm/components/typography/typography.component.js +28 -0
- package/esm/components/vertical-divider/vertical-divider.component.js +3 -0
- package/esm/hooks/__internal__/useCharacterCount/useCharacterCount.js +4 -0
- package/esm/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +2 -3
- package/esm/hooks/__internal__/useFloating/useFloating.js +6 -0
- package/esm/hooks/__internal__/useIsStickyFooterForm/useIsStickyFooterForm.js +1 -0
- package/esm/hooks/__internal__/useMenuKeyboardNavigation/useMenuKeyboardNavigation.js +16 -2
- package/esm/hooks/__internal__/useModalManager/useModalManager.js +4 -0
- package/esm/hooks/__internal__/useResizeObserver/useResizeObserver.js +8 -3
- package/esm/hooks/__internal__/useScrollBlock/scroll-block-manager.js +16 -6
- package/esm/hooks/__internal__/useScrollBlock/useScrollBlock.js +15 -11
- package/esm/hooks/useMediaQuery/useMediaQuery.js +2 -0
- package/esm/locales/en-gb.js +8 -1
- package/esm/locales/pl-pl.js +8 -1
- package/esm/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +0 -1
- package/esm/style/design-tokens/debug-theme.util.js +9 -5
- package/esm/style/design-tokens/generate-css-variables.util.js +0 -1
- package/esm/style/palette/index.js +6 -2
- package/esm/style/themes/aegean/aegean-theme.config.js +3 -0
- package/esm/style/themes/base/base-theme.config.js +4 -2
- package/esm/style/themes/base/index.js +2 -4
- package/esm/style/themes/mint/mint-theme.config.js +3 -0
- package/esm/style/themes/sage/index.js +2 -4
- package/esm/style/themes/test-utils.js +4 -4
- package/esm/style/utils/add-hex-symbols.js +1 -0
- package/esm/style/utils/at-opacity.js +1 -0
- package/esm/style/utils/color.js +8 -3
- package/esm/style/utils/filter-out-styled-system-spacing-props.js +2 -0
- package/esm/style/utils/filter-styled-system-padding-props.js +1 -2
- package/esm/style/utils/form-style-utils.js +12 -0
- package/esm/style/utils/get-color-value.js +1 -0
- package/esm/style/utils/get-rgb-values.js +1 -1
- package/esm/style/utils/merge-deep.js +6 -1
- package/esm/style/utils/mix.js +7 -1
- package/esm/style/utils/width.js +0 -1
- package/lib/__internal__/DeprecationWarning.js +5 -0
- package/lib/__internal__/character-count/character-count.component.js +6 -0
- package/lib/__internal__/character-count/character-count.style.js +6 -0
- package/lib/__internal__/character-count/index.js +2 -0
- package/lib/__internal__/checkable-input/checkable-input-svg-wrapper.style.js +3 -0
- package/lib/__internal__/checkable-input/checkable-input.component.js +16 -0
- package/lib/__internal__/checkable-input/checkable-input.style.js +11 -0
- package/lib/__internal__/checkable-input/hidden-checkable-input.component.js +20 -0
- package/lib/__internal__/checkable-input/hidden-checkable-input.style.js +3 -0
- package/lib/__internal__/checkable-input/index.js +2 -0
- package/lib/__internal__/field-help/field-help.component.js +6 -0
- package/lib/__internal__/field-help/field-help.style.js +4 -0
- package/lib/__internal__/field-help/index.js +2 -0
- package/lib/__internal__/fieldset/fieldset.component.js +9 -0
- package/lib/__internal__/fieldset/fieldset.style.js +7 -0
- package/lib/__internal__/fieldset/index.js +2 -0
- package/lib/__internal__/filter-object-properties/filter-object-properties.js +1 -0
- package/lib/__internal__/filter-object-properties/index.js +2 -0
- package/lib/__internal__/focus-trap/focus-trap-utils.js +26 -6
- package/lib/__internal__/focus-trap/focus-trap.component.js +26 -4
- package/lib/__internal__/focus-trap/index.js +2 -0
- package/lib/__internal__/form-field/form-field.component.js +18 -0
- package/lib/__internal__/form-field/form-field.style.js +6 -0
- package/lib/__internal__/form-field/index.js +2 -0
- package/lib/__internal__/full-screen-heading/full-screen-heading.component.js +10 -0
- package/lib/__internal__/full-screen-heading/full-screen-heading.style.js +5 -0
- package/lib/__internal__/full-screen-heading/index.js +2 -0
- package/lib/__internal__/i18n-context/index.js +5 -0
- package/lib/__internal__/input/index.js +4 -0
- package/lib/__internal__/input/input-presentation.component.js +13 -0
- package/lib/__internal__/input/input-presentation.style.js +12 -0
- package/lib/__internal__/input/input.component.js +33 -2
- package/lib/__internal__/input/input.style.js +4 -0
- package/lib/__internal__/input-behaviour/index.js +2 -0
- package/lib/__internal__/input-behaviour/input-behaviour.component.js +12 -2
- package/lib/__internal__/input-behaviour/input-group-behaviour.component.js +8 -0
- package/lib/__internal__/input-behaviour/useInputBehaviour.js +5 -2
- package/lib/__internal__/input-icon-toggle/index.js +2 -0
- package/lib/__internal__/input-icon-toggle/input-icon-toggle.component.js +11 -0
- package/lib/__internal__/input-icon-toggle/input-icon-toggle.style.js +7 -0
- package/lib/__internal__/label/icon-wrapper.style.js +5 -0
- package/lib/__internal__/label/index.js +2 -0
- package/lib/__internal__/label/label.component.js +22 -0
- package/lib/__internal__/label/label.style.js +4 -0
- package/lib/__internal__/popover/index.js +2 -0
- package/lib/__internal__/popover/popover.component.js +24 -0
- package/lib/__internal__/popover/popover.style.js +4 -0
- package/lib/__internal__/radio-button-mapper/index.js +2 -0
- package/lib/__internal__/radio-button-mapper/radio-button-mapper.component.js +15 -0
- package/lib/__internal__/sticky-footer/index.js +2 -0
- package/lib/__internal__/sticky-footer/sticky-footer.component.js +13 -0
- package/lib/__internal__/sticky-footer/sticky-footer.style.js +4 -0
- package/lib/__internal__/tooltip-provider/index.js +9 -0
- package/lib/__internal__/utils/helpers/browser-type-check/index.js +3 -0
- package/lib/__internal__/utils/helpers/events/composedPath.js +6 -0
- package/lib/__internal__/utils/helpers/events/events.js +18 -0
- package/lib/__internal__/utils/helpers/events/index.js +2 -0
- package/lib/__internal__/utils/helpers/guid/index.js +3 -0
- package/lib/__internal__/utils/helpers/tags/index.js +2 -0
- package/lib/__internal__/utils/helpers/tags/tags-specs/index.js +1 -0
- package/lib/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +5 -2
- package/lib/__internal__/utils/helpers/tags/tags.js +5 -0
- package/lib/__internal__/utils/helpers/useUniqueId/index.js +5 -0
- package/lib/__internal__/utils/logger/index.js +2 -1
- package/lib/__internal__/validation-message/index.js +2 -0
- package/lib/__internal__/validation-message/validation-message.component.js +6 -0
- package/lib/__internal__/validation-message/validation-message.style.js +4 -0
- package/lib/__internal__/validations/index.js +2 -0
- package/lib/__internal__/validations/validation-icon.component.js +18 -0
- package/lib/__internal__/validations/validation-icon.style.js +8 -0
- package/lib/__spec_helper__/enzyme-snapshot-helper.js +6 -0
- package/lib/__spec_helper__/expect.js +8 -2
- package/lib/__spec_helper__/index.js +4 -0
- package/lib/__spec_helper__/mock-match-media.js +7 -0
- package/lib/__spec_helper__/mock-resize-observer.js +3 -0
- package/lib/__spec_helper__/test-utils.js +87 -28
- package/lib/components/accordion/accordion-group/accordion-group.component.js +20 -0
- package/lib/components/accordion/accordion.component.js +19 -0
- package/lib/components/accordion/accordion.style.js +9 -0
- package/lib/components/accordion/index.js +3 -0
- package/lib/components/action-popover/action-popover-context.js +4 -0
- package/lib/components/action-popover/action-popover-divider/action-popover-divider.component.js +2 -0
- package/lib/components/action-popover/action-popover-item/action-popover-item.component.js +34 -2
- package/lib/components/action-popover/action-popover-menu/action-popover-menu.component.js +22 -2
- package/lib/components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js +8 -0
- package/lib/components/action-popover/action-popover.component.js +35 -4
- package/lib/components/action-popover/action-popover.style.js +10 -0
- package/lib/components/action-popover/index.js +6 -0
- package/lib/components/advanced-color-picker/advanced-color-picker-cell.style.js +4 -0
- package/lib/components/advanced-color-picker/advanced-color-picker.component.js +30 -0
- package/lib/components/advanced-color-picker/advanced-color-picker.style.js +14 -0
- package/lib/components/advanced-color-picker/index.js +2 -0
- package/lib/components/alert/alert.component.js +7 -0
- package/lib/components/alert/index.js +2 -0
- package/lib/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.component.js +6 -0
- package/lib/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.style.js +4 -0
- package/lib/components/anchor-navigation/anchor-navigation.component.js +27 -5
- package/lib/components/anchor-navigation/anchor-navigation.style.js +3 -0
- package/lib/components/anchor-navigation/anchor-section-divider.component.js +3 -0
- package/lib/components/anchor-navigation/index.js +4 -0
- package/lib/components/badge/badge.component.js +6 -0
- package/lib/components/badge/badge.style.js +6 -0
- package/lib/components/badge/index.js +2 -0
- package/lib/components/batch-selection/batch-selection.component.js +11 -0
- package/lib/components/batch-selection/batch-selection.style.js +7 -0
- package/lib/components/batch-selection/index.js +2 -0
- package/lib/components/box/box.component.js +9 -0
- package/lib/components/box/box.config.js +3 -0
- package/lib/components/box/index.js +2 -0
- package/lib/components/button/button-types.style.js +6 -0
- package/lib/components/button/button.component.js +29 -0
- package/lib/components/button/button.style.js +16 -0
- package/lib/components/button/index.js +3 -0
- package/lib/components/button-bar/button-bar.component.js +18 -2
- package/lib/components/button-bar/button-bar.style.js +8 -0
- package/lib/components/button-bar/index.js +2 -0
- package/lib/components/button-toggle/button-toggle-icon.component.js +7 -0
- package/lib/components/button-toggle/button-toggle-input.component.js +15 -0
- package/lib/components/button-toggle/button-toggle.component.js +17 -0
- package/lib/components/button-toggle/button-toggle.style.js +6 -0
- package/lib/components/button-toggle/index.js +2 -0
- package/lib/components/button-toggle-group/button-toggle-group.component.js +18 -0
- package/lib/components/button-toggle-group/button-toggle-group.style.js +7 -0
- package/lib/components/button-toggle-group/index.js +2 -0
- package/lib/components/carbon-provider/carbon-provider.component.js +12 -0
- package/lib/components/carbon-provider/index.js +2 -0
- package/lib/components/carbon-provider/top-modal-context.js +13 -3
- package/lib/components/card/card-column/card-column.component.js +6 -0
- package/lib/components/card/card-column/card-column.style.js +3 -0
- package/lib/components/card/card-column/index.js +2 -0
- package/lib/components/card/card-footer/card-footer.component.js +8 -0
- package/lib/components/card/card-footer/card-footer.style.js +7 -0
- package/lib/components/card/card-footer/index.js +2 -0
- package/lib/components/card/card-row/card-row.component.js +8 -0
- package/lib/components/card/card-row/card-row.style.js +7 -0
- package/lib/components/card/card-row/index.js +2 -0
- package/lib/components/card/card.component.js +19 -0
- package/lib/components/card/card.style.js +7 -0
- package/lib/components/card/index.js +5 -0
- package/lib/components/carousel/carousel.component.js +24 -0
- package/lib/components/carousel/carousel.style.js +8 -0
- package/lib/components/carousel/index.js +3 -0
- package/lib/components/carousel/slide/index.js +2 -0
- package/lib/components/carousel/slide/slide.component.js +8 -0
- package/lib/components/carousel/slide/slide.style.js +5 -2
- package/lib/components/carousel/slide.config.js +2 -0
- package/lib/components/checkbox/checkbox-group.component.js +13 -0
- package/lib/components/checkbox/checkbox-group.style.js +10 -0
- package/lib/components/checkbox/checkbox-svg.component.js +6 -0
- package/lib/components/checkbox/checkbox.component.js +19 -0
- package/lib/components/checkbox/checkbox.style.js +13 -0
- package/lib/components/checkbox/index.js +3 -0
- package/lib/components/confirm/confirm.component.js +51 -0
- package/lib/components/confirm/confirm.style.js +8 -0
- package/lib/components/confirm/index.js +2 -0
- package/lib/components/content/content.component.js +7 -0
- package/lib/components/content/content.style.js +6 -0
- package/lib/components/content/index.js +2 -0
- package/lib/components/date/__internal__/date-formats/index.js +19 -6
- package/lib/components/date/__internal__/date-picker/date-picker.component.js +31 -2
- package/lib/components/date/__internal__/date-picker/day-picker.style.js +10 -1
- package/lib/components/date/__internal__/date-picker/index.js +2 -0
- package/lib/components/date/__internal__/navbar/button.style.js +3 -0
- package/lib/components/date/__internal__/navbar/index.js +2 -0
- package/lib/components/date/__internal__/navbar/navbar.component.js +8 -0
- package/lib/components/date/__internal__/navbar/navbar.style.js +3 -0
- package/lib/components/date/__internal__/utils.js +42 -1
- package/lib/components/date/__internal__/weekday/abbr.style.js +3 -0
- package/lib/components/date/__internal__/weekday/index.js +2 -0
- package/lib/components/date/__internal__/weekday/weekday.component.js +8 -0
- package/lib/components/date/__internal__/weekday/weekday.style.js +3 -0
- package/lib/components/date/date.component.js +71 -10
- package/lib/components/date/date.style.js +8 -0
- package/lib/components/date/index.js +2 -0
- package/lib/components/date-range/date-range.component.js +63 -14
- package/lib/components/date-range/date-range.context.js +4 -0
- package/lib/components/date-range/date-range.style.js +8 -0
- package/lib/components/date-range/index.js +2 -0
- package/lib/components/decimal/decimal.component.js +38 -4
- package/lib/components/decimal/index.js +2 -0
- package/lib/components/definition-list/__internal__/dl.context.js +4 -0
- package/lib/components/definition-list/dd.component.js +7 -0
- package/lib/components/definition-list/definition-list.style.js +8 -0
- package/lib/components/definition-list/dl.component.js +20 -0
- package/lib/components/definition-list/dt.component.js +10 -0
- package/lib/components/definition-list/index.js +4 -0
- package/lib/components/detail/detail.component.js +17 -2
- package/lib/components/detail/detail.style.js +8 -0
- package/lib/components/detail/index.js +2 -0
- package/lib/components/dialog/dialog.component.js +32 -0
- package/lib/components/dialog/dialog.style.js +14 -0
- package/lib/components/dialog/index.js +2 -0
- package/lib/components/dialog-full-screen/content.style.js +5 -0
- package/lib/components/dialog-full-screen/dialog-full-screen.component.js +42 -0
- package/lib/components/dialog-full-screen/dialog-full-screen.style.js +11 -0
- package/lib/components/dialog-full-screen/index.js +2 -0
- package/lib/components/dismissible-box/dismissible-box.component.js +9 -0
- package/lib/components/dismissible-box/dismissible-box.style.js +7 -0
- package/lib/components/dismissible-box/index.js +2 -0
- package/lib/components/draggable/draggable-container.component.js +30 -4
- package/lib/components/draggable/draggable-item.component.js +19 -2
- package/lib/components/draggable/draggable-item.style.js +6 -0
- package/lib/components/draggable/index.js +3 -0
- package/lib/components/drawer/drawer.component.js +29 -0
- package/lib/components/drawer/drawer.style.js +15 -0
- package/lib/components/drawer/index.js +3 -0
- package/lib/components/duelling-picklist/duelling-picklist.component.js +26 -2
- package/lib/components/duelling-picklist/duelling-picklist.context.js +4 -0
- package/lib/components/duelling-picklist/duelling-picklist.style.js +6 -0
- package/lib/components/duelling-picklist/index.js +7 -0
- package/lib/components/duelling-picklist/picklist/picklist.component.js +25 -0
- package/lib/components/duelling-picklist/picklist/picklist.style.js +4 -0
- package/lib/components/duelling-picklist/picklist-divider/picklist-divider.component.js +6 -0
- package/lib/components/duelling-picklist/picklist-divider/picklist-divider.style.js +3 -0
- package/lib/components/duelling-picklist/picklist-group/picklist-group.component.js +22 -0
- package/lib/components/duelling-picklist/picklist-group/picklist-group.style.js +7 -0
- package/lib/components/duelling-picklist/picklist-item/picklist-item.component.js +25 -0
- package/lib/components/duelling-picklist/picklist-item/picklist-item.style.js +8 -0
- package/lib/components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js +6 -0
- package/lib/components/fieldset/fieldset.component.js +11 -0
- package/lib/components/fieldset/fieldset.style.js +9 -0
- package/lib/components/fieldset/index.js +2 -0
- package/lib/components/flat-table/flat-table-body/flat-table-body.component.js +6 -0
- package/lib/components/flat-table/flat-table-body/index.js +2 -0
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +23 -0
- package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.js +4 -0
- package/lib/components/flat-table/flat-table-body-draggable/index.js +2 -0
- package/lib/components/flat-table/flat-table-cell/flat-table-cell.component.js +28 -0
- package/lib/components/flat-table/flat-table-cell/flat-table-cell.style.js +8 -0
- package/lib/components/flat-table/flat-table-cell/index.js +2 -0
- package/lib/components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js +22 -0
- package/lib/components/flat-table/flat-table-checkbox/flat-table-checkbox.style.js +6 -0
- package/lib/components/flat-table/flat-table-checkbox/index.js +2 -0
- package/lib/components/flat-table/flat-table-head/flat-table-head.component.js +15 -4
- package/lib/components/flat-table/flat-table-head/flat-table-head.style.js +6 -0
- package/lib/components/flat-table/flat-table-head/index.js +2 -0
- package/lib/components/flat-table/flat-table-header/flat-table-header-utils.js +5 -1
- package/lib/components/flat-table/flat-table-header/flat-table-header.component.js +23 -0
- package/lib/components/flat-table/flat-table-header/flat-table-header.style.js +9 -0
- package/lib/components/flat-table/flat-table-header/index.js +2 -0
- package/lib/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +13 -0
- package/lib/components/flat-table/flat-table-row/flat-table-row.component.js +50 -0
- package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +23 -2
- package/lib/components/flat-table/flat-table-row/index.js +2 -0
- package/lib/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +25 -0
- package/lib/components/flat-table/flat-table-row-header/flat-table-row-header.style.js +8 -0
- package/lib/components/flat-table/flat-table-row-header/index.js +2 -0
- package/lib/components/flat-table/flat-table.component.js +29 -2
- package/lib/components/flat-table/flat-table.style.js +17 -0
- package/lib/components/flat-table/index.js +11 -0
- package/lib/components/flat-table/sort/index.js +2 -0
- package/lib/components/flat-table/sort/sort.component.js +16 -0
- package/lib/components/flat-table/sort/sort.style.js +4 -0
- package/lib/components/form/__internal__/form-summary.component.js +15 -0
- package/lib/components/form/__internal__/form-summary.style.js +7 -0
- package/lib/components/form/form.component.js +12 -0
- package/lib/components/form/form.style.js +17 -2
- package/lib/components/form/index.js +2 -0
- package/lib/components/global-header/global-header.component.js +16 -1
- package/lib/components/global-header/index.js +2 -0
- package/lib/components/grid/grid-container/grid-container.component.js +10 -0
- package/lib/components/grid/grid-container/grid-container.style.js +4 -0
- package/lib/components/grid/grid-container/index.js +2 -0
- package/lib/components/grid/grid-item/grid-item.component.js +10 -0
- package/lib/components/grid/grid-item/grid-item.style.js +19 -0
- package/lib/components/grid/grid-item/index.js +2 -0
- package/lib/components/grid/index.js +3 -0
- package/lib/components/grouped-character/grouped-character.component.js +28 -3
- package/lib/components/grouped-character/grouped-character.utils.js +4 -0
- package/lib/components/grouped-character/index.js +2 -0
- package/lib/components/heading/heading.component.js +16 -2
- package/lib/components/heading/heading.style.js +13 -0
- package/lib/components/heading/index.js +2 -0
- package/lib/components/help/help.component.js +20 -0
- package/lib/components/help/help.style.js +8 -0
- package/lib/components/help/index.js +2 -0
- package/lib/components/hr/hr.component.js +10 -0
- package/lib/components/hr/hr.style.js +5 -0
- package/lib/components/hr/index.js +2 -0
- package/lib/components/i18n-provider/i18n-provider.component.js +8 -0
- package/lib/components/i18n-provider/index.js +2 -0
- package/lib/components/icon/icon-unicodes.js +1 -2
- package/lib/components/icon/icon.component.js +27 -1
- package/lib/components/icon/icon.style.js +18 -0
- package/lib/components/icon/index.js +2 -0
- package/lib/components/icon-button/icon-button.component.js +15 -0
- package/lib/components/icon-button/icon-button.style.js +8 -0
- package/lib/components/icon-button/index.js +2 -0
- package/lib/components/image/image.component.js +8 -0
- package/lib/components/image/image.style.js +7 -2
- package/lib/components/image/index.js +2 -0
- package/lib/components/inline-inputs/index.js +3 -0
- package/lib/components/inline-inputs/inline-inputs.component.js +17 -0
- package/lib/components/inline-inputs/inline-inputs.style.js +8 -0
- package/lib/components/link/index.js +2 -0
- package/lib/components/link/link.component.js +24 -3
- package/lib/components/link/link.style.js +11 -0
- package/lib/components/link-preview/__internal__/placeholder.component.js +6 -0
- package/lib/components/link-preview/index.js +2 -0
- package/lib/components/link-preview/link-preview.component.js +17 -0
- package/lib/components/link-preview/link-preview.style.js +6 -0
- package/lib/components/loader/index.js +2 -0
- package/lib/components/loader/loader-square.style.js +10 -0
- package/lib/components/loader/loader.component.js +9 -0
- package/lib/components/loader/loader.style.js +5 -0
- package/lib/components/loader-bar/index.js +2 -0
- package/lib/components/loader-bar/loader-bar.component.js +10 -0
- package/lib/components/loader-bar/loader-bar.style.js +10 -0
- package/lib/components/menu/__internal__/keyboard-navigation/index.js +11 -0
- package/lib/components/menu/__internal__/spec-helper/index.js +7 -0
- package/lib/components/menu/__internal__/submenu/submenu.component.js +80 -7
- package/lib/components/menu/__internal__/submenu/submenu.context.js +4 -0
- package/lib/components/menu/__internal__/submenu/submenu.style.js +12 -0
- package/lib/components/menu/index.js +7 -0
- package/lib/components/menu/menu-divider/menu-divider.component.js +10 -0
- package/lib/components/menu/menu-divider/menu-divider.style.js +6 -0
- package/lib/components/menu/menu-full-screen/index.js +2 -0
- package/lib/components/menu/menu-full-screen/menu-full-screen.component.js +23 -0
- package/lib/components/menu/menu-full-screen/menu-full-screen.style.js +12 -0
- package/lib/components/menu/menu-item/index.js +2 -0
- package/lib/components/menu/menu-item/menu-item.component.js +52 -0
- package/lib/components/menu/menu-item/menu-item.style.js +8 -0
- package/lib/components/menu/menu-segment-title/menu-segment-title.component.js +11 -0
- package/lib/components/menu/menu-segment-title/menu-segment-title.style.js +6 -0
- package/lib/components/menu/menu.component.js +18 -0
- package/lib/components/menu/menu.context.js +7 -1
- package/lib/components/menu/menu.style.js +9 -0
- package/lib/components/menu/scrollable-block/index.js +2 -0
- package/lib/components/menu/scrollable-block/scrollable-block.component.js +19 -0
- package/lib/components/menu/scrollable-block/scrollable-block.style.js +7 -0
- package/lib/components/message/index.js +2 -0
- package/lib/components/message/message-content/message-content.component.js +7 -0
- package/lib/components/message/message-content/message-content.style.js +3 -0
- package/lib/components/message/message.component.js +16 -0
- package/lib/components/message/message.style.js +8 -0
- package/lib/components/message/type-icon/type-icon.component.js +7 -0
- package/lib/components/message/type-icon/type-icon.style.js +4 -0
- package/lib/components/modal/__internal__/modal-manager.js +25 -0
- package/lib/components/modal/index.js +3 -0
- package/lib/components/modal/modal.component.js +19 -0
- package/lib/components/modal/modal.style.js +6 -0
- package/lib/components/multi-action-button/index.js +2 -0
- package/lib/components/multi-action-button/multi-action-button.component.js +32 -3
- package/lib/components/multi-action-button/multi-action-button.style.js +9 -0
- package/lib/components/navigation-bar/index.js +2 -0
- package/lib/components/navigation-bar/navigation-bar.component.js +7 -0
- package/lib/components/navigation-bar/navigation-bar.style.js +6 -0
- package/lib/components/note/__internal__/status-icon/index.js +2 -0
- package/lib/components/note/__internal__/status-icon/status-icon.component.js +7 -0
- package/lib/components/note/__internal__/status-icon/status-icon.style.js +3 -0
- package/lib/components/note/index.js +2 -0
- package/lib/components/note/note.component.js +21 -1
- package/lib/components/note/note.style.js +8 -0
- package/lib/components/number/index.js +3 -0
- package/lib/components/number/number.component.js +14 -2
- package/lib/components/numeral-date/index.js +2 -0
- package/lib/components/numeral-date/numeral-date-context.js +4 -0
- package/lib/components/numeral-date/numeral-date.component.js +42 -9
- package/lib/components/numeral-date/numeral-date.style.js +9 -0
- package/lib/components/pager/__internal__/pager-navigation-link.component.js +18 -0
- package/lib/components/pager/__internal__/pager-navigation.component.js +34 -0
- package/lib/components/pager/index.js +2 -0
- package/lib/components/pager/pager.component.js +40 -0
- package/lib/components/pager/pager.style.js +10 -0
- package/lib/components/pages/index.js +3 -0
- package/lib/components/pages/page/index.js +2 -0
- package/lib/components/pages/page/page.component.js +14 -0
- package/lib/components/pages/page/page.style.js +5 -0
- package/lib/components/pages/pages.component.js +26 -4
- package/lib/components/pages/pages.config.js +2 -0
- package/lib/components/pages/pages.style.js +6 -0
- package/lib/components/pill/index.js +2 -0
- package/lib/components/pill/pill.component.js +10 -0
- package/lib/components/pill/pill.style.config.js +2 -0
- package/lib/components/pill/pill.style.js +15 -0
- package/lib/components/pod/index.js +2 -0
- package/lib/components/pod/pod.component.js +53 -4
- package/lib/components/pod/pod.style.js +19 -6
- package/lib/components/popover-container/index.js +2 -0
- package/lib/components/popover-container/popover-container.component.js +27 -2
- package/lib/components/popover-container/popover-container.style.js +10 -0
- package/lib/components/portal/index.js +2 -0
- package/lib/components/portal/portal.js +23 -2
- package/lib/components/portrait/index.js +2 -0
- package/lib/components/portrait/portrait-gravatar.component.js +10 -0
- package/lib/components/portrait/portrait-initials.component.js +20 -10
- package/lib/components/portrait/portrait.component.js +21 -0
- package/lib/components/portrait/portrait.style.js +19 -3
- package/lib/components/preview/__internal__/preview-placeholder.component.js +8 -0
- package/lib/components/preview/__internal__/preview-placeholder.style.js +4 -0
- package/lib/components/preview/index.js +2 -0
- package/lib/components/preview/preview.component.js +13 -0
- package/lib/components/preview/preview.style.js +6 -3
- package/lib/components/profile/index.js +2 -0
- package/lib/components/profile/profile.component.js +14 -0
- package/lib/components/profile/profile.style.js +7 -0
- package/lib/components/progress-tracker/index.js +2 -0
- package/lib/components/progress-tracker/progress-tracker.component.js +35 -2
- package/lib/components/progress-tracker/progress-tracker.config.js +1 -0
- package/lib/components/progress-tracker/progress-tracker.style.js +14 -0
- package/lib/components/radio-button/index.js +6 -0
- package/lib/components/radio-button/radio-button-group.component.js +39 -2
- package/lib/components/radio-button/radio-button-group.style.js +4 -0
- package/lib/components/radio-button/radio-button-svg.component.js +6 -0
- package/lib/components/radio-button/radio-button.component.js +48 -6
- package/lib/components/radio-button/radio-button.style.js +14 -0
- package/lib/components/search/index.js +2 -0
- package/lib/components/search/search-button.style.js +6 -0
- package/lib/components/search/search.component.js +34 -2
- package/lib/components/search/search.style.js +12 -0
- package/lib/components/select/__internal__/select-list-context.js +4 -0
- package/lib/components/select/__internal__/select-text/select-text.component.js +17 -0
- package/lib/components/select/__internal__/select-text/select-text.style.js +6 -0
- package/lib/components/select/filterable-select/filterable-select.component.js +91 -8
- package/lib/components/select/index.js +7 -0
- package/lib/components/select/list-action-button/list-action-button.component.js +12 -0
- package/lib/components/select/list-action-button/list-action-button.style.js +4 -0
- package/lib/components/select/multi-select/multi-select.component.js +102 -15
- package/lib/components/select/multi-select/multi-select.style.js +10 -0
- package/lib/components/select/option/option.component.js +21 -0
- package/lib/components/select/option/option.style.js +6 -0
- package/lib/components/select/option-group-header/option-group-header.component.js +8 -0
- package/lib/components/select/option-group-header/option-group-header.style.js +4 -0
- package/lib/components/select/option-row/option-row.component.js +18 -0
- package/lib/components/select/option-row/option-row.style.js +4 -0
- package/lib/components/select/select-list/select-list-container.style.js +4 -0
- package/lib/components/select/select-list/select-list.component.js +67 -2
- package/lib/components/select/select-list/select-list.style.js +5 -2
- package/lib/components/select/select-list/update-list-scroll.js +4 -0
- package/lib/components/select/select-textbox/select-textbox.component.js +53 -2
- package/lib/components/select/select.style.js +10 -0
- package/lib/components/select/simple-select/simple-select.component.js +78 -2
- package/lib/components/select/utils/get-next-child-by-text.js +9 -0
- package/lib/components/select/utils/get-next-index-by-key.js +14 -0
- package/lib/components/select/utils/highlight-part-of-text.js +11 -0
- package/lib/components/select/utils/is-expected-option.js +9 -0
- package/lib/components/select/utils/is-expected-value.js +2 -0
- package/lib/components/select/utils/is-navigation-key.js +1 -0
- package/lib/components/select/utils/matching-text.style.js +3 -0
- package/lib/components/select/utils/with-filter.hoc.js +43 -3
- package/lib/components/settings-row/index.js +2 -0
- package/lib/components/settings-row/settings-row.component.js +19 -2
- package/lib/components/settings-row/settings-row.style.js +8 -0
- package/lib/components/show-edit-pod/index.js +2 -0
- package/lib/components/show-edit-pod/show-edit-pod.component.js +58 -6
- package/lib/components/show-edit-pod/show-edit-pod.style.js +6 -0
- package/lib/components/sidebar/__internal__/sidebar-header/index.js +2 -0
- package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +6 -0
- package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.style.js +3 -0
- package/lib/components/sidebar/index.js +3 -0
- package/lib/components/sidebar/sidebar.component.js +26 -0
- package/lib/components/sidebar/sidebar.style.js +11 -0
- package/lib/components/simple-color-picker/color-sample-box/color-sample-box.component.js +11 -1
- package/lib/components/simple-color-picker/color-sample-box/color-sample-box.style.js +7 -0
- package/lib/components/simple-color-picker/color-sample-box/index.js +2 -0
- package/lib/components/simple-color-picker/index.js +3 -0
- package/lib/components/simple-color-picker/simple-color/index.js +2 -0
- package/lib/components/simple-color-picker/simple-color/simple-color.component.js +16 -0
- package/lib/components/simple-color-picker/simple-color/simple-color.style.js +3 -0
- package/lib/components/simple-color-picker/simple-color-input/simple-color-input.style.js +5 -0
- package/lib/components/simple-color-picker/simple-color-picker.component.js +59 -8
- package/lib/components/simple-color-picker/simple-color-picker.style.js +8 -0
- package/lib/components/simple-color-picker/tick-icon/tick-icon.style.js +12 -4
- package/lib/components/split-button/index.js +2 -0
- package/lib/components/split-button/split-button-children.style.js +7 -0
- package/lib/components/split-button/split-button-toggle.style.js +7 -0
- package/lib/components/split-button/split-button.component.js +40 -1
- package/lib/components/split-button/split-button.style.js +6 -0
- package/lib/components/step-sequence/index.js +3 -0
- package/lib/components/step-sequence/step-sequence-item/index.js +2 -0
- package/lib/components/step-sequence/step-sequence-item/step-sequence-item.component.js +17 -0
- package/lib/components/step-sequence/step-sequence-item/step-sequence-item.style.js +6 -0
- package/lib/components/step-sequence/step-sequence.component.js +9 -0
- package/lib/components/step-sequence/step-sequence.style.js +6 -0
- package/lib/components/switch/__internal__/switch-slider-panel.style.js +7 -0
- package/lib/components/switch/__internal__/switch-slider.component.js +12 -0
- package/lib/components/switch/__internal__/switch-slider.style.js +7 -0
- package/lib/components/switch/index.js +2 -0
- package/lib/components/switch/switch.component.js +18 -0
- package/lib/components/switch/switch.style.js +14 -0
- package/lib/components/tabs/__internal__/tab-title/index.js +2 -0
- package/lib/components/tabs/__internal__/tab-title/tab-title.component.js +37 -8
- package/lib/components/tabs/__internal__/tab-title/tab-title.style.js +8 -0
- package/lib/components/tabs/__internal__/tabs-header/index.js +2 -0
- package/lib/components/tabs/__internal__/tabs-header/tabs-header.component.js +6 -0
- package/lib/components/tabs/__internal__/tabs-header/tabs-header.style.js +8 -0
- package/lib/components/tabs/index.js +1 -0
- package/lib/components/tabs/tab/index.js +3 -0
- package/lib/components/tabs/tab/tab.component.js +35 -8
- package/lib/components/tabs/tab/tab.style.js +8 -0
- package/lib/components/tabs/tabs.component.js +75 -24
- package/lib/components/tabs/tabs.style.js +10 -0
- package/lib/components/text-editor/__internal__/decorators/index.js +5 -0
- package/lib/components/text-editor/__internal__/decorators/link-decorator.js +12 -10
- package/lib/components/text-editor/__internal__/editor-counter/editor-counter.component.js +11 -0
- package/lib/components/text-editor/__internal__/editor-counter/editor-counter.style.js +3 -0
- package/lib/components/text-editor/__internal__/editor-counter/index.js +2 -0
- package/lib/components/text-editor/__internal__/editor-link/editor-link.component.js +14 -2
- package/lib/components/text-editor/__internal__/editor-link/editor-link.style.js +4 -0
- package/lib/components/text-editor/__internal__/editor-link/index.js +2 -0
- package/lib/components/text-editor/__internal__/label-wrapper/index.js +2 -0
- package/lib/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +6 -0
- package/lib/components/text-editor/__internal__/toolbar/index.js +2 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar-button/index.js +2 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +12 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.js +6 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar.component.js +22 -0
- package/lib/components/text-editor/__internal__/toolbar/toolbar.style.js +4 -0
- package/lib/components/text-editor/__internal__/utils/index.js +1 -0
- package/lib/components/text-editor/__internal__/utils/utils.js +49 -9
- package/lib/components/text-editor/index.js +3 -0
- package/lib/components/text-editor/text-editor.component.js +76 -22
- package/lib/components/text-editor/text-editor.style.js +8 -0
- package/lib/components/textarea/index.js +2 -0
- package/lib/components/textarea/textarea.component.js +71 -6
- package/lib/components/textarea/textarea.style.js +10 -0
- package/lib/components/textbox/__internal__/prefix.style.js +3 -0
- package/lib/components/textbox/index.js +2 -0
- package/lib/components/textbox/textbox.component.js +28 -2
- package/lib/components/textbox/textbox.style.js +4 -0
- package/lib/components/tile/index.js +2 -0
- package/lib/components/tile/tile-footer/index.js +2 -0
- package/lib/components/tile/tile-footer/tile-footer.component.js +12 -2
- package/lib/components/tile/tile-footer/tile-footer.style.js +6 -0
- package/lib/components/tile/tile.component.js +16 -0
- package/lib/components/tile/tile.style.js +9 -0
- package/lib/components/tile-select/__internal__/accordion/accordion.component.js +9 -0
- package/lib/components/tile-select/__internal__/accordion/accordion.style.js +4 -0
- package/lib/components/tile-select/__internal__/accordion/index.js +2 -0
- package/lib/components/tile-select/index.js +3 -0
- package/lib/components/tile-select/tile-select-group.component.js +28 -2
- package/lib/components/tile-select/tile-select.component.js +48 -4
- package/lib/components/tile-select/tile-select.style.js +11 -0
- package/lib/components/toast/index.js +2 -0
- package/lib/components/toast/toast.component.js +34 -0
- package/lib/components/toast/toast.style.js +12 -0
- package/lib/components/tooltip/index.js +2 -0
- package/lib/components/tooltip/tooltip-pointer.style.js +8 -0
- package/lib/components/tooltip/tooltip.component.js +17 -0
- package/lib/components/tooltip/tooltip.style.js +13 -0
- package/lib/components/typography/index.js +3 -0
- package/lib/components/typography/list.component.js +11 -0
- package/lib/components/typography/typography.component.js +36 -0
- package/lib/components/vertical-divider/index.js +2 -0
- package/lib/components/vertical-divider/vertical-divider.component.js +10 -0
- package/lib/components/vertical-divider/vertical-divider.style.js +6 -0
- package/lib/hooks/__internal__/useCharacterCount/index.js +2 -0
- package/lib/hooks/__internal__/useCharacterCount/useCharacterCount.js +10 -0
- package/lib/hooks/__internal__/useClickAwayListener/index.js +2 -0
- package/lib/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +4 -0
- package/lib/hooks/__internal__/useFloating/index.js +2 -0
- package/lib/hooks/__internal__/useFloating/useFloating.js +8 -0
- package/lib/hooks/__internal__/useInputAccessibility/index.js +2 -0
- package/lib/hooks/__internal__/useInputAccessibility/useInputAccessibility.js +1 -0
- package/lib/hooks/__internal__/useIsAboveBreakpoint/index.js +2 -0
- package/lib/hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js +3 -0
- package/lib/hooks/__internal__/useIsStickyFooterForm/index.js +2 -0
- package/lib/hooks/__internal__/useIsStickyFooterForm/useIsStickyFooterForm.js +8 -0
- package/lib/hooks/__internal__/useLocale/index.js +2 -0
- package/lib/hooks/__internal__/useLocale/useLocale.js +4 -0
- package/lib/hooks/__internal__/useMenuKeyboardNavigation/index.js +2 -0
- package/lib/hooks/__internal__/useMenuKeyboardNavigation/useMenuKeyboardNavigation.js +23 -2
- package/lib/hooks/__internal__/useModalManager/index.js +2 -0
- package/lib/hooks/__internal__/useModalManager/useModalManager.js +9 -0
- package/lib/hooks/__internal__/usePrevious/index.js +2 -0
- package/lib/hooks/__internal__/useResizeObserver/index.js +2 -0
- package/lib/hooks/__internal__/useResizeObserver/useResizeObserver.js +10 -3
- package/lib/hooks/__internal__/useScrollBlock/index.js +2 -0
- package/lib/hooks/__internal__/useScrollBlock/scroll-block-manager.js +17 -6
- package/lib/hooks/__internal__/useScrollBlock/useScrollBlock.js +18 -8
- package/lib/hooks/useMediaQuery/index.js +2 -0
- package/lib/hooks/useMediaQuery/useMediaQuery.js +8 -0
- package/lib/locales/date-fns-locales/index.js +2 -0
- package/lib/locales/en-gb.js +9 -1
- package/lib/locales/index.js +3 -0
- package/lib/locales/pl-pl.js +9 -1
- package/lib/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +5 -1
- package/lib/style/design-tokens/carbon-scoped-tokens-provider/index.js +2 -0
- package/lib/style/design-tokens/debug-theme.util.js +12 -5
- package/lib/style/design-tokens/generate-css-variables.util.js +2 -0
- package/lib/style/global-style.js +2 -0
- package/lib/style/palette/index.js +9 -2
- package/lib/style/themes/aegean/aegean-theme.config.js +5 -0
- package/lib/style/themes/aegean/index.js +5 -0
- package/lib/style/themes/base/base-theme.config.js +9 -2
- package/lib/style/themes/base/index.js +12 -4
- package/lib/style/themes/index.js +7 -0
- package/lib/style/themes/medium/index.js +3 -0
- package/lib/style/themes/mint/index.js +5 -0
- package/lib/style/themes/mint/mint-theme.config.js +5 -0
- package/lib/style/themes/none/index.js +5 -0
- package/lib/style/themes/none/none-theme.config.js +2 -0
- package/lib/style/themes/sage/index.js +6 -4
- package/lib/style/themes/small/index.js +3 -0
- package/lib/style/themes/test-utils.js +6 -4
- package/lib/style/utils/add-hex-symbols.js +3 -0
- package/lib/style/utils/at-opacity.js +3 -0
- package/lib/style/utils/color.js +14 -3
- package/lib/style/utils/filter-out-position-props.js +4 -0
- package/lib/style/utils/filter-out-styled-system-spacing-props.js +4 -0
- package/lib/style/utils/filter-styled-system-margin-props.js +4 -0
- package/lib/style/utils/filter-styled-system-padding-props.js +5 -2
- package/lib/style/utils/form-style-utils.js +18 -0
- package/lib/style/utils/get-color-value.js +5 -0
- package/lib/style/utils/get-rgb-values.js +2 -1
- package/lib/style/utils/index.js +4 -0
- package/lib/style/utils/merge-deep.js +7 -1
- package/lib/style/utils/mix.js +9 -1
- package/lib/style/utils/shade.js +4 -0
- package/lib/style/utils/tint.js +4 -0
- package/lib/style/utils/width.js +4 -0
- package/package.json +1 -1
|
@@ -1,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, { useContext, useEffect } from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import StyledLink from "./editor-link.style";
|
|
5
6
|
import { EditorContext } from "../../text-editor.component";
|
|
7
|
+
|
|
6
8
|
const EditorLink = ({
|
|
7
9
|
children,
|
|
8
10
|
contentState,
|
|
@@ -10,11 +12,13 @@ const EditorLink = ({
|
|
|
10
12
|
...rest
|
|
11
13
|
}) => {
|
|
12
14
|
const url = !!contentState && !!entityKey ? contentState.getEntity(entityKey).getData() : children[0].props.text;
|
|
15
|
+
|
|
13
16
|
const buildValidUrl = () => {
|
|
14
17
|
const candidateUrl = url.url || url;
|
|
15
18
|
const regex = /(http:\/\/|https:\/\/)+/g;
|
|
16
19
|
return regex.test(candidateUrl) ? candidateUrl : `https://${candidateUrl}`;
|
|
17
20
|
};
|
|
21
|
+
|
|
18
22
|
const validUrl = buildValidUrl();
|
|
19
23
|
const {
|
|
20
24
|
onLinkAdded,
|
|
@@ -23,8 +27,8 @@ const EditorLink = ({
|
|
|
23
27
|
useEffect(() => {
|
|
24
28
|
if (onLinkAdded) {
|
|
25
29
|
onLinkAdded(validUrl);
|
|
26
|
-
}
|
|
27
|
-
|
|
30
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
|
+
|
|
28
32
|
}, [validUrl]);
|
|
29
33
|
return /*#__PURE__*/React.createElement(StyledLink, _extends({
|
|
30
34
|
href: !editMode ? validUrl : undefined,
|
|
@@ -34,6 +38,7 @@ const EditorLink = ({
|
|
|
34
38
|
rel: "noopener noreferrer"
|
|
35
39
|
}, rest), children);
|
|
36
40
|
};
|
|
41
|
+
|
|
37
42
|
EditorLink.propTypes = {
|
|
38
43
|
children: PropTypes.node.isRequired,
|
|
39
44
|
contentState: PropTypes.object,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
2
|
+
|
|
2
3
|
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
3
4
|
import React from "react";
|
|
4
5
|
import PropTypes from "prop-types";
|
|
@@ -7,6 +8,7 @@ import PropTypes from "prop-types";
|
|
|
7
8
|
* We have to manually trigger focus on TextEditor by clicking on label component.
|
|
8
9
|
* This wrapper allows us to trigger focus on TextEditor
|
|
9
10
|
*/
|
|
11
|
+
|
|
10
12
|
const LabelWrapper = ({
|
|
11
13
|
onClick,
|
|
12
14
|
children
|
|
@@ -15,6 +17,7 @@ const LabelWrapper = ({
|
|
|
15
17
|
onClick: onClick
|
|
16
18
|
}, " ", children, " ");
|
|
17
19
|
};
|
|
20
|
+
|
|
18
21
|
LabelWrapper.propTypes = {
|
|
19
22
|
onClick: PropTypes.func.isRequired,
|
|
20
23
|
children: PropTypes.node.isRequired
|
package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
2
3
|
import React from "react";
|
|
3
4
|
import PropTypes from "prop-types";
|
|
4
5
|
import StyledToolbarButton from "./toolbar-button.style";
|
|
@@ -35,14 +36,19 @@ const ToolbarButton = /*#__PURE__*/React.forwardRef(({
|
|
|
35
36
|
ToolbarButton.propTypes = {
|
|
36
37
|
/** Accessibility label for a button */
|
|
37
38
|
ariaLabel: PropTypes.string.isRequired,
|
|
39
|
+
|
|
38
40
|
/** The children for the button */
|
|
39
41
|
children: PropTypes.oneOfType([PropTypes.node, PropTypes.array]).isRequired,
|
|
42
|
+
|
|
40
43
|
/** Used to control the button's active status */
|
|
41
44
|
activated: PropTypes.bool,
|
|
45
|
+
|
|
42
46
|
/** Callback to handle any keydown events on a button */
|
|
43
47
|
onKeyDown: PropTypes.func.isRequired,
|
|
48
|
+
|
|
44
49
|
/** Callback to handle any mouse down events on a button */
|
|
45
50
|
onMouseDown: PropTypes.func.isRequired,
|
|
51
|
+
|
|
46
52
|
/** Controls whether the button can be tabbed to */
|
|
47
53
|
tabbable: PropTypes.bool,
|
|
48
54
|
onMouseOver: PropTypes.func,
|
|
@@ -10,6 +10,7 @@ const BOLD = "BOLD";
|
|
|
10
10
|
const ITALIC = "ITALIC";
|
|
11
11
|
const UNORDERED_LIST = "unordered-list-item";
|
|
12
12
|
const ORDERED_LIST = "ordered-list-item";
|
|
13
|
+
|
|
13
14
|
const Toolbar = ({
|
|
14
15
|
activeControls,
|
|
15
16
|
canFocus,
|
|
@@ -43,6 +44,7 @@ const Toolbar = ({
|
|
|
43
44
|
} else {
|
|
44
45
|
handleBlockType(ev, type);
|
|
45
46
|
}
|
|
47
|
+
|
|
46
48
|
setFocusIndex(0);
|
|
47
49
|
setTabbable(true);
|
|
48
50
|
} else if (Events.isLeftKey(ev)) {
|
|
@@ -53,6 +55,7 @@ const Toolbar = ({
|
|
|
53
55
|
controlRefs[focusIndex - 1].current.focus();
|
|
54
56
|
setFocusIndex(focusIndex - 1);
|
|
55
57
|
}
|
|
58
|
+
|
|
56
59
|
setTabbable(false);
|
|
57
60
|
} else if (Events.isRightKey(ev)) {
|
|
58
61
|
if (focusIndex === 3) {
|
|
@@ -62,6 +65,7 @@ const Toolbar = ({
|
|
|
62
65
|
controlRefs[focusIndex + 1].current.focus();
|
|
63
66
|
setFocusIndex(focusIndex + 1);
|
|
64
67
|
}
|
|
68
|
+
|
|
65
69
|
setTabbable(false);
|
|
66
70
|
}
|
|
67
71
|
}, [controlRefs, focusIndex, handleBlockType, handleInlineStyleChange]);
|
|
@@ -79,6 +83,7 @@ const Toolbar = ({
|
|
|
79
83
|
if (!controlRefs[index] || !controlRefs[index].current) {
|
|
80
84
|
return false;
|
|
81
85
|
}
|
|
86
|
+
|
|
82
87
|
return controlRefs[index].current === document.activeElement;
|
|
83
88
|
}, [controlRefs]);
|
|
84
89
|
return /*#__PURE__*/React.createElement(StyledToolbar, {
|
|
@@ -153,15 +158,20 @@ const Toolbar = ({
|
|
|
153
158
|
type: "bullet_list_numbers"
|
|
154
159
|
})))), toolbarElements && /*#__PURE__*/React.createElement(StyledEditorActionControls, null, toolbarElements));
|
|
155
160
|
};
|
|
161
|
+
|
|
156
162
|
Toolbar.propTypes = {
|
|
157
163
|
/** Used to override the active status of the inline controls */
|
|
158
164
|
activeControls: PropTypes.object.isRequired,
|
|
165
|
+
|
|
159
166
|
/** Flag to trigger control focusing */
|
|
160
167
|
canFocus: PropTypes.bool,
|
|
168
|
+
|
|
161
169
|
/** Callback to handle setting the inline styles */
|
|
162
170
|
setInlineStyle: PropTypes.func.isRequired,
|
|
171
|
+
|
|
163
172
|
/** Callback to handle setting the block styles */
|
|
164
173
|
setBlockStyle: PropTypes.func.isRequired,
|
|
174
|
+
|
|
165
175
|
/** Additional elements to be rendered in the Toolbar, e.g. Save and Cancel Button */
|
|
166
176
|
toolbarElements: PropTypes.node
|
|
167
177
|
};
|
|
@@ -6,29 +6,34 @@ export const computeBlockType = (char, type) => {
|
|
|
6
6
|
if (char === "." && type !== ORDERLIST_TYPE) {
|
|
7
7
|
return ORDERLIST_TYPE;
|
|
8
8
|
}
|
|
9
|
+
|
|
9
10
|
if (char === "*" && type !== UNORDERLIST_TYPE) {
|
|
10
11
|
return UNORDERLIST_TYPE;
|
|
11
12
|
}
|
|
13
|
+
|
|
12
14
|
return "unstyled";
|
|
13
15
|
};
|
|
14
|
-
|
|
15
16
|
/*
|
|
16
17
|
Returns default block-level metadata for various block type. Empty object otherwise.
|
|
17
18
|
*/
|
|
19
|
+
|
|
18
20
|
const getDefaultBlockData = (blockType, initialData = {}) => {
|
|
19
21
|
switch (blockType) {
|
|
20
22
|
case ORDERLIST_TYPE:
|
|
21
23
|
return {};
|
|
24
|
+
|
|
22
25
|
case UNORDERLIST_TYPE:
|
|
23
26
|
return {};
|
|
27
|
+
|
|
24
28
|
default:
|
|
25
29
|
return initialData;
|
|
26
30
|
}
|
|
27
31
|
};
|
|
28
|
-
|
|
29
32
|
/*
|
|
30
33
|
Changes the block type of the current block.
|
|
31
34
|
*/
|
|
35
|
+
|
|
36
|
+
|
|
32
37
|
export const resetBlockType = (value, newType = "unstyled") => {
|
|
33
38
|
const contentState = value.getCurrentContent();
|
|
34
39
|
const selectionState = value.getSelection();
|
|
@@ -53,33 +58,35 @@ export function blockStyleFn(block) {
|
|
|
53
58
|
switch (block.getType()) {
|
|
54
59
|
case "unordered-list-item":
|
|
55
60
|
return "text-editor-block-unordered";
|
|
61
|
+
|
|
56
62
|
case "ordered-list-item":
|
|
57
63
|
return "text-editor-block-ordered";
|
|
64
|
+
|
|
58
65
|
default:
|
|
59
66
|
return "";
|
|
60
67
|
}
|
|
61
68
|
}
|
|
62
|
-
|
|
63
69
|
/*
|
|
64
70
|
Return mutated editorState with decorators added
|
|
65
71
|
*/
|
|
72
|
+
|
|
66
73
|
export const getDecoratedValue = value => EditorState.set(value, {
|
|
67
74
|
decorator: decorators
|
|
68
75
|
});
|
|
69
|
-
|
|
70
76
|
/*
|
|
71
77
|
Get the current Content State
|
|
72
78
|
*/
|
|
73
|
-
export const getContent = value => value.getCurrentContent();
|
|
74
79
|
|
|
80
|
+
export const getContent = value => value.getCurrentContent();
|
|
75
81
|
/*
|
|
76
82
|
Get the current selection State
|
|
77
83
|
*/
|
|
78
|
-
export const getSelection = value => value.getSelection();
|
|
79
84
|
|
|
85
|
+
export const getSelection = value => value.getSelection();
|
|
80
86
|
/*
|
|
81
87
|
Get the current Content and Block information
|
|
82
88
|
*/
|
|
89
|
+
|
|
83
90
|
export const getContentInfo = value => {
|
|
84
91
|
const content = getContent(value);
|
|
85
92
|
const currentBlock = content.getBlockForKey(getSelection(value).getStartKey());
|
|
@@ -96,10 +103,10 @@ export const getContentInfo = value => {
|
|
|
96
103
|
blockMap
|
|
97
104
|
};
|
|
98
105
|
};
|
|
99
|
-
|
|
100
106
|
/*
|
|
101
107
|
Get the current Selection information
|
|
102
108
|
*/
|
|
109
|
+
|
|
103
110
|
export const getSelectionInfo = value => {
|
|
104
111
|
const selection = getSelection(value);
|
|
105
112
|
const startKey = selection.getStartKey();
|
|
@@ -114,18 +121,19 @@ export const getSelectionInfo = value => {
|
|
|
114
121
|
endOffset
|
|
115
122
|
};
|
|
116
123
|
};
|
|
117
|
-
|
|
118
124
|
/*
|
|
119
125
|
Move cursor to end of Content
|
|
120
126
|
*/
|
|
121
|
-
export const moveSelectionToEnd = value => EditorState.forceSelection(value, getContent(value).getSelectionAfter());
|
|
122
127
|
|
|
128
|
+
export const moveSelectionToEnd = value => EditorState.forceSelection(value, getContent(value).getSelectionAfter());
|
|
123
129
|
/*
|
|
124
130
|
Returns the current Selection length
|
|
125
131
|
*/
|
|
132
|
+
|
|
126
133
|
export const getSelectedLength = value => {
|
|
127
134
|
const selection = getSelection(value);
|
|
128
135
|
let length = 0;
|
|
136
|
+
|
|
129
137
|
if (!selection.isCollapsed()) {
|
|
130
138
|
const {
|
|
131
139
|
startKey,
|
|
@@ -139,10 +147,12 @@ export const getSelectedLength = value => {
|
|
|
139
147
|
} = getContentInfo(value);
|
|
140
148
|
const startLength = blockLength - startOffset;
|
|
141
149
|
const keyAfterEnd = content.getKeyAfter(endKey);
|
|
150
|
+
|
|
142
151
|
if (startKey === endKey) {
|
|
143
152
|
length += endOffset - startOffset;
|
|
144
153
|
} else {
|
|
145
154
|
let currentKey = startKey;
|
|
155
|
+
|
|
146
156
|
while (currentKey && currentKey !== keyAfterEnd) {
|
|
147
157
|
if (currentKey === startKey) {
|
|
148
158
|
length += startLength + 1;
|
|
@@ -151,10 +161,12 @@ export const getSelectedLength = value => {
|
|
|
151
161
|
} else {
|
|
152
162
|
length += content.getBlockForKey(currentKey).getLength() + 1;
|
|
153
163
|
}
|
|
164
|
+
|
|
154
165
|
currentKey = content.getKeyAfter(currentKey);
|
|
155
166
|
}
|
|
156
167
|
}
|
|
157
168
|
}
|
|
169
|
+
|
|
158
170
|
return length;
|
|
159
171
|
};
|
|
160
172
|
export function hasBlockStyle(value, type) {
|
|
@@ -41,76 +41,84 @@ const TextEditor = /*#__PURE__*/React.forwardRef(({
|
|
|
41
41
|
const moveCursor = useRef(contentLength > 0);
|
|
42
42
|
const lastKeyPressed = useRef();
|
|
43
43
|
const labelId = useRef(`text-editor-label-${createGuid()}`);
|
|
44
|
+
|
|
44
45
|
const keyBindingFn = ev => {
|
|
45
46
|
if (Events.isTabKey(ev) && !Events.isShiftKey(ev)) {
|
|
46
47
|
setFocusToolbar(true);
|
|
47
48
|
}
|
|
49
|
+
|
|
48
50
|
return getDefaultKeyBinding(ev);
|
|
49
51
|
};
|
|
52
|
+
|
|
50
53
|
const handleKeyCommand = command => {
|
|
51
54
|
// bail out if the enter is pressed and limit has been reached
|
|
52
55
|
if (command.includes("split-block") && contentLength === characterLimit) {
|
|
53
56
|
return "handled";
|
|
54
|
-
}
|
|
57
|
+
} // if the backspace or enter is pressed get block type and text
|
|
58
|
+
|
|
55
59
|
|
|
56
|
-
// if the backspace or enter is pressed get block type and text
|
|
57
60
|
if (command.includes("backspace") || command.includes("split-block")) {
|
|
58
61
|
const {
|
|
59
62
|
blockType,
|
|
60
63
|
blockLength
|
|
61
|
-
} = getContentInfo(value);
|
|
64
|
+
} = getContentInfo(value); // if a block control is active and there is no text, deactivate it and reset the block
|
|
62
65
|
|
|
63
|
-
// if a block control is active and there is no text, deactivate it and reset the block
|
|
64
66
|
if (BLOCK_TYPES.includes(blockType) && !blockLength) {
|
|
65
67
|
onChange(resetBlockType(value, "unstyled"));
|
|
66
68
|
return true;
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
|
-
const style = command.toUpperCase();
|
|
70
71
|
|
|
71
|
-
// if formatting shortcut used eg. command is "bold" or "italic"
|
|
72
|
+
const style = command.toUpperCase(); // if formatting shortcut used eg. command is "bold" or "italic"
|
|
73
|
+
|
|
72
74
|
if (INLINE_STYLES.includes(style)) {
|
|
73
75
|
onChange(RichUtils.handleKeyCommand(value, command));
|
|
74
|
-
setActiveInlines({
|
|
75
|
-
...activeInlines,
|
|
76
|
+
setActiveInlines({ ...activeInlines,
|
|
76
77
|
[style]: !hasInlineStyle(value, style)
|
|
77
78
|
});
|
|
78
79
|
return true;
|
|
79
80
|
}
|
|
81
|
+
|
|
80
82
|
return false;
|
|
81
83
|
};
|
|
84
|
+
|
|
82
85
|
const handleBeforeInput = (str, newState) => {
|
|
83
86
|
// short circuit if exceeds character limit
|
|
84
87
|
if (contentLength >= characterLimit) {
|
|
85
88
|
return "handled";
|
|
86
89
|
}
|
|
87
|
-
setActiveInlines({});
|
|
88
90
|
|
|
89
|
-
// there is a bug in how DraftJS handles the macOS double-space-period feature, this is added to catch this and
|
|
91
|
+
setActiveInlines({}); // there is a bug in how DraftJS handles the macOS double-space-period feature, this is added to catch this and
|
|
90
92
|
// prevent the editor from crashing until a fix can be added to their codebase
|
|
93
|
+
|
|
91
94
|
if (lastKeyPressed.current === " " && !isASCIIChar(str)) {
|
|
92
95
|
lastKeyPressed.current = null;
|
|
93
96
|
onChange(replaceText(newState, " ", newState.getCurrentInlineStyle(), true));
|
|
94
97
|
return "handled";
|
|
95
98
|
}
|
|
99
|
+
|
|
96
100
|
if (str === " ") {
|
|
97
101
|
lastKeyPressed.current = str;
|
|
98
102
|
return false;
|
|
99
103
|
}
|
|
100
|
-
|
|
101
|
-
// short circuit if str does not match expected chars
|
|
104
|
+
|
|
105
|
+
lastKeyPressed.current = null; // short circuit if str does not match expected chars
|
|
106
|
+
|
|
102
107
|
if (![".", "*"].includes(str)) {
|
|
103
108
|
return false;
|
|
104
109
|
}
|
|
110
|
+
|
|
105
111
|
const {
|
|
106
112
|
blockType,
|
|
107
113
|
blockLength,
|
|
108
114
|
blockText
|
|
109
115
|
} = getContentInfo(value);
|
|
116
|
+
|
|
110
117
|
if (blockLength === 1 && NUMBERS.includes(blockText) && str === "." || blockLength === 0 && str === "*") {
|
|
111
118
|
const newBlockType = computeBlockType(str, blockType);
|
|
112
119
|
const hasNumberList = hasBlockStyle(value, BLOCK_TYPES[0]);
|
|
113
120
|
const hasBulletList = hasBlockStyle(value, BLOCK_TYPES[1]);
|
|
121
|
+
|
|
114
122
|
if (BLOCK_TYPES.includes(newBlockType) && !hasNumberList && !hasBulletList) {
|
|
115
123
|
onChange(resetBlockType(value, newBlockType));
|
|
116
124
|
setActiveInlines({
|
|
@@ -120,32 +128,37 @@ const TextEditor = /*#__PURE__*/React.forwardRef(({
|
|
|
120
128
|
return true;
|
|
121
129
|
}
|
|
122
130
|
}
|
|
131
|
+
|
|
123
132
|
onChange(value);
|
|
124
133
|
return false;
|
|
125
134
|
};
|
|
135
|
+
|
|
126
136
|
const handlePastedText = pastedText => {
|
|
127
137
|
const selectedTextLength = getSelectedLength(value);
|
|
128
|
-
const newLength = contentLength + (pastedText === null || pastedText === void 0 ? void 0 : pastedText.length) - selectedTextLength;
|
|
129
|
-
|
|
138
|
+
const newLength = contentLength + (pastedText === null || pastedText === void 0 ? void 0 : pastedText.length) - selectedTextLength; // if the pastedText will exceed the limit trim the excess
|
|
139
|
+
|
|
130
140
|
if (newLength > characterLimit) {
|
|
131
141
|
const newContentState = Modifier.insertText(getContent(value), value.getSelection(), pastedText.substring(0, characterLimit - contentLength));
|
|
132
142
|
const newState = EditorState.push(value, newContentState, "insert-fragment");
|
|
133
143
|
onChange(newState);
|
|
134
144
|
return "handled";
|
|
135
145
|
}
|
|
146
|
+
|
|
136
147
|
setActiveInlines({});
|
|
137
148
|
return "not-handled";
|
|
138
149
|
};
|
|
150
|
+
|
|
139
151
|
const getEditorState = () => {
|
|
140
|
-
let editorState = getDecoratedValue(value);
|
|
152
|
+
let editorState = getDecoratedValue(value); // should the cursor position be forced to the end of the content
|
|
141
153
|
|
|
142
|
-
// should the cursor position be forced to the end of the content
|
|
143
154
|
if (contentLength > 0 && moveCursor.current && isFocused) {
|
|
144
155
|
editorState = moveSelectionToEnd(editorState);
|
|
145
156
|
moveCursor.current = false;
|
|
146
157
|
}
|
|
158
|
+
|
|
147
159
|
return editorState;
|
|
148
160
|
};
|
|
161
|
+
|
|
149
162
|
const editorState = getEditorState();
|
|
150
163
|
const activeControls = {
|
|
151
164
|
BOLD: activeInlines.BOLD !== undefined ? activeInlines.BOLD : hasInlineStyle(editorState, INLINE_STYLES[0]),
|
|
@@ -156,20 +169,22 @@ const TextEditor = /*#__PURE__*/React.forwardRef(({
|
|
|
156
169
|
const handleEditorFocus = useCallback(focusValue => {
|
|
157
170
|
moveCursor.current = true;
|
|
158
171
|
setIsFocused(focusValue);
|
|
172
|
+
|
|
159
173
|
if (!isFocused && focusValue && editor.current !== document.activeElement) {
|
|
160
174
|
editor.current.focus();
|
|
161
175
|
setFocusToolbar(false);
|
|
162
176
|
}
|
|
163
177
|
}, [editor, isFocused]);
|
|
178
|
+
|
|
164
179
|
const handleInlineStyleChange = (ev, style) => {
|
|
165
180
|
ev.preventDefault();
|
|
166
|
-
setActiveInlines({
|
|
167
|
-
...activeInlines,
|
|
181
|
+
setActiveInlines({ ...activeInlines,
|
|
168
182
|
[style]: !hasInlineStyle(value, style)
|
|
169
183
|
});
|
|
170
184
|
handleEditorFocus(true);
|
|
171
185
|
setInlines([...inlines, style]);
|
|
172
186
|
};
|
|
187
|
+
|
|
173
188
|
const handleBlockStyleChange = (ev, newBlockType) => {
|
|
174
189
|
ev.preventDefault();
|
|
175
190
|
handleEditorFocus(true);
|
|
@@ -182,27 +197,31 @@ const TextEditor = /*#__PURE__*/React.forwardRef(({
|
|
|
182
197
|
});
|
|
183
198
|
setInlines(temp);
|
|
184
199
|
};
|
|
200
|
+
|
|
185
201
|
useEffect(() => {
|
|
186
202
|
// apply the inline styling, having it run in as an effect ensures that styles can be added
|
|
187
203
|
// even when the editor is not focused
|
|
188
204
|
INLINE_STYLES.forEach(style => {
|
|
189
205
|
const preserveStyle = activeInlines[style] !== undefined && activeInlines[style] !== hasInlineStyle(value, style);
|
|
206
|
+
|
|
190
207
|
if (preserveStyle && value.getSelection().isCollapsed() || isFocused && inlines.includes(style)) {
|
|
191
208
|
onChange(RichUtils.toggleInlineStyle(value, style));
|
|
192
209
|
setInlines(inlines.filter(inline => inline !== style));
|
|
193
210
|
}
|
|
211
|
+
|
|
194
212
|
if (preserveStyle && !value.getSelection().isCollapsed()) {
|
|
195
|
-
setActiveInlines({
|
|
196
|
-
...activeInlines,
|
|
213
|
+
setActiveInlines({ ...activeInlines,
|
|
197
214
|
[style]: undefined
|
|
198
215
|
});
|
|
199
216
|
}
|
|
200
217
|
});
|
|
201
218
|
}, [activeInlines, contentLength, editorState, inlines, isFocused, onChange, value]);
|
|
219
|
+
|
|
202
220
|
const handlePreviewClose = (onClose, url) => {
|
|
203
221
|
onClose(url);
|
|
204
222
|
editor.current.focus();
|
|
205
223
|
};
|
|
224
|
+
|
|
206
225
|
return /*#__PURE__*/React.createElement(EditorContext.Provider, {
|
|
207
226
|
value: {
|
|
208
227
|
onLinkAdded,
|
|
@@ -258,35 +277,47 @@ const TextEditor = /*#__PURE__*/React.forwardRef(({
|
|
|
258
277
|
toolbarElements: toolbarElements
|
|
259
278
|
})))));
|
|
260
279
|
});
|
|
261
|
-
TextEditor.propTypes = {
|
|
262
|
-
|
|
280
|
+
TextEditor.propTypes = { ...marginPropTypes,
|
|
281
|
+
|
|
263
282
|
/** The maximum characters that the input will accept */
|
|
264
283
|
characterLimit: PropTypes.number,
|
|
284
|
+
|
|
265
285
|
/** The text for the editor's label */
|
|
266
286
|
labelText: PropTypes.string.isRequired,
|
|
287
|
+
|
|
267
288
|
/** onChange callback to control value updates */
|
|
268
289
|
onChange: PropTypes.func.isRequired,
|
|
290
|
+
|
|
269
291
|
/** The value of the input, this is an EditorState immutable object */
|
|
270
292
|
value: PropTypes.object.isRequired,
|
|
293
|
+
|
|
271
294
|
/** Flag to configure component as mandatory */
|
|
272
295
|
required: PropTypes.bool,
|
|
296
|
+
|
|
273
297
|
/** Message to be displayed when there is an error */
|
|
274
298
|
error: PropTypes.string,
|
|
299
|
+
|
|
275
300
|
/** Message to be displayed when there is a warning */
|
|
276
301
|
warning: PropTypes.string,
|
|
302
|
+
|
|
277
303
|
/** Message to be displayed when there is an info */
|
|
278
304
|
info: PropTypes.string,
|
|
305
|
+
|
|
279
306
|
/** Additional elements to be rendered in the Editor Toolbar, e.g. Save and Cancel Button */
|
|
280
307
|
toolbarElements: PropTypes.node,
|
|
308
|
+
|
|
281
309
|
/** Number greater than 2 multiplied by line-height (21px) to override the default min-height of the editor */
|
|
282
310
|
rows: (props, propName, component) => {
|
|
283
311
|
if (props[propName] && (typeof props[propName] !== "number" || props[propName] < 2)) {
|
|
284
312
|
return new Error(`Prop \`${propName}\` must be a number value greater than 2 to override the min-height of the \`${component}\``);
|
|
285
313
|
}
|
|
314
|
+
|
|
286
315
|
return null;
|
|
287
316
|
},
|
|
317
|
+
|
|
288
318
|
/** The previews to display of any links added to the Editor */
|
|
289
319
|
previews: PropTypes.arrayOf(PropTypes.node),
|
|
320
|
+
|
|
290
321
|
/** Callback to report a url when a link is added */
|
|
291
322
|
onLinkAdded: PropTypes.func
|
|
292
323
|
};
|