@simplybusiness/mobius 4.3.1 → 4.3.2

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 (451) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/components/Drawer/Drawer.js +8 -1
  3. package/dist/cjs/components/Drawer/Drawer.js.map +1 -1
  4. package/dist/cjs/components/Modal/Modal.js +8 -1
  5. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  6. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  7. package/dist/esm/components/Drawer/Drawer.js +8 -1
  8. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  9. package/dist/esm/components/Modal/Modal.js +8 -1
  10. package/dist/esm/components/Modal/Modal.js.map +1 -1
  11. package/dist/{cjs → types}/components/Drawer/Content.d.ts +2 -3
  12. package/dist/types/components/Drawer/Drawer.d.ts +6 -0
  13. package/dist/{cjs → types}/components/Drawer/Header.d.ts +2 -3
  14. package/dist/{cjs → types}/components/Drawer/index.d.ts +2 -5
  15. package/dist/{cjs/components/Drawer/Drawer.d.ts → types/components/Drawer/types.d.ts} +0 -5
  16. package/dist/{cjs → types}/components/Modal/Content.d.ts +2 -3
  17. package/dist/{cjs → types}/components/Modal/Header.d.ts +2 -3
  18. package/dist/types/components/Modal/Modal.d.ts +6 -0
  19. package/dist/{cjs → types}/components/Modal/index.d.ts +2 -5
  20. package/dist/{cjs/components/Modal/Modal.d.ts → types/components/Modal/types.d.ts} +1 -5
  21. package/dist/{cjs → types}/hooks/useButton/useButton.d.ts +1 -1
  22. package/dist/{cjs → types}/utils/index.d.ts +0 -1
  23. package/dist/types/utils/jestMockMatchMedia.d.ts +1 -0
  24. package/package.json +9 -11
  25. package/src/components/Drawer/Drawer.tsx +8 -1
  26. package/src/components/Modal/Modal.tsx +9 -1
  27. package/dist/cjs/components/Accordion/Accordion.stories.js +0 -62
  28. package/dist/cjs/components/Accordion/Accordion.stories.js.map +0 -1
  29. package/dist/cjs/components/Accordion/Accordion.test.js +0 -191
  30. package/dist/cjs/components/Accordion/Accordion.test.js.map +0 -1
  31. package/dist/cjs/components/Alert/Alert.stories.js +0 -37
  32. package/dist/cjs/components/Alert/Alert.stories.js.map +0 -1
  33. package/dist/cjs/components/Alert/Alert.test.js +0 -50
  34. package/dist/cjs/components/Alert/Alert.test.js.map +0 -1
  35. package/dist/cjs/components/Box/Box.stories.js +0 -24
  36. package/dist/cjs/components/Box/Box.stories.js.map +0 -1
  37. package/dist/cjs/components/Box/Box.test.js +0 -33
  38. package/dist/cjs/components/Box/Box.test.js.map +0 -1
  39. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +0 -19
  40. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.js.map +0 -1
  41. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.test.js +0 -36
  42. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.test.js.map +0 -1
  43. package/dist/cjs/components/Button/Button.stories.js +0 -224
  44. package/dist/cjs/components/Button/Button.stories.js.map +0 -1
  45. package/dist/cjs/components/Button/Button.test.js +0 -87
  46. package/dist/cjs/components/Button/Button.test.js.map +0 -1
  47. package/dist/cjs/components/Checkbox/Checkbox.stories.js +0 -83
  48. package/dist/cjs/components/Checkbox/Checkbox.stories.js.map +0 -1
  49. package/dist/cjs/components/Checkbox/Checkbox.test.js +0 -174
  50. package/dist/cjs/components/Checkbox/Checkbox.test.js.map +0 -1
  51. package/dist/cjs/components/Checkbox/CheckboxGroup.stories.js +0 -67
  52. package/dist/cjs/components/Checkbox/CheckboxGroup.stories.js.map +0 -1
  53. package/dist/cjs/components/Checkbox/CheckboxGroup.test.js +0 -242
  54. package/dist/cjs/components/Checkbox/CheckboxGroup.test.js.map +0 -1
  55. package/dist/cjs/components/Container/Container.stories.js +0 -14
  56. package/dist/cjs/components/Container/Container.stories.js.map +0 -1
  57. package/dist/cjs/components/Container/Container.test.js +0 -39
  58. package/dist/cjs/components/Container/Container.test.js.map +0 -1
  59. package/dist/cjs/components/Divider/Divider.stories.js +0 -18
  60. package/dist/cjs/components/Divider/Divider.stories.js.map +0 -1
  61. package/dist/cjs/components/Divider/Divider.test.js +0 -31
  62. package/dist/cjs/components/Divider/Divider.test.js.map +0 -1
  63. package/dist/cjs/components/Drawer/Drawer.stories.js +0 -54
  64. package/dist/cjs/components/Drawer/Drawer.stories.js.map +0 -1
  65. package/dist/cjs/components/Drawer/Drawer.test.js +0 -123
  66. package/dist/cjs/components/Drawer/Drawer.test.js.map +0 -1
  67. package/dist/cjs/components/Drawer/DrawerContext.js +0 -17
  68. package/dist/cjs/components/Drawer/DrawerContext.js.map +0 -1
  69. package/dist/cjs/components/Drawer/useDrawer.js +0 -21
  70. package/dist/cjs/components/Drawer/useDrawer.js.map +0 -1
  71. package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.js +0 -66
  72. package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.js.map +0 -1
  73. package/dist/cjs/components/DropdownMenu/DropdownMenu.test.js +0 -97
  74. package/dist/cjs/components/DropdownMenu/DropdownMenu.test.js.map +0 -1
  75. package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.js +0 -23
  76. package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.js.map +0 -1
  77. package/dist/cjs/components/ErrorMessage/ErrorMessage.test.js +0 -32
  78. package/dist/cjs/components/ErrorMessage/ErrorMessage.test.js.map +0 -1
  79. package/dist/cjs/components/Fieldset/Fieldset.stories.js +0 -29
  80. package/dist/cjs/components/Fieldset/Fieldset.stories.js.map +0 -1
  81. package/dist/cjs/components/Fieldset/Fieldset.test.js +0 -12
  82. package/dist/cjs/components/Fieldset/Fieldset.test.js.map +0 -1
  83. package/dist/cjs/components/Flex/Flex.stories.js +0 -147
  84. package/dist/cjs/components/Flex/Flex.stories.js.map +0 -1
  85. package/dist/cjs/components/Flex/Flex.test.js +0 -33
  86. package/dist/cjs/components/Flex/Flex.test.js.map +0 -1
  87. package/dist/cjs/components/Flex/propUtils.test.js +0 -99
  88. package/dist/cjs/components/Flex/propUtils.test.js.map +0 -1
  89. package/dist/cjs/components/Grid/Grid.stories.js +0 -218
  90. package/dist/cjs/components/Grid/Grid.stories.js.map +0 -1
  91. package/dist/cjs/components/Grid/Grid.test.js +0 -97
  92. package/dist/cjs/components/Grid/Grid.test.js.map +0 -1
  93. package/dist/cjs/components/Icon/Icon.stories.js +0 -35
  94. package/dist/cjs/components/Icon/Icon.stories.js.map +0 -1
  95. package/dist/cjs/components/Icon/Icon.test.js +0 -34
  96. package/dist/cjs/components/Icon/Icon.test.js.map +0 -1
  97. package/dist/cjs/components/Image/Image.stories.js +0 -19
  98. package/dist/cjs/components/Image/Image.stories.js.map +0 -1
  99. package/dist/cjs/components/Image/Image.test.js +0 -39
  100. package/dist/cjs/components/Image/Image.test.js.map +0 -1
  101. package/dist/cjs/components/Label/Label.stories.js +0 -17
  102. package/dist/cjs/components/Label/Label.stories.js.map +0 -1
  103. package/dist/cjs/components/Label/Label.test.js +0 -37
  104. package/dist/cjs/components/Label/Label.test.js.map +0 -1
  105. package/dist/cjs/components/Link/Link.stories.js +0 -45
  106. package/dist/cjs/components/Link/Link.stories.js.map +0 -1
  107. package/dist/cjs/components/Link/Link.test.js +0 -65
  108. package/dist/cjs/components/Link/Link.test.js.map +0 -1
  109. package/dist/cjs/components/LinkButton/LinkButton.stories.js +0 -46
  110. package/dist/cjs/components/LinkButton/LinkButton.stories.js.map +0 -1
  111. package/dist/cjs/components/LinkButton/LinkButton.test.js +0 -67
  112. package/dist/cjs/components/LinkButton/LinkButton.test.js.map +0 -1
  113. package/dist/cjs/components/List/List.stories.js +0 -82
  114. package/dist/cjs/components/List/List.stories.js.map +0 -1
  115. package/dist/cjs/components/List/List.test.js +0 -95
  116. package/dist/cjs/components/List/List.test.js.map +0 -1
  117. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.js +0 -53
  118. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.js.map +0 -1
  119. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.test.js +0 -29
  120. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.test.js.map +0 -1
  121. package/dist/cjs/components/Logo/Logo.stories.js +0 -22
  122. package/dist/cjs/components/Logo/Logo.stories.js.map +0 -1
  123. package/dist/cjs/components/Logo/Logo.test.js +0 -25
  124. package/dist/cjs/components/Logo/Logo.test.js.map +0 -1
  125. package/dist/cjs/components/Modal/Modal.stories.js +0 -90
  126. package/dist/cjs/components/Modal/Modal.stories.js.map +0 -1
  127. package/dist/cjs/components/Modal/Modal.test.js +0 -137
  128. package/dist/cjs/components/Modal/Modal.test.js.map +0 -1
  129. package/dist/cjs/components/NumberField/NumberField.stories.js +0 -100
  130. package/dist/cjs/components/NumberField/NumberField.stories.js.map +0 -1
  131. package/dist/cjs/components/NumberField/NumberField.test.js +0 -117
  132. package/dist/cjs/components/NumberField/NumberField.test.js.map +0 -1
  133. package/dist/cjs/components/PasswordField/PasswordField.stories.js +0 -41
  134. package/dist/cjs/components/PasswordField/PasswordField.stories.js.map +0 -1
  135. package/dist/cjs/components/PasswordField/PasswordField.test.js +0 -34
  136. package/dist/cjs/components/PasswordField/PasswordField.test.js.map +0 -1
  137. package/dist/cjs/components/Popover/Popover.stories.js +0 -32
  138. package/dist/cjs/components/Popover/Popover.stories.js.map +0 -1
  139. package/dist/cjs/components/Popover/Popover.test.js +0 -104
  140. package/dist/cjs/components/Popover/Popover.test.js.map +0 -1
  141. package/dist/cjs/components/Progress/Progress.stories.js +0 -96
  142. package/dist/cjs/components/Progress/Progress.stories.js.map +0 -1
  143. package/dist/cjs/components/Progress/Progress.test.js +0 -60
  144. package/dist/cjs/components/Progress/Progress.test.js.map +0 -1
  145. package/dist/cjs/components/Radio/Radio.stories.js +0 -122
  146. package/dist/cjs/components/Radio/Radio.stories.js.map +0 -1
  147. package/dist/cjs/components/Radio/Radio.test.js +0 -259
  148. package/dist/cjs/components/Radio/Radio.test.js.map +0 -1
  149. package/dist/cjs/components/Radio/RadioButton.stories.js +0 -90
  150. package/dist/cjs/components/Radio/RadioButton.stories.js.map +0 -1
  151. package/dist/cjs/components/Radio/RadioButton.test.js +0 -23
  152. package/dist/cjs/components/Radio/RadioButton.test.js.map +0 -1
  153. package/dist/cjs/components/SVG/SVG.stories.js +0 -21
  154. package/dist/cjs/components/SVG/SVG.stories.js.map +0 -1
  155. package/dist/cjs/components/SVG/SVG.test.js +0 -28
  156. package/dist/cjs/components/SVG/SVG.test.js.map +0 -1
  157. package/dist/cjs/components/Segment/Segment.stories.js +0 -125
  158. package/dist/cjs/components/Segment/Segment.stories.js.map +0 -1
  159. package/dist/cjs/components/Select/Select.stories.js +0 -89
  160. package/dist/cjs/components/Select/Select.stories.js.map +0 -1
  161. package/dist/cjs/components/Select/Select.test.js +0 -108
  162. package/dist/cjs/components/Select/Select.test.js.map +0 -1
  163. package/dist/cjs/components/Slider/Slider.stories.js +0 -84
  164. package/dist/cjs/components/Slider/Slider.stories.js.map +0 -1
  165. package/dist/cjs/components/Slider/Slider.test.js +0 -85
  166. package/dist/cjs/components/Slider/Slider.test.js.map +0 -1
  167. package/dist/cjs/components/Slider/helpers.test.js +0 -75
  168. package/dist/cjs/components/Slider/helpers.test.js.map +0 -1
  169. package/dist/cjs/components/Table/Table.stories.js +0 -17
  170. package/dist/cjs/components/Table/Table.stories.js.map +0 -1
  171. package/dist/cjs/components/Table/Table.test.js +0 -75
  172. package/dist/cjs/components/Table/Table.test.js.map +0 -1
  173. package/dist/cjs/components/Text/Text.stories.js +0 -38
  174. package/dist/cjs/components/Text/Text.stories.js.map +0 -1
  175. package/dist/cjs/components/Text/Text.test.js +0 -33
  176. package/dist/cjs/components/Text/Text.test.js.map +0 -1
  177. package/dist/cjs/components/TextArea/TextArea.stories.js +0 -92
  178. package/dist/cjs/components/TextArea/TextArea.stories.js.map +0 -1
  179. package/dist/cjs/components/TextArea/TextArea.test.js +0 -87
  180. package/dist/cjs/components/TextArea/TextArea.test.js.map +0 -1
  181. package/dist/cjs/components/TextAreaInput/TextAreaInput.test.js +0 -35
  182. package/dist/cjs/components/TextAreaInput/TextAreaInput.test.js.map +0 -1
  183. package/dist/cjs/components/TextField/TextField.stories.js +0 -219
  184. package/dist/cjs/components/TextField/TextField.stories.js.map +0 -1
  185. package/dist/cjs/components/TextField/TextField.test.js +0 -164
  186. package/dist/cjs/components/TextField/TextField.test.js.map +0 -1
  187. package/dist/cjs/components/Title/Title.stories.js +0 -18
  188. package/dist/cjs/components/Title/Title.stories.js.map +0 -1
  189. package/dist/cjs/components/Title/Title.test.js +0 -22
  190. package/dist/cjs/components/Title/Title.test.js.map +0 -1
  191. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.js +0 -14
  192. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.js.map +0 -1
  193. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.js +0 -31
  194. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.js.map +0 -1
  195. package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.js +0 -28
  196. package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.js.map +0 -1
  197. package/dist/cjs/hooks/useBreakpoint/useBreakpoint.test.js +0 -377
  198. package/dist/cjs/hooks/useBreakpoint/useBreakpoint.test.js.map +0 -1
  199. package/dist/cjs/hooks/useButton/useButton.test.js +0 -143
  200. package/dist/cjs/hooks/useButton/useButton.test.js.map +0 -1
  201. package/dist/cjs/hooks/useLabel/useLabel.test.js +0 -49
  202. package/dist/cjs/hooks/useLabel/useLabel.test.js.map +0 -1
  203. package/dist/cjs/hooks/useTextField/useTextField.test.js +0 -167
  204. package/dist/cjs/hooks/useTextField/useTextField.test.js.map +0 -1
  205. package/dist/cjs/utils/StoryContainer.js +0 -39
  206. package/dist/cjs/utils/StoryContainer.js.map +0 -1
  207. package/dist/cjs/utils/excludeControls.test.js +0 -25
  208. package/dist/cjs/utils/excludeControls.test.js.map +0 -1
  209. package/dist/cjs/utils/sizeClasses.test.js +0 -20
  210. package/dist/cjs/utils/sizeClasses.test.js.map +0 -1
  211. package/dist/cjs/utils/spaceDelimitedList.test.js +0 -27
  212. package/dist/cjs/utils/spaceDelimitedList.test.js.map +0 -1
  213. package/dist/esm/components/Drawer/DrawerContext.js +0 -7
  214. package/dist/esm/components/Drawer/DrawerContext.js.map +0 -1
  215. package/dist/esm/components/Drawer/useDrawer.js +0 -11
  216. package/dist/esm/components/Drawer/useDrawer.js.map +0 -1
  217. package/dist/esm/components/Flex/propUtils.test.js +0 -97
  218. package/dist/esm/components/Flex/propUtils.test.js.map +0 -1
  219. package/dist/esm/components/Slider/helpers.test.js +0 -73
  220. package/dist/esm/components/Slider/helpers.test.js.map +0 -1
  221. package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.test.js +0 -29
  222. package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.test.js.map +0 -1
  223. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  224. package/dist/esm/utils/StoryContainer.js +0 -29
  225. package/dist/esm/utils/StoryContainer.js.map +0 -1
  226. package/dist/esm/utils/excludeControls.test.js +0 -23
  227. package/dist/esm/utils/excludeControls.test.js.map +0 -1
  228. package/dist/esm/utils/sizeClasses.test.js +0 -18
  229. package/dist/esm/utils/sizeClasses.test.js.map +0 -1
  230. package/dist/esm/utils/spaceDelimitedList.test.js +0 -25
  231. package/dist/esm/utils/spaceDelimitedList.test.js.map +0 -1
  232. /package/dist/{cjs → types}/components/Accordion/Accordion.d.ts +0 -0
  233. /package/dist/{cjs → types}/components/Accordion/Accordion.stories.d.ts +0 -0
  234. /package/dist/{cjs → types}/components/Accordion/Accordion.test.d.ts +0 -0
  235. /package/dist/{cjs → types}/components/Accordion/index.d.ts +0 -0
  236. /package/dist/{cjs → types}/components/Alert/Alert.d.ts +0 -0
  237. /package/dist/{cjs → types}/components/Alert/Alert.stories.d.ts +0 -0
  238. /package/dist/{cjs → types}/components/Alert/Alert.test.d.ts +0 -0
  239. /package/dist/{cjs → types}/components/Alert/index.d.ts +0 -0
  240. /package/dist/{cjs → types}/components/Box/Box.d.ts +0 -0
  241. /package/dist/{cjs → types}/components/Box/Box.stories.d.ts +0 -0
  242. /package/dist/{cjs → types}/components/Box/Box.test.d.ts +0 -0
  243. /package/dist/{cjs → types}/components/Box/index.d.ts +0 -0
  244. /package/dist/{cjs → types}/components/Breadcrumbs/BreadcrumbItem.d.ts +0 -0
  245. /package/dist/{cjs → types}/components/Breadcrumbs/Breadcrumbs.d.ts +0 -0
  246. /package/dist/{cjs → types}/components/Breadcrumbs/Breadcrumbs.stories.d.ts +0 -0
  247. /package/dist/{cjs → types}/components/Breadcrumbs/Breadcrumbs.test.d.ts +0 -0
  248. /package/dist/{cjs → types}/components/Breadcrumbs/index.d.ts +0 -0
  249. /package/dist/{cjs → types}/components/Button/Button.d.ts +0 -0
  250. /package/dist/{cjs → types}/components/Button/Button.stories.d.ts +0 -0
  251. /package/dist/{cjs → types}/components/Button/Button.test.d.ts +0 -0
  252. /package/dist/{cjs → types}/components/Button/Loading.d.ts +0 -0
  253. /package/dist/{cjs → types}/components/Button/index.d.ts +0 -0
  254. /package/dist/{cjs → types}/components/Checkbox/Checkbox.d.ts +0 -0
  255. /package/dist/{cjs → types}/components/Checkbox/Checkbox.stories.d.ts +0 -0
  256. /package/dist/{cjs → types}/components/Checkbox/Checkbox.test.d.ts +0 -0
  257. /package/dist/{cjs → types}/components/Checkbox/CheckboxGroup.d.ts +0 -0
  258. /package/dist/{cjs → types}/components/Checkbox/CheckboxGroup.stories.d.ts +0 -0
  259. /package/dist/{cjs → types}/components/Checkbox/CheckboxGroup.test.d.ts +0 -0
  260. /package/dist/{cjs → types}/components/Checkbox/index.d.ts +0 -0
  261. /package/dist/{cjs → types}/components/Checkbox/types.d.ts +0 -0
  262. /package/dist/{cjs → types}/components/Container/Container.d.ts +0 -0
  263. /package/dist/{cjs → types}/components/Container/Container.stories.d.ts +0 -0
  264. /package/dist/{cjs → types}/components/Container/Container.test.d.ts +0 -0
  265. /package/dist/{cjs → types}/components/Container/index.d.ts +0 -0
  266. /package/dist/{cjs → types}/components/Divider/Divider.d.ts +0 -0
  267. /package/dist/{cjs → types}/components/Divider/Divider.stories.d.ts +0 -0
  268. /package/dist/{cjs → types}/components/Divider/Divider.test.d.ts +0 -0
  269. /package/dist/{cjs → types}/components/Divider/index.d.ts +0 -0
  270. /package/dist/{cjs → types}/components/Drawer/Drawer.stories.d.ts +0 -0
  271. /package/dist/{cjs → types}/components/Drawer/Drawer.test.d.ts +0 -0
  272. /package/dist/{cjs → types}/components/DropdownMenu/DropdownMenu.d.ts +0 -0
  273. /package/dist/{cjs → types}/components/DropdownMenu/DropdownMenu.stories.d.ts +0 -0
  274. /package/dist/{cjs → types}/components/DropdownMenu/DropdownMenu.test.d.ts +0 -0
  275. /package/dist/{cjs → types}/components/DropdownMenu/Item.d.ts +0 -0
  276. /package/dist/{cjs → types}/components/DropdownMenu/index.d.ts +0 -0
  277. /package/dist/{cjs → types}/components/ErrorMessage/ErrorMessage.d.ts +0 -0
  278. /package/dist/{cjs → types}/components/ErrorMessage/ErrorMessage.stories.d.ts +0 -0
  279. /package/dist/{cjs → types}/components/ErrorMessage/ErrorMessage.test.d.ts +0 -0
  280. /package/dist/{cjs → types}/components/ErrorMessage/index.d.ts +0 -0
  281. /package/dist/{cjs → types}/components/Fieldset/Fieldset.d.ts +0 -0
  282. /package/dist/{cjs → types}/components/Fieldset/Fieldset.stories.d.ts +0 -0
  283. /package/dist/{cjs → types}/components/Fieldset/Fieldset.test.d.ts +0 -0
  284. /package/dist/{cjs → types}/components/Fieldset/index.d.ts +0 -0
  285. /package/dist/{cjs → types}/components/Flex/Flex.d.ts +0 -0
  286. /package/dist/{cjs → types}/components/Flex/Flex.stories.d.ts +0 -0
  287. /package/dist/{cjs → types}/components/Flex/Flex.test.d.ts +0 -0
  288. /package/dist/{cjs → types}/components/Flex/index.d.ts +0 -0
  289. /package/dist/{cjs → types}/components/Flex/propUtils.d.ts +0 -0
  290. /package/dist/{cjs → types}/components/Flex/propUtils.test.d.ts +0 -0
  291. /package/dist/{cjs → types}/components/Flex/types.d.ts +0 -0
  292. /package/dist/{cjs → types}/components/Grid/Grid.d.ts +0 -0
  293. /package/dist/{cjs → types}/components/Grid/Grid.stories.d.ts +0 -0
  294. /package/dist/{cjs → types}/components/Grid/Grid.test.d.ts +0 -0
  295. /package/dist/{cjs → types}/components/Grid/Item.d.ts +0 -0
  296. /package/dist/{cjs → types}/components/Grid/index.d.ts +0 -0
  297. /package/dist/{cjs → types}/components/Icon/Icon.d.ts +0 -0
  298. /package/dist/{cjs → types}/components/Icon/Icon.stories.d.ts +0 -0
  299. /package/dist/{cjs → types}/components/Icon/Icon.test.d.ts +0 -0
  300. /package/dist/{cjs → types}/components/Icon/IconStyle.d.ts +0 -0
  301. /package/dist/{cjs → types}/components/Icon/index.d.ts +0 -0
  302. /package/dist/{cjs → types}/components/Icon/types.d.ts +0 -0
  303. /package/dist/{cjs → types}/components/Image/Image.d.ts +0 -0
  304. /package/dist/{cjs → types}/components/Image/Image.stories.d.ts +0 -0
  305. /package/dist/{cjs → types}/components/Image/Image.test.d.ts +0 -0
  306. /package/dist/{cjs → types}/components/Image/index.d.ts +0 -0
  307. /package/dist/{cjs → types}/components/Label/Label.d.ts +0 -0
  308. /package/dist/{cjs → types}/components/Label/Label.stories.d.ts +0 -0
  309. /package/dist/{cjs → types}/components/Label/Label.test.d.ts +0 -0
  310. /package/dist/{cjs → types}/components/Label/index.d.ts +0 -0
  311. /package/dist/{cjs → types}/components/Link/Link.d.ts +0 -0
  312. /package/dist/{cjs → types}/components/Link/Link.stories.d.ts +0 -0
  313. /package/dist/{cjs → types}/components/Link/Link.test.d.ts +0 -0
  314. /package/dist/{cjs → types}/components/Link/index.d.ts +0 -0
  315. /package/dist/{cjs → types}/components/LinkButton/LinkButton.d.ts +0 -0
  316. /package/dist/{cjs → types}/components/LinkButton/LinkButton.stories.d.ts +0 -0
  317. /package/dist/{cjs → types}/components/LinkButton/LinkButton.test.d.ts +0 -0
  318. /package/dist/{cjs → types}/components/LinkButton/index.d.ts +0 -0
  319. /package/dist/{cjs → types}/components/List/List.d.ts +0 -0
  320. /package/dist/{cjs → types}/components/List/List.stories.d.ts +0 -0
  321. /package/dist/{cjs → types}/components/List/List.test.d.ts +0 -0
  322. /package/dist/{cjs → types}/components/List/ListItem.d.ts +0 -0
  323. /package/dist/{cjs → types}/components/List/index.d.ts +0 -0
  324. /package/dist/{cjs → types}/components/LoadingIndicator/LoadingIndicator.d.ts +0 -0
  325. /package/dist/{cjs → types}/components/LoadingIndicator/LoadingIndicator.stories.d.ts +0 -0
  326. /package/dist/{cjs → types}/components/LoadingIndicator/LoadingIndicator.test.d.ts +0 -0
  327. /package/dist/{cjs → types}/components/LoadingIndicator/index.d.ts +0 -0
  328. /package/dist/{cjs → types}/components/Logo/Logo.d.ts +0 -0
  329. /package/dist/{cjs → types}/components/Logo/Logo.stories.d.ts +0 -0
  330. /package/dist/{cjs → types}/components/Logo/Logo.test.d.ts +0 -0
  331. /package/dist/{cjs → types}/components/Logo/index.d.ts +0 -0
  332. /package/dist/{cjs → types}/components/Modal/Modal.stories.d.ts +0 -0
  333. /package/dist/{cjs → types}/components/Modal/Modal.test.d.ts +0 -0
  334. /package/dist/{cjs → types}/components/NumberField/NumberField.d.ts +0 -0
  335. /package/dist/{cjs → types}/components/NumberField/NumberField.stories.d.ts +0 -0
  336. /package/dist/{cjs → types}/components/NumberField/NumberField.test.d.ts +0 -0
  337. /package/dist/{cjs → types}/components/NumberField/index.d.ts +0 -0
  338. /package/dist/{cjs → types}/components/Option/Option.d.ts +0 -0
  339. /package/dist/{cjs → types}/components/Option/index.d.ts +0 -0
  340. /package/dist/{cjs → types}/components/PasswordField/PasswordField.d.ts +0 -0
  341. /package/dist/{cjs → types}/components/PasswordField/PasswordField.stories.d.ts +0 -0
  342. /package/dist/{cjs → types}/components/PasswordField/PasswordField.test.d.ts +0 -0
  343. /package/dist/{cjs → types}/components/PasswordField/ShowHideButton.d.ts +0 -0
  344. /package/dist/{cjs → types}/components/PasswordField/index.d.ts +0 -0
  345. /package/dist/{cjs → types}/components/Popover/Popover.d.ts +0 -0
  346. /package/dist/{cjs → types}/components/Popover/Popover.stories.d.ts +0 -0
  347. /package/dist/{cjs → types}/components/Popover/Popover.test.d.ts +0 -0
  348. /package/dist/{cjs → types}/components/Popover/index.d.ts +0 -0
  349. /package/dist/{cjs → types}/components/Progress/Progress.d.ts +0 -0
  350. /package/dist/{cjs → types}/components/Progress/Progress.stories.d.ts +0 -0
  351. /package/dist/{cjs → types}/components/Progress/Progress.test.d.ts +0 -0
  352. /package/dist/{cjs → types}/components/Progress/index.d.ts +0 -0
  353. /package/dist/{cjs → types}/components/Radio/Radio.d.ts +0 -0
  354. /package/dist/{cjs → types}/components/Radio/Radio.stories.d.ts +0 -0
  355. /package/dist/{cjs → types}/components/Radio/Radio.test.d.ts +0 -0
  356. /package/dist/{cjs → types}/components/Radio/RadioButton.d.ts +0 -0
  357. /package/dist/{cjs → types}/components/Radio/RadioButton.stories.d.ts +0 -0
  358. /package/dist/{cjs → types}/components/Radio/RadioButton.test.d.ts +0 -0
  359. /package/dist/{cjs → types}/components/Radio/RadioGroup.d.ts +0 -0
  360. /package/dist/{cjs → types}/components/Radio/index.d.ts +0 -0
  361. /package/dist/{cjs → types}/components/SVG/SVG.d.ts +0 -0
  362. /package/dist/{cjs → types}/components/SVG/SVG.stories.d.ts +0 -0
  363. /package/dist/{cjs → types}/components/SVG/SVG.test.d.ts +0 -0
  364. /package/dist/{cjs → types}/components/SVG/index.d.ts +0 -0
  365. /package/dist/{cjs → types}/components/Segment/Segment.d.ts +0 -0
  366. /package/dist/{cjs → types}/components/Segment/Segment.stories.d.ts +0 -0
  367. /package/dist/{cjs → types}/components/Segment/SegmentGroup.d.ts +0 -0
  368. /package/dist/{cjs → types}/components/Segment/index.d.ts +0 -0
  369. /package/dist/{cjs → types}/components/Select/Select.d.ts +0 -0
  370. /package/dist/{cjs → types}/components/Select/Select.stories.d.ts +0 -0
  371. /package/dist/{cjs → types}/components/Select/Select.test.d.ts +0 -0
  372. /package/dist/{cjs → types}/components/Select/index.d.ts +0 -0
  373. /package/dist/{cjs → types}/components/Slider/Slider.d.ts +0 -0
  374. /package/dist/{cjs → types}/components/Slider/Slider.stories.d.ts +0 -0
  375. /package/dist/{cjs → types}/components/Slider/Slider.test.d.ts +0 -0
  376. /package/dist/{cjs → types}/components/Slider/helpers.d.ts +0 -0
  377. /package/dist/{cjs → types}/components/Slider/helpers.test.d.ts +0 -0
  378. /package/dist/{cjs → types}/components/Slider/index.d.ts +0 -0
  379. /package/dist/{cjs → types}/components/Table/Body.d.ts +0 -0
  380. /package/dist/{cjs → types}/components/Table/Cell.d.ts +0 -0
  381. /package/dist/{cjs → types}/components/Table/Foot.d.ts +0 -0
  382. /package/dist/{cjs → types}/components/Table/Head.d.ts +0 -0
  383. /package/dist/{cjs → types}/components/Table/HeaderCell.d.ts +0 -0
  384. /package/dist/{cjs → types}/components/Table/Row.d.ts +0 -0
  385. /package/dist/{cjs → types}/components/Table/Table.d.ts +0 -0
  386. /package/dist/{cjs → types}/components/Table/Table.stories.d.ts +0 -0
  387. /package/dist/{cjs → types}/components/Table/Table.test.d.ts +0 -0
  388. /package/dist/{cjs → types}/components/Table/index.d.ts +0 -0
  389. /package/dist/{cjs → types}/components/Text/Text.d.ts +0 -0
  390. /package/dist/{cjs → types}/components/Text/Text.stories.d.ts +0 -0
  391. /package/dist/{cjs → types}/components/Text/Text.test.d.ts +0 -0
  392. /package/dist/{cjs → types}/components/Text/index.d.ts +0 -0
  393. /package/dist/{cjs → types}/components/TextArea/TextArea.d.ts +0 -0
  394. /package/dist/{cjs → types}/components/TextArea/TextArea.stories.d.ts +0 -0
  395. /package/dist/{cjs → types}/components/TextArea/TextArea.test.d.ts +0 -0
  396. /package/dist/{cjs → types}/components/TextArea/index.d.ts +0 -0
  397. /package/dist/{cjs → types}/components/TextAreaInput/TextAreaInput.d.ts +0 -0
  398. /package/dist/{cjs → types}/components/TextAreaInput/TextAreaInput.test.d.ts +0 -0
  399. /package/dist/{cjs → types}/components/TextAreaInput/index.d.ts +0 -0
  400. /package/dist/{cjs → types}/components/TextField/TextField.d.ts +0 -0
  401. /package/dist/{cjs → types}/components/TextField/TextField.stories.d.ts +0 -0
  402. /package/dist/{cjs → types}/components/TextField/TextField.test.d.ts +0 -0
  403. /package/dist/{cjs → types}/components/TextField/adornmentWithClassName.d.ts +0 -0
  404. /package/dist/{cjs → types}/components/TextField/index.d.ts +0 -0
  405. /package/dist/{cjs → types}/components/Title/Title.d.ts +0 -0
  406. /package/dist/{cjs → types}/components/Title/Title.stories.d.ts +0 -0
  407. /package/dist/{cjs → types}/components/Title/Title.test.d.ts +0 -0
  408. /package/dist/{cjs → types}/components/Title/index.d.ts +0 -0
  409. /package/dist/{cjs → types}/components/VisuallyHidden/VisuallyHidden.d.ts +0 -0
  410. /package/dist/{cjs → types}/components/VisuallyHidden/VisuallyHidden.stories.d.ts +0 -0
  411. /package/dist/{cjs → types}/components/VisuallyHidden/index.d.ts +0 -0
  412. /package/dist/{cjs → types}/components/index.d.ts +0 -0
  413. /package/dist/{cjs → types}/hooks/index.d.ts +0 -0
  414. /package/dist/{cjs → types}/hooks/useBodyScrollLock/index.d.ts +0 -0
  415. /package/dist/{cjs → types}/hooks/useBodyScrollLock/useBodyScrollLock.d.ts +0 -0
  416. /package/dist/{cjs → types}/hooks/useBodyScrollLock/useBodyScrollLock.test.d.ts +0 -0
  417. /package/dist/{cjs → types}/hooks/useBreakpoint/index.d.ts +0 -0
  418. /package/dist/{cjs → types}/hooks/useBreakpoint/useBreakpoint.d.ts +0 -0
  419. /package/dist/{cjs → types}/hooks/useBreakpoint/useBreakpoint.stories.d.ts +0 -0
  420. /package/dist/{cjs → types}/hooks/useBreakpoint/useBreakpoint.test.d.ts +0 -0
  421. /package/dist/{cjs → types}/hooks/useButton/index.d.ts +0 -0
  422. /package/dist/{cjs → types}/hooks/useButton/useButton.test.d.ts +0 -0
  423. /package/dist/{cjs → types}/hooks/useLabel/index.d.ts +0 -0
  424. /package/dist/{cjs → types}/hooks/useLabel/useLabel.d.ts +0 -0
  425. /package/dist/{cjs → types}/hooks/useLabel/useLabel.test.d.ts +0 -0
  426. /package/dist/{cjs → types}/hooks/useOnClickOutside/index.d.ts +0 -0
  427. /package/dist/{cjs → types}/hooks/useOnClickOutside/useOnClickOutside.d.ts +0 -0
  428. /package/dist/{cjs → types}/hooks/useTextField/index.d.ts +0 -0
  429. /package/dist/{cjs → types}/hooks/useTextField/types.d.ts +0 -0
  430. /package/dist/{cjs → types}/hooks/useTextField/useTextField.d.ts +0 -0
  431. /package/dist/{cjs → types}/hooks/useTextField/useTextField.test.d.ts +0 -0
  432. /package/dist/{cjs → types}/hooks/useWindowEvent/index.d.ts +0 -0
  433. /package/dist/{cjs → types}/hooks/useWindowEvent/useWindowEvent.d.ts +0 -0
  434. /package/dist/{cjs → types}/index.d.ts +0 -0
  435. /package/dist/{cjs → types}/types/components.d.ts +0 -0
  436. /package/dist/{cjs → types}/types/dom.d.ts +0 -0
  437. /package/dist/{cjs → types}/types/events.d.ts +0 -0
  438. /package/dist/{cjs → types}/types/icon.d.ts +0 -0
  439. /package/dist/{cjs → types}/types/index.d.ts +0 -0
  440. /package/dist/{cjs → types}/types/size.d.ts +0 -0
  441. /package/dist/{cjs → types}/utils/StoryContainer.d.ts +0 -0
  442. /package/dist/{cjs → types}/utils/changeCSS.d.ts +0 -0
  443. /package/dist/{cjs → types}/utils/excludeControls.d.ts +0 -0
  444. /package/dist/{cjs → types}/utils/excludeControls.test.d.ts +0 -0
  445. /package/dist/{cjs → types}/utils/jestHTMLDialogPolyfill.d.ts +0 -0
  446. /package/dist/{cjs → types}/utils/mergeRefs.d.ts +0 -0
  447. /package/dist/{cjs → types}/utils/polyfill-tests.d.ts +0 -0
  448. /package/dist/{cjs → types}/utils/sizeClasses.d.ts +0 -0
  449. /package/dist/{cjs → types}/utils/sizeClasses.test.d.ts +0 -0
  450. /package/dist/{cjs → types}/utils/spaceDelimitedList.d.ts +0 -0
  451. /package/dist/{cjs → types}/utils/spaceDelimitedList.test.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 047db6d: Fix intermittent iOS <=15.2 issue when dialog-polyfill loads
