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,24 +4,43 @@ 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 _invariant = _interopRequireDefault(require("invariant"));
13
+
10
14
  var _utils = require("../../../style/utils");
15
+
11
16
  var _selectTextbox = _interopRequireWildcard(require("../select-textbox/select-textbox.component"));
17
+
12
18
  var _guid = _interopRequireDefault(require("../../../__internal__/utils/helpers/guid"));
19
+
13
20
  var _withFilter = _interopRequireDefault(require("../utils/with-filter.hoc"));
21
+
14
22
  var _selectList = _interopRequireDefault(require("../select-list/select-list.component"));
23
+
15
24
  var _multiSelect = require("./multi-select.style");
25
+
16
26
  var _pill = _interopRequireDefault(require("../../pill"));
27
+
17
28
  var _isExpectedOption = _interopRequireDefault(require("../utils/is-expected-option"));
29
+
18
30
  var _isExpectedValue = _interopRequireDefault(require("../utils/is-expected-value"));
31
+
19
32
  var _isNavigationKey = _interopRequireDefault(require("../utils/is-navigation-key"));
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
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
41
+
24
42
  const FilterableSelectList = (0, _withFilter.default)(_selectList.default);
43
+
25
44
  const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
26
45
  value,
27
46
  defaultValue,
@@ -79,13 +98,13 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
79
98
  if (!isAlreadyOpen && onOpen) {
80
99
  onOpen();
81
100
  }
101
+
82
102
  return true;
83
103
  });
84
104
  }, [onOpen]);
