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.
Files changed (888) hide show
  1. package/esm/__internal__/DeprecationWarning.js +2 -0
  2. package/esm/__internal__/character-count/character-count.component.js +2 -0
  3. package/esm/__internal__/checkable-input/checkable-input.component.js +5 -0
  4. package/esm/__internal__/checkable-input/hidden-checkable-input.component.js +11 -0
  5. package/esm/__internal__/field-help/field-help.component.js +2 -0
  6. package/esm/__internal__/fieldset/fieldset.component.js +3 -0
  7. package/esm/__internal__/focus-trap/focus-trap-utils.js +25 -6
  8. package/esm/__internal__/focus-trap/focus-trap.component.js +17 -7
  9. package/esm/__internal__/form-field/form-field.component.js +5 -0
  10. package/esm/__internal__/full-screen-heading/full-screen-heading.component.js +1 -0
  11. package/esm/__internal__/input/input-presentation.component.js +5 -0
  12. package/esm/__internal__/input/input-presentation.style.js +5 -0
  13. package/esm/__internal__/input/input.component.js +25 -2
  14. package/esm/__internal__/input-behaviour/input-behaviour.component.js +3 -2
  15. package/esm/__internal__/input-behaviour/input-group-behaviour.component.js +2 -0
  16. package/esm/__internal__/input-behaviour/useInputBehaviour.js +4 -2
  17. package/esm/__internal__/input-icon-toggle/input-icon-toggle.component.js +5 -0
  18. package/esm/__internal__/input-icon-toggle/input-icon-toggle.style.js +1 -0
  19. package/esm/__internal__/label/label.component.js +10 -0
  20. package/esm/__internal__/popover/popover.component.js +11 -0
  21. package/esm/__internal__/radio-button-mapper/radio-button-mapper.component.js +10 -0
  22. package/esm/__internal__/sticky-footer/sticky-footer.component.js +5 -0
  23. package/esm/__internal__/utils/helpers/browser-type-check/index.js +1 -0
  24. package/esm/__internal__/utils/helpers/events/composedPath.js +4 -1
  25. package/esm/__internal__/utils/helpers/events/events.js +16 -1
  26. package/esm/__internal__/utils/helpers/guid/index.js +1 -0
  27. package/esm/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +3 -2
  28. package/esm/__internal__/utils/helpers/tags/tags.js +4 -0
  29. package/esm/__internal__/utils/logger/index.js +1 -1
  30. package/esm/__internal__/validation-message/validation-message.component.js +2 -0
  31. package/esm/__internal__/validations/validation-icon.component.js +8 -0
  32. package/esm/__spec_helper__/enzyme-snapshot-helper.js +5 -0
  33. package/esm/__spec_helper__/expect.js +5 -2
  34. package/esm/__spec_helper__/mock-match-media.js +3 -0
  35. package/esm/__spec_helper__/mock-resize-observer.js +2 -0
  36. package/esm/__spec_helper__/test-utils.js +62 -27
  37. package/esm/components/accordion/accordion-group/accordion-group.component.js +9 -0
  38. package/esm/components/accordion/accordion.component.js +7 -0
  39. package/esm/components/action-popover/action-popover-item/action-popover-item.component.js +21 -2
  40. package/esm/components/action-popover/action-popover-menu/action-popover-menu.component.js +7 -2
  41. package/esm/components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js +3 -0
  42. package/esm/components/action-popover/action-popover.component.js +19 -4
  43. package/esm/components/advanced-color-picker/advanced-color-picker.component.js +19 -0
  44. package/esm/components/alert/alert.component.js +3 -0
  45. package/esm/components/anchor-navigation/anchor-navigation.component.js +14 -5
  46. package/esm/components/badge/badge.component.js +2 -0
  47. package/esm/components/batch-selection/batch-selection.component.js +6 -0
  48. package/esm/components/box/box.config.js +1 -0
  49. package/esm/components/button/button-types.style.js +2 -0
  50. package/esm/components/button/button.component.js +12 -0
  51. package/esm/components/button/button.style.js +8 -0
  52. package/esm/components/button-bar/button-bar.component.js +8 -2
  53. package/esm/components/button-toggle/button-toggle-icon.component.js +2 -0
  54. package/esm/components/button-toggle/button-toggle-input.component.js +6 -0
  55. package/esm/components/button-toggle/button-toggle.component.js +6 -0
  56. package/esm/components/button-toggle-group/button-toggle-group.component.js +3 -0
  57. package/esm/components/carbon-provider/carbon-provider.component.js +2 -0
  58. package/esm/components/carbon-provider/top-modal-context.js +7 -3
  59. package/esm/components/card/card-column/card-column.component.js +2 -0
  60. package/esm/components/card/card-footer/card-footer.component.js +3 -0
  61. package/esm/components/card/card-row/card-row.component.js +3 -0
  62. package/esm/components/card/card.component.js +8 -0
  63. package/esm/components/carousel/carousel.component.js +15 -0
  64. package/esm/components/carousel/slide/slide.component.js +3 -0
  65. package/esm/components/carousel/slide/slide.style.js +1 -2
  66. package/esm/components/checkbox/checkbox-group.component.js +3 -0
  67. package/esm/components/checkbox/checkbox-svg.component.js +2 -0
  68. package/esm/components/checkbox/checkbox.component.js +7 -0
  69. package/esm/components/confirm/confirm.component.js +38 -0
  70. package/esm/components/content/content.component.js +3 -0
  71. package/esm/components/date/__internal__/date-formats/index.js +19 -6
  72. package/esm/components/date/__internal__/date-picker/date-picker.component.js +15 -2
  73. package/esm/components/date/__internal__/date-picker/day-picker.style.js +7 -3
  74. package/esm/components/date/__internal__/navbar/navbar.component.js +2 -0
  75. package/esm/components/date/__internal__/utils.js +31 -1
  76. package/esm/components/date/__internal__/weekday/weekday.component.js +3 -0
  77. package/esm/components/date/date.component.js +54 -10
  78. package/esm/components/date-range/date-range.component.js +46 -14
  79. package/esm/components/decimal/decimal.component.js +29 -4
  80. package/esm/components/definition-list/dd.component.js +3 -0
  81. package/esm/components/definition-list/dl.component.js +8 -0
  82. package/esm/components/definition-list/dt.component.js +3 -0
  83. package/esm/components/detail/detail.component.js +8 -2
  84. package/esm/components/dialog/dialog.component.js +14 -0
  85. package/esm/components/dialog/dialog.style.js +2 -0
  86. package/esm/components/dialog-full-screen/dialog-full-screen.component.js +25 -0
  87. package/esm/components/dismissible-box/dismissible-box.component.js +3 -0
  88. package/esm/components/draggable/draggable-container.component.js +16 -4
  89. package/esm/components/draggable/draggable-item.component.js +11 -2
  90. package/esm/components/drawer/drawer.component.js +16 -0
  91. package/esm/components/drawer/drawer.style.js +7 -0
  92. package/esm/components/duelling-picklist/duelling-picklist.component.js +14 -2
  93. package/esm/components/duelling-picklist/picklist/picklist.component.js +7 -0
  94. package/esm/components/duelling-picklist/picklist-divider/picklist-divider.component.js +3 -0
  95. package/esm/components/duelling-picklist/picklist-group/picklist-group.component.js +7 -0
  96. package/esm/components/duelling-picklist/picklist-item/picklist-item.component.js +14 -0
  97. package/esm/components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js +2 -0
  98. package/esm/components/fieldset/fieldset.component.js +4 -0
  99. package/esm/components/flat-table/flat-table-body/flat-table-body.component.js +1 -0
  100. package/esm/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +13 -0
  101. package/esm/components/flat-table/flat-table-cell/flat-table-cell.component.js +18 -0
  102. package/esm/components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js +15 -0
  103. package/esm/components/flat-table/flat-table-head/flat-table-head.component.js +8 -4
  104. package/esm/components/flat-table/flat-table-header/flat-table-header-utils.js +4 -1
  105. package/esm/components/flat-table/flat-table-header/flat-table-header.component.js +13 -0
  106. package/esm/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +9 -0
  107. package/esm/components/flat-table/flat-table-row/flat-table-row.component.js +35 -0
  108. package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +11 -2
  109. package/esm/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +15 -0
  110. package/esm/components/flat-table/flat-table.component.js +20 -2
  111. package/esm/components/flat-table/flat-table.style.js +3 -0
  112. package/esm/components/flat-table/sort/sort.component.js +7 -0
  113. package/esm/components/form/__internal__/form-summary.component.js +7 -0
  114. package/esm/components/form/form.component.js +3 -0
  115. package/esm/components/form/form.style.js +3 -2
  116. package/esm/components/global-header/global-header.component.js +6 -1
  117. package/esm/components/grid/grid-container/grid-container.component.js +6 -0
  118. package/esm/components/grid/grid-item/grid-item.component.js +6 -0
  119. package/esm/components/grid/grid-item/grid-item.style.js +14 -0
  120. package/esm/components/grouped-character/grouped-character.component.js +21 -3
  121. package/esm/components/heading/heading.component.js +9 -2
  122. package/esm/components/help/help.component.js +8 -0
  123. package/esm/components/hr/hr.component.js +5 -0
  124. package/esm/components/i18n-provider/i18n-provider.component.js +2 -0
  125. package/esm/components/icon/icon-unicodes.js +1 -2
  126. package/esm/components/icon/icon.component.js +12 -1
  127. package/esm/components/icon/icon.style.js +6 -0
  128. package/esm/components/icon-button/icon-button.component.js +4 -0
  129. package/esm/components/image/image.component.js +3 -0
  130. package/esm/components/image/image.style.js +1 -2
  131. package/esm/components/inline-inputs/inline-inputs.component.js +6 -0
  132. package/esm/components/link/link.component.js +12 -3
  133. package/esm/components/link/link.style.js +4 -0
  134. package/esm/components/link-preview/__internal__/placeholder.component.js +2 -0
  135. package/esm/components/link-preview/link-preview.component.js +7 -0
  136. package/esm/components/loader/loader-square.style.js +6 -0
  137. package/esm/components/loader/loader.component.js +3 -0
  138. package/esm/components/loader-bar/loader-bar.component.js +3 -0
  139. package/esm/components/loader-bar/loader-bar.style.js +4 -0
  140. package/esm/components/menu/__internal__/keyboard-navigation/index.js +9 -0
  141. package/esm/components/menu/__internal__/spec-helper/index.js +2 -0
  142. package/esm/components/menu/__internal__/submenu/submenu.component.js +59 -7
  143. package/esm/components/menu/menu-full-screen/menu-full-screen.component.js +8 -0
  144. package/esm/components/menu/menu-item/menu-item.component.js +35 -0
  145. package/esm/components/menu/menu-segment-title/menu-segment-title.component.js +1 -0
  146. package/esm/components/menu/menu.component.js +8 -0
  147. package/esm/components/menu/menu.context.js +3 -1
  148. package/esm/components/menu/scrollable-block/scrollable-block.component.js +9 -0
  149. package/esm/components/message/message-content/message-content.component.js +2 -0
  150. package/esm/components/message/message.component.js +5 -0
  151. package/esm/components/message/type-icon/type-icon.component.js +2 -0
  152. package/esm/components/modal/__internal__/modal-manager.js +24 -0
  153. package/esm/components/modal/modal.component.js +6 -0
  154. package/esm/components/multi-action-button/multi-action-button.component.js +20 -3
  155. package/esm/components/navigation-bar/navigation-bar.component.js +3 -0
  156. package/esm/components/note/note.component.js +10 -1
  157. package/esm/components/number/number.component.js +9 -2
  158. package/esm/components/numeral-date/numeral-date.component.js +22 -9
  159. package/esm/components/pager/__internal__/pager-navigation-link.component.js +11 -0
  160. package/esm/components/pager/__internal__/pager-navigation.component.js +22 -0
  161. package/esm/components/pager/pager.component.js +29 -0
  162. package/esm/components/pages/page/page.component.js +3 -0
  163. package/esm/components/pages/pages.component.js +14 -4
  164. package/esm/components/pill/pill.component.js +3 -0
  165. package/esm/components/pill/pill.style.js +4 -0
  166. package/esm/components/pod/pod.component.js +40 -4
  167. package/esm/components/pod/pod.style.js +8 -6
  168. package/esm/components/popover-container/popover-container.component.js +14 -2
  169. package/esm/components/popover-container/popover-container.style.js +3 -0
  170. package/esm/components/portal/portal.js +14 -2
  171. package/esm/components/portrait/portrait-gravatar.component.js +4 -0
  172. package/esm/components/portrait/portrait-initials.component.js +12 -10
  173. package/esm/components/portrait/portrait.component.js +10 -0
  174. package/esm/components/portrait/portrait.style.js +10 -3
  175. package/esm/components/preview/__internal__/preview-placeholder.component.js +3 -0
  176. package/esm/components/preview/preview.component.js +7 -0
  177. package/esm/components/preview/preview.style.js +1 -2
  178. package/esm/components/profile/profile.component.js +8 -0
  179. package/esm/components/progress-tracker/progress-tracker.component.js +24 -2
  180. package/esm/components/progress-tracker/progress-tracker.style.js +5 -0
  181. package/esm/components/radio-button/radio-button-group.component.js +27 -2
  182. package/esm/components/radio-button/radio-button-svg.component.js +2 -0
  183. package/esm/components/radio-button/radio-button.component.js +32 -6
  184. package/esm/components/search/search.component.js +21 -2
  185. package/esm/components/select/__internal__/select-text/select-text.component.js +13 -0
  186. package/esm/components/select/filterable-select/filterable-select.component.js +73 -8
  187. package/esm/components/select/list-action-button/list-action-button.component.js +4 -0
  188. package/esm/components/select/multi-select/multi-select.component.js +81 -15
  189. package/esm/components/select/option/option.component.js +12 -0
  190. package/esm/components/select/option-group-header/option-group-header.component.js +3 -0
  191. package/esm/components/select/option-row/option-row.component.js +9 -0
  192. package/esm/components/select/select-list/select-list.component.js +45 -2
  193. package/esm/components/select/select-list/select-list.style.js +1 -2
  194. package/esm/components/select/select-list/update-list-scroll.js +3 -0
  195. package/esm/components/select/select-textbox/select-textbox.component.js +41 -2
  196. package/esm/components/select/simple-select/simple-select.component.js +60 -2
  197. package/esm/components/select/utils/get-next-child-by-text.js +8 -0
  198. package/esm/components/select/utils/get-next-index-by-key.js +13 -0
  199. package/esm/components/select/utils/highlight-part-of-text.js +7 -0
  200. package/esm/components/select/utils/is-expected-option.js +4 -0
  201. package/esm/components/select/utils/is-expected-value.js +1 -0
  202. package/esm/components/select/utils/with-filter.hoc.js +29 -3
  203. package/esm/components/settings-row/settings-row.component.js +10 -2
  204. package/esm/components/show-edit-pod/show-edit-pod.component.js +43 -6
  205. package/esm/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +2 -0
  206. package/esm/components/sidebar/sidebar.component.js +4 -3
  207. package/esm/components/simple-color-picker/color-sample-box/color-sample-box.component.js +5 -1
  208. package/esm/components/simple-color-picker/simple-color/simple-color.component.js +7 -0
  209. package/esm/components/simple-color-picker/simple-color-picker.component.js +41 -8
  210. package/esm/components/simple-color-picker/simple-color-picker.style.js +2 -0
  211. package/esm/components/simple-color-picker/tick-icon/tick-icon.style.js +6 -4
  212. package/esm/components/split-button/split-button.component.js +20 -1
  213. package/esm/components/step-sequence/step-sequence-item/step-sequence-item.component.js +9 -0
  214. package/esm/components/step-sequence/step-sequence.component.js +3 -0
  215. package/esm/components/switch/__internal__/switch-slider.component.js +2 -0
  216. package/esm/components/switch/switch.component.js +7 -0
  217. package/esm/components/tabs/__internal__/tab-title/tab-title.component.js +19 -8
  218. package/esm/components/tabs/__internal__/tabs-header/tabs-header.component.js +2 -0
  219. package/esm/components/tabs/__internal__/tabs-header/tabs-header.style.js +3 -0
  220. package/esm/components/tabs/tab/tab.component.js +24 -8
  221. package/esm/components/tabs/tabs.component.js +54 -24
  222. package/esm/components/text-editor/__internal__/decorators/link-decorator.js +10 -10
  223. package/esm/components/text-editor/__internal__/editor-counter/editor-counter.component.js +6 -0
  224. package/esm/components/text-editor/__internal__/editor-link/editor-link.component.js +7 -2
  225. package/esm/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +3 -0
  226. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +6 -0
  227. package/esm/components/text-editor/__internal__/toolbar/toolbar.component.js +10 -0
  228. package/esm/components/text-editor/__internal__/utils/utils.js +21 -9
  229. package/esm/components/text-editor/text-editor.component.js +53 -22
  230. package/esm/components/textarea/textarea.component.js +50 -6
  231. package/esm/components/textbox/textbox.component.js +9 -2
  232. package/esm/components/tile/tile-footer/tile-footer.component.js +5 -2
  233. package/esm/components/tile/tile.component.js +10 -0
  234. package/esm/components/tile-select/__internal__/accordion/accordion.component.js +2 -0
  235. package/esm/components/tile-select/tile-select-group.component.js +16 -2
  236. package/esm/components/tile-select/tile-select.component.js +33 -4
  237. package/esm/components/toast/toast.component.js +18 -0
  238. package/esm/components/tooltip/tooltip-pointer.style.js +2 -0
  239. package/esm/components/tooltip/tooltip.component.js +3 -0
  240. package/esm/components/tooltip/tooltip.style.js +6 -0
  241. package/esm/components/typography/list.component.js +7 -0
  242. package/esm/components/typography/typography.component.js +28 -0
  243. package/esm/components/vertical-divider/vertical-divider.component.js +3 -0
  244. package/esm/hooks/__internal__/useCharacterCount/useCharacterCount.js +4 -0
  245. package/esm/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +2 -3
  246. package/esm/hooks/__internal__/useFloating/useFloating.js +6 -0
  247. package/esm/hooks/__internal__/useIsStickyFooterForm/useIsStickyFooterForm.js +1 -0
  248. package/esm/hooks/__internal__/useMenuKeyboardNavigation/useMenuKeyboardNavigation.js +16 -2
  249. package/esm/hooks/__internal__/useModalManager/useModalManager.js +4 -0
  250. package/esm/hooks/__internal__/useResizeObserver/useResizeObserver.js +8 -3
  251. package/esm/hooks/__internal__/useScrollBlock/scroll-block-manager.js +16 -6
  252. package/esm/hooks/__internal__/useScrollBlock/useScrollBlock.js +15 -11
  253. package/esm/hooks/useMediaQuery/useMediaQuery.js +2 -0
  254. package/esm/locales/en-gb.js +8 -1
  255. package/esm/locales/pl-pl.js +8 -1
  256. package/esm/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +0 -1
  257. package/esm/style/design-tokens/debug-theme.util.js +9 -5
  258. package/esm/style/design-tokens/generate-css-variables.util.js +0 -1
  259. package/esm/style/palette/index.js +6 -2
  260. package/esm/style/themes/aegean/aegean-theme.config.js +3 -0
  261. package/esm/style/themes/base/base-theme.config.js +4 -2
  262. package/esm/style/themes/base/index.js +2 -4
  263. package/esm/style/themes/mint/mint-theme.config.js +3 -0
  264. package/esm/style/themes/sage/index.js +2 -4
  265. package/esm/style/themes/test-utils.js +4 -4
  266. package/esm/style/utils/add-hex-symbols.js +1 -0
  267. package/esm/style/utils/at-opacity.js +1 -0
  268. package/esm/style/utils/color.js +8 -3
  269. package/esm/style/utils/filter-out-styled-system-spacing-props.js +2 -0
  270. package/esm/style/utils/filter-styled-system-padding-props.js +1 -2
  271. package/esm/style/utils/form-style-utils.js +12 -0
  272. package/esm/style/utils/get-color-value.js +1 -0
  273. package/esm/style/utils/get-rgb-values.js +1 -1
  274. package/esm/style/utils/merge-deep.js +6 -1
  275. package/esm/style/utils/mix.js +7 -1
  276. package/esm/style/utils/width.js +0 -1
  277. package/lib/__internal__/DeprecationWarning.js +5 -0
  278. package/lib/__internal__/character-count/character-count.component.js +6 -0
  279. package/lib/__internal__/character-count/character-count.style.js +6 -0
  280. package/lib/__internal__/character-count/index.js +2 -0
  281. package/lib/__internal__/checkable-input/checkable-input-svg-wrapper.style.js +3 -0
  282. package/lib/__internal__/checkable-input/checkable-input.component.js +16 -0
  283. package/lib/__internal__/checkable-input/checkable-input.style.js +11 -0
  284. package/lib/__internal__/checkable-input/hidden-checkable-input.component.js +20 -0
  285. package/lib/__internal__/checkable-input/hidden-checkable-input.style.js +3 -0
  286. package/lib/__internal__/checkable-input/index.js +2 -0
  287. package/lib/__internal__/field-help/field-help.component.js +6 -0
  288. package/lib/__internal__/field-help/field-help.style.js +4 -0
  289. package/lib/__internal__/field-help/index.js +2 -0
  290. package/lib/__internal__/fieldset/fieldset.component.js +9 -0
  291. package/lib/__internal__/fieldset/fieldset.style.js +7 -0
  292. package/lib/__internal__/fieldset/index.js +2 -0
  293. package/lib/__internal__/filter-object-properties/filter-object-properties.js +1 -0
  294. package/lib/__internal__/filter-object-properties/index.js +2 -0
  295. package/lib/__internal__/focus-trap/focus-trap-utils.js +26 -6
  296. package/lib/__internal__/focus-trap/focus-trap.component.js +26 -4
  297. package/lib/__internal__/focus-trap/index.js +2 -0
  298. package/lib/__internal__/form-field/form-field.component.js +18 -0
  299. package/lib/__internal__/form-field/form-field.style.js +6 -0
  300. package/lib/__internal__/form-field/index.js +2 -0
  301. package/lib/__internal__/full-screen-heading/full-screen-heading.component.js +10 -0
  302. package/lib/__internal__/full-screen-heading/full-screen-heading.style.js +5 -0
  303. package/lib/__internal__/full-screen-heading/index.js +2 -0
  304. package/lib/__internal__/i18n-context/index.js +5 -0
  305. package/lib/__internal__/input/index.js +4 -0
  306. package/lib/__internal__/input/input-presentation.component.js +13 -0
  307. package/lib/__internal__/input/input-presentation.style.js +12 -0
  308. package/lib/__internal__/input/input.component.js +33 -2
  309. package/lib/__internal__/input/input.style.js +4 -0
  310. package/lib/__internal__/input-behaviour/index.js +2 -0
  311. package/lib/__internal__/input-behaviour/input-behaviour.component.js +12 -2
  312. package/lib/__internal__/input-behaviour/input-group-behaviour.component.js +8 -0
  313. package/lib/__internal__/input-behaviour/useInputBehaviour.js +5 -2
  314. package/lib/__internal__/input-icon-toggle/index.js +2 -0
  315. package/lib/__internal__/input-icon-toggle/input-icon-toggle.component.js +11 -0
  316. package/lib/__internal__/input-icon-toggle/input-icon-toggle.style.js +7 -0
  317. package/lib/__internal__/label/icon-wrapper.style.js +5 -0
  318. package/lib/__internal__/label/index.js +2 -0
  319. package/lib/__internal__/label/label.component.js +22 -0
  320. package/lib/__internal__/label/label.style.js +4 -0
  321. package/lib/__internal__/popover/index.js +2 -0
  322. package/lib/__internal__/popover/popover.component.js +24 -0
  323. package/lib/__internal__/popover/popover.style.js +4 -0
  324. package/lib/__internal__/radio-button-mapper/index.js +2 -0
  325. package/lib/__internal__/radio-button-mapper/radio-button-mapper.component.js +15 -0
  326. package/lib/__internal__/sticky-footer/index.js +2 -0
  327. package/lib/__internal__/sticky-footer/sticky-footer.component.js +13 -0
  328. package/lib/__internal__/sticky-footer/sticky-footer.style.js +4 -0
  329. package/lib/__internal__/tooltip-provider/index.js +9 -0
  330. package/lib/__internal__/utils/helpers/browser-type-check/index.js +3 -0
  331. package/lib/__internal__/utils/helpers/events/composedPath.js +6 -0
  332. package/lib/__internal__/utils/helpers/events/events.js +18 -0
  333. package/lib/__internal__/utils/helpers/events/index.js +2 -0
  334. package/lib/__internal__/utils/helpers/guid/index.js +3 -0
  335. package/lib/__internal__/utils/helpers/tags/index.js +2 -0
  336. package/lib/__internal__/utils/helpers/tags/tags-specs/index.js +1 -0
  337. package/lib/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +5 -2
  338. package/lib/__internal__/utils/helpers/tags/tags.js +5 -0
  339. package/lib/__internal__/utils/helpers/useUniqueId/index.js +5 -0
  340. package/lib/__internal__/utils/logger/index.js +2 -1
  341. package/lib/__internal__/validation-message/index.js +2 -0
  342. package/lib/__internal__/validation-message/validation-message.component.js +6 -0
  343. package/lib/__internal__/validation-message/validation-message.style.js +4 -0
  344. package/lib/__internal__/validations/index.js +2 -0
  345. package/lib/__internal__/validations/validation-icon.component.js +18 -0
  346. package/lib/__internal__/validations/validation-icon.style.js +8 -0
  347. package/lib/__spec_helper__/enzyme-snapshot-helper.js +6 -0
  348. package/lib/__spec_helper__/expect.js +8 -2
  349. package/lib/__spec_helper__/index.js +4 -0
  350. package/lib/__spec_helper__/mock-match-media.js +7 -0
  351. package/lib/__spec_helper__/mock-resize-observer.js +3 -0
  352. package/lib/__spec_helper__/test-utils.js +87 -28
  353. package/lib/components/accordion/accordion-group/accordion-group.component.js +20 -0
  354. package/lib/components/accordion/accordion.component.js +19 -0
  355. package/lib/components/accordion/accordion.style.js +9 -0
  356. package/lib/components/accordion/index.js +3 -0
  357. package/lib/components/action-popover/action-popover-context.js +4 -0
  358. package/lib/components/action-popover/action-popover-divider/action-popover-divider.component.js +2 -0
  359. package/lib/components/action-popover/action-popover-item/action-popover-item.component.js +34 -2
  360. package/lib/components/action-popover/action-popover-menu/action-popover-menu.component.js +22 -2
  361. package/lib/components/action-popover/action-popover-menu-button/action-popover-menu-button.component.js +8 -0
  362. package/lib/components/action-popover/action-popover.component.js +35 -4
  363. package/lib/components/action-popover/action-popover.style.js +10 -0
  364. package/lib/components/action-popover/index.js +6 -0
  365. package/lib/components/advanced-color-picker/advanced-color-picker-cell.style.js +4 -0
  366. package/lib/components/advanced-color-picker/advanced-color-picker.component.js +30 -0
  367. package/lib/components/advanced-color-picker/advanced-color-picker.style.js +14 -0
  368. package/lib/components/advanced-color-picker/index.js +2 -0
  369. package/lib/components/alert/alert.component.js +7 -0
  370. package/lib/components/alert/index.js +2 -0
  371. package/lib/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.component.js +6 -0
  372. package/lib/components/anchor-navigation/anchor-navigation-item/anchor-navigation-item.style.js +4 -0
  373. package/lib/components/anchor-navigation/anchor-navigation.component.js +27 -5
  374. package/lib/components/anchor-navigation/anchor-navigation.style.js +3 -0
  375. package/lib/components/anchor-navigation/anchor-section-divider.component.js +3 -0
  376. package/lib/components/anchor-navigation/index.js +4 -0
  377. package/lib/components/badge/badge.component.js +6 -0
  378. package/lib/components/badge/badge.style.js +6 -0
  379. package/lib/components/badge/index.js +2 -0
  380. package/lib/components/batch-selection/batch-selection.component.js +11 -0
  381. package/lib/components/batch-selection/batch-selection.style.js +7 -0
  382. package/lib/components/batch-selection/index.js +2 -0
  383. package/lib/components/box/box.component.js +9 -0
  384. package/lib/components/box/box.config.js +3 -0
  385. package/lib/components/box/index.js +2 -0
  386. package/lib/components/button/button-types.style.js +6 -0
  387. package/lib/components/button/button.component.js +29 -0
  388. package/lib/components/button/button.style.js +16 -0
  389. package/lib/components/button/index.js +3 -0
  390. package/lib/components/button-bar/button-bar.component.js +18 -2
  391. package/lib/components/button-bar/button-bar.style.js +8 -0
  392. package/lib/components/button-bar/index.js +2 -0
  393. package/lib/components/button-toggle/button-toggle-icon.component.js +7 -0
  394. package/lib/components/button-toggle/button-toggle-input.component.js +15 -0
  395. package/lib/components/button-toggle/button-toggle.component.js +17 -0
  396. package/lib/components/button-toggle/button-toggle.style.js +6 -0
  397. package/lib/components/button-toggle/index.js +2 -0
  398. package/lib/components/button-toggle-group/button-toggle-group.component.js +18 -0
  399. package/lib/components/button-toggle-group/button-toggle-group.style.js +7 -0
  400. package/lib/components/button-toggle-group/index.js +2 -0
  401. package/lib/components/carbon-provider/carbon-provider.component.js +12 -0
  402. package/lib/components/carbon-provider/index.js +2 -0
  403. package/lib/components/carbon-provider/top-modal-context.js +13 -3
  404. package/lib/components/card/card-column/card-column.component.js +6 -0
  405. package/lib/components/card/card-column/card-column.style.js +3 -0
  406. package/lib/components/card/card-column/index.js +2 -0
  407. package/lib/components/card/card-footer/card-footer.component.js +8 -0
  408. package/lib/components/card/card-footer/card-footer.style.js +7 -0
  409. package/lib/components/card/card-footer/index.js +2 -0
  410. package/lib/components/card/card-row/card-row.component.js +8 -0
  411. package/lib/components/card/card-row/card-row.style.js +7 -0
  412. package/lib/components/card/card-row/index.js +2 -0
  413. package/lib/components/card/card.component.js +19 -0
  414. package/lib/components/card/card.style.js +7 -0
  415. package/lib/components/card/index.js +5 -0
  416. package/lib/components/carousel/carousel.component.js +24 -0
  417. package/lib/components/carousel/carousel.style.js +8 -0
  418. package/lib/components/carousel/index.js +3 -0
  419. package/lib/components/carousel/slide/index.js +2 -0
  420. package/lib/components/carousel/slide/slide.component.js +8 -0
  421. package/lib/components/carousel/slide/slide.style.js +5 -2
  422. package/lib/components/carousel/slide.config.js +2 -0
  423. package/lib/components/checkbox/checkbox-group.component.js +13 -0
  424. package/lib/components/checkbox/checkbox-group.style.js +10 -0
  425. package/lib/components/checkbox/checkbox-svg.component.js +6 -0
  426. package/lib/components/checkbox/checkbox.component.js +19 -0
  427. package/lib/components/checkbox/checkbox.style.js +13 -0
  428. package/lib/components/checkbox/index.js +3 -0
  429. package/lib/components/confirm/confirm.component.js +51 -0
  430. package/lib/components/confirm/confirm.style.js +8 -0
  431. package/lib/components/confirm/index.js +2 -0
  432. package/lib/components/content/content.component.js +7 -0
  433. package/lib/components/content/content.style.js +6 -0
  434. package/lib/components/content/index.js +2 -0
  435. package/lib/components/date/__internal__/date-formats/index.js +19 -6
  436. package/lib/components/date/__internal__/date-picker/date-picker.component.js +31 -2
  437. package/lib/components/date/__internal__/date-picker/day-picker.style.js +10 -1
  438. package/lib/components/date/__internal__/date-picker/index.js +2 -0
  439. package/lib/components/date/__internal__/navbar/button.style.js +3 -0
  440. package/lib/components/date/__internal__/navbar/index.js +2 -0
  441. package/lib/components/date/__internal__/navbar/navbar.component.js +8 -0
  442. package/lib/components/date/__internal__/navbar/navbar.style.js +3 -0
  443. package/lib/components/date/__internal__/utils.js +42 -1
  444. package/lib/components/date/__internal__/weekday/abbr.style.js +3 -0
  445. package/lib/components/date/__internal__/weekday/index.js +2 -0
  446. package/lib/components/date/__internal__/weekday/weekday.component.js +8 -0
  447. package/lib/components/date/__internal__/weekday/weekday.style.js +3 -0
  448. package/lib/components/date/date.component.js +71 -10
  449. package/lib/components/date/date.style.js +8 -0
  450. package/lib/components/date/index.js +2 -0
  451. package/lib/components/date-range/date-range.component.js +63 -14
  452. package/lib/components/date-range/date-range.context.js +4 -0
  453. package/lib/components/date-range/date-range.style.js +8 -0
  454. package/lib/components/date-range/index.js +2 -0
  455. package/lib/components/decimal/decimal.component.js +38 -4
  456. package/lib/components/decimal/index.js +2 -0
  457. package/lib/components/definition-list/__internal__/dl.context.js +4 -0
  458. package/lib/components/definition-list/dd.component.js +7 -0
  459. package/lib/components/definition-list/definition-list.style.js +8 -0
  460. package/lib/components/definition-list/dl.component.js +20 -0
  461. package/lib/components/definition-list/dt.component.js +10 -0
  462. package/lib/components/definition-list/index.js +4 -0
  463. package/lib/components/detail/detail.component.js +17 -2
  464. package/lib/components/detail/detail.style.js +8 -0
  465. package/lib/components/detail/index.js +2 -0
  466. package/lib/components/dialog/dialog.component.js +32 -0
  467. package/lib/components/dialog/dialog.style.js +14 -0
  468. package/lib/components/dialog/index.js +2 -0
  469. package/lib/components/dialog-full-screen/content.style.js +5 -0
  470. package/lib/components/dialog-full-screen/dialog-full-screen.component.js +42 -0
  471. package/lib/components/dialog-full-screen/dialog-full-screen.style.js +11 -0
  472. package/lib/components/dialog-full-screen/index.js +2 -0
  473. package/lib/components/dismissible-box/dismissible-box.component.js +9 -0
  474. package/lib/components/dismissible-box/dismissible-box.style.js +7 -0
  475. package/lib/components/dismissible-box/index.js +2 -0
  476. package/lib/components/draggable/draggable-container.component.js +30 -4
  477. package/lib/components/draggable/draggable-item.component.js +19 -2
  478. package/lib/components/draggable/draggable-item.style.js +6 -0
  479. package/lib/components/draggable/index.js +3 -0
  480. package/lib/components/drawer/drawer.component.js +29 -0
  481. package/lib/components/drawer/drawer.style.js +15 -0
  482. package/lib/components/drawer/index.js +3 -0
  483. package/lib/components/duelling-picklist/duelling-picklist.component.js +26 -2
  484. package/lib/components/duelling-picklist/duelling-picklist.context.js +4 -0
  485. package/lib/components/duelling-picklist/duelling-picklist.style.js +6 -0
  486. package/lib/components/duelling-picklist/index.js +7 -0
  487. package/lib/components/duelling-picklist/picklist/picklist.component.js +25 -0
  488. package/lib/components/duelling-picklist/picklist/picklist.style.js +4 -0
  489. package/lib/components/duelling-picklist/picklist-divider/picklist-divider.component.js +6 -0
  490. package/lib/components/duelling-picklist/picklist-divider/picklist-divider.style.js +3 -0
  491. package/lib/components/duelling-picklist/picklist-group/picklist-group.component.js +22 -0
  492. package/lib/components/duelling-picklist/picklist-group/picklist-group.style.js +7 -0
  493. package/lib/components/duelling-picklist/picklist-item/picklist-item.component.js +25 -0
  494. package/lib/components/duelling-picklist/picklist-item/picklist-item.style.js +8 -0
  495. package/lib/components/duelling-picklist/picklist-placeholder/picklist-placeholder.component.js +6 -0
  496. package/lib/components/fieldset/fieldset.component.js +11 -0
  497. package/lib/components/fieldset/fieldset.style.js +9 -0
  498. package/lib/components/fieldset/index.js +2 -0
  499. package/lib/components/flat-table/flat-table-body/flat-table-body.component.js +6 -0
  500. package/lib/components/flat-table/flat-table-body/index.js +2 -0
  501. package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.component.js +23 -0
  502. package/lib/components/flat-table/flat-table-body-draggable/flat-table-body-draggable.style.js +4 -0
  503. package/lib/components/flat-table/flat-table-body-draggable/index.js +2 -0
  504. package/lib/components/flat-table/flat-table-cell/flat-table-cell.component.js +28 -0
  505. package/lib/components/flat-table/flat-table-cell/flat-table-cell.style.js +8 -0
  506. package/lib/components/flat-table/flat-table-cell/index.js +2 -0
  507. package/lib/components/flat-table/flat-table-checkbox/flat-table-checkbox.component.js +22 -0
  508. package/lib/components/flat-table/flat-table-checkbox/flat-table-checkbox.style.js +6 -0
  509. package/lib/components/flat-table/flat-table-checkbox/index.js +2 -0
  510. package/lib/components/flat-table/flat-table-head/flat-table-head.component.js +15 -4
  511. package/lib/components/flat-table/flat-table-head/flat-table-head.style.js +6 -0
  512. package/lib/components/flat-table/flat-table-head/index.js +2 -0
  513. package/lib/components/flat-table/flat-table-header/flat-table-header-utils.js +5 -1
  514. package/lib/components/flat-table/flat-table-header/flat-table-header.component.js +23 -0
  515. package/lib/components/flat-table/flat-table-header/flat-table-header.style.js +9 -0
  516. package/lib/components/flat-table/flat-table-header/index.js +2 -0
  517. package/lib/components/flat-table/flat-table-row/__internal__/flat-table-row-draggable.component.js +13 -0
  518. package/lib/components/flat-table/flat-table-row/flat-table-row.component.js +50 -0
  519. package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +23 -2
  520. package/lib/components/flat-table/flat-table-row/index.js +2 -0
  521. package/lib/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +25 -0
  522. package/lib/components/flat-table/flat-table-row-header/flat-table-row-header.style.js +8 -0
  523. package/lib/components/flat-table/flat-table-row-header/index.js +2 -0
  524. package/lib/components/flat-table/flat-table.component.js +29 -2
  525. package/lib/components/flat-table/flat-table.style.js +17 -0
  526. package/lib/components/flat-table/index.js +11 -0
  527. package/lib/components/flat-table/sort/index.js +2 -0
  528. package/lib/components/flat-table/sort/sort.component.js +16 -0
  529. package/lib/components/flat-table/sort/sort.style.js +4 -0
  530. package/lib/components/form/__internal__/form-summary.component.js +15 -0
  531. package/lib/components/form/__internal__/form-summary.style.js +7 -0
  532. package/lib/components/form/form.component.js +12 -0
  533. package/lib/components/form/form.style.js +17 -2
  534. package/lib/components/form/index.js +2 -0
  535. package/lib/components/global-header/global-header.component.js +16 -1
  536. package/lib/components/global-header/index.js +2 -0
  537. package/lib/components/grid/grid-container/grid-container.component.js +10 -0
  538. package/lib/components/grid/grid-container/grid-container.style.js +4 -0
  539. package/lib/components/grid/grid-container/index.js +2 -0
  540. package/lib/components/grid/grid-item/grid-item.component.js +10 -0
  541. package/lib/components/grid/grid-item/grid-item.style.js +19 -0
  542. package/lib/components/grid/grid-item/index.js +2 -0
  543. package/lib/components/grid/index.js +3 -0
  544. package/lib/components/grouped-character/grouped-character.component.js +28 -3
  545. package/lib/components/grouped-character/grouped-character.utils.js +4 -0
  546. package/lib/components/grouped-character/index.js +2 -0
  547. package/lib/components/heading/heading.component.js +16 -2
  548. package/lib/components/heading/heading.style.js +13 -0
  549. package/lib/components/heading/index.js +2 -0
  550. package/lib/components/help/help.component.js +20 -0
  551. package/lib/components/help/help.style.js +8 -0
  552. package/lib/components/help/index.js +2 -0
  553. package/lib/components/hr/hr.component.js +10 -0
  554. package/lib/components/hr/hr.style.js +5 -0
  555. package/lib/components/hr/index.js +2 -0
  556. package/lib/components/i18n-provider/i18n-provider.component.js +8 -0
  557. package/lib/components/i18n-provider/index.js +2 -0
  558. package/lib/components/icon/icon-unicodes.js +1 -2
  559. package/lib/components/icon/icon.component.js +27 -1
  560. package/lib/components/icon/icon.style.js +18 -0
  561. package/lib/components/icon/index.js +2 -0
  562. package/lib/components/icon-button/icon-button.component.js +15 -0
  563. package/lib/components/icon-button/icon-button.style.js +8 -0
  564. package/lib/components/icon-button/index.js +2 -0
  565. package/lib/components/image/image.component.js +8 -0
  566. package/lib/components/image/image.style.js +7 -2
  567. package/lib/components/image/index.js +2 -0
  568. package/lib/components/inline-inputs/index.js +3 -0
  569. package/lib/components/inline-inputs/inline-inputs.component.js +17 -0
  570. package/lib/components/inline-inputs/inline-inputs.style.js +8 -0
  571. package/lib/components/link/index.js +2 -0
  572. package/lib/components/link/link.component.js +24 -3
  573. package/lib/components/link/link.style.js +11 -0
  574. package/lib/components/link-preview/__internal__/placeholder.component.js +6 -0
  575. package/lib/components/link-preview/index.js +2 -0
  576. package/lib/components/link-preview/link-preview.component.js +17 -0
  577. package/lib/components/link-preview/link-preview.style.js +6 -0
  578. package/lib/components/loader/index.js +2 -0
  579. package/lib/components/loader/loader-square.style.js +10 -0
  580. package/lib/components/loader/loader.component.js +9 -0
  581. package/lib/components/loader/loader.style.js +5 -0
  582. package/lib/components/loader-bar/index.js +2 -0
  583. package/lib/components/loader-bar/loader-bar.component.js +10 -0
  584. package/lib/components/loader-bar/loader-bar.style.js +10 -0
  585. package/lib/components/menu/__internal__/keyboard-navigation/index.js +11 -0
  586. package/lib/components/menu/__internal__/spec-helper/index.js +7 -0
  587. package/lib/components/menu/__internal__/submenu/submenu.component.js +80 -7
  588. package/lib/components/menu/__internal__/submenu/submenu.context.js +4 -0
  589. package/lib/components/menu/__internal__/submenu/submenu.style.js +12 -0
  590. package/lib/components/menu/index.js +7 -0
  591. package/lib/components/menu/menu-divider/menu-divider.component.js +10 -0
  592. package/lib/components/menu/menu-divider/menu-divider.style.js +6 -0
  593. package/lib/components/menu/menu-full-screen/index.js +2 -0
  594. package/lib/components/menu/menu-full-screen/menu-full-screen.component.js +23 -0
  595. package/lib/components/menu/menu-full-screen/menu-full-screen.style.js +12 -0
  596. package/lib/components/menu/menu-item/index.js +2 -0
  597. package/lib/components/menu/menu-item/menu-item.component.js +52 -0
  598. package/lib/components/menu/menu-item/menu-item.style.js +8 -0
  599. package/lib/components/menu/menu-segment-title/menu-segment-title.component.js +11 -0
  600. package/lib/components/menu/menu-segment-title/menu-segment-title.style.js +6 -0
  601. package/lib/components/menu/menu.component.js +18 -0
  602. package/lib/components/menu/menu.context.js +7 -1
  603. package/lib/components/menu/menu.style.js +9 -0
  604. package/lib/components/menu/scrollable-block/index.js +2 -0
  605. package/lib/components/menu/scrollable-block/scrollable-block.component.js +19 -0
  606. package/lib/components/menu/scrollable-block/scrollable-block.style.js +7 -0
  607. package/lib/components/message/index.js +2 -0
  608. package/lib/components/message/message-content/message-content.component.js +7 -0
  609. package/lib/components/message/message-content/message-content.style.js +3 -0
  610. package/lib/components/message/message.component.js +16 -0
  611. package/lib/components/message/message.style.js +8 -0
  612. package/lib/components/message/type-icon/type-icon.component.js +7 -0
  613. package/lib/components/message/type-icon/type-icon.style.js +4 -0
  614. package/lib/components/modal/__internal__/modal-manager.js +25 -0
  615. package/lib/components/modal/index.js +3 -0
  616. package/lib/components/modal/modal.component.js +19 -0
  617. package/lib/components/modal/modal.style.js +6 -0
  618. package/lib/components/multi-action-button/index.js +2 -0
  619. package/lib/components/multi-action-button/multi-action-button.component.js +32 -3
  620. package/lib/components/multi-action-button/multi-action-button.style.js +9 -0
  621. package/lib/components/navigation-bar/index.js +2 -0
  622. package/lib/components/navigation-bar/navigation-bar.component.js +7 -0
  623. package/lib/components/navigation-bar/navigation-bar.style.js +6 -0
  624. package/lib/components/note/__internal__/status-icon/index.js +2 -0
  625. package/lib/components/note/__internal__/status-icon/status-icon.component.js +7 -0
  626. package/lib/components/note/__internal__/status-icon/status-icon.style.js +3 -0
  627. package/lib/components/note/index.js +2 -0
  628. package/lib/components/note/note.component.js +21 -1
  629. package/lib/components/note/note.style.js +8 -0
  630. package/lib/components/number/index.js +3 -0
  631. package/lib/components/number/number.component.js +14 -2
  632. package/lib/components/numeral-date/index.js +2 -0
  633. package/lib/components/numeral-date/numeral-date-context.js +4 -0
  634. package/lib/components/numeral-date/numeral-date.component.js +42 -9
  635. package/lib/components/numeral-date/numeral-date.style.js +9 -0
  636. package/lib/components/pager/__internal__/pager-navigation-link.component.js +18 -0
  637. package/lib/components/pager/__internal__/pager-navigation.component.js +34 -0
  638. package/lib/components/pager/index.js +2 -0
  639. package/lib/components/pager/pager.component.js +40 -0
  640. package/lib/components/pager/pager.style.js +10 -0
  641. package/lib/components/pages/index.js +3 -0
  642. package/lib/components/pages/page/index.js +2 -0
  643. package/lib/components/pages/page/page.component.js +14 -0
  644. package/lib/components/pages/page/page.style.js +5 -0
  645. package/lib/components/pages/pages.component.js +26 -4
  646. package/lib/components/pages/pages.config.js +2 -0
  647. package/lib/components/pages/pages.style.js +6 -0
  648. package/lib/components/pill/index.js +2 -0
  649. package/lib/components/pill/pill.component.js +10 -0
  650. package/lib/components/pill/pill.style.config.js +2 -0
  651. package/lib/components/pill/pill.style.js +15 -0
  652. package/lib/components/pod/index.js +2 -0
  653. package/lib/components/pod/pod.component.js +53 -4
  654. package/lib/components/pod/pod.style.js +19 -6
  655. package/lib/components/popover-container/index.js +2 -0
  656. package/lib/components/popover-container/popover-container.component.js +27 -2
  657. package/lib/components/popover-container/popover-container.style.js +10 -0
  658. package/lib/components/portal/index.js +2 -0
  659. package/lib/components/portal/portal.js +23 -2
  660. package/lib/components/portrait/index.js +2 -0
  661. package/lib/components/portrait/portrait-gravatar.component.js +10 -0
  662. package/lib/components/portrait/portrait-initials.component.js +20 -10
  663. package/lib/components/portrait/portrait.component.js +21 -0
  664. package/lib/components/portrait/portrait.style.js +19 -3
  665. package/lib/components/preview/__internal__/preview-placeholder.component.js +8 -0
  666. package/lib/components/preview/__internal__/preview-placeholder.style.js +4 -0
  667. package/lib/components/preview/index.js +2 -0
  668. package/lib/components/preview/preview.component.js +13 -0
  669. package/lib/components/preview/preview.style.js +6 -3
  670. package/lib/components/profile/index.js +2 -0
  671. package/lib/components/profile/profile.component.js +14 -0
  672. package/lib/components/profile/profile.style.js +7 -0
  673. package/lib/components/progress-tracker/index.js +2 -0
  674. package/lib/components/progress-tracker/progress-tracker.component.js +35 -2
  675. package/lib/components/progress-tracker/progress-tracker.config.js +1 -0
  676. package/lib/components/progress-tracker/progress-tracker.style.js +14 -0
  677. package/lib/components/radio-button/index.js +6 -0
  678. package/lib/components/radio-button/radio-button-group.component.js +39 -2
  679. package/lib/components/radio-button/radio-button-group.style.js +4 -0
  680. package/lib/components/radio-button/radio-button-svg.component.js +6 -0
  681. package/lib/components/radio-button/radio-button.component.js +48 -6
  682. package/lib/components/radio-button/radio-button.style.js +14 -0
  683. package/lib/components/search/index.js +2 -0
  684. package/lib/components/search/search-button.style.js +6 -0
  685. package/lib/components/search/search.component.js +34 -2
  686. package/lib/components/search/search.style.js +12 -0
  687. package/lib/components/select/__internal__/select-list-context.js +4 -0
  688. package/lib/components/select/__internal__/select-text/select-text.component.js +17 -0
  689. package/lib/components/select/__internal__/select-text/select-text.style.js +6 -0
  690. package/lib/components/select/filterable-select/filterable-select.component.js +91 -8
  691. package/lib/components/select/index.js +7 -0
  692. package/lib/components/select/list-action-button/list-action-button.component.js +12 -0
  693. package/lib/components/select/list-action-button/list-action-button.style.js +4 -0
  694. package/lib/components/select/multi-select/multi-select.component.js +102 -15
  695. package/lib/components/select/multi-select/multi-select.style.js +10 -0
  696. package/lib/components/select/option/option.component.js +21 -0
  697. package/lib/components/select/option/option.style.js +6 -0
  698. package/lib/components/select/option-group-header/option-group-header.component.js +8 -0
  699. package/lib/components/select/option-group-header/option-group-header.style.js +4 -0
  700. package/lib/components/select/option-row/option-row.component.js +18 -0
  701. package/lib/components/select/option-row/option-row.style.js +4 -0
  702. package/lib/components/select/select-list/select-list-container.style.js +4 -0
  703. package/lib/components/select/select-list/select-list.component.js +67 -2
  704. package/lib/components/select/select-list/select-list.style.js +5 -2
  705. package/lib/components/select/select-list/update-list-scroll.js +4 -0
  706. package/lib/components/select/select-textbox/select-textbox.component.js +53 -2
  707. package/lib/components/select/select.style.js +10 -0
  708. package/lib/components/select/simple-select/simple-select.component.js +78 -2
  709. package/lib/components/select/utils/get-next-child-by-text.js +9 -0
  710. package/lib/components/select/utils/get-next-index-by-key.js +14 -0
  711. package/lib/components/select/utils/highlight-part-of-text.js +11 -0
  712. package/lib/components/select/utils/is-expected-option.js +9 -0
  713. package/lib/components/select/utils/is-expected-value.js +2 -0
  714. package/lib/components/select/utils/is-navigation-key.js +1 -0
  715. package/lib/components/select/utils/matching-text.style.js +3 -0
  716. package/lib/components/select/utils/with-filter.hoc.js +43 -3
  717. package/lib/components/settings-row/index.js +2 -0
  718. package/lib/components/settings-row/settings-row.component.js +19 -2
  719. package/lib/components/settings-row/settings-row.style.js +8 -0
  720. package/lib/components/show-edit-pod/index.js +2 -0
  721. package/lib/components/show-edit-pod/show-edit-pod.component.js +58 -6
  722. package/lib/components/show-edit-pod/show-edit-pod.style.js +6 -0
  723. package/lib/components/sidebar/__internal__/sidebar-header/index.js +2 -0
  724. package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +6 -0
  725. package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.style.js +3 -0
  726. package/lib/components/sidebar/index.js +3 -0
  727. package/lib/components/sidebar/sidebar.component.js +26 -0
  728. package/lib/components/sidebar/sidebar.style.js +11 -0
  729. package/lib/components/simple-color-picker/color-sample-box/color-sample-box.component.js +11 -1
  730. package/lib/components/simple-color-picker/color-sample-box/color-sample-box.style.js +7 -0
  731. package/lib/components/simple-color-picker/color-sample-box/index.js +2 -0
  732. package/lib/components/simple-color-picker/index.js +3 -0
  733. package/lib/components/simple-color-picker/simple-color/index.js +2 -0
  734. package/lib/components/simple-color-picker/simple-color/simple-color.component.js +16 -0
  735. package/lib/components/simple-color-picker/simple-color/simple-color.style.js +3 -0
  736. package/lib/components/simple-color-picker/simple-color-input/simple-color-input.style.js +5 -0
  737. package/lib/components/simple-color-picker/simple-color-picker.component.js +59 -8
  738. package/lib/components/simple-color-picker/simple-color-picker.style.js +8 -0
  739. package/lib/components/simple-color-picker/tick-icon/tick-icon.style.js +12 -4
  740. package/lib/components/split-button/index.js +2 -0
  741. package/lib/components/split-button/split-button-children.style.js +7 -0
  742. package/lib/components/split-button/split-button-toggle.style.js +7 -0
  743. package/lib/components/split-button/split-button.component.js +40 -1
  744. package/lib/components/split-button/split-button.style.js +6 -0
  745. package/lib/components/step-sequence/index.js +3 -0
  746. package/lib/components/step-sequence/step-sequence-item/index.js +2 -0
  747. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.component.js +17 -0
  748. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.style.js +6 -0
  749. package/lib/components/step-sequence/step-sequence.component.js +9 -0
  750. package/lib/components/step-sequence/step-sequence.style.js +6 -0
  751. package/lib/components/switch/__internal__/switch-slider-panel.style.js +7 -0
  752. package/lib/components/switch/__internal__/switch-slider.component.js +12 -0
  753. package/lib/components/switch/__internal__/switch-slider.style.js +7 -0
  754. package/lib/components/switch/index.js +2 -0
  755. package/lib/components/switch/switch.component.js +18 -0
  756. package/lib/components/switch/switch.style.js +14 -0
  757. package/lib/components/tabs/__internal__/tab-title/index.js +2 -0
  758. package/lib/components/tabs/__internal__/tab-title/tab-title.component.js +37 -8
  759. package/lib/components/tabs/__internal__/tab-title/tab-title.style.js +8 -0
  760. package/lib/components/tabs/__internal__/tabs-header/index.js +2 -0
  761. package/lib/components/tabs/__internal__/tabs-header/tabs-header.component.js +6 -0
  762. package/lib/components/tabs/__internal__/tabs-header/tabs-header.style.js +8 -0
  763. package/lib/components/tabs/index.js +1 -0
  764. package/lib/components/tabs/tab/index.js +3 -0
  765. package/lib/components/tabs/tab/tab.component.js +35 -8
  766. package/lib/components/tabs/tab/tab.style.js +8 -0
  767. package/lib/components/tabs/tabs.component.js +75 -24
  768. package/lib/components/tabs/tabs.style.js +10 -0
  769. package/lib/components/text-editor/__internal__/decorators/index.js +5 -0
  770. package/lib/components/text-editor/__internal__/decorators/link-decorator.js +12 -10
  771. package/lib/components/text-editor/__internal__/editor-counter/editor-counter.component.js +11 -0
  772. package/lib/components/text-editor/__internal__/editor-counter/editor-counter.style.js +3 -0
  773. package/lib/components/text-editor/__internal__/editor-counter/index.js +2 -0
  774. package/lib/components/text-editor/__internal__/editor-link/editor-link.component.js +14 -2
  775. package/lib/components/text-editor/__internal__/editor-link/editor-link.style.js +4 -0
  776. package/lib/components/text-editor/__internal__/editor-link/index.js +2 -0
  777. package/lib/components/text-editor/__internal__/label-wrapper/index.js +2 -0
  778. package/lib/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +6 -0
  779. package/lib/components/text-editor/__internal__/toolbar/index.js +2 -0
  780. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/index.js +2 -0
  781. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +12 -0
  782. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.js +6 -0
  783. package/lib/components/text-editor/__internal__/toolbar/toolbar.component.js +22 -0
  784. package/lib/components/text-editor/__internal__/toolbar/toolbar.style.js +4 -0
  785. package/lib/components/text-editor/__internal__/utils/index.js +1 -0
  786. package/lib/components/text-editor/__internal__/utils/utils.js +49 -9
  787. package/lib/components/text-editor/index.js +3 -0
  788. package/lib/components/text-editor/text-editor.component.js +76 -22
  789. package/lib/components/text-editor/text-editor.style.js +8 -0
  790. package/lib/components/textarea/index.js +2 -0
  791. package/lib/components/textarea/textarea.component.js +71 -6
  792. package/lib/components/textarea/textarea.style.js +10 -0
  793. package/lib/components/textbox/__internal__/prefix.style.js +3 -0
  794. package/lib/components/textbox/index.js +2 -0
  795. package/lib/components/textbox/textbox.component.js +28 -2
  796. package/lib/components/textbox/textbox.style.js +4 -0
  797. package/lib/components/tile/index.js +2 -0
  798. package/lib/components/tile/tile-footer/index.js +2 -0
  799. package/lib/components/tile/tile-footer/tile-footer.component.js +12 -2
  800. package/lib/components/tile/tile-footer/tile-footer.style.js +6 -0
  801. package/lib/components/tile/tile.component.js +16 -0
  802. package/lib/components/tile/tile.style.js +9 -0
  803. package/lib/components/tile-select/__internal__/accordion/accordion.component.js +9 -0
  804. package/lib/components/tile-select/__internal__/accordion/accordion.style.js +4 -0
  805. package/lib/components/tile-select/__internal__/accordion/index.js +2 -0
  806. package/lib/components/tile-select/index.js +3 -0
  807. package/lib/components/tile-select/tile-select-group.component.js +28 -2
  808. package/lib/components/tile-select/tile-select.component.js +48 -4
  809. package/lib/components/tile-select/tile-select.style.js +11 -0
  810. package/lib/components/toast/index.js +2 -0
  811. package/lib/components/toast/toast.component.js +34 -0
  812. package/lib/components/toast/toast.style.js +12 -0
  813. package/lib/components/tooltip/index.js +2 -0
  814. package/lib/components/tooltip/tooltip-pointer.style.js +8 -0
  815. package/lib/components/tooltip/tooltip.component.js +17 -0
  816. package/lib/components/tooltip/tooltip.style.js +13 -0
  817. package/lib/components/typography/index.js +3 -0
  818. package/lib/components/typography/list.component.js +11 -0
  819. package/lib/components/typography/typography.component.js +36 -0
  820. package/lib/components/vertical-divider/index.js +2 -0
  821. package/lib/components/vertical-divider/vertical-divider.component.js +10 -0
  822. package/lib/components/vertical-divider/vertical-divider.style.js +6 -0
  823. package/lib/hooks/__internal__/useCharacterCount/index.js +2 -0
  824. package/lib/hooks/__internal__/useCharacterCount/useCharacterCount.js +10 -0
  825. package/lib/hooks/__internal__/useClickAwayListener/index.js +2 -0
  826. package/lib/hooks/__internal__/useClickAwayListener/useClickAwayListener.js +4 -0
  827. package/lib/hooks/__internal__/useFloating/index.js +2 -0
  828. package/lib/hooks/__internal__/useFloating/useFloating.js +8 -0
  829. package/lib/hooks/__internal__/useInputAccessibility/index.js +2 -0
  830. package/lib/hooks/__internal__/useInputAccessibility/useInputAccessibility.js +1 -0
  831. package/lib/hooks/__internal__/useIsAboveBreakpoint/index.js +2 -0
  832. package/lib/hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js +3 -0
  833. package/lib/hooks/__internal__/useIsStickyFooterForm/index.js +2 -0
  834. package/lib/hooks/__internal__/useIsStickyFooterForm/useIsStickyFooterForm.js +8 -0
  835. package/lib/hooks/__internal__/useLocale/index.js +2 -0
  836. package/lib/hooks/__internal__/useLocale/useLocale.js +4 -0
  837. package/lib/hooks/__internal__/useMenuKeyboardNavigation/index.js +2 -0
  838. package/lib/hooks/__internal__/useMenuKeyboardNavigation/useMenuKeyboardNavigation.js +23 -2
  839. package/lib/hooks/__internal__/useModalManager/index.js +2 -0
  840. package/lib/hooks/__internal__/useModalManager/useModalManager.js +9 -0
  841. package/lib/hooks/__internal__/usePrevious/index.js +2 -0
  842. package/lib/hooks/__internal__/useResizeObserver/index.js +2 -0
  843. package/lib/hooks/__internal__/useResizeObserver/useResizeObserver.js +10 -3
  844. package/lib/hooks/__internal__/useScrollBlock/index.js +2 -0
  845. package/lib/hooks/__internal__/useScrollBlock/scroll-block-manager.js +17 -6
  846. package/lib/hooks/__internal__/useScrollBlock/useScrollBlock.js +18 -8
  847. package/lib/hooks/useMediaQuery/index.js +2 -0
  848. package/lib/hooks/useMediaQuery/useMediaQuery.js +8 -0
  849. package/lib/locales/date-fns-locales/index.js +2 -0
  850. package/lib/locales/en-gb.js +9 -1
  851. package/lib/locales/index.js +3 -0
  852. package/lib/locales/pl-pl.js +9 -1
  853. package/lib/style/design-tokens/carbon-scoped-tokens-provider/carbon-scoped-tokens-provider.component.js +5 -1
  854. package/lib/style/design-tokens/carbon-scoped-tokens-provider/index.js +2 -0
  855. package/lib/style/design-tokens/debug-theme.util.js +12 -5
  856. package/lib/style/design-tokens/generate-css-variables.util.js +2 -0
  857. package/lib/style/global-style.js +2 -0
  858. package/lib/style/palette/index.js +9 -2
  859. package/lib/style/themes/aegean/aegean-theme.config.js +5 -0
  860. package/lib/style/themes/aegean/index.js +5 -0
  861. package/lib/style/themes/base/base-theme.config.js +9 -2
  862. package/lib/style/themes/base/index.js +12 -4
  863. package/lib/style/themes/index.js +7 -0
  864. package/lib/style/themes/medium/index.js +3 -0
  865. package/lib/style/themes/mint/index.js +5 -0
  866. package/lib/style/themes/mint/mint-theme.config.js +5 -0
  867. package/lib/style/themes/none/index.js +5 -0
  868. package/lib/style/themes/none/none-theme.config.js +2 -0
  869. package/lib/style/themes/sage/index.js +6 -4
  870. package/lib/style/themes/small/index.js +3 -0
  871. package/lib/style/themes/test-utils.js +6 -4
  872. package/lib/style/utils/add-hex-symbols.js +3 -0
  873. package/lib/style/utils/at-opacity.js +3 -0
  874. package/lib/style/utils/color.js +14 -3
  875. package/lib/style/utils/filter-out-position-props.js +4 -0
  876. package/lib/style/utils/filter-out-styled-system-spacing-props.js +4 -0
  877. package/lib/style/utils/filter-styled-system-margin-props.js +4 -0
  878. package/lib/style/utils/filter-styled-system-padding-props.js +5 -2
  879. package/lib/style/utils/form-style-utils.js +18 -0
  880. package/lib/style/utils/get-color-value.js +5 -0
  881. package/lib/style/utils/get-rgb-values.js +2 -1
  882. package/lib/style/utils/index.js +4 -0
  883. package/lib/style/utils/merge-deep.js +7 -1
  884. package/lib/style/utils/mix.js +9 -1
  885. package/lib/style/utils/shade.js +4 -0
  886. package/lib/style/utils/tint.js +4 -0
  887. package/lib/style/utils/width.js +4 -0
  888. package/package.json +1 -1
