@simplybusiness/mobius 10.1.2 → 10.3.0

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 (342) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/components/AddressLookup/AddressLookup.js +223 -162
  3. package/dist/cjs/components/AddressLookup/AddressLookup.js.map +4 -4
  4. package/dist/cjs/components/AddressLookup/index.js +223 -162
  5. package/dist/cjs/components/AddressLookup/index.js.map +4 -4
  6. package/dist/cjs/components/Alert/Alert.js +10 -7
  7. package/dist/cjs/components/Alert/Alert.js.map +2 -2
  8. package/dist/cjs/components/Alert/index.js +10 -7
  9. package/dist/cjs/components/Alert/index.js.map +2 -2
  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 +190 -129
  20. package/dist/cjs/components/Checkbox/Checkbox.js.map +4 -4
  21. package/dist/cjs/components/Checkbox/CheckboxGroup.js +195 -134
  22. package/dist/cjs/components/Checkbox/CheckboxGroup.js.map +4 -4
  23. package/dist/cjs/components/Checkbox/index.js +203 -142
  24. package/dist/cjs/components/Checkbox/index.js.map +4 -4
  25. package/dist/cjs/components/Combobox/Combobox.js +218 -157
  26. package/dist/cjs/components/Combobox/Combobox.js.map +4 -4
  27. package/dist/cjs/components/Combobox/index.js +218 -157
  28. package/dist/cjs/components/Combobox/index.js.map +4 -4
  29. package/dist/cjs/components/DateField/DateField.js +191 -130
  30. package/dist/cjs/components/DateField/DateField.js.map +4 -4
  31. package/dist/cjs/components/DateField/index.js +191 -130
  32. package/dist/cjs/components/DateField/index.js.map +4 -4
  33. package/dist/cjs/components/ErrorMessage/ErrorMessage.js +182 -121
  34. package/dist/cjs/components/ErrorMessage/ErrorMessage.js.map +4 -4
  35. package/dist/cjs/components/ErrorMessage/index.js +182 -121
  36. package/dist/cjs/components/ErrorMessage/index.js.map +4 -4
  37. package/dist/cjs/components/ExpandableText/ExpandableText.js +182 -121
  38. package/dist/cjs/components/ExpandableText/ExpandableText.js.map +4 -4
  39. package/dist/cjs/components/ExpandableText/index.js +182 -121
  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 +185 -124
  54. package/dist/cjs/components/MaskedField/MaskedField.js.map +4 -4
  55. package/dist/cjs/components/MaskedField/index.js +185 -124
  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 +185 -124
  69. package/dist/cjs/components/NumberField/NumberField.js.map +4 -4
  70. package/dist/cjs/components/NumberField/index.js +185 -124
  71. package/dist/cjs/components/NumberField/index.js.map +4 -4
  72. package/dist/cjs/components/PasswordField/PasswordField.js +185 -124
  73. package/dist/cjs/components/PasswordField/PasswordField.js.map +4 -4
  74. package/dist/cjs/components/PasswordField/ShowHideButton.js +182 -121
  75. package/dist/cjs/components/PasswordField/ShowHideButton.js.map +4 -4
  76. package/dist/cjs/components/PasswordField/index.js +185 -124
  77. package/dist/cjs/components/PasswordField/index.js.map +4 -4
  78. package/dist/cjs/components/Radio/Radio.js +182 -121
  79. package/dist/cjs/components/Radio/Radio.js.map +4 -4
  80. package/dist/cjs/components/Radio/RadioGroup.js +182 -121
  81. package/dist/cjs/components/Radio/RadioGroup.js.map +4 -4
  82. package/dist/cjs/components/Radio/index.js +182 -121
  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 +182 -121
  91. package/dist/cjs/components/Select/Select.js.map +4 -4
  92. package/dist/cjs/components/Select/index.js +182 -121
  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 +10 -7
  99. package/dist/cjs/components/Text/Text.js.map +2 -2
  100. package/dist/cjs/components/Text/index.js +10 -7
  101. package/dist/cjs/components/Text/index.js.map +2 -2
  102. package/dist/cjs/components/TextArea/TextArea.js +182 -121
  103. package/dist/cjs/components/TextArea/TextArea.js.map +4 -4
  104. package/dist/cjs/components/TextArea/index.js +182 -121
  105. package/dist/cjs/components/TextArea/index.js.map +4 -4
  106. package/dist/cjs/components/TextField/TextField.js +185 -124
  107. package/dist/cjs/components/TextField/TextField.js.map +4 -4
  108. package/dist/cjs/components/TextField/index.js +185 -124
  109. package/dist/cjs/components/TextField/index.js.map +4 -4
  110. package/dist/cjs/components/TextOrHTML/TextOrHTML.js +10 -7
  111. package/dist/cjs/components/TextOrHTML/TextOrHTML.js.map +2 -2
  112. package/dist/cjs/components/TextOrHTML/index.js +10 -7
  113. package/dist/cjs/components/TextOrHTML/index.js.map +2 -2
  114. package/dist/cjs/components/index.js +209 -148
  115. package/dist/cjs/components/index.js.map +4 -4
  116. package/dist/cjs/index.js +209 -148
  117. package/dist/cjs/index.js.map +4 -4
  118. package/dist/cjs/meta.json +876 -571
  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-CZWEMAKZ.js +16 -0
  126. package/dist/esm/chunk-CZWEMAKZ.js.map +7 -0
  127. package/dist/esm/{chunk-Q5YY6HPF.js → chunk-DZVBN6ZI.js} +5 -5
  128. package/dist/esm/{chunk-OC6ULO4M.js → chunk-EJLNC5X5.js} +2 -2
  129. package/dist/esm/{chunk-LVZ2T6AY.js → chunk-EZ4S7XVZ.js} +16 -8
  130. package/dist/esm/chunk-EZ4S7XVZ.js.map +7 -0
  131. package/dist/esm/chunk-FIAL4HTE.js +1 -0
  132. package/dist/esm/{chunk-YLL2DKVF.js → chunk-FQ6P6JB5.js} +3 -3
  133. package/dist/esm/chunk-FQ6P6JB5.js.map +7 -0
  134. package/dist/esm/{chunk-OZ2IUZIJ.js → chunk-HP2NRM7T.js} +2 -2
  135. package/dist/esm/{chunk-PB2OICEB.js → chunk-I6EUIFUJ.js} +15 -11
  136. package/dist/esm/chunk-I6EUIFUJ.js.map +7 -0
  137. package/dist/esm/{chunk-3IMYDZRT.js → chunk-JFDDW3IV.js} +1 -1
  138. package/dist/esm/chunk-JFDDW3IV.js.map +7 -0
  139. package/dist/esm/{chunk-4IB5ROL6.js → chunk-KXLTGNKF.js} +12 -5
  140. package/dist/esm/chunk-KXLTGNKF.js.map +7 -0
  141. package/dist/esm/{chunk-TL4OCKNP.js → chunk-LWRY3VIB.js} +2 -2
  142. package/dist/esm/chunk-MPB5F6QL.js +53 -0
  143. package/dist/esm/chunk-MPB5F6QL.js.map +7 -0
  144. package/dist/esm/{chunk-DNMS6KEY.js → chunk-PARKMZYZ.js} +4 -4
  145. package/dist/esm/{chunk-DNMS6KEY.js.map → chunk-PARKMZYZ.js.map} +2 -2
  146. package/dist/esm/chunk-Q5MIALGZ.js +15 -0
  147. package/dist/esm/{chunk-ZHX7Z5IU.js.map → chunk-Q5MIALGZ.js.map} +2 -2
  148. package/dist/esm/{chunk-N5WGQAHM.js → chunk-QWD72EVP.js} +4 -4
  149. package/dist/esm/{chunk-KLXMVFIR.js → chunk-TBKQA5ZF.js} +5 -2
  150. package/dist/esm/{chunk-KLXMVFIR.js.map → chunk-TBKQA5ZF.js.map} +2 -2
  151. package/dist/esm/{chunk-B243ELKZ.js → chunk-TJCUKTFX.js} +10 -4
  152. package/dist/esm/chunk-TJCUKTFX.js.map +7 -0
  153. package/dist/esm/{chunk-P5ZPHAQT.js → chunk-UCNWPF7R.js} +3 -3
  154. package/dist/esm/chunk-UCNWPF7R.js.map +7 -0
  155. package/dist/esm/{chunk-S37ULE57.js → chunk-VASDBM4Z.js} +1 -1
  156. package/dist/esm/{chunk-S37ULE57.js.map → chunk-VASDBM4Z.js.map} +2 -2
  157. package/dist/esm/{chunk-QRHDVVRK.js → chunk-VIDKIVA6.js} +2 -2
  158. package/dist/esm/{chunk-SDGIWQ3R.js → chunk-WP5OEMNG.js} +3 -3
  159. package/dist/esm/{chunk-SDGIWQ3R.js.map → chunk-WP5OEMNG.js.map} +2 -2
  160. package/dist/esm/{chunk-MLN5ELQR.js → chunk-WXRQIMMM.js} +1 -1
  161. package/dist/esm/chunk-WXRQIMMM.js.map +7 -0
  162. package/dist/esm/{chunk-O47IW7HD.js → chunk-YCE2KOB2.js} +5 -5
  163. package/dist/esm/{chunk-SNRPWCHL.js → chunk-ZS5MFZHD.js} +11 -8
  164. package/dist/esm/chunk-ZS5MFZHD.js.map +7 -0
  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 +1 -1
  234. package/dist/esm/components/Text/index.js +1 -1
  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 +54 -53
  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 +56 -55
  253. package/dist/esm/meta.json +5694 -5363
  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 +1 -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/AddressLookup/AddressLookup.test.tsx +76 -0
  274. package/src/components/AddressLookup/AddressLookup.tsx +9 -0
  275. package/src/components/Box/Box.test.tsx +24 -0
  276. package/src/components/Box/Box.tsx +11 -3
  277. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +130 -0
  278. package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  279. package/src/components/Button/Button.test.tsx +77 -0
  280. package/src/components/Container/Container.test.tsx +19 -0
  281. package/src/components/Divider/Divider.test.tsx +18 -0
  282. package/src/components/Drawer/Drawer.css +24 -3
  283. package/src/components/Flex/Flex.test.tsx +7 -0
  284. package/src/components/Grid/Grid.test.tsx +30 -0
  285. package/src/components/Grid/Grid.tsx +2 -2
  286. package/src/components/Grid/Item.tsx +3 -3
  287. package/src/components/Icon/Icon.test.tsx +33 -0
  288. package/src/components/Image/Image.test.tsx +7 -0
  289. package/src/components/Label/Label.test.tsx +7 -0
  290. package/src/components/Link/Link.test.tsx +44 -0
  291. package/src/components/List/List.test.tsx +11 -0
  292. package/src/components/List/List.tsx +6 -2
  293. package/src/components/Logo/Logo.test.tsx +36 -0
  294. package/src/components/Logo/Logo.tsx +8 -0
  295. package/src/components/Modal/Header.tsx +13 -2
  296. package/src/components/Modal/Modal.css +42 -3
  297. package/src/components/Modal/Modal.test.tsx +19 -1
  298. package/src/components/Modal/Modal.tsx +11 -2
  299. package/src/components/Modal/ModalContext.tsx +2 -0
  300. package/src/components/Modal/types.ts +2 -0
  301. package/src/components/Modal/useModal.ts +2 -2
  302. package/src/components/Option/Option.test.tsx +67 -0
  303. package/src/components/Progress/Progress.test.tsx +7 -0
  304. package/src/components/SVG/SVG.test.tsx +40 -0
  305. package/src/components/SVG/SVG.tsx +4 -0
  306. package/src/components/Segment/Segment.test.tsx +72 -0
  307. package/src/components/Segment/Segment.tsx +7 -4
  308. package/src/components/Stack/Stack.test.tsx +41 -1
  309. package/src/components/Table/HeaderCell.tsx +3 -2
  310. package/src/components/Table/Table.test.tsx +180 -0
  311. package/src/components/Text/Text.test.tsx +80 -0
  312. package/src/components/Text/Text.tsx +13 -8
  313. package/src/components/TextAreaInput/TextAreaInput.test.tsx +51 -0
  314. package/src/components/Trust/Trust.test.tsx +52 -1
  315. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +66 -0
  316. package/src/utils/filterUndefinedProps.test.ts +11 -0
  317. package/src/utils/filterUnsetValues.test.ts +16 -0
  318. package/src/utils/filterUnsetValues.ts +17 -0
  319. package/src/utils/index.ts +1 -0
  320. package/dist/esm/chunk-3IMYDZRT.js.map +0 -7
  321. package/dist/esm/chunk-4IB5ROL6.js.map +0 -7
  322. package/dist/esm/chunk-B243ELKZ.js.map +0 -7
  323. package/dist/esm/chunk-DSYPZETD.js +0 -1
  324. package/dist/esm/chunk-LVZ2T6AY.js.map +0 -7
  325. package/dist/esm/chunk-MLN5ELQR.js.map +0 -7
  326. package/dist/esm/chunk-P5ZPHAQT.js.map +0 -7
  327. package/dist/esm/chunk-PB2OICEB.js.map +0 -7
  328. package/dist/esm/chunk-SNRPWCHL.js.map +0 -7
  329. package/dist/esm/chunk-XNVA7FCA.js +0 -39
  330. package/dist/esm/chunk-XNVA7FCA.js.map +0 -7
  331. package/dist/esm/chunk-YLL2DKVF.js.map +0 -7
  332. package/dist/esm/chunk-ZHX7Z5IU.js +0 -15
  333. /package/dist/esm/{chunk-NYFCN7EA.js.map → chunk-6GGDGE7D.js.map} +0 -0
  334. /package/dist/esm/{chunk-OUKMP3DO.js.map → chunk-7JT4DKQA.js.map} +0 -0
  335. /package/dist/esm/{chunk-Q5YY6HPF.js.map → chunk-DZVBN6ZI.js.map} +0 -0
  336. /package/dist/esm/{chunk-OC6ULO4M.js.map → chunk-EJLNC5X5.js.map} +0 -0
  337. /package/dist/esm/{chunk-DSYPZETD.js.map → chunk-FIAL4HTE.js.map} +0 -0
  338. /package/dist/esm/{chunk-OZ2IUZIJ.js.map → chunk-HP2NRM7T.js.map} +0 -0
  339. /package/dist/esm/{chunk-TL4OCKNP.js.map → chunk-LWRY3VIB.js.map} +0 -0
  340. /package/dist/esm/{chunk-N5WGQAHM.js.map → chunk-QWD72EVP.js.map} +0 -0
  341. /package/dist/esm/{chunk-QRHDVVRK.js.map → chunk-VIDKIVA6.js.map} +0 -0
  342. /package/dist/esm/{chunk-O47IW7HD.js.map → chunk-YCE2KOB2.js.map} +0 -0
