@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/Modal/index.tsx", "../../../../src/components/Modal/Content.tsx", "../../../../src/components/Modal/Header.tsx", "../../../../src/components/Button/Button.tsx", "../../../../src/components/Button/Loading.tsx", "../../../../src/components/Icon/Icon.tsx", "../../../../src/components/VisuallyHidden/VisuallyHidden.tsx", "../../../../src/hooks/useButton/useButton.tsx", "../../../../src/components/Button/Success.tsx", "../../../../src/components/Modal/useModal.ts", "../../../../src/components/Modal/ModalContext.tsx", "../../../../src/components/Modal/Modal.tsx", "../../../../src/hooks/useDialog/useDialog.ts", "../../../../src/utils/mergeRefs.ts", "../../../../src/utils/polyfill-tests.ts", "../../../../src/hooks/useDialogPolyfill/useDialogPolyfill.ts"],
4
- "sourcesContent": ["import type {\n DivElementType as ModalContentDivElementType,\n ContentProps as ModalContentProps,\n} from \"./Content\";\nimport { Content } from \"./Content\";\nimport type {\n HeaderElementType as ModalHeaderElementType,\n HeaderProps as ModalHeaderProps,\n} from \"./Header\";\nimport { Header } from \"./Header\";\nimport { Modal as ModalComponent } from \"./Modal\";\nimport type { ModalProps, ModalContextProps } from \"./types\";\nimport { useModal } from \"./useModal\";\n\nconst Modal = Object.assign(ModalComponent, {\n Header,\n Content,\n});\n\nModal.displayName = \"Modal\";\nexport { Modal, useModal };\n\nexport type {\n ModalContextProps,\n ModalContentDivElementType,\n ModalContentProps,\n ModalHeaderElementType,\n ModalHeaderProps,\n ModalProps,\n};\n", "import type { PropsWithChildren, RefAttributes } from \"react\";\nimport type { DOMProps } from \"../../types/dom\";\n\nexport type DivElementType = HTMLDivElement;\nexport interface ContentProps\n extends DOMProps, RefAttributes<DivElementType>, PropsWithChildren {}\n\nconst Content = ({ ref, children, ...otherProps }: ContentProps) => (\n <div ref={ref} {...otherProps} className=\"mobius-modal__content\">\n {children}\n </div>\n);\n\nContent.displayName = \"Content\";\nexport { Content };\n", "import type { PropsWithChildren, RefAttributes } from \"react\";\n\nimport { cross } from \"@simplybusiness/icons\";\nimport type { DOMProps } from \"../../types/dom\";\nimport { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { useModal } from \"./useModal\";\n\nexport type HeaderElementType = HTMLDivElement;\n\nexport interface HeaderProps\n extends DOMProps, RefAttributes<HeaderElementType>, PropsWithChildren {}\n\nconst Header = ({ ref, children, ...otherProps }: HeaderProps) => {\n const { onClose, closeLabel } = useModal();\n\n return (\n <header ref={ref} {...otherProps} className=\"mobius-modal__header\">\n {children}\n <Button\n aria-label=\"Close\"\n variant=\"basic\"\n onPress={onClose}\n className=\"mobius-modal__close\"\n >\n <Icon icon={cross} /> {closeLabel}\n </Button>\n </header>\n );\n};\n\nHeader.displayName = \"Header\";\nexport { Header };\n", "\"use client\";\n\nimport type { MouseEvent, ReactNode, RefAttributes } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\nimport { Loading } from \"./Loading\";\nimport type { UseButtonProps } from \"../../hooks/useButton\";\nimport { useButton } from \"../../hooks/useButton\";\nimport { Success } from \"./Success\";\nimport \"./Button.css\";\n\nexport type ButtonElementType = HTMLButtonElement;\n\nexport type Variant = \"primary\" | \"secondary\" | \"ghost\" | \"basic\" | \"link\";\n\nexport type Size = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps\n extends UseButtonProps, DOMProps, RefAttributes<ButtonElementType> {\n /** The name of the button when submitted in a form */\n name?: string | undefined;\n /** The value of the button when submitted in a form */\n value?: string | undefined;\n /** Custom class name for setting specific CSS */\n className?: string;\n /** Shortlist of styles */\n variant?: Variant;\n size?: Size;\n /** Display loading spinner */\n isLoading?: boolean;\n /** Display success style */\n isSuccess?: boolean;\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n children?: ReactNode;\n}\n\nconst Button = ({ ref, ...props }: ButtonProps) => {\n const {\n children,\n elementType: Component = \"button\" as React.ElementType,\n isDisabled,\n isLoading,\n isSuccess,\n variant = \"primary\",\n size = \"md\",\n\n onPress,\n\n onClick,\n ...otherProps\n } = props;\n const { buttonProps } = useButton(props);\n\n // Reshape class name and apply to outer element\n otherProps.className = classNames(\n \"mobius\",\n \"mobius-button\",\n `--variant-${variant}`,\n `--size-${size}`,\n {\n \"--is-disabled\": isDisabled,\n \"--is-loading\": isLoading,\n \"--is-success\": isSuccess && !isLoading,\n },\n otherProps.className,\n );\n\n return (\n <Component ref={ref} {...buttonProps} {...otherProps}>\n {isLoading ? <Loading>{children}</Loading> : children}\n {isSuccess && !isLoading && <Success />}\n </Component>\n );\n};\n\nButton.displayName = \"Button\";\nexport { Button };\n", "import type { ReactNode } from \"react\";\nimport { loading } from \"@simplybusiness/icons\";\nimport { Icon } from \"../Icon\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\n\ntype LoadingProps = {\n children: ReactNode;\n};\n\nconst Loading = (props: LoadingProps) => {\n const { children } = props;\n\n return (\n <>\n <div className=\"mobius-button__icon-wrapper\">\n <Icon icon={loading} spin size=\"md\" />\n </div>\n <VisuallyHidden className=\"mobius-button__loading-text\">\n Loading\n </VisuallyHidden>\n {children}\n </>\n );\n};\n\nexport { Loading };\n", "import classNames from \"classnames/dedupe\";\nimport type { IconProps } from \"./types\";\nimport \"./Icon.css\";\n\nconst ICON_PREFIX = \"mobius-icon\";\n\nconst capitaliseFirstLetter = (str: string) =>\n str.charAt(0).toUpperCase() + str.slice(1);\n\nexport function Icon({\n ref,\n icon,\n className,\n size = \"xs\",\n color,\n fixedWidth,\n spin,\n spinReverse,\n title,\n ...otherProps\n}: IconProps) {\n if (!icon) {\n throw new Error(\"Must specify icon object\");\n }\n\n const classes = classNames(\n \"mobius\",\n \"mobius-icon\",\n `svg-inline--${ICON_PREFIX}`,\n `--size-${size}`,\n className,\n {\n [`${ICON_PREFIX}-fw`]: fixedWidth,\n [`${ICON_PREFIX}-spin`]: spin || spinReverse,\n [`${ICON_PREFIX}-spin-reverse`]: spinReverse,\n },\n );\n\n const { iconName, width, height, svgPathData } = icon;\n const formattedIconName = iconName.split(\"-\").join(\" \");\n\n const defaultTitle = `${capitaliseFirstLetter(formattedIconName)} icon`;\n const titleText = title || defaultTitle;\n\n return (\n <svg\n ref={ref}\n focusable=\"false\"\n data-icon={iconName}\n className={classes}\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${width} ${height}`}\n style={{ color }}\n {...otherProps}\n >\n <title>{titleText}</title>\n <path fill=\"currentColor\" d={svgPathData} />\n </svg>\n );\n}\n", "import type { AriaRole, JSXElementConstructor, ReactNode } from \"react\";\n\nexport interface VisuallyHiddenProps {\n /** The content to visually hide. */\n children?: ReactNode;\n id?: string;\n role?: AriaRole;\n\n className?: string;\n\n /**\n * The element type for the container. Defaults to 'div'\n */\n elementType?: string | JSXElementConstructor<any>;\n}\n\nexport function VisuallyHidden(props: VisuallyHiddenProps) {\n const {\n className,\n children,\n elementType: Component = \"div\",\n ...otherProps\n } = props;\n\n return (\n <Component\n className={className}\n style={{\n border: 0,\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\",\n }}\n {...otherProps}\n >\n {children}\n </Component>\n );\n}\n", "import type { JSXElementConstructor } from \"react\";\nimport { useCallback } from \"react\";\n\nexport interface UseButtonProps {\n elementType?:\n | \"button\"\n | \"a\"\n | \"span\"\n | \"input\"\n | JSXElementConstructor<unknown>\n | undefined;\n type?: \"button\" | \"submit\" | \"reset\";\n isDisabled?: boolean;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onPress?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n href?: string;\n target?: string;\n rel?: string;\n role?: string;\n name?: string | undefined;\n value?: string | undefined;\n}\n\nexport function useButton({\n elementType = \"button\",\n type = \"button\",\n isDisabled = false,\n href,\n target,\n rel,\n role,\n name,\n value,\n onClick,\n onPress,\n}: UseButtonProps) {\n const realOnClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n\n onClick?.(event);\n onPress?.(event);\n },\n [isDisabled, onClick, onPress],\n );\n\n function getRole() {\n if (role) {\n return role;\n }\n\n if (elementType === \"a\") {\n return undefined;\n }\n\n return \"button\";\n }\n\n const extraProps =\n elementType === \"button\"\n ? { type }\n : {\n role: getRole(),\n };\n\n return {\n buttonProps: {\n href: elementType === \"a\" ? href : undefined,\n target: elementType === \"a\" ? target : undefined,\n rel: elementType === \"a\" ? rel : undefined,\n tabIndex: isDisabled ? -1 : 0,\n disabled: isDisabled || undefined,\n \"aria-disabled\": isDisabled || undefined,\n name:\n elementType === \"input\" || elementType === \"button\" ? name : undefined,\n value:\n elementType === \"input\" || elementType === \"button\" ? value : undefined,\n ...extraProps,\n onClick: realOnClick,\n },\n };\n}\n", "import { tick } from \"@simplybusiness/icons\";\nimport { Icon } from \"../Icon\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\n\nconst Success = () => (\n <>\n <div className=\"mobius-button__icon-wrapper\">\n <Icon icon={tick} size=\"md\" />\n </div>\n <VisuallyHidden className=\"mobius-button__success-text\">\n Success\n </VisuallyHidden>\n </>\n);\n\nexport { Success };\n", "import { useContext } from \"react\";\nimport { ModalContext } from \"./ModalContext\";\n\nexport const useModal = () => {\n const { onClose, closeLabel } = useContext(ModalContext);\n\n return { onClose, closeLabel };\n};\n", "import { createContext } from \"react\";\nimport type { ModalContextProps } from \"./types\";\n\nexport const ModalContext = createContext<ModalContextProps>({\n onClose: () => {},\n closeLabel: undefined,\n});\n", "\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport { 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 contextValue = useMemo(\n () => ({\n onClose: close,\n closeLabel,\n }),\n [close, closeLabel],\n );\n\n return (\n <dialog\n ref={mergeRefs([dialogRef, ref])}\n onCancel={close}\n className={modalClasses}\n {...rest}\n >\n <ModalContext.Provider value={contextValue}>\n {children}\n </ModalContext.Provider>\n </dialog>\n );\n};\n\nModal.displayName = \"Modal\";\nexport { Modal };\n", "import type { MutableRefObject, SyntheticEvent } from \"react\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { supportsDialog } from \"../../utils\";\nimport { useBodyScrollLock } from \"@simplybusiness/mobius-hooks\";\nimport { useDialogPolyfill } from \"../useDialogPolyfill\";\n\nexport type TransitionProps = {\n isEnabled: boolean;\n CSSVariable: string;\n};\n\nexport type useDialogProps = {\n ref: MutableRefObject<HTMLDialogElement | null>;\n transition: TransitionProps;\n isOpen: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n};\n\nconst TRANSITION_CLASS_NAME = \"--transition\";\nconst FALLBACK_TRANSITION_DURATION = 0;\n\nexport const useDialog = (props: useDialogProps) => {\n const { ref, isOpen, transition, onOpen, onClose } = props;\n const [hasDialogSupport, setHasDialogSupport] = useState(false);\n const shouldTransition = hasDialogSupport && transition.isEnabled;\n const { polyfillDialog } = useDialogPolyfill();\n\n useEffect(() => {\n setHasDialogSupport(supportsDialog());\n }, []);\n\n // Read CSS variable value as number\n const TRANSITION_DURATION_IN_MS =\n (ref.current &&\n Number(\n getComputedStyle(ref.current)\n .getPropertyValue(transition.CSSVariable)\n .replace(\"ms\", \"\"),\n )) ||\n FALLBACK_TRANSITION_DURATION;\n\n useBodyScrollLock({ enabled: isOpen });\n\n const open = useCallback(() => {\n ref.current?.showModal();\n onOpen?.();\n }, [onOpen, ref]);\n\n const close = useCallback(() => {\n ref.current?.close();\n onClose?.();\n }, [onClose, ref]);\n\n // Add close handler, to enable closing transitions\n const handleClose = useCallback(\n (event?: SyntheticEvent<HTMLElement, Event>) => {\n if (event) {\n // Prevent default event coming from onCancel,\n // which is triggered by pressing ESC key\n event.preventDefault();\n // Ensure that nested `<dialog>` elements\n // don't close the parent\n event.stopPropagation();\n }\n\n if (shouldTransition) {\n ref.current?.classList.remove(TRANSITION_CLASS_NAME);\n // Delay close to allow exit transition\n setTimeout(() => close(), TRANSITION_DURATION_IN_MS);\n } else {\n close();\n }\n },\n [TRANSITION_DURATION_IN_MS, close, ref, shouldTransition],\n );\n\n useEffect(() => {\n async function toggleDialog() {\n if (isOpen && !ref.current?.open) {\n await polyfillDialog(ref);\n\n open();\n // Fix opening transition in Safari being skipped\n // by wrapping with setTimeout\n setTimeout(() => {\n ref.current?.classList.add(TRANSITION_CLASS_NAME);\n }, 0);\n } else if (!isOpen && ref.current?.open) {\n handleClose();\n }\n }\n\n void toggleDialog();\n }, [handleClose, isOpen, open, ref, polyfillDialog]);\n\n return {\n open,\n close: handleClose,\n };\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 { MutableRefObject } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { supportsDialog } from \"../../utils\";\n\n// Add polyfill for HTML Dialog in old browsers\nexport const useDialogPolyfill = () => {\n const [hasDialogSupport, setHasDialogSupport] = useState(false);\n const hasAlreadyLoaded = useRef(false);\n\n useEffect(() => {\n setHasDialogSupport(supportsDialog());\n }, []);\n\n const polyfillDialog = async (\n ref: MutableRefObject<HTMLDialogElement | null>,\n ) => {\n if (\n !hasAlreadyLoaded.current &&\n !hasDialogSupport &&\n typeof window !== \"undefined\" &&\n ref.current !== null\n ) {\n const { default: dialogPolyfill } = await import(\"dialog-polyfill\");\n\n hasAlreadyLoaded.current = true;\n try {\n if (ref.current) {\n dialogPolyfill.registerDialog(ref.current);\n }\n } catch (error) {\n console.error(\"Failed to load dialog-polyfill\", error);\n }\n }\n };\n\n return {\n polyfillDialog,\n };\n};\n"],
5
- "mappings": "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",
6
- "names": ["Modal", "import_icons", "import_dedupe", "import_jsx_runtime", "classNames", "import_jsx_runtime", "import_jsx_runtime", "import_icons", "import_jsx_runtime", "import_jsx_runtime", "classNames", "import_react", "import_react", "import_jsx_runtime", "import_dedupe", "import_react", "import_react", "import_react", "import_jsx_runtime", "classNames", "Modal"]
4
+ "sourcesContent": ["import type {\n DivElementType as ModalContentDivElementType,\n ContentProps as ModalContentProps,\n} from \"./Content\";\nimport { Content } from \"./Content\";\nimport type {\n HeaderElementType as ModalHeaderElementType,\n HeaderProps as ModalHeaderProps,\n} from \"./Header\";\nimport { Header } from \"./Header\";\nimport { Modal as ModalComponent } from \"./Modal\";\nimport type { ModalProps, ModalContextProps } from \"./types\";\nimport { useModal } from \"./useModal\";\n\nconst Modal = Object.assign(ModalComponent, {\n Header,\n Content,\n});\n\nModal.displayName = \"Modal\";\nexport { Modal, useModal };\n\nexport type {\n ModalContextProps,\n ModalContentDivElementType,\n ModalContentProps,\n ModalHeaderElementType,\n ModalHeaderProps,\n ModalProps,\n};\n", "import type { PropsWithChildren, RefAttributes } from \"react\";\nimport type { DOMProps } from \"../../types/dom\";\n\nexport type DivElementType = HTMLDivElement;\nexport interface ContentProps\n extends DOMProps, RefAttributes<DivElementType>, PropsWithChildren {}\n\nconst Content = ({ ref, children, ...otherProps }: ContentProps) => (\n <div ref={ref} {...otherProps} className=\"mobius-modal__content\">\n {children}\n </div>\n);\n\nContent.displayName = \"Content\";\nexport { Content };\n", "import type { PropsWithChildren, RefAttributes } from \"react\";\nimport { useEffect, useId } from \"react\";\n\nimport { cross } from \"@simplybusiness/icons\";\nimport type { DOMProps } from \"../../types/dom\";\nimport { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { useModal } from \"./useModal\";\n\nexport type HeaderElementType = HTMLDivElement;\n\nexport interface HeaderProps\n extends DOMProps, RefAttributes<HeaderElementType>, PropsWithChildren {}\n\nconst Header = ({ ref, children, ...otherProps }: HeaderProps) => {\n const { onClose, closeLabel, setTitleId } = useModal();\n const titleId = useId();\n\n useEffect(() => {\n setTitleId(titleId);\n }, [titleId, setTitleId]);\n\n return (\n <header\n ref={ref}\n {...otherProps}\n className=\"mobius-modal__header\"\n id={titleId}\n >\n {children}\n <Button\n aria-label=\"Close\"\n variant=\"basic\"\n onPress={onClose}\n className=\"mobius-modal__close\"\n >\n <Icon icon={cross} /> {closeLabel}\n </Button>\n </header>\n );\n};\n\nHeader.displayName = \"Header\";\nexport { Header };\n", "\"use client\";\n\nimport type { MouseEvent, ReactNode, RefAttributes } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport type { DOMProps } from \"../../types/dom\";\nimport { Loading } from \"./Loading\";\nimport type { UseButtonProps } from \"../../hooks/useButton\";\nimport { useButton } from \"../../hooks/useButton\";\nimport { Success } from \"./Success\";\nimport \"./Button.css\";\n\nexport type ButtonElementType = HTMLButtonElement;\n\nexport type Variant = \"primary\" | \"secondary\" | \"ghost\" | \"basic\" | \"link\";\n\nexport type Size = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps\n extends UseButtonProps, DOMProps, RefAttributes<ButtonElementType> {\n /** The name of the button when submitted in a form */\n name?: string | undefined;\n /** The value of the button when submitted in a form */\n value?: string | undefined;\n /** Custom class name for setting specific CSS */\n className?: string;\n /** Shortlist of styles */\n variant?: Variant;\n size?: Size;\n /** Display loading spinner */\n isLoading?: boolean;\n /** Display success style */\n isSuccess?: boolean;\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n children?: ReactNode;\n}\n\nconst Button = ({ ref, ...props }: ButtonProps) => {\n const {\n children,\n elementType: Component = \"button\" as React.ElementType,\n isDisabled,\n isLoading,\n isSuccess,\n variant = \"primary\",\n size = \"md\",\n\n onPress,\n\n onClick,\n ...otherProps\n } = props;\n const { buttonProps } = useButton(props);\n\n // Reshape class name and apply to outer element\n otherProps.className = classNames(\n \"mobius\",\n \"mobius-button\",\n `--variant-${variant}`,\n `--size-${size}`,\n {\n \"--is-disabled\": isDisabled,\n \"--is-loading\": isLoading,\n \"--is-success\": isSuccess && !isLoading,\n },\n otherProps.className,\n );\n\n return (\n <Component ref={ref} {...buttonProps} {...otherProps}>\n {isLoading ? <Loading>{children}</Loading> : children}\n {isSuccess && !isLoading && <Success />}\n </Component>\n );\n};\n\nButton.displayName = \"Button\";\nexport { Button };\n", "import type { ReactNode } from \"react\";\nimport { loading } from \"@simplybusiness/icons\";\nimport { Icon } from \"../Icon\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\n\ntype LoadingProps = {\n children: ReactNode;\n};\n\nconst Loading = (props: LoadingProps) => {\n const { children } = props;\n\n return (\n <>\n <div className=\"mobius-button__icon-wrapper\">\n <Icon icon={loading} spin size=\"md\" />\n </div>\n <VisuallyHidden className=\"mobius-button__loading-text\">\n Loading\n </VisuallyHidden>\n {children}\n </>\n );\n};\n\nexport { Loading };\n", "import classNames from \"classnames/dedupe\";\nimport type { IconProps } from \"./types\";\nimport \"./Icon.css\";\n\nconst ICON_PREFIX = \"mobius-icon\";\n\nconst capitaliseFirstLetter = (str: string) =>\n str.charAt(0).toUpperCase() + str.slice(1);\n\nexport function Icon({\n ref,\n icon,\n className,\n size = \"xs\",\n color,\n fixedWidth,\n spin,\n spinReverse,\n title,\n ...otherProps\n}: IconProps) {\n if (!icon) {\n throw new Error(\"Must specify icon object\");\n }\n\n const classes = classNames(\n \"mobius\",\n \"mobius-icon\",\n `svg-inline--${ICON_PREFIX}`,\n `--size-${size}`,\n className,\n {\n [`${ICON_PREFIX}-fw`]: fixedWidth,\n [`${ICON_PREFIX}-spin`]: spin || spinReverse,\n [`${ICON_PREFIX}-spin-reverse`]: spinReverse,\n },\n );\n\n const { iconName, width, height, svgPathData } = icon;\n const formattedIconName = iconName.split(\"-\").join(\" \");\n\n const defaultTitle = `${capitaliseFirstLetter(formattedIconName)} icon`;\n const titleText = title || defaultTitle;\n\n return (\n <svg\n ref={ref}\n focusable=\"false\"\n data-icon={iconName}\n className={classes}\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${width} ${height}`}\n style={{ color }}\n {...otherProps}\n >\n <title>{titleText}</title>\n <path fill=\"currentColor\" d={svgPathData} />\n </svg>\n );\n}\n", "import type { AriaRole, JSXElementConstructor, ReactNode } from \"react\";\n\nexport interface VisuallyHiddenProps {\n /** The content to visually hide. */\n children?: ReactNode;\n id?: string;\n role?: AriaRole;\n\n className?: string;\n\n /**\n * The element type for the container. Defaults to 'div'\n */\n elementType?: string | JSXElementConstructor<any>;\n}\n\nexport function VisuallyHidden(props: VisuallyHiddenProps) {\n const {\n className,\n children,\n elementType: Component = \"div\",\n ...otherProps\n } = props;\n\n return (\n <Component\n className={className}\n style={{\n border: 0,\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\",\n }}\n {...otherProps}\n >\n {children}\n </Component>\n );\n}\n", "import type { JSXElementConstructor } from \"react\";\nimport { useCallback } from \"react\";\n\nexport interface UseButtonProps {\n elementType?:\n | \"button\"\n | \"a\"\n | \"span\"\n | \"input\"\n | JSXElementConstructor<unknown>\n | undefined;\n type?: \"button\" | \"submit\" | \"reset\";\n isDisabled?: boolean;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onPress?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n href?: string;\n target?: string;\n rel?: string;\n role?: string;\n name?: string | undefined;\n value?: string | undefined;\n}\n\nexport function useButton({\n elementType = \"button\",\n type = \"button\",\n isDisabled = false,\n href,\n target,\n rel,\n role,\n name,\n value,\n onClick,\n onPress,\n}: UseButtonProps) {\n const realOnClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n\n onClick?.(event);\n onPress?.(event);\n },\n [isDisabled, onClick, onPress],\n );\n\n function getRole() {\n if (role) {\n return role;\n }\n\n if (elementType === \"a\") {\n return undefined;\n }\n\n return \"button\";\n }\n\n const extraProps =\n elementType === \"button\"\n ? { type }\n : {\n role: getRole(),\n };\n\n return {\n buttonProps: {\n href: elementType === \"a\" ? href : undefined,\n target: elementType === \"a\" ? target : undefined,\n rel: elementType === \"a\" ? rel : undefined,\n tabIndex: isDisabled ? -1 : 0,\n disabled: isDisabled || undefined,\n \"aria-disabled\": isDisabled || undefined,\n name:\n elementType === \"input\" || elementType === \"button\" ? name : undefined,\n value:\n elementType === \"input\" || elementType === \"button\" ? value : undefined,\n ...extraProps,\n onClick: realOnClick,\n },\n };\n}\n", "import { tick } from \"@simplybusiness/icons\";\nimport { Icon } from \"../Icon\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\n\nconst Success = () => (\n <>\n <div className=\"mobius-button__icon-wrapper\">\n <Icon icon={tick} size=\"md\" />\n </div>\n <VisuallyHidden className=\"mobius-button__success-text\">\n Success\n </VisuallyHidden>\n </>\n);\n\nexport { Success };\n", "import { useContext } from \"react\";\nimport { ModalContext } from \"./ModalContext\";\n\nexport const useModal = () => {\n const { onClose, closeLabel, titleId, setTitleId } = useContext(ModalContext);\n\n return { onClose, closeLabel, titleId, setTitleId };\n};\n", "import { createContext } from \"react\";\nimport type { ModalContextProps } from \"./types\";\n\nexport const ModalContext = createContext<ModalContextProps>({\n onClose: () => {},\n closeLabel: undefined,\n titleId: undefined,\n setTitleId: () => {},\n});\n", "\"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", "import type { MutableRefObject, SyntheticEvent } from \"react\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { supportsDialog } from \"../../utils\";\nimport { useBodyScrollLock } from \"@simplybusiness/mobius-hooks\";\nimport { useDialogPolyfill } from \"../useDialogPolyfill\";\n\nexport type TransitionProps = {\n isEnabled: boolean;\n CSSVariable: string;\n};\n\nexport type useDialogProps = {\n ref: MutableRefObject<HTMLDialogElement | null>;\n transition: TransitionProps;\n isOpen: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n};\n\nconst TRANSITION_CLASS_NAME = \"--transition\";\nconst FALLBACK_TRANSITION_DURATION = 0;\n\nexport const useDialog = (props: useDialogProps) => {\n const { ref, isOpen, transition, onOpen, onClose } = props;\n const [hasDialogSupport, setHasDialogSupport] = useState(false);\n const shouldTransition = hasDialogSupport && transition.isEnabled;\n const { polyfillDialog } = useDialogPolyfill();\n\n useEffect(() => {\n setHasDialogSupport(supportsDialog());\n }, []);\n\n // Read CSS variable value as number\n const TRANSITION_DURATION_IN_MS =\n (ref.current &&\n Number(\n getComputedStyle(ref.current)\n .getPropertyValue(transition.CSSVariable)\n .replace(\"ms\", \"\"),\n )) ||\n FALLBACK_TRANSITION_DURATION;\n\n useBodyScrollLock({ enabled: isOpen });\n\n const open = useCallback(() => {\n ref.current?.showModal();\n onOpen?.();\n }, [onOpen, ref]);\n\n const close = useCallback(() => {\n ref.current?.close();\n onClose?.();\n }, [onClose, ref]);\n\n // Add close handler, to enable closing transitions\n const handleClose = useCallback(\n (event?: SyntheticEvent<HTMLElement, Event>) => {\n if (event) {\n // Prevent default event coming from onCancel,\n // which is triggered by pressing ESC key\n event.preventDefault();\n // Ensure that nested `<dialog>` elements\n // don't close the parent\n event.stopPropagation();\n }\n\n if (shouldTransition) {\n ref.current?.classList.remove(TRANSITION_CLASS_NAME);\n // Delay close to allow exit transition\n setTimeout(() => close(), TRANSITION_DURATION_IN_MS);\n } else {\n close();\n }\n },\n [TRANSITION_DURATION_IN_MS, close, ref, shouldTransition],\n );\n\n useEffect(() => {\n async function toggleDialog() {\n if (isOpen && !ref.current?.open) {\n await polyfillDialog(ref);\n\n open();\n // Fix opening transition in Safari being skipped\n // by wrapping with setTimeout\n setTimeout(() => {\n ref.current?.classList.add(TRANSITION_CLASS_NAME);\n }, 0);\n } else if (!isOpen && ref.current?.open) {\n handleClose();\n }\n }\n\n void toggleDialog();\n }, [handleClose, isOpen, open, ref, polyfillDialog]);\n\n return {\n open,\n close: handleClose,\n };\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 { MutableRefObject } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { supportsDialog } from \"../../utils\";\n\n// Add polyfill for HTML Dialog in old browsers\nexport const useDialogPolyfill = () => {\n const [hasDialogSupport, setHasDialogSupport] = useState(false);\n const hasAlreadyLoaded = useRef(false);\n\n useEffect(() => {\n setHasDialogSupport(supportsDialog());\n }, []);\n\n const polyfillDialog = async (\n ref: MutableRefObject<HTMLDialogElement | null>,\n ) => {\n if (\n !hasAlreadyLoaded.current &&\n !hasDialogSupport &&\n typeof window !== \"undefined\" &&\n ref.current !== null\n ) {\n const { default: dialogPolyfill } = await import(\"dialog-polyfill\");\n\n hasAlreadyLoaded.current = true;\n try {\n if (ref.current) {\n dialogPolyfill.registerDialog(ref.current);\n }\n } catch (error) {\n console.error(\"Failed to load dialog-polyfill\", error);\n }\n }\n };\n\n return {\n polyfillDialog,\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Modal", "import_react", "import_icons", "import_dedupe", "import_jsx_runtime", "classNames", "import_jsx_runtime", "import_jsx_runtime", "import_icons", "import_jsx_runtime", "import_jsx_runtime", "classNames", "import_react", "import_react", "import_jsx_runtime", "import_dedupe", "import_react", "import_react", "import_react", "import_jsx_runtime", "classNames", "Modal"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/Modal/types.ts"],
4
- "sourcesContent": ["import type { ReactNode, RefAttributes, SyntheticEvent } from \"react\";\nimport type { ModalElementType } from \"./Modal\";\n\nexport interface ModalProps extends RefAttributes<ModalElementType> {\n isOpen: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n children?: ReactNode;\n className?: string;\n closeLabel?: string;\n animation?: \"slideUp\" | \"fade\";\n isFullScreen?: boolean;\n}\n\nexport type ModalContextProps = {\n onClose: (event?: SyntheticEvent<HTMLElement, Event>) => void;\n closeLabel: string | undefined;\n};\n"],
4
+ "sourcesContent": ["import type { ReactNode, RefAttributes, SyntheticEvent } from \"react\";\nimport type { ModalElementType } from \"./Modal\";\n\nexport interface ModalProps extends RefAttributes<ModalElementType> {\n isOpen: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n children?: ReactNode;\n className?: string;\n closeLabel?: string;\n animation?: \"slideUp\" | \"fade\";\n isFullScreen?: boolean;\n}\n\nexport type ModalContextProps = {\n onClose: (event?: SyntheticEvent<HTMLElement, Event>) => void;\n closeLabel: string | undefined;\n titleId: string | undefined;\n setTitleId: (id: string) => void;\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -30,12 +30,15 @@ var import_react = require("react");
30
30
  var ModalContext = (0, import_react.createContext)({
31
31
  onClose: () => {
32
32
  },
33
- closeLabel: void 0
33
+ closeLabel: void 0,
34
+ titleId: void 0,
35
+ setTitleId: () => {
36
+ }
34
37
  });
35
38
 
36
39
  // src/components/Modal/useModal.ts
37
40
  var useModal = () => {
38
- const { onClose, closeLabel } = (0, import_react2.useContext)(ModalContext);
39
- return { onClose, closeLabel };
41
+ const { onClose, closeLabel, titleId, setTitleId } = (0, import_react2.useContext)(ModalContext);
42
+ return { onClose, closeLabel, titleId, setTitleId };
40
43
  };
41
44
  //# sourceMappingURL=useModal.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/Modal/useModal.ts", "../../../../src/components/Modal/ModalContext.tsx"],
4
- "sourcesContent": ["import { useContext } from \"react\";\nimport { ModalContext } from \"./ModalContext\";\n\nexport const useModal = () => {\n const { onClose, closeLabel } = useContext(ModalContext);\n\n return { onClose, closeLabel };\n};\n", "import { createContext } from \"react\";\nimport type { ModalContextProps } from \"./types\";\n\nexport const ModalContext = createContext<ModalContextProps>({\n onClose: () => {},\n closeLabel: undefined,\n});\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,gBAA2B;;;ACA3B,mBAA8B;AAGvB,IAAM,mBAAe,4BAAiC;AAAA,EAC3D,SAAS,MAAM;AAAA,EAAC;AAAA,EAChB,YAAY;AACd,CAAC;;;ADHM,IAAM,WAAW,MAAM;AAC5B,QAAM,EAAE,SAAS,WAAW,QAAI,0BAAW,YAAY;AAEvD,SAAO,EAAE,SAAS,WAAW;AAC/B;",
4
+ "sourcesContent": ["import { useContext } from \"react\";\nimport { ModalContext } from \"./ModalContext\";\n\nexport const useModal = () => {\n const { onClose, closeLabel, titleId, setTitleId } = useContext(ModalContext);\n\n return { onClose, closeLabel, titleId, setTitleId };\n};\n", "import { createContext } from \"react\";\nimport type { ModalContextProps } from \"./types\";\n\nexport const ModalContext = createContext<ModalContextProps>({\n onClose: () => {},\n closeLabel: undefined,\n titleId: undefined,\n setTitleId: () => {},\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,gBAA2B;;;ACA3B,mBAA8B;AAGvB,IAAM,mBAAe,4BAAiC;AAAA,EAC3D,SAAS,MAAM;AAAA,EAAC;AAAA,EAChB,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY,MAAM;AAAA,EAAC;AACrB,CAAC;;;ADLM,IAAM,WAAW,MAAM;AAC5B,QAAM,EAAE,SAAS,YAAY,SAAS,WAAW,QAAI,0BAAW,YAAY;AAE5E,SAAO,EAAE,SAAS,YAAY,SAAS,WAAW;AACpD;",
6
6
  "names": ["import_react"]
7
7
  }