8
+ - 424ba56: Fix exported types
9
+ - Updated dependencies [424ba56]
10
+ - @simplybusiness/icons@4.2.8
11
+
3
12
  ## 4.3.1
4
13
 
5
14
  ### Patch Changes
@@ -113,7 +113,14 @@ const Drawer = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
113
113
  if (!hasDialogSupport && typeof window !== "undefined" && modalRef.current !== null) {
114
114
  // eslint-disable-next-line import/no-extraneous-dependencies
115
115
  const { default: dialogPolyfill } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("dialog-polyfill")));
116
- dialogPolyfill.registerDialog(modalRef.current);
116
+ try {
117
+ dialogPolyfill.registerDialog(modalRef.current);
118
+ } catch (error) {
119
+ // In iOS 15 <= 15.2 this intermittently fails with
120
+ // TypeError: null is not an object (evaluating 'element.showModal')
121
+ // Checking showModal presence through hasOwnProperty is falsy natively, truthy with polyfill 🤷🏼‍♂️
122
+ console.error("Failed to load dialog-polyfill", error);
123
+ }
117
124
  }
118
125
  if (isOpen && !((_modalRef_current = modalRef.current) === null || _modalRef_current === void 0 ? void 0 : _modalRef_current.open)) {
119
126
  var _modalRef_current2, _modalRef_current3;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport {\n Children,\n Ref,\n SyntheticEvent,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { useBodyScrollLock } from \"../../hooks/useBodyScrollLock\";\nimport { supportsDialog } from \"../../utils/polyfill-tests\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\nimport { DrawerProps } from \"./types\";\nimport { mergeRefs } from \"../../utils\";\n\nexport type DialogElementType = HTMLDialogElement;\nexport type DialogRef = Ref<DialogElementType>;\n\nconst TRANSITION_CLASS_NAME = \"--transition\";\n\nconst Drawer = forwardRef((props: DrawerProps, ref: DialogRef) => {\n const {\n isOpen,\n className,\n closeLabel,\n direction,\n announce = \"Drawer opened on screen\",\n onOpen,\n onClose,\n children,\n } = props;\n const hasOpened = useRef<boolean>(false);\n const modalRef = useRef<HTMLDialogElement | null>(null);\n const hasDialogSupport = supportsDialog();\n\n // Fire onOpen once\n if (onOpen && !hasOpened.current) {\n onOpen();\n hasOpened.current = true;\n }\n\n useBodyScrollLock({ enabled: isOpen });\n\n // Add close handler, to enable closing transitions\n const handleClose = useCallback(\n (event?: SyntheticEvent<HTMLElement, Event>) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n const doClose = () => {\n modalRef.current?.close();\n onClose?.();\n };\n\n // Delay close to allow backdrop exit transition\n if (hasDialogSupport) {\n modalRef.current?.classList.remove(TRANSITION_CLASS_NAME);\n modalRef.current?.addEventListener(\n \"transitionend\",\n () => {\n doClose();\n },\n { once: true },\n );\n } else {\n doClose();\n }\n },\n [onClose, hasDialogSupport],\n );\n\n const modalClasses = classNames(\n \"mobius\",\n \"mobius/Drawer\",\n `--${direction}`,\n className,\n {\n \"--should-transition\": hasDialogSupport,\n },\n );\n\n // Add polyfill for HTML Dialog in old browsers\n useEffect(() => {\n async function toggleModal() {\n if (\n !hasDialogSupport &&\n typeof window !== \"undefined\" &&\n modalRef.current !== null\n ) {\n // eslint-disable-next-line import/no-extraneous-dependencies\n const { default: dialogPolyfill } = await import(\"dialog-polyfill\");\n dialogPolyfill.registerDialog(modalRef.current);\n }\n\n if (isOpen && !modalRef.current?.open) {\n modalRef.current?.showModal();\n modalRef.current?.classList.add(TRANSITION_CLASS_NAME);\n onOpen?.();\n } else if (!isOpen && modalRef.current?.open) {\n handleClose();\n }\n }\n\n toggleModal();\n }, [isOpen, onOpen, handleClose, hasDialogSupport]);\n\n return (\n <dialog\n ref={mergeRefs([modalRef, ref])}\n onCancel={handleClose}\n className={modalClasses}\n aria-describedby=\"screen-reader-announce\"\n >\n <VisuallyHidden>\n <div id=\"screen-reader-announce\">{announce}</div>\n </VisuallyHidden>\n {Children.map(children, child => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n onClose: handleClose,\n closeLabel,\n } as any);\n }\n\n return child;\n })}\n </dialog>\n );\n});\n\nDrawer.displayName = \"Drawer\";\nexport { Drawer };\n"],"names":["Drawer","TRANSITION_CLASS_NAME","forwardRef","props","ref","isOpen","className","closeLabel","direction","announce","onOpen","onClose","children","hasOpened","useRef","modalRef","hasDialogSupport","supportsDialog","current","useBodyScrollLock","enabled","handleClose","useCallback","event","preventDefault","stopPropagation","doClose","close","classList","remove","addEventListener","once","modalClasses","classNames","useEffect","toggleModal","window","default","dialogPolyfill","registerDialog","open","showModal","add","dialog","mergeRefs","onCancel","aria-describedby","VisuallyHidden","div","id","Children","map","child","isValidElement","cloneElement","displayName"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport {\n Children,\n Ref,\n SyntheticEvent,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { useBodyScrollLock } from \"../../hooks/useBodyScrollLock\";\nimport { supportsDialog } from \"../../utils/polyfill-tests\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\nimport { DrawerProps } from \"./types\";\nimport { mergeRefs } from \"../../utils\";\n\nexport type DialogElementType = HTMLDialogElement;\nexport type DialogRef = Ref<DialogElementType>;\n\nconst TRANSITION_CLASS_NAME = \"--transition\";\n\nconst Drawer = forwardRef((props: DrawerProps, ref: DialogRef) => {\n const {\n isOpen,\n className,\n closeLabel,\n direction,\n announce = \"Drawer opened on screen\",\n onOpen,\n onClose,\n children,\n } = props;\n const hasOpened = useRef<boolean>(false);\n const modalRef = useRef<HTMLDialogElement | null>(null);\n const hasDialogSupport = supportsDialog();\n\n // Fire onOpen once\n if (onOpen && !hasOpened.current) {\n onOpen();\n hasOpened.current = true;\n }\n\n useBodyScrollLock({ enabled: isOpen });\n\n // Add close handler, to enable closing transitions\n const handleClose = useCallback(\n (event?: SyntheticEvent<HTMLElement, Event>) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n const doClose = () => {\n modalRef.current?.close();\n onClose?.();\n };\n\n // Delay close to allow backdrop exit transition\n if (hasDialogSupport) {\n modalRef.current?.classList.remove(TRANSITION_CLASS_NAME);\n modalRef.current?.addEventListener(\n \"transitionend\",\n () => {\n doClose();\n },\n { once: true },\n );\n } else {\n doClose();\n }\n },\n [onClose, hasDialogSupport],\n );\n\n const modalClasses = classNames(\n \"mobius\",\n \"mobius/Drawer\",\n `--${direction}`,\n className,\n {\n \"--should-transition\": hasDialogSupport,\n },\n );\n\n // Add polyfill for HTML Dialog in old browsers\n useEffect(() => {\n async function toggleModal() {\n if (\n !hasDialogSupport &&\n typeof window !== \"undefined\" &&\n modalRef.current !== null\n ) {\n // eslint-disable-next-line import/no-extraneous-dependencies\n const { default: dialogPolyfill } = await import(\"dialog-polyfill\");\n try {\n dialogPolyfill.registerDialog(modalRef.current);\n } catch (error) {\n // In iOS 15 <= 15.2 this intermittently fails with\n // TypeError: null is not an object (evaluating 'element.showModal')\n // Checking showModal presence through hasOwnProperty is falsy natively, truthy with polyfill 🤷🏼‍♂️\n console.error(\"Failed to load dialog-polyfill\", error);\n }\n }\n\n if (isOpen && !modalRef.current?.open) {\n modalRef.current?.showModal();\n modalRef.current?.classList.add(TRANSITION_CLASS_NAME);\n onOpen?.();\n } else if (!isOpen && modalRef.current?.open) {\n handleClose();\n }\n }\n\n toggleModal();\n }, [isOpen, onOpen, handleClose, hasDialogSupport]);\n\n return (\n <dialog\n ref={mergeRefs([modalRef, ref])}\n onCancel={handleClose}\n className={modalClasses}\n aria-describedby=\"screen-reader-announce\"\n >\n <VisuallyHidden>\n <div id=\"screen-reader-announce\">{announce}</div>\n </VisuallyHidden>\n {Children.map(children, child => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n onClose: handleClose,\n closeLabel,\n } as any);\n }\n\n return child;\n })}\n </dialog>\n );\n});\n\nDrawer.displayName = \"Drawer\";\nexport { Drawer };\n"],"names":["Drawer","TRANSITION_CLASS_NAME","forwardRef","props","ref","isOpen","className","closeLabel","direction","announce","onOpen","onClose","children","hasOpened","useRef","modalRef","hasDialogSupport","supportsDialog","current","useBodyScrollLock","enabled","handleClose","useCallback","event","preventDefault","stopPropagation","doClose","close","classList","remove","addEventListener","once","modalClasses","classNames","useEffect","toggleModal","window","default","dialogPolyfill","registerDialog","error","console","open","showModal","add","dialog","mergeRefs","onCancel","aria-describedby","VisuallyHidden","div","id","Children","map","child","isValidElement","cloneElement","displayName"],"mappings":"AAAA;;;;;+BAiJSA;;;eAAAA;;;;+DA/Ic;uBAWhB;mCAC2B;+BACH;gCACA;uBAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK1B,MAAMC,wBAAwB;AAE9B,MAAMD,uBAASE,IAAAA,iBAAU,EAAC,CAACC,OAAoBC;IAC7C,MAAM,EACJC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,WAAW,yBAAyB,EACpCC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACT,GAAGT;IACJ,MAAMU,YAAYC,IAAAA,aAAM,EAAU;IAClC,MAAMC,WAAWD,IAAAA,aAAM,EAA2B;IAClD,MAAME,mBAAmBC,IAAAA,6BAAc;IAEvC,mBAAmB;IACnB,IAAIP,UAAU,CAACG,UAAUK,OAAO,EAAE;QAChCR;QACAG,UAAUK,OAAO,GAAG;IACtB;IAEAC,IAAAA,oCAAiB,EAAC;QAAEC,SAASf;IAAO;IAEpC,mDAAmD;IACnD,MAAMgB,cAAcC,IAAAA,kBAAW,EAC7B,CAACC;QACC,IAAIA,OAAO;YACTA,MAAMC,cAAc;YACpBD,MAAME,eAAe;QACvB;QAEA,MAAMC,UAAU;gBACdX;aAAAA,oBAAAA,SAASG,OAAO,cAAhBH,wCAAAA,kBAAkBY,KAAK;YACvBhB,oBAAAA,8BAAAA;QACF;QAEA,gDAAgD;QAChD,IAAIK,kBAAkB;gBACpBD,mBACAA;aADAA,oBAAAA,SAASG,OAAO,cAAhBH,wCAAAA,kBAAkBa,SAAS,CAACC,MAAM,CAAC5B;aACnCc,qBAAAA,SAASG,OAAO,cAAhBH,yCAAAA,mBAAkBe,gBAAgB,CAChC,iBACA;gBACEJ;YACF,GACA;gBAAEK,MAAM;YAAK;QAEjB,OAAO;YACLL;QACF;IACF,GACA;QAACf;QAASK;KAAiB;IAG7B,MAAMgB,eAAeC,IAAAA,eAAU,EAC7B,UACA,iBACA,CAAC,EAAE,EAAEzB,UAAU,CAAC,EAChBF,WACA;QACE,uBAAuBU;IACzB;IAGF,+CAA+C;IAC/CkB,IAAAA,gBAAS,EAAC;QACR,eAAeC;gBAkBEpB,mBAIOA;YArBtB,IACE,CAACC,oBACD,OAAOoB,WAAW,eAClBrB,SAASG,OAAO,KAAK,MACrB;gBACA,6DAA6D;gBAC7D,MAAM,EAAEmB,SAASC,cAAc,EAAE,GAAG,MAAM,mEAAA,QAAO;gBACjD,IAAI;oBACFA,eAAeC,cAAc,CAACxB,SAASG,OAAO;gBAChD,EAAE,OAAOsB,OAAO;oBACd,mDAAmD;oBACnD,oEAAoE;oBACpE,qGAAqG;oBACrGC,QAAQD,KAAK,CAAC,kCAAkCA;gBAClD;YACF;YAEA,IAAInC,UAAU,GAACU,oBAAAA,SAASG,OAAO,cAAhBH,wCAAAA,kBAAkB2B,IAAI,GAAE;oBACrC3B,oBACAA;iBADAA,qBAAAA,SAASG,OAAO,cAAhBH,yCAAAA,mBAAkB4B,SAAS;iBAC3B5B,qBAAAA,SAASG,OAAO,cAAhBH,yCAAAA,mBAAkBa,SAAS,CAACgB,GAAG,CAAC3C;gBAChCS,mBAAAA,6BAAAA;YACF,OAAO,IAAI,CAACL,YAAUU,qBAAAA,SAASG,OAAO,cAAhBH,yCAAAA,mBAAkB2B,IAAI,GAAE;gBAC5CrB;YACF;QACF;QAEAc;IACF,GAAG;QAAC9B;QAAQK;QAAQW;QAAaL;KAAiB;IAElD,qBACE,sBAAC6B;QACCzC,KAAK0C,IAAAA,gBAAS,EAAC;YAAC/B;YAAUX;SAAI;QAC9B2C,UAAU1B;QACVf,WAAW0B;QACXgB,oBAAiB;;0BAEjB,qBAACC,8BAAc;0BACb,cAAA,qBAACC;oBAAIC,IAAG;8BAA0B1C;;;YAEnC2C,eAAQ,CAACC,GAAG,CAACzC,UAAU0C,CAAAA;gBACtB,kBAAIC,IAAAA,qBAAc,EAACD,QAAQ;oBACzB,qBAAOE,IAAAA,mBAAY,EAACF,OAAO;wBACzB3C,SAASU;wBACTd;oBACF;gBACF;gBAEA,OAAO+C;YACT;;;AAGN;AAEAtD,OAAOyD,WAAW,GAAG"}
@@ -126,7 +126,14 @@ const Modal = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
126
126
  if (!hasDialogSupport && typeof window !== "undefined" && modalRef.current !== null) {
127
127
  // eslint-disable-next-line import/no-extraneous-dependencies
128
128
  const { default: dialogPolyfill } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("dialog-polyfill")));