85
105
  const createCustomEvent = (0, _react.useCallback)(newValue => {
86
106
  const customEvent = {
87
- target: {
88
- ...(name && {
107
+ target: { ...(name && {
89
108
  name
90
109
  }),
91
110
  ...(id && {
@@ -96,19 +115,19 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
96
115
  };
97
116
  return customEvent;
98
117
  }, [name, id]);
99
-
100
118
  /* generic value update function which can be used for both controlled and uncontrolled
101
119
  * components, both with and without onChange.
102
120
  * It accepts a function to update the value, which is assumed to be have no side effects and therefore
103
121
  * be safe to run more than once if needed. */
122
+
104
123
  const updateValue = (0, _react.useCallback)(updateFunction => {
105
- const newValue = updateFunction(actualValue);
106
- // only call onChange if an option has been selected or deselected
124
+ const newValue = updateFunction(actualValue); // only call onChange if an option has been selected or deselected
125
+
107
126
  if (onChange && newValue.length !== actualValue.length) {
108
127
  onChange(createCustomEvent(newValue));
109
- }
128
+ } // no need to update selectedValue if the component is controlled: onChange should take care of updating the value
129
+
110
130
 
111
- // no need to update selectedValue if the component is controlled: onChange should take care of updating the value
112
131
  if (!isControlled.current) {
113
132
  setSelectedValue(updateFunction);
114
133
  }
@@ -116,9 +135,11 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
116
135
  const handleTextboxChange = (0, _react.useCallback)(event => {
117
136
  const newValue = event.target.value;
118
137
  const match = findElementWithMatchingText(newValue, children);
138
+
119
139
  if (match) {
120
140
  setHighlightedValue(match.props.value);
121
141
  }
142
+
122
143
  setFilterText(newValue);
123
144
  setTextValue(newValue);
124
145
  setOpen();
@@ -129,6 +150,7 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
129
150
  if (!previousValue.length) {
130
151
  return previousValue;
131
152
  }
153
+
132
154
  const newValue = [...previousValue];
133
155
  newValue.splice(index, 1);
134
156
  return newValue;
@@ -139,20 +161,24 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
139
161
  key
140
162
  } = event;
141
163
  const isDeleteKey = key === "Backspace" || key === "Delete";
164
+
142
165
  if (onKeyDown) {
143
166
  onKeyDown(event);
144
167
  }
168
+
145
169
  if (readOnly) {
146
170
  return;
147
171
  }
172
+
148
173
  if (!event.defaultPrevented && (0, _isNavigationKey.default)(key)) {
149
174
  event.preventDefault();
150
175
  setOpen();
151
176
  }
177
+
152
178
  if (isDeleteKey && (filterText === "" || textValue === "")) {
153
179
  removeSelectedValue(-1);
154
- }
155
- // eslint-disable-next-line react-hooks/exhaustive-deps
180
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
181
+
156
182
  }, [onKeyDown, readOnly, filterText, textValue, setOpen, removeSelectedValue]);
157
183
  const accessibilityLabel = (0, _react.useMemo)(() => {
158
184
  return actualValue && actualValue.length ? _react.default.Children.map(children, child => {
@@ -163,27 +189,35 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
163
189
  }, [children, actualValue]);
164
190
  const handleGlobalClick = (0, _react.useCallback)(event => {
165
191
  isMouseDownReported.current = false;
192
+
166
193
  if (!isOpen) {
167
194
  return;
168
195
  }
196
+
169
197
  const notInContainer = containerRef.current && !containerRef.current.contains(event.target);
170
198
  const notInList = listboxRef.current && !listboxRef.current.contains(event.target);
199
+
171
200
  if (notInContainer && notInList && !isClickTriggeredBySelect.current) {
172
201
  setTextValue("");
173
202
  setFilterText("");
174
203
  setHighlightedValue("");
175
204
  setOpenState(false);
176
205
  }
206
+
177
207
  isClickTriggeredBySelect.current = false;
178
208
  }, [isOpen]);
179
209
  const mapValuesToPills = (0, _react.useMemo)(() => {
180
210
  const canDelete = !disabled && !readOnly;
211
+
181
212
  if (!actualValue.length) {
182
213
  return "";
183
214
  }
215
+
184
216
  return actualValue.map((singleValue, index) => {
185
217
  const matchingOption = _react.default.Children.toArray(children).find(child => (0, _isExpectedOption.default)(child, singleValue));
218
+
186
219
  let pillProps = {};
220
+
187
221
  if (matchingOption) {
188
222
  pillProps = {
189
223
  title: matchingOption.props.text,
@@ -191,6 +225,7 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
191
225
  borderColor: matchingOption.props.borderColor
192
226
  };
193
227
  }
228
+
194
229
  const {
195
230
  title
196
231
  } = pillProps;
@@ -201,20 +236,19 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
201
236
  onDelete: canDelete ? () => removeSelectedValue(index) : undefined,
202
237
  wrapText: wrapPillText
203
238
  }, pillProps), title));
204
- });
205
- // eslint-disable-next-line react-hooks/exhaustive-deps
239
+ }); // eslint-disable-next-line react-hooks/exhaustive-deps
206
240
  }, [children, disabled, readOnly, actualValue]);
207
241
  (0, _react.useEffect)(() => {
208
242
  const modeSwitchedMessage = "Input elements should not switch from uncontrolled to controlled (or vice versa). " + "Decide between using a controlled or uncontrolled input element for the lifetime of the component";
209
243
  const onChangeMissingMessage = "onChange prop required when using a controlled input element";
210
244
  !(isControlled.current === (value !== undefined)) ? process.env.NODE_ENV !== "production" ? (0, _invariant.default)(false, modeSwitchedMessage) : (0, _invariant.default)(false) : void 0;
211
245
  !(!isControlled.current || isControlled.current && onChange) ? process.env.NODE_ENV !== "production" ? (0, _invariant.default)(false, onChangeMissingMessage) : (0, _invariant.default)(false) : void 0;
212
- }, [value, onChange]);
246
+ }, [value, onChange]); // removes placeholder when a value is present
213
247
 
214
- // removes placeholder when a value is present
215
248
  (0, _react.useEffect)(() => {
216
249
  const hasValue = value === null || value === void 0 ? void 0 : value.length;
217
250
  const hasSelectedValue = actualValue === null || actualValue === void 0 ? void 0 : actualValue.length;
251
+
218
252
  if (hasValue || hasSelectedValue) {
219
253
  setPlaceholderOverride(" ");
220
254
  } else {
@@ -233,64 +267,84 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
233
267
  onFilterChange(filterText);
234
268
  }
235
269
  }, [filterText, onFilterChange]);