@@ -4,21 +4,34 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
9
12
  var _toolbar = require("./toolbar.style");
13
+
10
14
  var _toolbarButton = _interopRequireDefault(require("./toolbar-button"));
15
+
11
16
  var _events = _interopRequireDefault(require("../../../../__internal__/utils/helpers/events"));
17
+
12
18
  var _icon = _interopRequireDefault(require("../../../icon"));
19
+
13
20
  var _tooltip = _interopRequireDefault(require("../../../tooltip"));
21
+
14
22
  var _useLocale = _interopRequireDefault(require("../../../../hooks/__internal__/useLocale"));
23
+
15
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
16
26
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
27
+
17
28
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
18
30
  const BOLD = "BOLD";
19
31
  const ITALIC = "ITALIC";
20
32
  const UNORDERED_LIST = "unordered-list-item";
21
33
  const ORDERED_LIST = "ordered-list-item";
34
+
22
35
  const Toolbar = ({
23
36
  activeControls,
24
37
  canFocus,
@@ -52,6 +65,7 @@ const Toolbar = ({
52
65
  } else {
53
66
  handleBlockType(ev, type);
54
67
  }
68
+
55
69
  setFocusIndex(0);
56
70
  setTabbable(true);
57
71
  } else if (_events.default.isLeftKey(ev)) {
@@ -62,6 +76,7 @@ const Toolbar = ({
62
76
  controlRefs[focusIndex - 1].current.focus();
63
77
  setFocusIndex(focusIndex - 1);
64
78
  }
79
+
65
80
  setTabbable(false);
66
81
  } else if (_events.default.isRightKey(ev)) {
67
82
  if (focusIndex === 3) {
@@ -71,6 +86,7 @@ const Toolbar = ({
71
86
  controlRefs[focusIndex + 1].current.focus();
72
87
  setFocusIndex(focusIndex + 1);
73
88
  }
89
+
74
90
  setTabbable(false);
75
91
  }
76
92
  }, [controlRefs, focusIndex, handleBlockType, handleInlineStyleChange]);
@@ -88,6 +104,7 @@ const Toolbar = ({
88
104
  if (!controlRefs[index] || !controlRefs[index].current) {
89
105
  return false;
90
106
  }
107
+
91
108
  return controlRefs[index].current === document.activeElement;
92
109
  }, [controlRefs]);
93
110
  return /*#__PURE__*/_react.default.createElement(_toolbar.StyledToolbar, {
@@ -162,15 +179,20 @@ const Toolbar = ({
162
179
  type: "bullet_list_numbers"
163
180
  })))), toolbarElements && /*#__PURE__*/_react.default.createElement(_toolbar.StyledEditorActionControls, null, toolbarElements));
164
181
  };