@@ -40,15 +40,18 @@ var import_dedupe = __toESM(require("classnames/dedupe"));
40
40
  var import_Text = require("@simplybusiness/mobius/src/components/Text/Text.css");
41
41
  var import_jsx_runtime = require("react/jsx-runtime");
42
42
  var getElementType = (variant, elementType) => {
43
- if (variant) {
44
- return ["h1", "h2", "h3", "h4"].includes(variant) ? variant : "p";
43
+ if (elementType) {
44
+ return elementType;
45
45
  }
46
- return elementType || "p";
46
+ if (variant && ["h1", "h2", "h3", "h4"].includes(variant)) {
47
+ return variant;
48
+ }
49
+ return "p";
47
50
  };
48
- var Text = ({ ref, elementType: Component = "p", ...props }) => {
51
+ var Text = ({ ref, elementType, ...props }) => {
49
52
  const { variant, className, spacing, ...otherProps } = props;
50
- const elementType = getElementType(variant, Component);
51
- const variantType = variant || elementType;
53
+ const Element = getElementType(variant, elementType);
54
+ const variantType = variant || Element;
52
55
  const classes = (0, import_dedupe.default)(
53
56
  "mobius",
54
57
  "mobius-text",
@@ -56,7 +59,7 @@ var Text = ({ ref, elementType: Component = "p", ...props }) => {
56
59
  { [`--has-line-height-${spacing}`]: spacing },
57
60
  className
58
61
  );
59
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ref, ...otherProps, className: classes });
62
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Element, { ref, ...otherProps, className: classes });
60
63
  };