270
+
236
271
  function handleTextboxClick(event) {
237
272
  isMouseDownReported.current = false;
273
+
238
274
  if (onClick) {
239
275
  onClick(event);
240
276
  }
241
277
  }
278
+
242
279
  function handleDropdownIconClick(event) {
243
280
  isMouseDownReported.current = false;
281
+
244
282
  if (onClick) {
245
283
  onClick(event);
246
284
  }
285
+
247
286
  setOpenState(isAlreadyOpen => {
248
287
  if (isAlreadyOpen) {
249
288
  setFilterText("");
250
289
  return false;
251
290
  }
291
+
252
292
  if (onOpen) {
253
293
  onOpen();
254
294
  }
295
+
255
296
  return true;
256
297
  });
257
298
  }
299
+
258
300
  function handleTextboxBlur(event) {
259
301
  isMouseDownOnInput.current = false;
302
+
260
303
  if (isMouseDownReported.current) {
261
304
  return;
262
305
  }
306
+
263
307
  isInputFocused.current = false;
308
+
264
309
  if (onBlur) {
265
310
  onBlur(event);
266
311
  }
267
312
  }
313
+
268
314
  function handleTextboxMouseDown(event) {
269
315
  isMouseDownReported.current = true;
316
+
270
317
  if (event.target.attributes["data-element"] && event.target.attributes["data-element"].value === "input") {
271
318
  isMouseDownOnInput.current = true;
272
319
  }
273
320
  }
321
+
274
322
  function handleListMouseDown() {
275
323
  isMouseDownReported.current = true;
276
324
  }
325
+
277
326
  function handleTextboxFocus(event) {
278
327
  const triggerFocus = () => onFocus(event);
328
+
279
329
  if (openOnFocus) {
280
330
  setOpenState(isAlreadyOpen => {
281
331
  if (isAlreadyOpen) {
282
332
  return true;
283
333
  }
334
+
284
335
  if (onOpen) {
285
336
  onOpen();
286
337
  }
338
+
287
339
  if (onFocus && !isInputFocused.current) {
288
340
  triggerFocus();
289
341
  isInputFocused.current = true;
290
342
  }
343
+
291
344
  if (isMouseDownReported.current && !isMouseDownOnInput.current) {
292
345
  return false;
293
346
  }
347
+
294
348
  return true;
295
349
  });
296
350
  } else if (onFocus && !isInputFocused.current) {
@@ -298,38 +352,47 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
298
352
  isInputFocused.current = true;
299
353
  }
300
354
  }
355
+
301
356
  const onSelectOption = (0, _react.useCallback)(optionData => {
302
357
  const {
303
358
  value: newValue,
304
359
  selectionType,
305
360
  id: selectedOptionId
306
361
  } = optionData;
362
+
307
363
  if (selectionType === "navigationKey") {
308
364
  setHighlightedValue(newValue);
309
365
  setActiveDescendantId(selectedOptionId);
310
366
  return;
311
367
  }
368
+
312
369
  if (selectionType === "click") {
313
370
  isClickTriggeredBySelect.current = true;
314
371
  }
372
+
315
373
  setTextValue("");
316
374
  const isAlreadySelected = actualValue.findIndex(val => (0, _isExpectedValue.default)(val, newValue)) !== -1;
375
+
317
376
  if (!isAlreadySelected && isControlled.current && onChange) {
318
377
  onChange(createCustomEvent([...actualValue, newValue]));
319
378
  }
379
+
320
380
  textboxRef.focus();
321
381
  isMouseDownReported.current = false;
322
382
  updateValue(previousValue => {
323
383
  if (isAlreadySelected) {
324
384
  return previousValue;
325
385
  }
386
+
326
387
  return [...previousValue, newValue];
327
388
  });
328
389
  }, [createCustomEvent, onChange, textboxRef, actualValue, updateValue]);
390
+
329
391
  function onSelectListClose() {
330
392
  setOpenState(false);
331
393
  setFilterText("");
332
394
  }
395
+
333
396
  function findElementWithMatchingText(textToMatch, list) {
334
397
  return list.find(child => {
335
398
  const {
@@ -338,12 +401,15 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
338
401
  return text && text.toLowerCase().indexOf(textToMatch.toLowerCase()) !== -1;
339
402
  });
340
403
  }
404
+
341
405
  function assignInput(input) {
342
406
  setTextboxRef(input.current);
407
+
343
408
  if (inputRef) {
344
409
  inputRef.current = input.current;
345
410
  }
346
411
  }
412
+
347
413
  function getTextboxProps() {
348
414
  return {
349
415
  id,
@@ -368,6 +434,7 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
368
434
  ...(0, _utils.filterOutStyledSystemSpacingProps)(textboxProps)
369
435
  };
370
436
  }
437
+
371
438
  const selectList = /*#__PURE__*/_react.default.createElement(FilterableSelectList, {
372
439
  ref: listboxRef,
373
440
  id: selectListId.current,
@@ -390,6 +457,7 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
390
457
  multiselectValues: actualValue,
391
458
  isOpen: isOpen
392
459
  }, children);
460
+
393
461
  return /*#__PURE__*/_react.default.createElement(_multiSelect.StyledSelectMultiSelect, _extends({
394
462
  disabled: disabled,
395
463
  readOnly: readOnly,
@@ -414,46 +482,65 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
414
482
  textboxRef: textboxRef
415
483
  }, getTextboxProps()))), selectList);
416
484
  });
417
- MultiSelect.propTypes = {
418
- ..._selectTextbox.formInputPropTypes,
485
+
486
+ MultiSelect.propTypes = { ..._selectTextbox.formInputPropTypes,
487
+
419
488
  /** Identifier used for testing purposes, applied to the root element of the component. */
420
489
  "data-component": _propTypes.default.string,
490
+
421
491
  /** Identifier used for testing purposes, applied to the root element of the component. */
422
492
  "data-element": _propTypes.default.string,
493
+
423
494
  /** Identifier used for testing purposes, applied to the root element of the component. */
424
495
  "data-role": _propTypes.default.string,
496
+
425
497
  /** Boolean to toggle where SelectList is rendered in relation to the Select Input */
426
498
  disablePortal: _propTypes.default.bool,
499
+
427
500
  /** The selected value(s), when the component is operating in controlled mode */
428
501
  value: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.arrayOf(_propTypes.default.object)]),
502
+
429
503
  /** The default selected value(s), when the component is operating in uncontrolled mode */
430
504
  defaultValue: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.arrayOf(_propTypes.default.object)]),
505
+
431
506
  /** Child components (such as Option or OptionRow) for the SelectList */
432
507
  children: _propTypes.default.node.isRequired,
508
+
433
509
  /** A custom callback for when the input text changes */
434
510
  onFilterChange: _propTypes.default.func,
511
+
435
512
  /** A custom callback for when the dropdown menu opens */
436
513
  onOpen: _propTypes.default.func,
514
+
437
515
  /** If true the Component opens on focus */
438
516
  openOnFocus: _propTypes.default.bool,
517
+
439
518
  /** SelectList table header, should consist of multiple th elements.
440
519
  Works only in multiColumn mode */
441
520
  tableHeader: _propTypes.default.node,
521
+
442
522
  /** When true component will work in multi column mode.
443
523
  Children should consist of OptionRow components in this mode */
444
524
  multiColumn: _propTypes.default.bool,
525
+
445
526
  /** A custom message to be displayed when any option does not match the filter text */
446
527
  noResultsMessage: _propTypes.default.string,
528
+
447
529
  /** If true the loader animation is displayed in the option list */
448
530
  isLoading: _propTypes.default.bool,
531
+
449
532
  /** Overrides the default tooltip position */
450
533
  tooltipPosition: _propTypes.default.oneOf(["top", "bottom", "left", "right"]),
534
+
451
535
  /** Maximum list height - defaults to 180 */
452
536
  listMaxHeight: _propTypes.default.number,
537
+
453
538
  /** Placement of the select list in relation to the input element */
454
539
  listPlacement: _propTypes.default.oneOf(["top", "bottom", "right", "left"]),
540
+
455
541
  /** Use the opposite list placement if the set placement does not fit */
456
542
  flipEnabled: _propTypes.default.bool,
543
+
457
544
  /** Wraps the pill text when it would overflow the input width */
458
545
  wrapPillText: _propTypes.default.bool
459
546
  };
@@ -4,15 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.StyledAccessibilityLabelContainer = exports.StyledSelectMultiSelect = exports.StyledSelectPillContainer = void 0;
7
+
7
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _pill = _interopRequireDefault(require("../../pill/pill.style"));
11
+
9
12
  var _themes = require("../../../style/themes");
13
+
10
14
  var _inputIconToggle = _interopRequireDefault(require("../../../__internal__/input-icon-toggle/input-icon-toggle.style"));
15
+
11
16
  var _select = _interopRequireDefault(require("../select.style"));
17
+
12
18
  var _inputPresentation = _interopRequireDefault(require("../../../__internal__/input/input-presentation.style"));
19
+
13
20
  var _input = _interopRequireDefault(require("../../../__internal__/input/input.style"));
21
+
14
22
  var _inputSizes = _interopRequireDefault(require("../../../__internal__/input/input-sizes.style"));
23
+
15
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
16
26
  const StyledSelectPillContainer = _styledComponents.default.div`
17
27
  display: flex;
18
28
  flex-direction: column;
@@ -4,13 +4,21 @@ 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 _option = _interopRequireDefault(require("./option.style"));
13
+
10
14
  var _selectListContext = _interopRequireDefault(require("../__internal__/select-list-context"));
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 Option = /*#__PURE__*/_react.default.forwardRef(({
15
23
  text,
16
24
  children,
@@ -23,9 +31,11 @@ const Option = /*#__PURE__*/_react.default.forwardRef(({
23
31
  }, ref) => {
24
32
  const selectListContext = (0, _react.useContext)(_selectListContext.default);
25
33
  let isSelected = selectListContext.currentOptionsListIndex === index;
34
+
26
35
  if (selectListContext.multiselectValues) {
27
36
  isSelected = selectListContext.multiselectValues.includes(value);
28
37
  }
38
+
29
39
  function handleClick() {
30
40
  if (!onClick) {
31
41
  onSelect({
@@ -44,6 +54,7 @@ const Option = /*#__PURE__*/_react.default.forwardRef(({
44
54
  });
45
55
  }
46
56
  }
57
+
47
58
  return /*#__PURE__*/_react.default.createElement(_option.default, {
48
59
  id: id,
49
60
  ref: ref,
@@ -55,42 +66,52 @@ const Option = /*#__PURE__*/_react.default.forwardRef(({
55
66
  hidden: hidden
56
67
  }, children || text);
57
68
  });
69
+
58
70
  Option.propTypes = {
59
71
  /** The option's visible text, displayed within Textbox of Select, and used for filtering */
60
72
  text: _propTypes.default.string.isRequired,
73
+
61
74
  /** Optional: alternative rendered content, displayed within SelectList of Select (eg: an icon, an image, etc) */
62
75
  children: _propTypes.default.node,
76
+
63
77
  /** The option's invisible internal value */
64
78
  value: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]).isRequired,
79
+
65
80
  /**
66
81
  * @private
67
82
  * @ignore
68
83
  * Component id (prop added by the SelectList component)
69
84
  */
70
85
  id: _propTypes.default.string,
86
+
71
87
  /**
72
88
  * @private
73
89
  * @ignore
74
90
  * Callback to return value when the element is clicked (prop added by the SelectList component) */
75
91
  onClick: _propTypes.default.func,
92
+
76
93
  /**
77
94
  * @private
78
95
  * @ignore
79
96
  * Callback to return value when the element is selected (prop added by the SelectList component) */
80
97
  onSelect: _propTypes.default.func,
98
+
81
99
  /**
82
100
  * @private
83
101
  * @ignore
84
102
  * Position of the element in the list */
85
103
  index: _propTypes.default.number,
104
+
86
105
  /**
87
106
  * @private
88
107
  * @ignore
89
108
  * True when option should be hidden from the view (prop added by the SelectList component) */
90
109
  hidden: _propTypes.default.bool,
110
+
91
111
  /** MultiSelect only - custom Pill border color - provide any color from palette or any valid css color value. */
92
112
  // eslint-disable-next-line react/no-unused-prop-types
93
113
  borderColor: _propTypes.default.string,
114
+
94
115
  /** MultiSelect only - fill Pill background with color */
95
116
  // eslint-disable-next-line react/no-unused-prop-types
96
117
  fill: _propTypes.default.bool
@@ -4,11 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
15
+
11
16
  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; }
17
+
12
18
  const StyledOption = _styledComponents.default.li`
13
19
  cursor: pointer;
14
20
  box-sizing: border-box;
@@ -4,11 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _react = _interopRequireDefault(require("react"));
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
9
12
  var _optionGroupHeader = _interopRequireDefault(require("./option-group-header.style"));
13
+
10
14
  var _icon = _interopRequireDefault(require("../../icon"));
15
+
11
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
12
18
  const OptionGroupHeader = ({
13
19
  label,
14
20
  icon
@@ -17,9 +23,11 @@ const OptionGroupHeader = ({
17
23
  type: icon
18
24
  }), /*#__PURE__*/_react.default.createElement("h4", null, label));
19
25
  };
26
+
20
27
  OptionGroupHeader.propTypes = {
21
28
  /** Heading text */
22
29
  label: _propTypes.default.string.isRequired,
30
+
23
31
  /**
24
32
  * <a href="https://brand.sage.com/d/NdbrveWvNheA/foundations#/icons/icons" target="_blank">List of supported icons</a>
25
33
  *
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _icon = _interopRequireDefault(require("../../icon/icon.style"));
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  const StyledOptionGroupHeader = _styledComponents.default.div`
11
15
  box-sizing: border-box;
12
16
  height: 26px;
@@ -4,13 +4,21 @@ 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 _optionRow = _interopRequireDefault(require("./option-row.style"));
13
+
10
14
  var _selectListContext = _interopRequireDefault(require("../__internal__/select-list-context"));
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 OptionRow = /*#__PURE__*/_react.default.forwardRef(({
15
23
  id,
16
24
  text,
@@ -27,11 +35,14 @@ const OptionRow = /*#__PURE__*/_react.default.forwardRef(({
27
35
  value
28
36
  });
29
37
  };
38
+
30
39
  const selectListContext = (0, _react.useContext)(_selectListContext.default);
31
40
  let isSelected = selectListContext.currentOptionsListIndex === index;
41
+
32
42
  if (selectListContext.multiselectValues) {
33
43
  isSelected = selectListContext.multiselectValues.includes(value);
34
44
  }
45
+
35
46
  return /*#__PURE__*/_react.default.createElement(_optionRow.default, {
36
47
  id: id,
37
48
  ref: ref,
@@ -43,29 +54,36 @@ const OptionRow = /*#__PURE__*/_react.default.forwardRef(({
43
54
  hidden: hidden
44
55
  }, children);
45
56
  });
57
+
46
58
  OptionRow.propTypes = {
47
59
  /** The option's visible text, displayed within Textbox of Select */
48
60
  text: _propTypes.default.string.isRequired,
61
+
49
62
  /** Row content, should consist of multiple `td` elements */
50
63
  children: _propTypes.default.node.isRequired,
64
+
51
65
  /** The option's invisible internal value */
52
66
  value: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]).isRequired,
67
+
53
68
  /**
54
69
  * @private
55
70
  * @ignore
56
71
  * Component id (prop added by the SelectList component)
57
72
  */
58
73
  id: _propTypes.default.string.isRequired,
74
+
59
75
  /**
60
76
  * @private
61
77
  * @ignore
62
78
  * Callback to return value when the element is selected (prop added by the SelectList component) */
63
79
  onSelect: _propTypes.default.func,
80
+
64
81
  /**
65
82
  * @private
66
83
  * @ignore
67
84
  * Position of the element in the list */
68
85
  index: _propTypes.default.number,
86
+
69
87
  /**
70
88
  * @private
71
89
  * @ignore