129
- dialogPolyfill.registerDialog(modalRef.current);
129
+ try {
130
+ dialogPolyfill.registerDialog(modalRef.current);
131
+ } catch (error) {
132
+ // In iOS 15 <= 15.2 this intermittently fails with
133
+ // TypeError: null is not an object (evaluating 'element.showModal')
134
+ // Checking showModal presence through hasOwnProperty is falsy natively, truthy with polyfill 🤷🏼‍♂️
135
+ console.error("Failed to load dialog-polyfill", error);
136
+ }
130
137
  }
131
138
  if (isOpen && !((_modalRef_current = modalRef.current) === null || _modalRef_current === void 0 ? void 0 : _modalRef_current.open)) {
132
139
  var _modalRef_current2, _modalRef_current3;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport {\n Children,\n Ref,\n SyntheticEvent,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { useBodyScrollLock } from \"../../hooks/useBodyScrollLock\";\nimport { supportsDialog } from \"../../utils/polyfill-tests\";\nimport { ModalProps } from \"./types\";\nimport { mergeRefs } from \"../../utils\";\n\nexport type ModalElementType = HTMLDialogElement;\nexport type ModalRef = Ref<ModalElementType>;\n\nconst TRANSITION_CLASS_NAME = \"--transition\";\n\nconst Modal = forwardRef((props: ModalProps, ref: ModalRef) => {\n const {\n isOpen,\n onClose,\n onOpen,\n children,\n className,\n closeLabel,\n isFullScreen,\n animation,\n // Deprecated props below\n size,\n appElement,\n preventCloseOnEsc,\n shouldFocusAfterRender,\n parentSelector,\n } = props;\n const hasWarnedAboutMissingLabels = useRef<boolean>(false);\n // Handle deprecated props\n if (!hasWarnedAboutMissingLabels.current) {\n if (\n size ||\n appElement ||\n preventCloseOnEsc ||\n shouldFocusAfterRender ||\n parentSelector\n ) {\n console.warn(\n `Deprecation warning: Mobius Modal no longer supports the following props: size, appElement, preventCloseOnEsc, shouldFocusAfterRender and parentSelector.`,\n );\n hasWarnedAboutMissingLabels.current = true;\n }\n }\n\n const hasOpened = useRef<boolean>(false);\n const modalRef = useRef<HTMLDialogElement | null>(null);\n const hasDialogSupport = supportsDialog();\n\n // Fire onOpen once\n if (onOpen && !hasOpened.current) {\n onOpen();\n hasOpened.current = true;\n }\n\n useBodyScrollLock({ enabled: isOpen });\n\n // Add close handler, to enable closing animations\n const handleClose = useCallback(\n (event?: SyntheticEvent<HTMLElement, Event>) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n const doClose = () => {\n modalRef.current?.close();\n onClose?.();\n };\n\n // Delay close to allow backdrop exit transition\n if (hasDialogSupport && animation) {\n modalRef.current?.classList.remove(TRANSITION_CLASS_NAME);\n modalRef.current?.addEventListener(\n \"transitionend\",\n () => {\n doClose();\n },\n { once: true },\n );\n } else {\n doClose();\n }\n },\n [onClose, hasDialogSupport, animation],\n );\n\n const modalClasses = classNames(\n \"mobius\",\n \"mobius/Modal\",\n {\n \"--no-dialog-support\": !hasDialogSupport, // This class is used to correctly position modal in x/y middle on iOS <= 15.2\n \"--should-transition\": hasDialogSupport && animation,\n \"--slide-up\": animation === \"slideUp\",\n \"--fade\": animation === \"fade\",\n \"--is-fullscreen\": isFullScreen,\n },\n className,\n );\n\n // Add polyfill for HTML Dialog in old browsers\n useEffect(() => {\n async function toggleModal() {\n if (\n !hasDialogSupport &&\n typeof window !== \"undefined\" &&\n modalRef.current !== null\n ) {\n // eslint-disable-next-line import/no-extraneous-dependencies\n const { default: dialogPolyfill } = await import(\"dialog-polyfill\");\n dialogPolyfill.registerDialog(modalRef.current);\n }\n\n if (isOpen && !modalRef.current?.open) {\n modalRef.current?.showModal();\n modalRef.current?.classList.add(TRANSITION_CLASS_NAME);\n onOpen?.();\n } else if (!isOpen && modalRef.current?.open) {\n handleClose();\n }\n }\n\n toggleModal();\n }, [isOpen, onOpen, handleClose, hasDialogSupport]);\n\n return (\n <dialog\n ref={mergeRefs([modalRef, ref])}\n onCancel={handleClose}\n className={modalClasses}\n >\n {Children.map(children, child => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n onClose: handleClose,\n closeLabel,\n } as any);\n }\n\n return child;\n })}\n </dialog>\n );\n});\n\nModal.displayName = \"Modal\";\nexport { Modal };\n"],"names":["Modal","TRANSITION_CLASS_NAME","forwardRef","props","ref","isOpen","onClose","onOpen","children","className","closeLabel","isFullScreen","animation","size","appElement","preventCloseOnEsc","shouldFocusAfterRender","parentSelector","hasWarnedAboutMissingLabels","useRef","current","console","warn","hasOpened","modalRef","hasDialogSupport","supportsDialog","useBodyScrollLock","enabled","handleClose","useCallback","event","preventDefault","stopPropagation","doClose","close","classList","remove","addEventListener","once","modalClasses","classNames","useEffect","toggleModal","window","default","dialogPolyfill","registerDialog","open","showModal","add","dialog","mergeRefs","onCancel","Children","map","child","isValidElement","cloneElement","displayName"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport {\n Children,\n Ref,\n SyntheticEvent,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { useBodyScrollLock } from \"../../hooks/useBodyScrollLock\";\nimport { supportsDialog } from \"../../utils/polyfill-tests\";\nimport { ModalProps } from \"./types\";\nimport { mergeRefs } from \"../../utils\";\n\nexport type ModalElementType = HTMLDialogElement;\nexport type ModalRef = Ref<ModalElementType>;\n\nconst TRANSITION_CLASS_NAME = \"--transition\";\n\nconst Modal = forwardRef((props: ModalProps, ref: ModalRef) => {\n const {\n isOpen,\n onClose,\n onOpen,\n children,\n className,\n closeLabel,\n isFullScreen,\n animation,\n // Deprecated props below\n size,\n appElement,\n preventCloseOnEsc,\n shouldFocusAfterRender,\n parentSelector,\n } = props;\n const hasWarnedAboutMissingLabels = useRef<boolean>(false);\n // Handle deprecated props\n if (!hasWarnedAboutMissingLabels.current) {\n if (\n size ||\n appElement ||\n preventCloseOnEsc ||\n shouldFocusAfterRender ||\n parentSelector\n ) {\n console.warn(\n `Deprecation warning: Mobius Modal no longer supports the following props: size, appElement, preventCloseOnEsc, shouldFocusAfterRender and parentSelector.`,\n );\n hasWarnedAboutMissingLabels.current = true;\n }\n }\n\n const hasOpened = useRef<boolean>(false);\n const modalRef = useRef<HTMLDialogElement | null>(null);\n const hasDialogSupport = supportsDialog();\n\n // Fire onOpen once\n if (onOpen && !hasOpened.current) {\n onOpen();\n hasOpened.current = true;\n }\n\n useBodyScrollLock({ enabled: isOpen });\n\n // Add close handler, to enable closing animations\n const handleClose = useCallback(\n (event?: SyntheticEvent<HTMLElement, Event>) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n const doClose = () => {\n modalRef.current?.close();\n onClose?.();\n };\n\n // Delay close to allow backdrop exit transition\n if (hasDialogSupport && animation) {\n modalRef.current?.classList.remove(TRANSITION_CLASS_NAME);\n modalRef.current?.addEventListener(\n \"transitionend\",\n () => {\n doClose();\n },\n { once: true },\n );\n } else {\n doClose();\n }\n },\n [onClose, hasDialogSupport, animation],\n );\n\n const modalClasses = classNames(\n \"mobius\",\n \"mobius/Modal\",\n {\n \"--no-dialog-support\": !hasDialogSupport, // This class is used to correctly position modal in x/y middle on iOS <= 15.2\n \"--should-transition\": hasDialogSupport && animation,\n \"--slide-up\": animation === \"slideUp\",\n \"--fade\": animation === \"fade\",\n \"--is-fullscreen\": isFullScreen,\n },\n className,\n );\n\n // Add polyfill for HTML Dialog in old browsers\n useEffect(() => {\n async function toggleModal() {\n if (\n !hasDialogSupport &&\n typeof window !== \"undefined\" &&\n modalRef.current !== null\n ) {\n // eslint-disable-next-line import/no-extraneous-dependencies\n const { default: dialogPolyfill } = await import(\"dialog-polyfill\");\n\n try {\n dialogPolyfill.registerDialog(modalRef.current);\n } catch (error) {\n // In iOS 15 <= 15.2 this intermittently fails with\n // TypeError: null is not an object (evaluating 'element.showModal')\n // Checking showModal presence through hasOwnProperty is falsy natively, truthy with polyfill 🤷🏼‍♂️\n console.error(\"Failed to load dialog-polyfill\", error);\n }\n }\n\n if (isOpen && !modalRef.current?.open) {\n modalRef.current?.showModal();\n modalRef.current?.classList.add(TRANSITION_CLASS_NAME);\n onOpen?.();\n } else if (!isOpen && modalRef.current?.open) {\n handleClose();\n }\n }\n\n toggleModal();\n }, [isOpen, onOpen, handleClose, hasDialogSupport]);\n\n return (\n <dialog\n ref={mergeRefs([modalRef, ref])}\n onCancel={handleClose}\n className={modalClasses}\n >\n {Children.map(children, child => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n onClose: handleClose,\n closeLabel,\n } as any);\n }\n\n return child;\n })}\n </dialog>\n );\n});\n\nModal.displayName = \"Modal\";\nexport { Modal };\n"],"names":["Modal","TRANSITION_CLASS_NAME","forwardRef","props","ref","isOpen","onClose","onOpen","children","className","closeLabel","isFullScreen","animation","size","appElement","preventCloseOnEsc","shouldFocusAfterRender","parentSelector","hasWarnedAboutMissingLabels","useRef","current","console","warn","hasOpened","modalRef","hasDialogSupport","supportsDialog","useBodyScrollLock","enabled","handleClose","useCallback","event","preventDefault","stopPropagation","doClose","close","classList","remove","addEventListener","once","modalClasses","classNames","useEffect","toggleModal","window","default","dialogPolyfill","registerDialog","error","open","showModal","add","dialog","mergeRefs","onCancel","Children","map","child","isValidElement","cloneElement","displayName"],"mappings":"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"}