61
64
  Text.displayName = "Text";
62
65
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/TextOrHTML/TextOrHTML.tsx", "../../../../src/components/Text/Text.tsx"],
4
- "sourcesContent": ["import type { RefAttributes } from \"react\";\nimport { useMemo } from \"react\";\nimport type { TextElementType, TextProps } from \"../Text/Text\";\nimport { Text } from \"../Text/Text\";\n\nexport type HTMLElementType = \"span\" | \"div\";\n\nconst isHTML = (text: string) => /^\\s*<[a-z]/i.test(text);\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 textIsHTML = autoDetect && isHTML(text);\n const shouldWrapInText = autoDetect\n ? textWrapper || !textIsHTML\n : textWrapper;\n const resolvedElementType = htmlElementType ?? (textIsHTML ? \"div\" : \"span\");\n const DangerousComponent = resolvedElementType;\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 const dangerousElement = (\n <DangerousComponent\n className={htmlClassName}\n dangerouslySetInnerHTML={dangerousHTML}\n />\n );\n\n if (shouldWrapInText) {\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", "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\nconst getElementType = (\n variant: TextVariantType | undefined,\n elementType: ElementType | undefined,\n) => {\n if (variant) {\n return [\"h1\", \"h2\", \"h3\", \"h4\"].includes(variant) ? variant : \"p\";\n }\n return elementType || \"p\";\n};\n\nconst Text = ({ ref, elementType: Component = \"p\", ...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 elementType = getElementType(variant, Component);\n const variantType = variant || elementType;\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 <Component ref={ref} {...otherProps} className={classes} />;\n};\n\nText.displayName = \"Text\";\nexport { Text };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAwB;;;ACAxB,oBAAuB;AAEvB,kBAAO;AAmDE;AAzBT,IAAM,iBAAiB,CACrB,SACA,gBACG;AACH,MAAI,SAAS;AACX,WAAO,CAAC,MAAM,MAAM,MAAM,IAAI,EAAE,SAAS,OAAO,IAAI,UAAU;AAAA,EAChE;AACA,SAAO,eAAe;AACxB;AAEA,IAAM,OAAO,CAAC,EAAE,KAAK,aAAa,YAAY,KAAK,GAAG,MAAM,MAAiB;AAE3E,QAAM,EAAE,SAAS,WAAW,SAAS,GAAG,WAAW,IAAI;AAGvD,QAAM,cAAc,eAAe,SAAS,SAAS;AACrD,QAAM,cAAc,WAAW;AAC/B,QAAM,cAAU,cAAAA;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,4CAAC,aAAU,KAAW,GAAG,YAAY,WAAW,SAAS;AAClE;AAEA,KAAK,cAAc;;;ADbf,IAAAC,sBAAA;AArCJ,IAAM,SAAS,CAAC,SAAiB,cAAc,KAAK,IAAI;AAgBxD,IAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACL,MAAuB;AACrB,QAAM,aAAa,cAAc,OAAO,IAAI;AAC5C,QAAM,mBAAmB,aACrB,eAAe,CAAC,aAChB;AACJ,QAAM,sBAAsB,oBAAoB,aAAa,QAAQ;AACrE,QAAM,qBAAqB;AAI3B,QAAM,oBAAgB,sBAAQ,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;AAE9D,QAAM,mBACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,yBAAyB;AAAA;AAAA,EAC3B;AAGF,MAAI,kBAAkB;AACpB,WACE,6CAAC,QAAK,KAAW,GAAG,WACjB,4BACH;AAAA,EAEJ;AAEA,SAAO;AACT;AAEA,WAAW,cAAc;",
4
+ "sourcesContent": ["import type { RefAttributes } from \"react\";\nimport { useMemo } from \"react\";\nimport type { TextElementType, TextProps } from \"../Text/Text\";\nimport { Text } from \"../Text/Text\";\n\nexport type HTMLElementType = \"span\" | \"div\";\n\nconst isHTML = (text: string) => /^\\s*<[a-z]/i.test(text);\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 textIsHTML = autoDetect && isHTML(text);\n const shouldWrapInText = autoDetect\n ? textWrapper || !textIsHTML\n : textWrapper;\n const resolvedElementType = htmlElementType ?? (textIsHTML ? \"div\" : \"span\");\n const DangerousComponent = resolvedElementType;\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 const dangerousElement = (\n <DangerousComponent\n className={htmlClassName}\n dangerouslySetInnerHTML={dangerousHTML}\n />\n );\n\n if (shouldWrapInText) {\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", "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\nconst 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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAwB;;;ACAxB,oBAAuB;AAEvB,kBAAO;AAwDE;AA9BT,IAAM,iBAAiB,CACrB,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,cAAU,cAAAA;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,4CAAC,WAAQ,KAAW,GAAG,YAAY,WAAW,SAAS;AAChE;AAEA,KAAK,cAAc;;;ADlBf,IAAAC,sBAAA;AArCJ,IAAM,SAAS,CAAC,SAAiB,cAAc,KAAK,IAAI;AAgBxD,IAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACL,MAAuB;AACrB,QAAM,aAAa,cAAc,OAAO,IAAI;AAC5C,QAAM,mBAAmB,aACrB,eAAe,CAAC,aAChB;AACJ,QAAM,sBAAsB,oBAAoB,aAAa,QAAQ;AACrE,QAAM,qBAAqB;AAI3B,QAAM,oBAAgB,sBAAQ,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;AAE9D,QAAM,mBACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,yBAAyB;AAAA;AAAA,EAC3B;AAGF,MAAI,kBAAkB;AACpB,WACE,6CAAC,QAAK,KAAW,GAAG,WACjB,4BACH;AAAA,EAEJ;AAEA,SAAO;AACT;AAEA,WAAW,cAAc;",
6
6
  "names": ["classNames", "import_jsx_runtime"]
7
7
  }
@@ -42,15 +42,18 @@ var import_dedupe = __toESM(require("classnames/dedupe"));
42
42
  var import_Text = require("@simplybusiness/mobius/src/components/Text/Text.css");
43
43
  var import_jsx_runtime = require("react/jsx-runtime");
44
44
  var getElementType = (variant, elementType) => {
45
- if (variant) {
46
- return ["h1", "h2", "h3", "h4"].includes(variant) ? variant : "p";
45
+ if (elementType) {
46
+ return elementType;
47
47
  }
48
- return elementType || "p";
48
+ if (variant && ["h1", "h2", "h3", "h4"].includes(variant)) {
49
+ return variant;
50
+ }
51
+ return "p";
49
52
  };
50
- var Text = ({ ref, elementType: Component = "p", ...props }) => {
53
+ var Text = ({ ref, elementType, ...props }) => {
51
54
  const { variant, className, spacing, ...otherProps } = props;
52
- const elementType = getElementType(variant, Component);
53
- const variantType = variant || elementType;
55
+ const Element = getElementType(variant, elementType);
56
+ const variantType = variant || Element;
54
57
  const classes = (0, import_dedupe.default)(
55
58
  "mobius",
56
59
  "mobius-text",
@@ -58,7 +61,7 @@ var Text = ({ ref, elementType: Component = "p", ...props }) => {
58
61
  { [`--has-line-height-${spacing}`]: spacing },
59
62
  className
60
63
  );
61
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ref, ...otherProps, className: classes });
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Element, { ref, ...otherProps, className: classes });
62
65
  };
63
66
  Text.displayName = "Text";
64
67
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/TextOrHTML/index.tsx", "../../../../src/components/TextOrHTML/TextOrHTML.tsx", "../../../../src/components/Text/Text.tsx"],
4
- "sourcesContent": ["export * from \"./TextOrHTML\";\n", "import type { RefAttributes } from \"react\";\nimport { useMemo } from \"react\";\nimport type { TextElementType, TextProps } from \"../Text/Text\";\nimport { Text } from \"../Text/Text\";\n\nexport type HTMLElementType = \"span\" | \"div\";\n\nconst isHTML = (text: string) => /^\\s*<[a-z]/i.test(text);\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 textIsHTML = autoDetect && isHTML(text);\n const shouldWrapInText = autoDetect\n ? textWrapper || !textIsHTML\n : textWrapper;\n const resolvedElementType = htmlElementType ?? (textIsHTML ? \"div\" : \"span\");\n const DangerousComponent = resolvedElementType;\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 const dangerousElement = (\n <DangerousComponent\n className={htmlClassName}\n dangerouslySetInnerHTML={dangerousHTML}\n />\n );\n\n if (shouldWrapInText) {\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", "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\nconst getElementType = (\n variant: TextVariantType | undefined,\n elementType: ElementType | undefined,\n) => {\n if (variant) {\n return [\"h1\", \"h2\", \"h3\", \"h4\"].includes(variant) ? variant : \"p\";\n }\n return elementType || \"p\";\n};\n\nconst Text = ({ ref, elementType: Component = \"p\", ...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 elementType = getElementType(variant, Component);\n const variantType = variant || elementType;\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 <Component ref={ref} {...otherProps} className={classes} />;\n};\n\nText.displayName = \"Text\";\nexport { Text };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,mBAAwB;;;ACAxB,oBAAuB;AAEvB,kBAAO;AAmDE;AAzBT,IAAM,iBAAiB,CACrB,SACA,gBACG;AACH,MAAI,SAAS;AACX,WAAO,CAAC,MAAM,MAAM,MAAM,IAAI,EAAE,SAAS,OAAO,IAAI,UAAU;AAAA,EAChE;AACA,SAAO,eAAe;AACxB;AAEA,IAAM,OAAO,CAAC,EAAE,KAAK,aAAa,YAAY,KAAK,GAAG,MAAM,MAAiB;AAE3E,QAAM,EAAE,SAAS,WAAW,SAAS,GAAG,WAAW,IAAI;AAGvD,QAAM,cAAc,eAAe,SAAS,SAAS;AACrD,QAAM,cAAc,WAAW;AAC/B,QAAM,cAAU,cAAAA;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,4CAAC,aAAU,KAAW,GAAG,YAAY,WAAW,SAAS;AAClE;AAEA,KAAK,cAAc;;;ADbf,IAAAC,sBAAA;AArCJ,IAAM,SAAS,CAAC,SAAiB,cAAc,KAAK,IAAI;AAgBxD,IAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACL,MAAuB;AACrB,QAAM,aAAa,cAAc,OAAO,IAAI;AAC5C,QAAM,mBAAmB,aACrB,eAAe,CAAC,aAChB;AACJ,QAAM,sBAAsB,oBAAoB,aAAa,QAAQ;AACrE,QAAM,qBAAqB;AAI3B,QAAM,oBAAgB,sBAAQ,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;AAE9D,QAAM,mBACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,yBAAyB;AAAA;AAAA,EAC3B;AAGF,MAAI,kBAAkB;AACpB,WACE,6CAAC,QAAK,KAAW,GAAG,WACjB,4BACH;AAAA,EAEJ;AAEA,SAAO;AACT;AAEA,WAAW,cAAc;",
4
+ "sourcesContent": ["export * from \"./TextOrHTML\";\n", "import type { RefAttributes } from \"react\";\nimport { useMemo } from \"react\";\nimport type { TextElementType, TextProps } from \"../Text/Text\";\nimport { Text } from \"../Text/Text\";\n\nexport type HTMLElementType = \"span\" | \"div\";\n\nconst isHTML = (text: string) => /^\\s*<[a-z]/i.test(text);\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 textIsHTML = autoDetect && isHTML(text);\n const shouldWrapInText = autoDetect\n ? textWrapper || !textIsHTML\n : textWrapper;\n const resolvedElementType = htmlElementType ?? (textIsHTML ? \"div\" : \"span\");\n const DangerousComponent = resolvedElementType;\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 const dangerousElement = (\n <DangerousComponent\n className={htmlClassName}\n dangerouslySetInnerHTML={dangerousHTML}\n />\n );\n\n if (shouldWrapInText) {\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", "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\nconst 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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,mBAAwB;;;ACAxB,oBAAuB;AAEvB,kBAAO;AAwDE;AA9BT,IAAM,iBAAiB,CACrB,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,cAAU,cAAAA;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,4CAAC,WAAQ,KAAW,GAAG,YAAY,WAAW,SAAS;AAChE;AAEA,KAAK,cAAc;;;ADlBf,IAAAC,sBAAA;AArCJ,IAAM,SAAS,CAAC,SAAiB,cAAc,KAAK,IAAI;AAgBxD,IAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACL,MAAuB;AACrB,QAAM,aAAa,cAAc,OAAO,IAAI;AAC5C,QAAM,mBAAmB,aACrB,eAAe,CAAC,aAChB;AACJ,QAAM,sBAAsB,oBAAoB,aAAa,QAAQ;AACrE,QAAM,qBAAqB;AAI3B,QAAM,oBAAgB,sBAAQ,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;AAE9D,QAAM,mBACJ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,yBAAyB;AAAA;AAAA,EAC3B;AAGF,MAAI,kBAAkB;AACpB,WACE,6CAAC,QAAK,KAAW,GAAG,WACjB,4BACH;AAAA,EAEJ;AAEA,SAAO;AACT;AAEA,WAAW,cAAc;",
6
6
  "names": ["classNames", "import_jsx_runtime"]
7
7
  }