@simplybusiness/mobius 10.2.0 → 10.3.1

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 (341) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/components/AddressLookup/AddressLookup.js +426 -343
  3. package/dist/cjs/components/AddressLookup/AddressLookup.js.map +4 -4
  4. package/dist/cjs/components/AddressLookup/index.js +426 -343
  5. package/dist/cjs/components/AddressLookup/index.js.map +4 -4
  6. package/dist/cjs/components/Alert/Alert.js +47 -18
  7. package/dist/cjs/components/Alert/Alert.js.map +3 -3
  8. package/dist/cjs/components/Alert/index.js +47 -18
  9. package/dist/cjs/components/Alert/index.js.map +3 -3
  10. package/dist/cjs/components/Box/Box.js +18 -3
  11. package/dist/cjs/components/Box/Box.js.map +3 -3
  12. package/dist/cjs/components/Box/index.js +18 -3
  13. package/dist/cjs/components/Box/index.js.map +3 -3
  14. package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js +18 -3
  15. package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js.map +3 -3
  16. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  17. package/dist/cjs/components/Breadcrumbs/index.js +18 -3
  18. package/dist/cjs/components/Breadcrumbs/index.js.map +3 -3
  19. package/dist/cjs/components/Checkbox/Checkbox.js +370 -287
  20. package/dist/cjs/components/Checkbox/Checkbox.js.map +4 -4
  21. package/dist/cjs/components/Checkbox/CheckboxGroup.js +375 -292
  22. package/dist/cjs/components/Checkbox/CheckboxGroup.js.map +4 -4
  23. package/dist/cjs/components/Checkbox/index.js +382 -299
  24. package/dist/cjs/components/Checkbox/index.js.map +4 -4
  25. package/dist/cjs/components/Combobox/Combobox.js +421 -338
  26. package/dist/cjs/components/Combobox/Combobox.js.map +4 -4
  27. package/dist/cjs/components/Combobox/index.js +421 -338
  28. package/dist/cjs/components/Combobox/index.js.map +4 -4
  29. package/dist/cjs/components/DateField/DateField.js +386 -303
  30. package/dist/cjs/components/DateField/DateField.js.map +4 -4
  31. package/dist/cjs/components/DateField/index.js +386 -303
  32. package/dist/cjs/components/DateField/index.js.map +4 -4
  33. package/dist/cjs/components/ErrorMessage/ErrorMessage.js +363 -280
  34. package/dist/cjs/components/ErrorMessage/ErrorMessage.js.map +4 -4
  35. package/dist/cjs/components/ErrorMessage/index.js +363 -280
  36. package/dist/cjs/components/ErrorMessage/index.js.map +4 -4
  37. package/dist/cjs/components/ExpandableText/ExpandableText.js +360 -277
  38. package/dist/cjs/components/ExpandableText/ExpandableText.js.map +4 -4
  39. package/dist/cjs/components/ExpandableText/index.js +360 -277
  40. package/dist/cjs/components/ExpandableText/index.js.map +4 -4
  41. package/dist/cjs/components/Grid/Grid.js +2 -2
  42. package/dist/cjs/components/Grid/Grid.js.map +2 -2
  43. package/dist/cjs/components/Grid/Item.js +3 -3
  44. package/dist/cjs/components/Grid/Item.js.map +2 -2
  45. package/dist/cjs/components/Grid/index.js +5 -5
  46. package/dist/cjs/components/Grid/index.js.map +2 -2
  47. package/dist/cjs/components/List/List.js +15 -7
  48. package/dist/cjs/components/List/List.js.map +2 -2
  49. package/dist/cjs/components/List/index.js +15 -7
  50. package/dist/cjs/components/List/index.js.map +2 -2
  51. package/dist/cjs/components/Logo/Logo.js.map +2 -2
  52. package/dist/cjs/components/Logo/index.js.map +2 -2
  53. package/dist/cjs/components/MaskedField/MaskedField.js +381 -298
  54. package/dist/cjs/components/MaskedField/MaskedField.js.map +4 -4
  55. package/dist/cjs/components/MaskedField/index.js +381 -298
  56. package/dist/cjs/components/MaskedField/index.js.map +4 -4
  57. package/dist/cjs/components/Modal/Header.js +38 -21
  58. package/dist/cjs/components/Modal/Header.js.map +3 -3
  59. package/dist/cjs/components/Modal/Modal.js +13 -3
  60. package/dist/cjs/components/Modal/Modal.js.map +2 -2
  61. package/dist/cjs/components/Modal/ModalContext.js +4 -1
  62. package/dist/cjs/components/Modal/ModalContext.js.map +2 -2
  63. package/dist/cjs/components/Modal/index.js +63 -39
  64. package/dist/cjs/components/Modal/index.js.map +3 -3
  65. package/dist/cjs/components/Modal/types.js.map +1 -1
  66. package/dist/cjs/components/Modal/useModal.js +6 -3
  67. package/dist/cjs/components/Modal/useModal.js.map +2 -2
  68. package/dist/cjs/components/NumberField/NumberField.js +381 -298
  69. package/dist/cjs/components/NumberField/NumberField.js.map +4 -4
  70. package/dist/cjs/components/NumberField/index.js +381 -298
  71. package/dist/cjs/components/NumberField/index.js.map +4 -4
  72. package/dist/cjs/components/PasswordField/PasswordField.js +381 -298
  73. package/dist/cjs/components/PasswordField/PasswordField.js.map +4 -4
  74. package/dist/cjs/components/PasswordField/ShowHideButton.js +360 -277
  75. package/dist/cjs/components/PasswordField/ShowHideButton.js.map +4 -4
  76. package/dist/cjs/components/PasswordField/index.js +381 -298
  77. package/dist/cjs/components/PasswordField/index.js.map +4 -4
  78. package/dist/cjs/components/Radio/Radio.js +363 -280
  79. package/dist/cjs/components/Radio/Radio.js.map +4 -4
  80. package/dist/cjs/components/Radio/RadioGroup.js +363 -280
  81. package/dist/cjs/components/Radio/RadioGroup.js.map +4 -4
  82. package/dist/cjs/components/Radio/index.js +363 -280
  83. package/dist/cjs/components/Radio/index.js.map +4 -4
  84. package/dist/cjs/components/SVG/SVG.js.map +2 -2
  85. package/dist/cjs/components/SVG/index.js.map +2 -2
  86. package/dist/cjs/components/Segment/Segment.js +2 -2
  87. package/dist/cjs/components/Segment/Segment.js.map +2 -2
  88. package/dist/cjs/components/Segment/index.js +2 -2
  89. package/dist/cjs/components/Segment/index.js.map +2 -2
  90. package/dist/cjs/components/Select/Select.js +363 -280
  91. package/dist/cjs/components/Select/Select.js.map +4 -4
  92. package/dist/cjs/components/Select/index.js +363 -280
  93. package/dist/cjs/components/Select/index.js.map +4 -4
  94. package/dist/cjs/components/Table/HeaderCell.js +2 -2
  95. package/dist/cjs/components/Table/HeaderCell.js.map +2 -2
  96. package/dist/cjs/components/Table/index.js +2 -2
  97. package/dist/cjs/components/Table/index.js.map +2 -2
  98. package/dist/cjs/components/Text/Text.js +12 -8
  99. package/dist/cjs/components/Text/Text.js.map +2 -2
  100. package/dist/cjs/components/Text/index.js +12 -8
  101. package/dist/cjs/components/Text/index.js.map +2 -2
  102. package/dist/cjs/components/TextArea/TextArea.js +363 -280
  103. package/dist/cjs/components/TextArea/TextArea.js.map +4 -4
  104. package/dist/cjs/components/TextArea/index.js +363 -280
  105. package/dist/cjs/components/TextArea/index.js.map +4 -4
  106. package/dist/cjs/components/TextField/TextField.js +381 -298
  107. package/dist/cjs/components/TextField/TextField.js.map +4 -4
  108. package/dist/cjs/components/TextField/index.js +381 -298
  109. package/dist/cjs/components/TextField/index.js.map +4 -4
  110. package/dist/cjs/components/TextOrHTML/TextOrHTML.js +42 -13
  111. package/dist/cjs/components/TextOrHTML/TextOrHTML.js.map +3 -3
  112. package/dist/cjs/components/TextOrHTML/index.js +42 -13
  113. package/dist/cjs/components/TextOrHTML/index.js.map +3 -3
  114. package/dist/cjs/components/index.js +396 -312
  115. package/dist/cjs/components/index.js.map +4 -4
  116. package/dist/cjs/index.js +396 -312
  117. package/dist/cjs/index.js.map +4 -4
  118. package/dist/cjs/meta.json +1063 -578
  119. package/dist/cjs/utils/filterUnsetValues.js +36 -0
  120. package/dist/cjs/utils/filterUnsetValues.js.map +7 -0
  121. package/dist/cjs/utils/index.js +13 -0
  122. package/dist/cjs/utils/index.js.map +3 -3
  123. package/dist/esm/{chunk-NYFCN7EA.js → chunk-6GGDGE7D.js} +4 -4
  124. package/dist/esm/{chunk-OUKMP3DO.js → chunk-7JT4DKQA.js} +2 -2
  125. package/dist/esm/{chunk-SNRPWCHL.js → chunk-A66R42LG.js} +12 -8
  126. package/dist/esm/chunk-A66R42LG.js.map +7 -0
  127. package/dist/esm/chunk-CZWEMAKZ.js +16 -0
  128. package/dist/esm/chunk-CZWEMAKZ.js.map +7 -0
  129. package/dist/esm/{chunk-Q5YY6HPF.js → chunk-DZVBN6ZI.js} +5 -5
  130. package/dist/esm/{chunk-OC6ULO4M.js → chunk-EJLNC5X5.js} +2 -2
  131. package/dist/esm/{chunk-LVZ2T6AY.js → chunk-EZ4S7XVZ.js} +16 -8
  132. package/dist/esm/chunk-EZ4S7XVZ.js.map +7 -0
  133. package/dist/esm/chunk-FIAL4HTE.js +1 -0
  134. package/dist/esm/{chunk-YLL2DKVF.js → chunk-FQ6P6JB5.js} +3 -3
  135. package/dist/esm/chunk-FQ6P6JB5.js.map +7 -0
  136. package/dist/esm/{chunk-OZ2IUZIJ.js → chunk-HP2NRM7T.js} +2 -2
  137. package/dist/esm/chunk-HPUPB75I.js +67 -0
  138. package/dist/esm/chunk-HPUPB75I.js.map +7 -0
  139. package/dist/esm/{chunk-3IMYDZRT.js → chunk-JFDDW3IV.js} +1 -1
  140. package/dist/esm/chunk-JFDDW3IV.js.map +7 -0
  141. package/dist/esm/{chunk-4IB5ROL6.js → chunk-KXLTGNKF.js} +12 -5
  142. package/dist/esm/chunk-KXLTGNKF.js.map +7 -0
  143. package/dist/esm/{chunk-TL4OCKNP.js → chunk-LWRY3VIB.js} +2 -2
  144. package/dist/esm/{chunk-RR4UQSOZ.js → chunk-M7LTJZQU.js} +11 -11
  145. package/dist/esm/chunk-MPB5F6QL.js +53 -0
  146. package/dist/esm/chunk-MPB5F6QL.js.map +7 -0
  147. package/dist/esm/{chunk-N5WGQAHM.js → chunk-NRU3WNV7.js} +4 -4
  148. package/dist/esm/{chunk-DNMS6KEY.js → chunk-PARKMZYZ.js} +4 -4
  149. package/dist/esm/{chunk-DNMS6KEY.js.map → chunk-PARKMZYZ.js.map} +2 -2
  150. package/dist/esm/chunk-Q5MIALGZ.js +15 -0
  151. package/dist/esm/{chunk-ZHX7Z5IU.js.map → chunk-Q5MIALGZ.js.map} +2 -2
  152. package/dist/esm/{chunk-KLXMVFIR.js → chunk-TBKQA5ZF.js} +5 -2
  153. package/dist/esm/{chunk-KLXMVFIR.js.map → chunk-TBKQA5ZF.js.map} +2 -2
  154. package/dist/esm/{chunk-B243ELKZ.js → chunk-TJCUKTFX.js} +10 -4
  155. package/dist/esm/chunk-TJCUKTFX.js.map +7 -0
  156. package/dist/esm/{chunk-P5ZPHAQT.js → chunk-UCNWPF7R.js} +3 -3
  157. package/dist/esm/chunk-UCNWPF7R.js.map +7 -0
  158. package/dist/esm/{chunk-S37ULE57.js → chunk-VASDBM4Z.js} +1 -1
  159. package/dist/esm/{chunk-S37ULE57.js.map → chunk-VASDBM4Z.js.map} +2 -2
  160. package/dist/esm/{chunk-SDGIWQ3R.js → chunk-WP5OEMNG.js} +3 -3
  161. package/dist/esm/{chunk-SDGIWQ3R.js.map → chunk-WP5OEMNG.js.map} +2 -2
  162. package/dist/esm/{chunk-MLN5ELQR.js → chunk-WXRQIMMM.js} +1 -1
  163. package/dist/esm/chunk-WXRQIMMM.js.map +7 -0
  164. package/dist/esm/{chunk-O47IW7HD.js → chunk-YCE2KOB2.js} +5 -5
  165. package/dist/esm/components/Accordion/Accordion.js +7 -6
  166. package/dist/esm/components/Accordion/AccordionLink.js +6 -5
  167. package/dist/esm/components/Accordion/AccordionList.js +8 -7
  168. package/dist/esm/components/Accordion/index.js +8 -7
  169. package/dist/esm/components/AddressLookup/AddressLookup.js +41 -40
  170. package/dist/esm/components/AddressLookup/__mocks__/LoqateAddressLookupService.js +2 -1
  171. package/dist/esm/components/AddressLookup/__mocks__/LoqateAddressLookupService.js.map +1 -1
  172. package/dist/esm/components/AddressLookup/index.js +41 -40
  173. package/dist/esm/components/Alert/Alert.js +4 -4
  174. package/dist/esm/components/Alert/index.js +4 -4
  175. package/dist/esm/components/Box/Box.js +3 -2
  176. package/dist/esm/components/Box/index.js +3 -2
  177. package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js +4 -3
  178. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
  179. package/dist/esm/components/Breadcrumbs/index.js +7 -6
  180. package/dist/esm/components/Checkbox/Checkbox.js +41 -40
  181. package/dist/esm/components/Checkbox/CheckboxGroup.js +41 -40
  182. package/dist/esm/components/Checkbox/index.js +41 -40
  183. package/dist/esm/components/Combobox/Combobox.js +41 -40
  184. package/dist/esm/components/Combobox/index.js +41 -40
  185. package/dist/esm/components/Container/Container.js +2 -1
  186. package/dist/esm/components/Container/index.js +2 -1
  187. package/dist/esm/components/DateField/DateField.js +41 -40
  188. package/dist/esm/components/DateField/index.js +41 -40
  189. package/dist/esm/components/Drawer/Drawer.js +4 -3
  190. package/dist/esm/components/Drawer/index.js +4 -3
  191. package/dist/esm/components/ErrorMessage/ErrorMessage.js +41 -40
  192. package/dist/esm/components/ErrorMessage/index.js +41 -40
  193. package/dist/esm/components/ExpandableText/ExpandableText.js +41 -40
  194. package/dist/esm/components/ExpandableText/index.js +41 -40
  195. package/dist/esm/components/Fieldset/Fieldset.js +2 -1
  196. package/dist/esm/components/Fieldset/index.js +2 -1
  197. package/dist/esm/components/Flex/Flex.js +2 -1
  198. package/dist/esm/components/Flex/index.js +2 -1
  199. package/dist/esm/components/Flex/propUtils.js +2 -1
  200. package/dist/esm/components/Grid/Grid.js +3 -2
  201. package/dist/esm/components/Grid/Item.js +5 -4
  202. package/dist/esm/components/Grid/index.js +7 -6
  203. package/dist/esm/components/List/List.js +1 -1
  204. package/dist/esm/components/List/index.js +1 -1
  205. package/dist/esm/components/Logo/Logo.js +1 -1
  206. package/dist/esm/components/Logo/index.js +1 -1
  207. package/dist/esm/components/MaskedField/MaskedField.js +41 -40
  208. package/dist/esm/components/MaskedField/MaskedField.js.map +1 -1
  209. package/dist/esm/components/MaskedField/index.js +41 -40
  210. package/dist/esm/components/Modal/Header.js +3 -3
  211. package/dist/esm/components/Modal/Modal.js +6 -5
  212. package/dist/esm/components/Modal/ModalContext.js +1 -1
  213. package/dist/esm/components/Modal/index.js +10 -9
  214. package/dist/esm/components/Modal/useModal.js +2 -2
  215. package/dist/esm/components/NumberField/NumberField.js +41 -40
  216. package/dist/esm/components/NumberField/index.js +41 -40
  217. package/dist/esm/components/PasswordField/PasswordField.js +41 -40
  218. package/dist/esm/components/PasswordField/ShowHideButton.js +41 -40
  219. package/dist/esm/components/PasswordField/index.js +41 -40
  220. package/dist/esm/components/Radio/Radio.js +41 -40
  221. package/dist/esm/components/Radio/RadioGroup.js +41 -40
  222. package/dist/esm/components/Radio/index.js +41 -40
  223. package/dist/esm/components/SVG/SVG.js +1 -1
  224. package/dist/esm/components/SVG/index.js +1 -1
  225. package/dist/esm/components/Segment/Segment.js +1 -1
  226. package/dist/esm/components/Segment/index.js +1 -1
  227. package/dist/esm/components/Select/Select.js +41 -40
  228. package/dist/esm/components/Select/index.js +41 -40
  229. package/dist/esm/components/Slider/Slider.js +4 -3
  230. package/dist/esm/components/Slider/index.js +4 -3
  231. package/dist/esm/components/Table/HeaderCell.js +1 -1
  232. package/dist/esm/components/Table/index.js +2 -2
  233. package/dist/esm/components/Text/Text.js +5 -3
  234. package/dist/esm/components/Text/index.js +5 -3
  235. package/dist/esm/components/TextArea/TextArea.js +41 -40
  236. package/dist/esm/components/TextArea/index.js +41 -40
  237. package/dist/esm/components/TextField/TextField.js +41 -40
  238. package/dist/esm/components/TextField/index.js +41 -40
  239. package/dist/esm/components/TextOrHTML/TextOrHTML.js +2 -2
  240. package/dist/esm/components/TextOrHTML/index.js +2 -2
  241. package/dist/esm/components/Title/Title.js +2 -1
  242. package/dist/esm/components/Title/index.js +2 -1
  243. package/dist/esm/components/Toast/index.js +3 -3
  244. package/dist/esm/components/Trust/Trust.js +2 -1
  245. package/dist/esm/components/Trust/index.js +2 -1
  246. package/dist/esm/components/index.js +57 -54
  247. package/dist/esm/hooks/index.js +6 -5
  248. package/dist/esm/hooks/useDialog/index.js +2 -1
  249. package/dist/esm/hooks/useDialog/useDialog.js +2 -1
  250. package/dist/esm/hooks/useDialogPolyfill/index.js +2 -1
  251. package/dist/esm/hooks/useDialogPolyfill/useDialogPolyfill.js +2 -1
  252. package/dist/esm/index.js +59 -56
  253. package/dist/esm/meta.json +5712 -5366
  254. package/dist/esm/utils/filterUnsetValues.js +8 -0
  255. package/dist/esm/utils/filterUnsetValues.js.map +7 -0
  256. package/dist/esm/utils/index.js +5 -1
  257. package/dist/tsconfig.build.tsbuildinfo +1 -1
  258. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  259. package/dist/types/components/Grid/Grid.d.ts +1 -1
  260. package/dist/types/components/Grid/Item.d.ts +1 -1
  261. package/dist/types/components/List/List.d.ts +1 -1
  262. package/dist/types/components/Logo/Logo.d.ts +8 -0
  263. package/dist/types/components/Modal/types.d.ts +2 -0
  264. package/dist/types/components/Modal/useModal.d.ts +2 -0
  265. package/dist/types/components/SVG/SVG.d.ts +4 -0
  266. package/dist/types/components/Segment/Segment.d.ts +4 -3
  267. package/dist/types/components/Table/HeaderCell.d.ts +2 -1
  268. package/dist/types/components/Text/Text.d.ts +2 -1
  269. package/dist/types/utils/filterUnsetValues.d.ts +6 -0
  270. package/dist/types/utils/index.d.ts +1 -0
  271. package/package.json +4 -4
  272. package/src/components/Accordion/Accordion.test.tsx +7 -0
  273. package/src/components/Box/Box.test.tsx +24 -0
  274. package/src/components/Box/Box.tsx +11 -3
  275. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +130 -0
  276. package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  277. package/src/components/Button/Button.test.tsx +77 -0
  278. package/src/components/Container/Container.test.tsx +19 -0
  279. package/src/components/Divider/Divider.test.tsx +18 -0
  280. package/src/components/Flex/Flex.test.tsx +7 -0
  281. package/src/components/Grid/Grid.test.tsx +30 -0
  282. package/src/components/Grid/Grid.tsx +2 -2
  283. package/src/components/Grid/Item.tsx +3 -3
  284. package/src/components/Icon/Icon.test.tsx +33 -0
  285. package/src/components/Image/Image.test.tsx +7 -0
  286. package/src/components/Label/Label.test.tsx +7 -0
  287. package/src/components/Link/Link.test.tsx +44 -0
  288. package/src/components/List/List.test.tsx +11 -0
  289. package/src/components/List/List.tsx +6 -2
  290. package/src/components/Logo/Logo.test.tsx +36 -0
  291. package/src/components/Logo/Logo.tsx +8 -0
  292. package/src/components/Modal/Header.tsx +13 -2
  293. package/src/components/Modal/Modal.test.tsx +19 -1
  294. package/src/components/Modal/Modal.tsx +11 -2
  295. package/src/components/Modal/ModalContext.tsx +2 -0
  296. package/src/components/Modal/types.ts +2 -0
  297. package/src/components/Modal/useModal.ts +2 -2
  298. package/src/components/Option/Option.test.tsx +67 -0
  299. package/src/components/Progress/Progress.test.tsx +7 -0
  300. package/src/components/SVG/SVG.test.tsx +40 -0
  301. package/src/components/SVG/SVG.tsx +4 -0
  302. package/src/components/Segment/Segment.test.tsx +72 -0
  303. package/src/components/Segment/Segment.tsx +7 -4
  304. package/src/components/Stack/Stack.test.tsx +41 -1
  305. package/src/components/Table/HeaderCell.tsx +3 -2
  306. package/src/components/Table/Table.test.tsx +177 -0
  307. package/src/components/Text/Text.test.tsx +79 -0
  308. package/src/components/Text/Text.tsx +14 -9
  309. package/src/components/TextAreaInput/TextAreaInput.test.tsx +51 -0
  310. package/src/components/TextOrHTML/TextOrHTML.test.tsx +36 -3
  311. package/src/components/TextOrHTML/TextOrHTML.tsx +45 -9
  312. package/src/components/Trust/Trust.test.tsx +52 -1
  313. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +66 -0
  314. package/src/utils/filterUndefinedProps.test.ts +11 -0
  315. package/src/utils/filterUnsetValues.test.ts +16 -0
  316. package/src/utils/filterUnsetValues.ts +17 -0
  317. package/src/utils/index.ts +1 -0
  318. package/dist/esm/chunk-3IMYDZRT.js.map +0 -7
  319. package/dist/esm/chunk-4IB5ROL6.js.map +0 -7
  320. package/dist/esm/chunk-B243ELKZ.js.map +0 -7
  321. package/dist/esm/chunk-DSYPZETD.js +0 -1
  322. package/dist/esm/chunk-LVZ2T6AY.js.map +0 -7
  323. package/dist/esm/chunk-MLN5ELQR.js.map +0 -7
  324. package/dist/esm/chunk-P5ZPHAQT.js.map +0 -7
  325. package/dist/esm/chunk-QRHDVVRK.js +0 -40
  326. package/dist/esm/chunk-QRHDVVRK.js.map +0 -7
  327. package/dist/esm/chunk-SNRPWCHL.js.map +0 -7
  328. package/dist/esm/chunk-XNVA7FCA.js +0 -39
  329. package/dist/esm/chunk-XNVA7FCA.js.map +0 -7
  330. package/dist/esm/chunk-YLL2DKVF.js.map +0 -7
  331. package/dist/esm/chunk-ZHX7Z5IU.js +0 -15
  332. /package/dist/esm/{chunk-NYFCN7EA.js.map → chunk-6GGDGE7D.js.map} +0 -0
  333. /package/dist/esm/{chunk-OUKMP3DO.js.map → chunk-7JT4DKQA.js.map} +0 -0
  334. /package/dist/esm/{chunk-Q5YY6HPF.js.map → chunk-DZVBN6ZI.js.map} +0 -0
  335. /package/dist/esm/{chunk-OC6ULO4M.js.map → chunk-EJLNC5X5.js.map} +0 -0
  336. /package/dist/esm/{chunk-DSYPZETD.js.map → chunk-FIAL4HTE.js.map} +0 -0
  337. /package/dist/esm/{chunk-OZ2IUZIJ.js.map → chunk-HP2NRM7T.js.map} +0 -0
  338. /package/dist/esm/{chunk-TL4OCKNP.js.map → chunk-LWRY3VIB.js.map} +0 -0
  339. /package/dist/esm/{chunk-RR4UQSOZ.js.map → chunk-M7LTJZQU.js.map} +0 -0
  340. /package/dist/esm/{chunk-N5WGQAHM.js.map → chunk-NRU3WNV7.js.map} +0 -0
  341. /package/dist/esm/{chunk-O47IW7HD.js.map → chunk-YCE2KOB2.js.map} +0 -0
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/filterUnsetValues.ts
21
+ var filterUnsetValues_exports = {};
22
+ __export(filterUnsetValues_exports, {
23
+ filterUnsetValues: () => filterUnsetValues
24
+ });
25
+ module.exports = __toCommonJS(filterUnsetValues_exports);
26
+ var filterUnsetValues = (props) => {
27
+ const filtered = {};
28
+ Object.keys(props).forEach((key) => {
29
+ const value = props[key];
30
+ if (value !== void 0 && value !== null && value !== "") {
31
+ filtered[key] = value;
32
+ }
33
+ });
34
+ return filtered;
35
+ };
36
+ //# sourceMappingURL=filterUnsetValues.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/filterUnsetValues.ts"],
4
+ "sourcesContent": ["/**\n * Drops `undefined`, `null`, and empty string entries.\n * Use when merging style objects so \u201Cunset\u201D values from `style` do not override\n * computed values from component props.\n */\nexport const filterUnsetValues = (\n props: Record<string, unknown>,\n): Record<string, unknown> => {\n const filtered: Record<string, unknown> = {};\n Object.keys(props).forEach(key => {\n const value = props[key];\n if (value !== undefined && value !== null && value !== \"\") {\n filtered[key] = value;\n }\n });\n return filtered;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,IAAM,oBAAoB,CAC/B,UAC4B;AAC5B,QAAM,WAAoC,CAAC;AAC3C,SAAO,KAAK,KAAK,EAAE,QAAQ,SAAO;AAChC,UAAM,QAAQ,MAAM,GAAG;AACvB,QAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AACzD,eAAS,GAAG,IAAI;AAAA,IAClB;AAAA,EACF,CAAC;AACD,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -24,6 +24,7 @@ __export(utils_exports, {
24
24
  delay: () => delay,
25
25
  excludeControls: () => excludeControls,
26
26
  filterUndefinedProps: () => filterUndefinedProps,
27
+ filterUnsetValues: () => filterUnsetValues,
27
28
  getSpacingValue: () => getSpacingValue,
28
29
  mergeRefs: () => mergeRefs,
29
30
  sizeClasses: () => sizeClasses,
@@ -79,6 +80,18 @@ var filterUndefinedProps = (props) => {
79
80
  return filteredProps;
80
81
  };
81
82
 
83
+ // src/utils/filterUnsetValues.ts
84
+ var filterUnsetValues = (props) => {
85
+ const filtered = {};
86
+ Object.keys(props).forEach((key) => {
87
+ const value = props[key];
88
+ if (value !== void 0 && value !== null && value !== "") {
89
+ filtered[key] = value;
90
+ }
91
+ });
92
+ return filtered;
93
+ };
94
+
82
95
  // src/utils/getSpacingValue.ts
83
96
  var getSpacingValue = (padding) => {
84
97
  if (typeof padding === "string") {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/utils/index.ts", "../../../src/utils/changeCSS.ts", "../../../src/utils/delay.ts", "../../../src/utils/excludeControls.ts", "../../../src/utils/filterUndefinedProps.ts", "../../../src/utils/getSpacingValue.ts", "../../../src/utils/mergeRefs.ts", "../../../src/utils/polyfill-tests.ts", "../../../src/utils/sizeClasses.ts", "../../../src/utils/sizeOptions.ts", "../../../src/utils/spaceDelimitedList.ts"],
4
- "sourcesContent": ["export * from \"./changeCSS\";\nexport * from \"./delay\";\nexport * from \"./excludeControls\";\nexport * from \"./filterUndefinedProps\";\nexport * from \"./getSpacingValue\";\nexport * from \"./mergeRefs\";\nexport * from \"./polyfill-tests\";\nexport * from \"./sizeClasses\";\nexport * from \"./sizeOptions\";\nexport * from \"./spaceDelimitedList\";\n", "const CSS_LINK_ID = \"sb-theme\";\n\nexport const changeCSS = (cssUrl: string) => {\n // Find CSS <link> element with id = \"sb-theme\"\n const theme: HTMLElement | null = document.getElementById(CSS_LINK_ID);\n\n if (theme) {\n theme.setAttribute(\"href\", cssUrl);\n } else {\n // Append a new link to document and set href\n const link = document.createElement(\"link\");\n link.setAttribute(\"type\", \"text/css\");\n link.setAttribute(\"rel\", \"stylesheet\");\n link.setAttribute(\"href\", cssUrl);\n link.setAttribute(\"id\", CSS_LINK_ID);\n document.head.appendChild(link);\n }\n};\n", "export function delay(ms: number, { signal }: { signal?: AbortSignal } = {}) {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(resolve, ms);\n if (signal) {\n signal.addEventListener(\"abort\", () => {\n clearTimeout(timeout);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n });\n }\n });\n}\n", "// This function generates data structure required to hide specified\n// prop from individual stories. Key 'table' is where specified key\n// is disabled.\n//\n// The above is documented here:\n// https://storybook.js.org/docs/react/essentials/controls#disable-controls-for-specific-properties\n//\n// The expected usage looks as follows:\n//\n// <Meta\n// title=\"Components/MyComponent\"\n// component={MyComponent}\n// argTypes={{\n// label: {\n// control: {\n// type: \"text\",\n// },\n// table: {\n// disable: true,\n// },\n// },\n// }}\n// />\nexport const excludeControls = (...args: string[]) =>\n args.reduce(\n (prev, acc) => ({ ...prev, [acc]: { table: { disable: true } } }),\n {},\n );\n", "export const filterUndefinedProps = (props: Record<string, unknown>) => {\n const filteredProps: Record<string, unknown> = {};\n Object.keys(props).forEach(key => {\n if (props[key] !== undefined) {\n filteredProps[key] = props[key];\n }\n });\n return filteredProps;\n};\n", "import type { SpacingType } from \"../types\";\n\nexport const getSpacingValue = (\n padding: SpacingType | undefined,\n): string | undefined => {\n if (typeof padding === \"string\") {\n return `var(--size-${padding})`;\n }\n\n if (typeof padding === \"number\") {\n return `${padding}px`;\n }\n\n return undefined;\n};\n", "// Ref: https://github.com/gregberge/react-merge-refs/blob/812fefa4390884a4a2d1bc489d869bd088df8ff5/src/index.tsx\nimport type { MutableRefObject, LegacyRef, RefCallback } from \"react\";\n\nexport function mergeRefs<T = unknown>(\n refs: Array<MutableRefObject<T> | LegacyRef<T> | undefined>,\n): RefCallback<T> {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n (ref as MutableRefObject<T | null>).current = value;\n }\n });\n };\n}\n", "// Browser support HTML Dialog element\nexport const supportsDialog = () => typeof HTMLDialogElement === \"function\";\n", "import type { SizeType } from \"../types/size\";\n\nexport const sizeClasses = (size: SizeType | undefined) => {\n if (!size) {\n return {};\n }\n\n return {\n \"--is-xxs\": size === \"xxs\",\n \"--is-xs\": size === \"xs\",\n \"--is-sm\": size === \"sm\",\n \"--is-md\": size === \"md\",\n \"--is-lg\": size === \"lg\",\n \"--is-xl\": size === \"xl\",\n \"--is-xxl\": size === \"xxl\",\n };\n};\n", "import type { SizeType } from \"../types\";\n\nexport const sizeOptions: Array<SizeType | \"\"> = [\n \"\",\n \"xxs\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"xxl\",\n];\n", "export function spaceDelimitedList(\n list: (string | null | undefined)[],\n): string | undefined {\n return list.filter(Boolean).join(\" \") || undefined;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,cAAc;AAEb,IAAM,YAAY,CAAC,WAAmB;AAE3C,QAAM,QAA4B,SAAS,eAAe,WAAW;AAErE,MAAI,OAAO;AACT,UAAM,aAAa,QAAQ,MAAM;AAAA,EACnC,OAAO;AAEL,UAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,SAAK,aAAa,QAAQ,UAAU;AACpC,SAAK,aAAa,OAAO,YAAY;AACrC,SAAK,aAAa,QAAQ,MAAM;AAChC,SAAK,aAAa,MAAM,WAAW;AACnC,aAAS,KAAK,YAAY,IAAI;AAAA,EAChC;AACF;;;ACjBO,SAAS,MAAM,IAAY,EAAE,OAAO,IAA8B,CAAC,GAAG;AAC3E,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,UAAU,WAAW,SAAS,EAAE;AACtC,QAAI,QAAQ;AACV,aAAO,iBAAiB,SAAS,MAAM;AACrC,qBAAa,OAAO;AACpB,eAAO,IAAI,aAAa,WAAW,YAAY,CAAC;AAAA,MAClD,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;;;ACaO,IAAM,kBAAkB,IAAI,SACjC,KAAK;AAAA,EACH,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE;AAAA,EAC/D,CAAC;AACH;;;AC3BK,IAAM,uBAAuB,CAAC,UAAmC;AACtE,QAAM,gBAAyC,CAAC;AAChD,SAAO,KAAK,KAAK,EAAE,QAAQ,SAAO;AAChC,QAAI,MAAM,GAAG,MAAM,QAAW;AAC5B,oBAAc,GAAG,IAAI,MAAM,GAAG;AAAA,IAChC;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACNO,IAAM,kBAAkB,CAC7B,YACuB;AACvB,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO,cAAc,OAAO;AAAA,EAC9B;AAEA,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO,GAAG,OAAO;AAAA,EACnB;AAEA,SAAO;AACT;;;ACXO,SAAS,UACd,MACgB;AAChB,SAAO,WAAS;AACd,SAAK,QAAQ,SAAO;AAClB,UAAI,OAAO,QAAQ,YAAY;AAC7B,YAAI,KAAK;AAAA,MACX,WAAW,OAAO,MAAM;AACtB,QAAC,IAAmC,UAAU;AAAA,MAChD;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACdO,IAAM,iBAAiB,MAAM,OAAO,sBAAsB;;;ACC1D,IAAM,cAAc,CAAC,SAA+B;AACzD,MAAI,CAAC,MAAM;AACT,WAAO,CAAC;AAAA,EACV;AAEA,SAAO;AAAA,IACL,YAAY,SAAS;AAAA,IACrB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,YAAY,SAAS;AAAA,EACvB;AACF;;;ACdO,IAAM,cAAoC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACXO,SAAS,mBACd,MACoB;AACpB,SAAO,KAAK,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAC3C;",
3
+ "sources": ["../../../src/utils/index.ts", "../../../src/utils/changeCSS.ts", "../../../src/utils/delay.ts", "../../../src/utils/excludeControls.ts", "../../../src/utils/filterUndefinedProps.ts", "../../../src/utils/filterUnsetValues.ts", "../../../src/utils/getSpacingValue.ts", "../../../src/utils/mergeRefs.ts", "../../../src/utils/polyfill-tests.ts", "../../../src/utils/sizeClasses.ts", "../../../src/utils/sizeOptions.ts", "../../../src/utils/spaceDelimitedList.ts"],
4
+ "sourcesContent": ["export * from \"./changeCSS\";\nexport * from \"./delay\";\nexport * from \"./excludeControls\";\nexport * from \"./filterUndefinedProps\";\nexport * from \"./filterUnsetValues\";\nexport * from \"./getSpacingValue\";\nexport * from \"./mergeRefs\";\nexport * from \"./polyfill-tests\";\nexport * from \"./sizeClasses\";\nexport * from \"./sizeOptions\";\nexport * from \"./spaceDelimitedList\";\n", "const CSS_LINK_ID = \"sb-theme\";\n\nexport const changeCSS = (cssUrl: string) => {\n // Find CSS <link> element with id = \"sb-theme\"\n const theme: HTMLElement | null = document.getElementById(CSS_LINK_ID);\n\n if (theme) {\n theme.setAttribute(\"href\", cssUrl);\n } else {\n // Append a new link to document and set href\n const link = document.createElement(\"link\");\n link.setAttribute(\"type\", \"text/css\");\n link.setAttribute(\"rel\", \"stylesheet\");\n link.setAttribute(\"href\", cssUrl);\n link.setAttribute(\"id\", CSS_LINK_ID);\n document.head.appendChild(link);\n }\n};\n", "export function delay(ms: number, { signal }: { signal?: AbortSignal } = {}) {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(resolve, ms);\n if (signal) {\n signal.addEventListener(\"abort\", () => {\n clearTimeout(timeout);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n });\n }\n });\n}\n", "// This function generates data structure required to hide specified\n// prop from individual stories. Key 'table' is where specified key\n// is disabled.\n//\n// The above is documented here:\n// https://storybook.js.org/docs/react/essentials/controls#disable-controls-for-specific-properties\n//\n// The expected usage looks as follows:\n//\n// <Meta\n// title=\"Components/MyComponent\"\n// component={MyComponent}\n// argTypes={{\n// label: {\n// control: {\n// type: \"text\",\n// },\n// table: {\n// disable: true,\n// },\n// },\n// }}\n// />\nexport const excludeControls = (...args: string[]) =>\n args.reduce(\n (prev, acc) => ({ ...prev, [acc]: { table: { disable: true } } }),\n {},\n );\n", "export const filterUndefinedProps = (props: Record<string, unknown>) => {\n const filteredProps: Record<string, unknown> = {};\n Object.keys(props).forEach(key => {\n if (props[key] !== undefined) {\n filteredProps[key] = props[key];\n }\n });\n return filteredProps;\n};\n", "/**\n * Drops `undefined`, `null`, and empty string entries.\n * Use when merging style objects so \u201Cunset\u201D values from `style` do not override\n * computed values from component props.\n */\nexport const filterUnsetValues = (\n props: Record<string, unknown>,\n): Record<string, unknown> => {\n const filtered: Record<string, unknown> = {};\n Object.keys(props).forEach(key => {\n const value = props[key];\n if (value !== undefined && value !== null && value !== \"\") {\n filtered[key] = value;\n }\n });\n return filtered;\n};\n", "import type { SpacingType } from \"../types\";\n\nexport const getSpacingValue = (\n padding: SpacingType | undefined,\n): string | undefined => {\n if (typeof padding === \"string\") {\n return `var(--size-${padding})`;\n }\n\n if (typeof padding === \"number\") {\n return `${padding}px`;\n }\n\n return undefined;\n};\n", "// Ref: https://github.com/gregberge/react-merge-refs/blob/812fefa4390884a4a2d1bc489d869bd088df8ff5/src/index.tsx\nimport type { MutableRefObject, LegacyRef, RefCallback } from \"react\";\n\nexport function mergeRefs<T = unknown>(\n refs: Array<MutableRefObject<T> | LegacyRef<T> | undefined>,\n): RefCallback<T> {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n (ref as MutableRefObject<T | null>).current = value;\n }\n });\n };\n}\n", "// Browser support HTML Dialog element\nexport const supportsDialog = () => typeof HTMLDialogElement === \"function\";\n", "import type { SizeType } from \"../types/size\";\n\nexport const sizeClasses = (size: SizeType | undefined) => {\n if (!size) {\n return {};\n }\n\n return {\n \"--is-xxs\": size === \"xxs\",\n \"--is-xs\": size === \"xs\",\n \"--is-sm\": size === \"sm\",\n \"--is-md\": size === \"md\",\n \"--is-lg\": size === \"lg\",\n \"--is-xl\": size === \"xl\",\n \"--is-xxl\": size === \"xxl\",\n };\n};\n", "import type { SizeType } from \"../types\";\n\nexport const sizeOptions: Array<SizeType | \"\"> = [\n \"\",\n \"xxs\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\",\n \"xxl\",\n];\n", "export function spaceDelimitedList(\n list: (string | null | undefined)[],\n): string | undefined {\n return list.filter(Boolean).join(\" \") || undefined;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,cAAc;AAEb,IAAM,YAAY,CAAC,WAAmB;AAE3C,QAAM,QAA4B,SAAS,eAAe,WAAW;AAErE,MAAI,OAAO;AACT,UAAM,aAAa,QAAQ,MAAM;AAAA,EACnC,OAAO;AAEL,UAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,SAAK,aAAa,QAAQ,UAAU;AACpC,SAAK,aAAa,OAAO,YAAY;AACrC,SAAK,aAAa,QAAQ,MAAM;AAChC,SAAK,aAAa,MAAM,WAAW;AACnC,aAAS,KAAK,YAAY,IAAI;AAAA,EAChC;AACF;;;ACjBO,SAAS,MAAM,IAAY,EAAE,OAAO,IAA8B,CAAC,GAAG;AAC3E,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,UAAU,WAAW,SAAS,EAAE;AACtC,QAAI,QAAQ;AACV,aAAO,iBAAiB,SAAS,MAAM;AACrC,qBAAa,OAAO;AACpB,eAAO,IAAI,aAAa,WAAW,YAAY,CAAC;AAAA,MAClD,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;;;ACaO,IAAM,kBAAkB,IAAI,SACjC,KAAK;AAAA,EACH,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE;AAAA,EAC/D,CAAC;AACH;;;AC3BK,IAAM,uBAAuB,CAAC,UAAmC;AACtE,QAAM,gBAAyC,CAAC;AAChD,SAAO,KAAK,KAAK,EAAE,QAAQ,SAAO;AAChC,QAAI,MAAM,GAAG,MAAM,QAAW;AAC5B,oBAAc,GAAG,IAAI,MAAM,GAAG;AAAA,IAChC;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACHO,IAAM,oBAAoB,CAC/B,UAC4B;AAC5B,QAAM,WAAoC,CAAC;AAC3C,SAAO,KAAK,KAAK,EAAE,QAAQ,SAAO;AAChC,UAAM,QAAQ,MAAM,GAAG;AACvB,QAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AACzD,eAAS,GAAG,IAAI;AAAA,IAClB;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdO,IAAM,kBAAkB,CAC7B,YACuB;AACvB,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO,cAAc,OAAO;AAAA,EAC9B;AAEA,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO,GAAG,OAAO;AAAA,EACnB;AAEA,SAAO;AACT;;;ACXO,SAAS,UACd,MACgB;AAChB,SAAO,WAAS;AACd,SAAK,QAAQ,SAAO;AAClB,UAAI,OAAO,QAAQ,YAAY;AAC7B,YAAI,KAAK;AAAA,MACX,WAAW,OAAO,MAAM;AACtB,QAAC,IAAmC,UAAU;AAAA,MAChD;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACdO,IAAM,iBAAiB,MAAM,OAAO,sBAAsB;;;ACC1D,IAAM,cAAc,CAAC,SAA+B;AACzD,MAAI,CAAC,MAAM;AACT,WAAO,CAAC;AAAA,EACV;AAEA,SAAO;AAAA,IACL,YAAY,SAAS;AAAA,IACrB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,WAAW,SAAS;AAAA,IACpB,YAAY,SAAS;AAAA,EACvB;AACF;;;ACdO,IAAM,cAAoC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACXO,SAAS,mBACd,MACoB;AACpB,SAAO,KAAK,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAC3C;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,9 @@
1
- import {
2
- Flex
3
- } from "./chunk-TRY7VZOM.js";
4
1
  import {
5
2
  Icon
6
3
  } from "./chunk-TKIP5Q5H.js";
4
+ import {
5
+ Flex
6
+ } from "./chunk-TRY7VZOM.js";
7
7
 
8
8
  // src/components/Accordion/AccordionLink.tsx
9
9
  import classNames from "classnames/dedupe";
@@ -88,4 +88,4 @@ var AccordionLink = ({
88
88
  export {
89
89
  AccordionLink
90
90
  };
91
- //# sourceMappingURL=chunk-NYFCN7EA.js.map
91
+ //# sourceMappingURL=chunk-6GGDGE7D.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AccordionLink
3
- } from "./chunk-NYFCN7EA.js";
3
+ } from "./chunk-6GGDGE7D.js";
4
4
 
5
5
  // src/components/Accordion/Accordion.tsx
6
6
  import classNames from "classnames/dedupe";
@@ -115,4 +115,4 @@ Accordion.displayName = "Accordion";
115
115
  export {
116
116
  Accordion
117
117
  };
118
- //# sourceMappingURL=chunk-OUKMP3DO.js.map
118
+ //# sourceMappingURL=chunk-7JT4DKQA.js.map
@@ -3,15 +3,18 @@ import classNames from "classnames/dedupe";
3
3
  import "@simplybusiness/mobius/src/components/Text/Text.css";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  var getElementType = (variant, elementType) => {
6
- if (variant) {
7
- return ["h1", "h2", "h3", "h4"].includes(variant) ? variant : "p";
6
+ if (elementType) {
7
+ return elementType;
8
8
  }
9
- return elementType || "p";
9
+ if (variant && ["h1", "h2", "h3", "h4"].includes(variant)) {
10
+ return variant;
11
+ }
12
+ return "p";
10
13
  };
11
- var Text = ({ ref, elementType: Component = "p", ...props }) => {
14
+ var Text = ({ ref, elementType, ...props }) => {
12
15
  const { variant, className, spacing, ...otherProps } = props;
13
- const elementType = getElementType(variant, Component);
14
- const variantType = variant || elementType;
16
+ const Element = getElementType(variant, elementType);
17
+ const variantType = variant || Element;
15
18
  const classes = classNames(
16
19
  "mobius",
17
20
  "mobius-text",
@@ -19,11 +22,12 @@ var Text = ({ ref, elementType: Component = "p", ...props }) => {
19
22
  { [`--has-line-height-${spacing}`]: spacing },
20
23
  className
21
24
  );
22
- return /* @__PURE__ */ jsx(Component, { ref, ...otherProps, className: classes });
25
+ return /* @__PURE__ */ jsx(Element, { ref, ...otherProps, className: classes });
23
26
  };
24
27
  Text.displayName = "Text";
25
28
 
26
29
  export {
30
+ getElementType,
27
31
  Text
28
32
  };
29
- //# sourceMappingURL=chunk-SNRPWCHL.js.map
33
+ //# sourceMappingURL=chunk-A66R42LG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Text/Text.tsx"],
4
+ "sourcesContent": ["import type { ReactNode, RefAttributes } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\nimport \"./Text.css\";\n\nexport type TextElementType = HTMLHeadingElement | HTMLParagraphElement;\nexport type TextVariantType =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"body\"\n | \"small\"\n | \"legal\"\n | \"title\";\nexport type ElementType = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"p\" | \"span\";\nexport interface TextProps extends DOMProps, RefAttributes<TextElementType> {\n /** HTML element for the text */\n elementType?: ElementType;\n /** Specify font size override */\n variant?: TextVariantType;\n /** Specify compact line height override */\n spacing?: \"loose\" | \"tight\";\n /** Custom class name for setting specific CSS */\n className?: string;\n children: ReactNode;\n style?: React.CSSProperties;\n}\n\nexport const getElementType = (\n variant: TextVariantType | undefined,\n elementType: ElementType | undefined,\n): ElementType => {\n // Explicit elementType always wins\n if (elementType) {\n return elementType;\n }\n // Infer element from variant\n if (variant && [\"h1\", \"h2\", \"h3\", \"h4\"].includes(variant)) {\n return variant as ElementType;\n }\n return \"p\";\n};\n\nconst Text = ({ ref, elementType, ...props }: TextProps) => {\n // Remove non-DOM props from element\n const { variant, className, spacing, ...otherProps } = props;\n\n // If a variant is supplied, set the class name and element type\n const Element: ElementType = getElementType(variant, elementType);\n const variantType = variant || Element;\n const classes = classNames(\n \"mobius\",\n \"mobius-text\",\n { [`--is-${variantType}`]: variantType },\n { [`--has-line-height-${spacing}`]: spacing },\n className,\n );\n\n return <Element ref={ref} {...otherProps} className={classes} />;\n};\n\nText.displayName = \"Text\";\nexport { Text };\n"],
5
+ "mappings": ";AACA,OAAO,gBAAgB;AAEvB,OAAO;AAwDE;AA9BF,IAAM,iBAAiB,CAC5B,SACA,gBACgB;AAEhB,MAAI,aAAa;AACf,WAAO;AAAA,EACT;AAEA,MAAI,WAAW,CAAC,MAAM,MAAM,MAAM,IAAI,EAAE,SAAS,OAAO,GAAG;AACzD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,IAAM,OAAO,CAAC,EAAE,KAAK,aAAa,GAAG,MAAM,MAAiB;AAE1D,QAAM,EAAE,SAAS,WAAW,SAAS,GAAG,WAAW,IAAI;AAGvD,QAAM,UAAuB,eAAe,SAAS,WAAW;AAChE,QAAM,cAAc,WAAW;AAC/B,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,EAAE,CAAC,QAAQ,WAAW,EAAE,GAAG,YAAY;AAAA,IACvC,EAAE,CAAC,qBAAqB,OAAO,EAAE,GAAG,QAAQ;AAAA,IAC5C;AAAA,EACF;AAEA,SAAO,oBAAC,WAAQ,KAAW,GAAG,YAAY,WAAW,SAAS;AAChE;AAEA,KAAK,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ // src/utils/filterUnsetValues.ts
2
+ var filterUnsetValues = (props) => {
3
+ const filtered = {};
4
+ Object.keys(props).forEach((key) => {
5
+ const value = props[key];
6
+ if (value !== void 0 && value !== null && value !== "") {
7
+ filtered[key] = value;
8
+ }
9
+ });
10
+ return filtered;
11
+ };
12
+
13
+ export {
14
+ filterUnsetValues
15
+ };
16
+ //# sourceMappingURL=chunk-CZWEMAKZ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/filterUnsetValues.ts"],
4
+ "sourcesContent": ["/**\n * Drops `undefined`, `null`, and empty string entries.\n * Use when merging style objects so \u201Cunset\u201D values from `style` do not override\n * computed values from component props.\n */\nexport const filterUnsetValues = (\n props: Record<string, unknown>,\n): Record<string, unknown> => {\n const filtered: Record<string, unknown> = {};\n Object.keys(props).forEach(key => {\n const value = props[key];\n if (value !== undefined && value !== null && value !== \"\") {\n filtered[key] = value;\n }\n });\n return filtered;\n};\n"],
5
+ "mappings": ";AAKO,IAAM,oBAAoB,CAC/B,UAC4B;AAC5B,QAAM,WAAoC,CAAC;AAC3C,SAAO,KAAK,KAAK,EAAE,QAAQ,SAAO;AAChC,UAAM,QAAQ,MAAM,GAAG;AACvB,QAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AACzD,eAAS,GAAG,IAAI;AAAA,IAClB;AAAA,EACF,CAAC;AACD,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -1,12 +1,12 @@
1
+ import {
2
+ Header
3
+ } from "./chunk-MPB5F6QL.js";
1
4
  import {
2
5
  Modal
3
- } from "./chunk-4IB5ROL6.js";
6
+ } from "./chunk-KXLTGNKF.js";
4
7
  import {
5
8
  Content
6
9
  } from "./chunk-55NPJOV3.js";
7
- import {
8
- Header
9
- } from "./chunk-XNVA7FCA.js";
10
10
 
11
11
  // src/components/Modal/index.tsx
12
12
  var Modal2 = Object.assign(Modal, {
@@ -18,4 +18,4 @@ Modal2.displayName = "Modal";
18
18
  export {
19
19
  Modal2 as Modal
20
20
  };
21
- //# sourceMappingURL=chunk-Q5YY6HPF.js.map
21
+ //# sourceMappingURL=chunk-DZVBN6ZI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Accordion
3
- } from "./chunk-OUKMP3DO.js";
3
+ } from "./chunk-7JT4DKQA.js";
4
4
  import {
5
5
  Divider
6
6
  } from "./chunk-IFXEE4WM.js";
@@ -63,4 +63,4 @@ AccordionList.displayName = "AccordionList";
63
63
  export {
64
64
  AccordionList
65
65
  };
66
- //# sourceMappingURL=chunk-OC6ULO4M.js.map
66
+ //# sourceMappingURL=chunk-EJLNC5X5.js.map
@@ -20,18 +20,26 @@ var List = ({ ref, ...props }) => {
20
20
  },
21
21
  otherProps.className
22
22
  );
23
- return /* @__PURE__ */ jsx(Component, { ref, ...mappedProps, className: classes, children: Children.map(children, (child) => {
24
- if (isValidElement(child)) {
25
- return cloneElement(child, {
26
- parentIcon: icon
27
- });
23
+ return /* @__PURE__ */ jsx(
24
+ Component,
25
+ {
26
+ ref,
27
+ ...mappedProps,
28
+ className: classes,
29
+ children: Children.map(children, (child) => {
30
+ if (isValidElement(child)) {
31
+ return cloneElement(child, {
32
+ parentIcon: icon
33
+ });
34
+ }
35
+ return child;
36
+ })
28
37
  }
29
- return child;
30
- }) });
38
+ );
31
39
  };
32
40
  List.displayName = "List";
33
41
 
34
42
  export {
35
43
  List
36
44
  };
37
- //# sourceMappingURL=chunk-LVZ2T6AY.js.map
45
+ //# sourceMappingURL=chunk-EZ4S7XVZ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/List/List.tsx"],
4
+ "sourcesContent": ["import type { ReactNode, Ref } from \"react\";\nimport { Children, cloneElement, isValidElement } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\nimport \"./List.css\";\n\nexport type ListStyleType =\n | \"disc\"\n | \"circle\"\n | \"square\"\n | \"decimal\"\n | \"georgian\"\n | \"trad-chinese-informal\"\n | \"kannada\";\n\nexport interface ListProps extends DOMProps {\n children?: ReactNode;\n isOrdered?: boolean;\n isReversed?: boolean;\n start?: number;\n liststyletype?: ListStyleType;\n icon?: ReactNode;\n className?: string;\n ref?: Ref<HTMLElement>;\n}\n\nconst List = ({ ref, ...props }: ListProps) => {\n const Component: \"ol\" | \"ul\" = props.isOrdered ? \"ol\" : \"ul\";\n const { children, icon, ...otherProps } = props;\n\n // Remove props that should not exist on ol or ul element\n\n const { isOrdered, liststyletype, isReversed, ...restProps } = otherProps;\n\n const mappedProps = {\n ...restProps,\n reversed: isReversed,\n };\n\n const classes = classNames(\n \"mobius\",\n \"mobius-list\",\n {\n \"--has-icon\": icon,\n [`--is-${liststyletype}`]: liststyletype,\n },\n otherProps.className,\n );\n\n return (\n <Component\n ref={ref as React.Ref<HTMLOListElement & HTMLUListElement>}\n {...mappedProps}\n className={classes}\n >\n {Children.map(children, child => {\n if (isValidElement(child)) {\n // List items accept a parentIcon prop which is not part of standard HTML\n return cloneElement(child, {\n parentIcon: icon,\n } as { parentIcon?: ReactNode });\n }\n\n return child;\n })}\n </Component>\n );\n};\n\nList.displayName = \"List\";\nexport { List };\n"],
5
+ "mappings": ";AACA,SAAS,UAAU,cAAc,sBAAsB;AACvD,OAAO,gBAAgB;AAEvB,OAAO;AA8CH;AAxBJ,IAAM,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,MAAiB;AAC7C,QAAM,YAAyB,MAAM,YAAY,OAAO;AACxD,QAAM,EAAE,UAAU,MAAM,GAAG,WAAW,IAAI;AAI1C,QAAM,EAAE,WAAW,eAAe,YAAY,GAAG,UAAU,IAAI;AAE/D,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,UAAU;AAAA,EACZ;AAEA,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,MACE,cAAc;AAAA,MACd,CAAC,QAAQ,aAAa,EAAE,GAAG;AAAA,IAC7B;AAAA,IACA,WAAW;AAAA,EACb;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,WAAW;AAAA,MAEV,mBAAS,IAAI,UAAU,WAAS;AAC/B,YAAI,eAAe,KAAK,GAAG;AAEzB,iBAAO,aAAa,OAAO;AAAA,YACzB,YAAY;AAAA,UACd,CAA+B;AAAA,QACjC;AAEA,eAAO;AAAA,MACT,CAAC;AAAA;AAAA,EACH;AAEJ;AAEA,KAAK,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-FIAL4HTE.js.map
@@ -2,7 +2,7 @@
2
2
  import classNames from "classnames/dedupe";
3
3
  import "@simplybusiness/mobius/src/components/Segment/Segment.css";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
- var Segment = (props) => {
5
+ var Segment = ({ ref, ...props }) => {
6
6
  const { heading, children, colour, inverted, className, ...rest } = props;
7
7
  const classes = classNames(
8
8
  "mobius",
@@ -11,7 +11,7 @@ var Segment = (props) => {
11
11
  { inverted },
12
12
  className
13
13
  );
14
- return /* @__PURE__ */ jsxs("div", { className: classes, ...rest, children: [
14
+ return /* @__PURE__ */ jsxs("div", { ref, className: classes, ...rest, children: [
15
15
  heading && /* @__PURE__ */ jsx("div", { className: "mobius-segment__heading", children: heading }),
16
16
  children
17
17
  ] });
@@ -21,4 +21,4 @@ Segment.displayName = "Segment";
21
21
  export {
22
22
  Segment
23
23
  };
24
- //# sourceMappingURL=chunk-YLL2DKVF.js.map
24
+ //# sourceMappingURL=chunk-FQ6P6JB5.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Segment/Segment.tsx"],
4
+ "sourcesContent": ["import type { ReactNode, RefAttributes } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\nimport \"./Segment.css\";\n\nexport type SegmentElementType = HTMLDivElement;\n\nexport interface SegmentProps\n extends DOMProps, RefAttributes<SegmentElementType> {\n className?: string;\n heading?: string;\n /** Background colour for Segment */\n colour?: \"subtle\" | \"primary\" | \"secondary\";\n /** When inverted, text is white. Use on darker backgrounds. */\n inverted?: boolean;\n children?: ReactNode;\n}\n\nconst Segment = ({ ref, ...props }: SegmentProps) => {\n const { heading, children, colour, inverted, className, ...rest } = props;\n\n const classes = classNames(\n \"mobius\",\n \"mobius-segment\",\n colour,\n { inverted },\n className,\n );\n\n return (\n <div ref={ref} className={classes} {...rest}>\n {heading && <div className=\"mobius-segment__heading\">{heading}</div>}\n {children}\n </div>\n );\n};\n\nSegment.displayName = \"Segment\";\nexport { Segment };\n"],
5
+ "mappings": ";AACA,OAAO,gBAAgB;AAEvB,OAAO;AA2BH,SACc,KADd;AAZJ,IAAM,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,MAAoB;AACnD,QAAM,EAAE,SAAS,UAAU,QAAQ,UAAU,WAAW,GAAG,KAAK,IAAI;AAEpE,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,SAAS;AAAA,IACX;AAAA,EACF;AAEA,SACE,qBAAC,SAAI,KAAU,WAAW,SAAU,GAAG,MACpC;AAAA,eAAW,oBAAC,SAAI,WAAU,2BAA2B,mBAAQ;AAAA,IAC7D;AAAA,KACH;AAEJ;AAEA,QAAQ,cAAc;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Box
3
- } from "./chunk-B243ELKZ.js";
3
+ } from "./chunk-TJCUKTFX.js";
4
4
 
5
5
  // src/components/Breadcrumbs/BreadcrumbItem.tsx
6
6
  import { cloneElement, Children } from "react";
@@ -42,4 +42,4 @@ BreadcrumbItem.displayName = "BreadcrumbItem";
42
42
  export {
43
43
  BreadcrumbItem
44
44
  };
45
- //# sourceMappingURL=chunk-OZ2IUZIJ.js.map
45
+ //# sourceMappingURL=chunk-HP2NRM7T.js.map
@@ -0,0 +1,67 @@
1
+ import {
2
+ Text,
3
+ getElementType
4
+ } from "./chunk-A66R42LG.js";
5
+
6
+ // src/components/TextOrHTML/TextOrHTML.tsx
7
+ import classNames from "classnames/dedupe";
8
+ import { useMemo } from "react";
9
+ import { jsx } from "react/jsx-runtime";
10
+ var isBlockHTML = (text) => /^\s*<[a-z]/i.test(text);
11
+ var containsHTML = (text) => /<[a-z/]/i.test(text);
12
+ var buildTextClasses = (textProps, htmlClassName) => {
13
+ const { variant, elementType, spacing, className } = textProps;
14
+ const variantType = variant || getElementType(variant, elementType);
15
+ return classNames(
16
+ "mobius",
17
+ "mobius-text",
18
+ { [`--is-${variantType}`]: variantType },
19
+ { [`--has-line-height-${spacing}`]: spacing },
20
+ className,
21
+ htmlClassName
22
+ );
23
+ };
24
+ var TextOrHTML = ({
25
+ ref,
26
+ text,
27
+ htmlClassName,
28
+ htmlElementType,
29
+ textWrapper = false,
30
+ autoDetect = false,
31
+ ...textProps
32
+ }) => {
33
+ const textIsBlockHTML = autoDetect && isBlockHTML(text);
34
+ const dangerousHTML = useMemo(() => ({ __html: text }), [text]);
35
+ if (autoDetect && !textIsBlockHTML) {
36
+ const { variant, spacing, elementType, className, ...domProps } = textProps;
37
+ const Element = getElementType(variant, elementType);
38
+ const classes = buildTextClasses(textProps, htmlClassName);
39
+ return containsHTML(text) ? /* @__PURE__ */ jsx(
40
+ Element,
41
+ {
42
+ ref,
43
+ ...domProps,
44
+ className: classes,
45
+ dangerouslySetInnerHTML: dangerousHTML
46
+ }
47
+ ) : /* @__PURE__ */ jsx(Element, { ref, ...domProps, className: classes, children: text });
48
+ }
49
+ const DangerousComponent = htmlElementType ?? (textIsBlockHTML ? "div" : "span");
50
+ const dangerousElement = /* @__PURE__ */ jsx(
51
+ DangerousComponent,
52
+ {
53
+ className: htmlClassName,
54
+ dangerouslySetInnerHTML: dangerousHTML
55
+ }
56
+ );
57
+ if (textWrapper) {
58
+ return /* @__PURE__ */ jsx(Text, { ref, ...textProps, children: dangerousElement });
59
+ }
60
+ return dangerousElement;
61
+ };
62
+ TextOrHTML.displayName = "TextOrHTML";
63
+
64
+ export {
65
+ TextOrHTML
66
+ };
67
+ //# sourceMappingURL=chunk-HPUPB75I.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/TextOrHTML/TextOrHTML.tsx"],
4
+ "sourcesContent": ["import classNames from \"classnames/dedupe\";\nimport type { RefAttributes } from \"react\";\nimport { useMemo } from \"react\";\nimport type { TextElementType, TextProps } from \"../Text/Text\";\nimport { Text, getElementType } from \"../Text/Text\";\n\nexport type HTMLElementType = \"span\" | \"div\";\n\nconst isBlockHTML = (text: string) => /^\\s*<[a-z]/i.test(text);\nconst containsHTML = (text: string) => /<[a-z/]/i.test(text);\n\nconst buildTextClasses = (\n textProps: Omit<TextProps, \"children\">,\n htmlClassName?: string,\n) => {\n const { variant, elementType, spacing, className } = textProps;\n const variantType = variant || getElementType(variant, elementType);\n return classNames(\n \"mobius\",\n \"mobius-text\",\n { [`--is-${variantType}`]: variantType },\n { [`--has-line-height-${spacing}`]: spacing },\n className,\n htmlClassName,\n );\n};\n\nexport interface TextOrHTMLProps\n extends Omit<TextProps, \"children\">, RefAttributes<TextElementType> {\n /** HTML string to be rendered with dangerouslySetInnerHTML */\n text: string;\n /** Custom class name for the dangerous HTML element */\n htmlClassName?: string;\n /** HTML element type for the dangerous HTML element */\n htmlElementType?: HTMLElementType;\n /** If true, wraps the dangerous HTML element inside a Text component */\n textWrapper?: boolean;\n /** If true, auto-detects whether text is HTML or plain text to determine wrapping and element type */\n autoDetect?: boolean;\n}\n\nconst TextOrHTML = ({\n ref,\n text,\n htmlClassName,\n htmlElementType,\n textWrapper = false,\n autoDetect = false,\n ...textProps\n}: TextOrHTMLProps) => {\n const textIsBlockHTML = autoDetect && isBlockHTML(text);\n\n // Memoize the dangerouslySetInnerHTML object to prevent unnecessary re-renders\n // See: https://github.com/facebook/react/issues/31660\n const dangerousHTML = useMemo(() => ({ __html: text }), [text]);\n\n // Non-block text with autoDetect: render directly on a Text-equivalent element,\n // avoiding unnecessary <span> nesting inside <p>.\n if (autoDetect && !textIsBlockHTML) {\n const { variant, spacing, elementType, className, ...domProps } = textProps;\n const Element = getElementType(variant, elementType);\n const classes = buildTextClasses(textProps, htmlClassName);\n\n return containsHTML(text) ? (\n <Element\n ref={ref}\n {...domProps}\n className={classes}\n dangerouslySetInnerHTML={dangerousHTML}\n />\n ) : (\n <Element ref={ref} {...domProps} className={classes}>\n {text}\n </Element>\n );\n }\n\n const DangerousComponent =\n htmlElementType ?? (textIsBlockHTML ? \"div\" : \"span\");\n const dangerousElement = (\n <DangerousComponent\n className={htmlClassName}\n dangerouslySetInnerHTML={dangerousHTML}\n />\n );\n\n if (textWrapper) {\n return (\n <Text ref={ref} {...textProps}>\n {dangerousElement}\n </Text>\n );\n }\n\n return dangerousElement;\n};\n\nTextOrHTML.displayName = \"TextOrHTML\";\nexport { TextOrHTML };\n"],
5
+ "mappings": ";;;;;;AAAA,OAAO,gBAAgB;AAEvB,SAAS,eAAe;AA8DlB;AAxDN,IAAM,cAAc,CAAC,SAAiB,cAAc,KAAK,IAAI;AAC7D,IAAM,eAAe,CAAC,SAAiB,WAAW,KAAK,IAAI;AAE3D,IAAM,mBAAmB,CACvB,WACA,kBACG;AACH,QAAM,EAAE,SAAS,aAAa,SAAS,UAAU,IAAI;AACrD,QAAM,cAAc,WAAW,eAAe,SAAS,WAAW;AAClE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,EAAE,CAAC,QAAQ,WAAW,EAAE,GAAG,YAAY;AAAA,IACvC,EAAE,CAAC,qBAAqB,OAAO,EAAE,GAAG,QAAQ;AAAA,IAC5C;AAAA,IACA;AAAA,EACF;AACF;AAgBA,IAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACL,MAAuB;AACrB,QAAM,kBAAkB,cAAc,YAAY,IAAI;AAItD,QAAM,gBAAgB,QAAQ,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;AAI9D,MAAI,cAAc,CAAC,iBAAiB;AAClC,UAAM,EAAE,SAAS,SAAS,aAAa,WAAW,GAAG,SAAS,IAAI;AAClE,UAAM,UAAU,eAAe,SAAS,WAAW;AACnD,UAAM,UAAU,iBAAiB,WAAW,aAAa;AAEzD,WAAO,aAAa,IAAI,IACtB;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACC,GAAG;AAAA,QACJ,WAAW;AAAA,QACX,yBAAyB;AAAA;AAAA,IAC3B,IAEA,oBAAC,WAAQ,KAAW,GAAG,UAAU,WAAW,SACzC,gBACH;AAAA,EAEJ;AAEA,QAAM,qBACJ,oBAAoB,kBAAkB,QAAQ;AAChD,QAAM,mBACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,yBAAyB;AAAA;AAAA,EAC3B;AAGF,MAAI,aAAa;AACf,WACE,oBAAC,QAAK,KAAW,GAAG,WACjB,4BACH;AAAA,EAEJ;AAEA,SAAO;AACT;AAEA,WAAW,cAAc;",
6
+ "names": []
7
+ }
@@ -28,4 +28,4 @@ Breadcrumbs.displayName = "Breadcrumbs";
28
28
  export {
29
29
  Breadcrumbs
30
30
  };
31
- //# sourceMappingURL=chunk-3IMYDZRT.js.map
31
+ //# sourceMappingURL=chunk-JFDDW3IV.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Breadcrumbs/Breadcrumbs.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport type { ReactElement, RefAttributes, ReactNode } from \"react\";\nimport { Children, cloneElement } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport \"./Breadcrumbs.css\";\n\nexport type BreadcrumbsElementType = HTMLElement;\n\nexport interface BreadcrumbsProps extends RefAttributes<BreadcrumbsElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n children?: ReactNode;\n \"aria-label\"?: string;\n}\n\nconst Breadcrumbs = ({ ref, ...props }: BreadcrumbsProps) => {\n const { \"aria-label\": ariaLabel = \"Breadcrumbs\" } = props;\n const { navProps } = { navProps: { \"aria-label\": ariaLabel } };\n const { children, ...otherProps } = props;\n const childArray = Children.toArray(children);\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius-breadcrumb\",\n otherProps.className,\n );\n\n return (\n <nav ref={ref} {...otherProps} {...navProps} className={classes}>\n <ul>\n {childArray.map((child, i) =>\n cloneElement(\n child as ReactElement,\n {\n key: i,\n isCurrent: i === childArray.length - 1,\n } as { key: number; isCurrent: boolean },\n ),\n )}\n </ul>\n </nav>\n );\n};\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\nexport { Breadcrumbs };\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU,oBAAoB;AACvC,OAAO,gBAAgB;AACvB,OAAO;AA0BD;AAfN,IAAM,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,MAAwB;AAC3D,QAAM,EAAE,cAAc,YAAY,cAAc,IAAI;AACpD,QAAM,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,cAAc,UAAU,EAAE;AAC7D,QAAM,EAAE,UAAU,GAAG,WAAW,IAAI;AACpC,QAAM,aAAa,SAAS,QAAQ,QAAQ;AAG5C,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EACb;AAEA,SACE,oBAAC,SAAI,KAAW,GAAG,YAAa,GAAG,UAAU,WAAW,SACtD,8BAAC,QACE,qBAAW;AAAA,IAAI,CAAC,OAAO,MACtB;AAAA,MACE;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,WAAW,MAAM,WAAW,SAAS;AAAA,MACvC;AAAA,IACF;AAAA,EACF,GACF,GACF;AAEJ;AAEA,YAAY,cAAc;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ModalContext
3
- } from "./chunk-KLXMVFIR.js";
3
+ } from "./chunk-TBKQA5ZF.js";
4
4
  import {
5
5
  useDialog
6
6
  } from "./chunk-7LSDEZNB.js";
@@ -13,7 +13,7 @@ import {
13
13
 
14
14
  // src/components/Modal/Modal.tsx
15
15
  import classNames from "classnames/dedupe";
16
- import { useEffect, useMemo, useRef, useState } from "react";
16
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
17
17
  import "@simplybusiness/mobius/src/components/Modal/Modal.css";
18
18
  import { jsx } from "react/jsx-runtime";
19
19
  var TRANSITION_CSS_VARIABLE = "--modal-transition-duration";
@@ -57,12 +57,18 @@ var Modal = ({ ref, ...props }) => {
57
57
  },
58
58
  className
59
59
  );
60
+ const [titleId, setTitleId] = useState(void 0);
61
+ const handleSetTitleId = useCallback((id) => {
62
+ setTitleId(id);
63
+ }, []);
60
64
  const contextValue = useMemo(
61
65
  () => ({
62
66
  onClose: close,
63
- closeLabel
67
+ closeLabel,
68
+ titleId,
69
+ setTitleId: handleSetTitleId
64
70
  }),
65
- [close, closeLabel]
71
+ [close, closeLabel, titleId, handleSetTitleId]
66
72
  );
67
73
  return /* @__PURE__ */ jsx(
68
74
  "dialog",
@@ -70,6 +76,7 @@ var Modal = ({ ref, ...props }) => {
70
76
  ref: mergeRefs([dialogRef, ref]),
71
77
  onCancel: close,
72
78
  className: modalClasses,
79
+ "aria-labelledby": titleId,
73
80
  ...rest,
74
81
  children: /* @__PURE__ */ jsx(ModalContext.Provider, { value: contextValue, children })
75
82
  }
@@ -80,4 +87,4 @@ Modal.displayName = "Modal";
80
87
  export {
81
88
  Modal
82
89
  };
83
- //# sourceMappingURL=chunk-4IB5ROL6.js.map
90
+ //# sourceMappingURL=chunk-KXLTGNKF.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/Modal/Modal.tsx"],
4
+ "sourcesContent": ["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useDialog } from \"../../hooks\";\nimport { mergeRefs } from \"../../utils\";\nimport { supportsDialog } from \"../../utils/polyfill-tests\";\nimport { ModalContext } from \"./ModalContext\";\nimport type { ModalProps } from \"./types\";\nimport \"./Modal.css\";\n\nexport type ModalElementType = HTMLDialogElement;\n\nconst TRANSITION_CSS_VARIABLE = \"--modal-transition-duration\";\n\nconst Modal = ({ ref, ...props }: ModalProps) => {\n const {\n isOpen,\n onClose,\n onOpen,\n children,\n className,\n closeLabel,\n isFullScreen,\n animation,\n ...rest\n } = props;\n const [shouldTransition, setShouldTransition] = useState(false);\n\n useEffect(() => {\n setShouldTransition(supportsDialog());\n }, []);\n\n const dialogRef = useRef<HTMLDialogElement | null>(null);\n const { close } = useDialog({\n ref: dialogRef,\n isOpen,\n onOpen,\n onClose,\n transition: {\n isEnabled: !!animation,\n CSSVariable: TRANSITION_CSS_VARIABLE,\n },\n });\n\n const modalClasses = classNames(\n \"mobius\",\n \"mobius-modal\",\n {\n \"--no-dialog-support\": !shouldTransition, // This class is used to correctly position modal in x/y middle on iOS <= 15.2\n \"--should-transition\": shouldTransition && animation,\n \"--slide-up\": animation === \"slideUp\",\n \"--fade\": animation === \"fade\",\n \"--is-fullscreen\": isFullScreen,\n },\n className,\n );\n\n const [titleId, setTitleId] = useState<string | undefined>(undefined);\n\n const handleSetTitleId = useCallback((id: string) => {\n setTitleId(id);\n }, []);\n\n const contextValue = useMemo(\n () => ({\n onClose: close,\n closeLabel,\n titleId,\n setTitleId: handleSetTitleId,\n }),\n [close, closeLabel, titleId, handleSetTitleId],\n );\n\n return (\n <dialog\n ref={mergeRefs([dialogRef, ref])}\n onCancel={close}\n className={modalClasses}\n aria-labelledby={titleId}\n {...rest}\n >\n <ModalContext.Provider value={contextValue}>\n {children}\n </ModalContext.Provider>\n </dialog>\n );\n};\n\nModal.displayName = \"Modal\";\nexport { Modal };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAEA,OAAO,gBAAgB;AACvB,SAAS,aAAa,WAAW,SAAS,QAAQ,gBAAgB;AAMlE,OAAO;AAyED;AArEN,IAAM,0BAA0B;AAEhC,IAAM,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,MAAkB;AAC/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAE9D,YAAU,MAAM;AACd,wBAAoB,eAAe,CAAC;AAAA,EACtC,GAAG,CAAC,CAAC;AAEL,QAAM,YAAY,OAAiC,IAAI;AACvD,QAAM,EAAE,MAAM,IAAI,UAAU;AAAA,IAC1B,KAAK;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,MACV,WAAW,CAAC,CAAC;AAAA,MACb,aAAa;AAAA,IACf;AAAA,EACF,CAAC;AAED,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,MACE,uBAAuB,CAAC;AAAA;AAAA,MACxB,uBAAuB,oBAAoB;AAAA,MAC3C,cAAc,cAAc;AAAA,MAC5B,UAAU,cAAc;AAAA,MACxB,mBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,EACF;AAEA,QAAM,CAAC,SAAS,UAAU,IAAI,SAA6B,MAAS;AAEpE,QAAM,mBAAmB,YAAY,CAAC,OAAe;AACnD,eAAW,EAAE;AAAA,EACf,GAAG,CAAC,CAAC;AAEL,QAAM,eAAe;AAAA,IACnB,OAAO;AAAA,MACL,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA,YAAY;AAAA,IACd;AAAA,IACA,CAAC,OAAO,YAAY,SAAS,gBAAgB;AAAA,EAC/C;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,UAAU,CAAC,WAAW,GAAG,CAAC;AAAA,MAC/B,UAAU;AAAA,MACV,WAAW;AAAA,MACX,mBAAiB;AAAA,MAChB,GAAG;AAAA,MAEJ,8BAAC,aAAa,UAAb,EAAsB,OAAO,cAC3B,UACH;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,cAAc;",
6
+ "names": []
7
+ }
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-JWNG7LP6.js";
13
13
  import {
14
14
  HeaderCell
15
- } from "./chunk-P5ZPHAQT.js";
15
+ } from "./chunk-UCNWPF7R.js";
16
16
  import {
17
17
  Row
18
18
  } from "./chunk-Y4H4HJIE.js";
@@ -34,4 +34,4 @@ Table2.displayName = "Table";
34
34
  export {
35
35
  Table2 as Table
36
36
  };
37
- //# sourceMappingURL=chunk-TL4OCKNP.js.map
37
+ //# sourceMappingURL=chunk-LWRY3VIB.js.map
@@ -1,9 +1,12 @@
1
1
  import {
2
2
  Accordion
3
- } from "./chunk-OUKMP3DO.js";
3
+ } from "./chunk-7JT4DKQA.js";
4
4
  import {
5
5
  isLoqateErrorResponse
6
6
  } from "./chunk-66ARYOY7.js";
7
+ import {
8
+ Listbox
9
+ } from "./chunk-PQSPISME.js";
7
10
  import {
8
11
  useComboboxHighlight
9
12
  } from "./chunk-XZUQV54A.js";
@@ -14,9 +17,6 @@ import {
14
17
  import {
15
18
  useComboboxOptions
16
19
  } from "./chunk-GU5OMKTM.js";
17
- import {
18
- Listbox
19
- } from "./chunk-PQSPISME.js";
20
20
  import {
21
21
  getOptionLabel,
22
22
  getOptionValue,
@@ -28,18 +28,18 @@ import {
28
28
  import {
29
29
  Label
30
30
  } from "./chunk-ZN7OWLZY.js";
31
- import {
32
- TextAreaInput
33
- } from "./chunk-BM4M36KU.js";
34
- import {
35
- TextOrHTML
36
- } from "./chunk-QRHDVVRK.js";
37
31
  import {
38
32
  adornmentWithClassName
39
33
  } from "./chunk-IM3I5CZL.js";
34
+ import {
35
+ TextAreaInput
36
+ } from "./chunk-BM4M36KU.js";
40
37
  import {
41
38
  Icon
42
39
  } from "./chunk-TKIP5Q5H.js";
40
+ import {
41
+ TextOrHTML
42
+ } from "./chunk-HPUPB75I.js";
43
43
  import {
44
44
  VisuallyHidden
45
45
  } from "./chunk-PRZRE6A5.js";
@@ -1603,4 +1603,4 @@ export {
1603
1603
  ExpandableText,
1604
1604
  MaskedField
1605
1605
  };
1606
- //# sourceMappingURL=chunk-RR4UQSOZ.js.map
1606
+ //# sourceMappingURL=chunk-M7LTJZQU.js.map