182
+
165
183
  Toolbar.propTypes = {
166
184
  /** Used to override the active status of the inline controls */
167
185
  activeControls: _propTypes.default.object.isRequired,
186
+
168
187
  /** Flag to trigger control focusing */
169
188
  canFocus: _propTypes.default.bool,
189
+
170
190
  /** Callback to handle setting the inline styles */
171
191
  setInlineStyle: _propTypes.default.func.isRequired,
192
+
172
193
  /** Callback to handle setting the block styles */
173
194
  setBlockStyle: _propTypes.default.func.isRequired,
195
+
174
196
  /** Additional elements to be rendered in the Toolbar, e.g. Save and Cancel Button */
175
197
  toolbarElements: _propTypes.default.node
176
198
  };
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.StyledEditorStyleControls = exports.StyledEditorActionControls = exports.StyledToolbar = void 0;
7
+
7
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _button = _interopRequireDefault(require("../../../button/button.style"));
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  const StyledToolbar = _styledComponents.default.div`
11
15
  padding: 8px;
12
16
  display: flex;
@@ -87,4 +87,5 @@ Object.defineProperty(exports, "blockStyleFn", {
87
87
  return _utils.blockStyleFn;
88
88
  }
89
89
  });
90
+
90
91
  var _utils = require("./utils");
@@ -9,39 +9,51 @@ exports.hasInlineStyle = hasInlineStyle;
9
9
  exports.isASCIIChar = isASCIIChar;
10
10
  exports.replaceText = replaceText;
11
11
  exports.getSelectedLength = exports.moveSelectionToEnd = exports.getSelectionInfo = exports.getContentInfo = exports.getSelection = exports.getContent = exports.getDecoratedValue = exports.resetBlockType = exports.computeBlockType = void 0;
12
+
12
13
  var _draftJs = require("draft-js");
14
+
13
15
  var _decorators = _interopRequireDefault(require("../decorators"));
16
+
14
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+
15
19
  const ORDERLIST_TYPE = "ordered-list-item";
16
20
  const UNORDERLIST_TYPE = "unordered-list-item";
21
+
17
22
  const computeBlockType = (char, type) => {
18
23
  if (char === "." && type !== ORDERLIST_TYPE) {
19
24
  return ORDERLIST_TYPE;
20
25
  }
26
+
21
27
  if (char === "*" && type !== UNORDERLIST_TYPE) {
22
28
  return UNORDERLIST_TYPE;
23
29
  }
30
+
24
31
  return "unstyled";
25
32
  };
26
-
27
33
  /*
28
34
  Returns default block-level metadata for various block type. Empty object otherwise.
29
35
  */
36
+
37
+
30
38
  exports.computeBlockType = computeBlockType;
39
+
31
40
  const getDefaultBlockData = (blockType, initialData = {}) => {
32
41
  switch (blockType) {
33
42
  case ORDERLIST_TYPE:
34
43
  return {};
44
+
35
45
  case UNORDERLIST_TYPE:
36
46
  return {};
47
+
37
48
  default:
38
49
  return initialData;
39
50
  }
40
51
  };
41
-
42
52
  /*
43
53
  Changes the block type of the current block.
44
54
  */
55
+
56
+
45
57
  const resetBlockType = (value, newType = "unstyled") => {
46
58
  const contentState = value.getCurrentContent();
47
59
  const selectionState = value.getSelection();
@@ -62,41 +74,52 @@ const resetBlockType = (value, newType = "unstyled") => {
62
74
  });
63
75
  return _draftJs.EditorState.push(value, newContentState, "change-block-type");
64
76
  };
77
+
65
78
  exports.resetBlockType = resetBlockType;
79
+
66
80
  function blockStyleFn(block) {
67
81
  switch (block.getType()) {
68
82
  case "unordered-list-item":
69
83
  return "text-editor-block-unordered";
84
+
70
85
  case "ordered-list-item":
71
86
  return "text-editor-block-ordered";
87
+
72
88
  default:
73
89
  return "";
74
90
  }
75
91
  }
76
-
77
92
  /*
78
93
  Return mutated editorState with decorators added
79
94
  */
95
+
96
+
80
97
  const getDecoratedValue = value => _draftJs.EditorState.set(value, {
81
98
  decorator: _decorators.default
82
99
  });
83
-
84
100
  /*
85
101
  Get the current Content State
86
102
  */
103
+
104
+
87
105
  exports.getDecoratedValue = getDecoratedValue;
88
- const getContent = value => value.getCurrentContent();
89
106
 
107
+ const getContent = value => value.getCurrentContent();
90
108
  /*
91
109
  Get the current selection State
92
110
  */
111
+
112
+
93
113
  exports.getContent = getContent;
94
- const getSelection = value => value.getSelection();
95
114
 
115
+ const getSelection = value => value.getSelection();
96
116
  /*
97
117
  Get the current Content and Block information
98
118
  */
119
+
120
+
99
121
  exports.getSelection = getSelection;
122
+
100
123
  const getContentInfo = value => {
101
124
  const content = getContent(value);
102
125
  const currentBlock = content.getBlockForKey(getSelection(value).getStartKey());
@@ -113,11 +136,13 @@ const getContentInfo = value => {
113
136
  blockMap
114
137
  };
115
138
  };
116
-
117
139
  /*
118
140
  Get the current Selection information
119
141
  */
142
+
143
+
120
144
  exports.getContentInfo = getContentInfo;
145
+
121
146
  const getSelectionInfo = value => {
122
147
  const selection = getSelection(value);
123
148
  const startKey = selection.getStartKey();
@@ -132,20 +157,25 @@ const getSelectionInfo = value => {
132
157
  endOffset
133
158
  };
134
159
  };
135
-
136
160
  /*
137
161
  Move cursor to end of Content
138
162
  */
163
+
164
+
139
165
  exports.getSelectionInfo = getSelectionInfo;
140
- const moveSelectionToEnd = value => _draftJs.EditorState.forceSelection(value, getContent(value).getSelectionAfter());
141
166
 
167
+ const moveSelectionToEnd = value => _draftJs.EditorState.forceSelection(value, getContent(value).getSelectionAfter());
142
168
  /*
143
169
  Returns the current Selection length
144
170
  */
171
+
172
+
145
173
  exports.moveSelectionToEnd = moveSelectionToEnd;
174
+
146
175
  const getSelectedLength = value => {
147
176
  const selection = getSelection(value);
148
177
  let length = 0;
178
+
149
179
  if (!selection.isCollapsed()) {
150
180
  const {
151
181
  startKey,
@@ -159,10 +189,12 @@ const getSelectedLength = value => {
159
189
  } = getContentInfo(value);
160
190
  const startLength = blockLength - startOffset;
161
191
  const keyAfterEnd = content.getKeyAfter(endKey);
192
+
162
193
  if (startKey === endKey) {
163
194
  length += endOffset - startOffset;
164
195
  } else {
165
196
  let currentKey = startKey;
197
+
166
198
  while (currentKey && currentKey !== keyAfterEnd) {
167
199
  if (currentKey === startKey) {
168
200
  length += startLength + 1;
@@ -171,26 +203,34 @@ const getSelectedLength = value => {
171
203
  } else {
172
204
  length += content.getBlockForKey(currentKey).getLength() + 1;
173
205
  }
206
+
174
207
  currentKey = content.getKeyAfter(currentKey);
175
208
  }
176
209
  }
177
210
  }
211
+
178
212
  return length;
179
213
  };
214
+
180
215
  exports.getSelectedLength = getSelectedLength;
216
+
181
217
  function hasBlockStyle(value, type) {
182
218
  const {
183
219
  blockType
184
220
  } = getContentInfo(value);
185
221
  return blockType === type;
186
222
  }
223
+
187
224
  function hasInlineStyle(value, style) {
188
225
  return value.getCurrentInlineStyle().has(style);
189
226
  }
227
+
190
228
  function isASCIIChar(str) {
191
229
  return /^\S+$/.test(str);
192
230
  }
231
+
193
232
  function replaceText(editorState, text, inlineStyle, forceSelection) {
194
233
  const contentState = _draftJs.Modifier.replaceText(editorState.getCurrentContent(), editorState.getSelection(), text, inlineStyle);
234
+
195
235
  return _draftJs.EditorState.push(editorState, contentState, "insert-characters", forceSelection);
196
236
  }
@@ -21,6 +21,9 @@ Object.defineProperty(exports, "ContentState", {
21
21
  return _textEditor.TextEditorContentState;
22
22
  }
23
23
  });
24
+
24
25
  var _textEditor = _interopRequireWildcard(require("./text-editor.component"));
26
+
25
27
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
28
+
26
29
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -4,28 +4,48 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.TextEditorContentState = exports.TextEditorState = exports.EditorContext = void 0;
7
+
7
8
  var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
9
12
  var _propTypes2 = _interopRequireDefault(require("@styled-system/prop-types"));
13
+
10
14
  var _draftJs = require("draft-js");
15
+
11
16
  var _utils = require("./__internal__/utils");
17
+
12
18
  var _textEditor = require("./text-editor.style");
19
+
13
20
  var _editorCounter = _interopRequireDefault(require("./__internal__/editor-counter"));
21
+
14
22
  var _toolbar = _interopRequireDefault(require("./__internal__/toolbar"));
23
+
15
24
  var _label = _interopRequireDefault(require("../../__internal__/label"));
25
+
16
26
  var _events = _interopRequireDefault(require("../../__internal__/utils/helpers/events"));
27
+
17
28
  var _guid = _interopRequireDefault(require("../../__internal__/utils/helpers/guid"));
29
+
18
30
  var _labelWrapper = _interopRequireDefault(require("./__internal__/label-wrapper"));
31
+
19
32
  var _utils2 = require("../../style/utils");
33
+
20
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+
21
36
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
37
+
22
38
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
23
40
  const marginPropTypes = (0, _utils2.filterStyledSystemMarginProps)(_propTypes2.default.space);
24
41
  const NUMBERS = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
25
42
  const INLINE_STYLES = ["BOLD", "ITALIC"];
26
43
  const BLOCK_TYPES = ["unordered-list-item", "ordered-list-item"];
44
+
27
45
  const EditorContext = /*#__PURE__*/_react.default.createContext({});
46
+
28
47
  exports.EditorContext = EditorContext;
48
+
29
49
  const TextEditor = /*#__PURE__*/_react.default.forwardRef(({
30
50
  characterLimit = 3000,
31
51
  labelText,
@@ -51,76 +71,84 @@ const TextEditor = /*#__PURE__*/_react.default.forwardRef(({
51
71
  const moveCursor = (0, _react.useRef)(contentLength > 0);
52
72
  const lastKeyPressed = (0, _react.useRef)();
53
73
  const labelId = (0, _react.useRef)(`text-editor-label-${(0, _guid.default)()}`);
74
+
54
75
  const keyBindingFn = ev => {
55
76
  if (_events.default.isTabKey(ev) && !_events.default.isShiftKey(ev)) {
56
77
  setFocusToolbar(true);
57
78
  }
79
+
58
80
  return (0, _draftJs.getDefaultKeyBinding)(ev);
59
81
  };
82
+
60
83
  const handleKeyCommand = command => {
61
84
  // bail out if the enter is pressed and limit has been reached
62
85
  if (command.includes("split-block") && contentLength === characterLimit) {
63
86
  return "handled";
64
- }
87
+ } // if the backspace or enter is pressed get block type and text
88
+
65
89
 
66
- // if the backspace or enter is pressed get block type and text
67
90
  if (command.includes("backspace") || command.includes("split-block")) {
68
91
  const {
69
92
  blockType,
70
93
  blockLength
71
- } = (0, _utils.getContentInfo)(value);
94
+ } = (0, _utils.getContentInfo)(value); // if a block control is active and there is no text, deactivate it and reset the block
72
95
 
73
- // if a block control is active and there is no text, deactivate it and reset the block
74
96
  if (BLOCK_TYPES.includes(blockType) && !blockLength) {
75
97
  onChange((0, _utils.resetBlockType)(value, "unstyled"));
76
98
  return true;
77
99
  }
78
100
  }
79
- const style = command.toUpperCase();
80
101
 
81
- // if formatting shortcut used eg. command is "bold" or "italic"
102
+ const style = command.toUpperCase(); // if formatting shortcut used eg. command is "bold" or "italic"
103
+
82
104
  if (INLINE_STYLES.includes(style)) {
83
105
  onChange(_draftJs.RichUtils.handleKeyCommand(value, command));
84
- setActiveInlines({
85
- ...activeInlines,
106
+ setActiveInlines({ ...activeInlines,
86
107
  [style]: !(0, _utils.hasInlineStyle)(value, style)
87
108
  });
88
109
  return true;
89
110
  }
111
+
90
112
  return false;
91
113
  };
114
+
92
115
  const handleBeforeInput = (str, newState) => {
93
116
  // short circuit if exceeds character limit
94
117
  if (contentLength >= characterLimit) {
95
118
  return "handled";
96
119
  }
97
- setActiveInlines({});
98
120
 
99
- // there is a bug in how DraftJS handles the macOS double-space-period feature, this is added to catch this and
121
+ setActiveInlines({}); // there is a bug in how DraftJS handles the macOS double-space-period feature, this is added to catch this and
100
122
  // prevent the editor from crashing until a fix can be added to their codebase
123
+
101
124
  if (lastKeyPressed.current === " " && !(0, _utils.isASCIIChar)(str)) {
102
125
  lastKeyPressed.current = null;
103
126
  onChange((0, _utils.replaceText)(newState, " ", newState.getCurrentInlineStyle(), true));
104
127
  return "handled";
105
128
  }
129
+
106
130
  if (str === " ") {
107
131
  lastKeyPressed.current = str;
108
132
  return false;
109
133
  }
110
- lastKeyPressed.current = null;
111
- // short circuit if str does not match expected chars
134
+
135
+ lastKeyPressed.current = null; // short circuit if str does not match expected chars
136
+
112
137
  if (![".", "*"].includes(str)) {
113
138
  return false;
114
139
  }
140
+
115
141
  const {
116
142
  blockType,
117
143
  blockLength,
118
144
  blockText
119
145
  } = (0, _utils.getContentInfo)(value);
146
+
120
147
  if (blockLength === 1 && NUMBERS.includes(blockText) && str === "." || blockLength === 0 && str === "*") {
121
148
  const newBlockType = (0, _utils.computeBlockType)(str, blockType);
122
149
  const hasNumberList = (0, _utils.hasBlockStyle)(value, BLOCK_TYPES[0]);
123
150
  const hasBulletList = (0, _utils.hasBlockStyle)(value, BLOCK_TYPES[1]);
151
+
124
152
  if (BLOCK_TYPES.includes(newBlockType) && !hasNumberList && !hasBulletList) {
125
153
  onChange((0, _utils.resetBlockType)(value, newBlockType));
126
154
  setActiveInlines({
@@ -130,32 +158,39 @@ const TextEditor = /*#__PURE__*/_react.default.forwardRef(({
130
158
  return true;
131
159
  }
132
160
  }
161
+
133
162
  onChange(value);
134
163
  return false;
135
164
  };
165
+
136
166
  const handlePastedText = pastedText => {
137
167
  const selectedTextLength = (0, _utils.getSelectedLength)(value);
138
- const newLength = contentLength + (pastedText === null || pastedText === void 0 ? void 0 : pastedText.length) - selectedTextLength;
139
- // if the pastedText will exceed the limit trim the excess
168
+ const newLength = contentLength + (pastedText === null || pastedText === void 0 ? void 0 : pastedText.length) - selectedTextLength; // if the pastedText will exceed the limit trim the excess
169
+
140
170
  if (newLength > characterLimit) {
141
171
  const newContentState = _draftJs.Modifier.insertText((0, _utils.getContent)(value), value.getSelection(), pastedText.substring(0, characterLimit - contentLength));
172
+
142
173
  const newState = _draftJs.EditorState.push(value, newContentState, "insert-fragment");
174
+
143
175
  onChange(newState);
144
176
  return "handled";
145
177
  }
178
+
146
179
  setActiveInlines({});
147
180
  return "not-handled";
148
181
  };
182
+
149
183
  const getEditorState = () => {
150
- let editorState = (0, _utils.getDecoratedValue)(value);
184
+ let editorState = (0, _utils.getDecoratedValue)(value); // should the cursor position be forced to the end of the content
151
185
 
152
- // should the cursor position be forced to the end of the content
153
186
  if (contentLength > 0 && moveCursor.current && isFocused) {
154
187
  editorState = (0, _utils.moveSelectionToEnd)(editorState);
155
188
  moveCursor.current = false;
156
189
  }
190
+
157
191
  return editorState;
158
192
  };
193
+
159
194
  const editorState = getEditorState();
160
195
  const activeControls = {
161
196
  BOLD: activeInlines.BOLD !== undefined ? activeInlines.BOLD : (0, _utils.hasInlineStyle)(editorState, INLINE_STYLES[0]),
@@ -166,20 +201,22 @@ const TextEditor = /*#__PURE__*/_react.default.forwardRef(({
166
201
  const handleEditorFocus = (0, _react.useCallback)(focusValue => {
167
202
  moveCursor.current = true;
168
203
  setIsFocused(focusValue);
204
+
169
205
  if (!isFocused && focusValue && editor.current !== document.activeElement) {
170
206
  editor.current.focus();
171
207
  setFocusToolbar(false);
172
208
  }
173
209
  }, [editor, isFocused]);
210
+
174
211
  const handleInlineStyleChange = (ev, style) => {
175
212
  ev.preventDefault();
176
- setActiveInlines({
177
- ...activeInlines,
213
+ setActiveInlines({ ...activeInlines,
178
214
  [style]: !(0, _utils.hasInlineStyle)(value, style)
179
215
  });
180
216
  handleEditorFocus(true);
181
217
  setInlines([...inlines, style]);
182
218
  };
219
+
183
220
  const handleBlockStyleChange = (ev, newBlockType) => {
184
221
  ev.preventDefault();
185
222
  handleEditorFocus(true);
@@ -192,27 +229,31 @@ const TextEditor = /*#__PURE__*/_react.default.forwardRef(({
192
229
  });
193
230
  setInlines(temp);
194
231
  };
232
+
195
233
  (0, _react.useEffect)(() => {
196
234
  // apply the inline styling, having it run in as an effect ensures that styles can be added
197
235
  // even when the editor is not focused
198
236
  INLINE_STYLES.forEach(style => {
199
237
  const preserveStyle = activeInlines[style] !== undefined && activeInlines[style] !== (0, _utils.hasInlineStyle)(value, style);
238
+
200
239
  if (preserveStyle && value.getSelection().isCollapsed() || isFocused && inlines.includes(style)) {
201
240
  onChange(_draftJs.RichUtils.toggleInlineStyle(value, style));
202
241
  setInlines(inlines.filter(inline => inline !== style));
203
242
  }
243
+
204
244
  if (preserveStyle && !value.getSelection().isCollapsed()) {
205
- setActiveInlines({
206
- ...activeInlines,
245
+ setActiveInlines({ ...activeInlines,
207
246
  [style]: undefined
208
247
  });
209
248
  }
210
249
  });
211
250
  }, [activeInlines, contentLength, editorState, inlines, isFocused, onChange, value]);
251
+
212
252
  const handlePreviewClose = (onClose, url) => {
213
253
  onClose(url);
214
254
  editor.current.focus();
215
255
  };
256
+
216
257
  return /*#__PURE__*/_react.default.createElement(EditorContext.Provider, {
217
258
  value: {
218
259
  onLinkAdded,
@@ -268,35 +309,48 @@ const TextEditor = /*#__PURE__*/_react.default.forwardRef(({
268
309
  toolbarElements: toolbarElements
269
310
  })))));
270
311
  });
271
- TextEditor.propTypes = {
272
- ...marginPropTypes,
312
+
313
+ TextEditor.propTypes = { ...marginPropTypes,
314
+
273
315
  /** The maximum characters that the input will accept */
274
316
  characterLimit: _propTypes.default.number,
317
+
275
318
  /** The text for the editor's label */
276
319
  labelText: _propTypes.default.string.isRequired,
320
+
277
321
  /** onChange callback to control value updates */
278
322
  onChange: _propTypes.default.func.isRequired,
323
+
279
324
  /** The value of the input, this is an EditorState immutable object */
280
325
  value: _propTypes.default.object.isRequired,
326
+
281
327
  /** Flag to configure component as mandatory */
282
328
  required: _propTypes.default.bool,
329
+
283
330
  /** Message to be displayed when there is an error */
284
331
  error: _propTypes.default.string,
332
+
285
333
  /** Message to be displayed when there is a warning */
286
334
  warning: _propTypes.default.string,
335
+
287
336
  /** Message to be displayed when there is an info */
288
337
  info: _propTypes.default.string,
338
+
289
339
  /** Additional elements to be rendered in the Editor Toolbar, e.g. Save and Cancel Button */
290
340
  toolbarElements: _propTypes.default.node,
341
+
291
342
  /** Number greater than 2 multiplied by line-height (21px) to override the default min-height of the editor */
292
343
  rows: (props, propName, component) => {
293
344
  if (props[propName] && (typeof props[propName] !== "number" || props[propName] < 2)) {
294
345
  return new Error(`Prop \`${propName}\` must be a number value greater than 2 to override the min-height of the \`${component}\``);
295
346
  }
347
+
296
348
  return null;
297
349
  },
350
+
298
351
  /** The previews to display of any links added to the Editor */
299
352
  previews: _propTypes.default.arrayOf(_propTypes.default.node),
353
+
300
354
  /** Callback to report a url when a link is added */
301
355
  onLinkAdded: _propTypes.default.func
302
356
  };
@@ -4,13 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.StyledEditorOutline = exports.StyledEditorContainer = exports.StyledEditorWrapper = void 0;
7
+
7
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
8
10
  var _styledSystem = require("styled-system");
11
+
9
12
  var _base = _interopRequireDefault(require("../../style/themes/base"));
13
+
10
14
  var _browserTypeCheck = require("../../__internal__/utils/helpers/browser-type-check");
15
+
11
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
12
18
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
19
+
13
20
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
14
22
  const lineHeight = 21;
15
23
  const StyledEditorWrapper = _styledComponents.default.div`
16
24
  ${_styledSystem.margin}
@@ -9,5 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  return _textarea.default;
10
10
  }
11
11
  });
12
+
12
13
  var _textarea = _interopRequireDefault(require("./textarea.component"));
14
+
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }