@simplybusiness/mobius 4.16.0 → 5.0.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 (439) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/cjs/components/Accordion/Accordion.js +8 -8
  3. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/cjs/components/Alert/Alert.js +4 -4
  5. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  6. package/dist/cjs/components/Box/Box.js +1 -1
  7. package/dist/cjs/components/Box/Box.js.map +1 -1
  8. package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js +2 -2
  9. package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
  10. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -1
  11. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  12. package/dist/cjs/components/Button/Button.js +4 -2
  13. package/dist/cjs/components/Button/Button.js.map +1 -1
  14. package/dist/cjs/components/Button/Loading.js +12 -6
  15. package/dist/cjs/components/Button/Loading.js.map +1 -1
  16. package/dist/cjs/components/Button/Success.js +4 -3
  17. package/dist/cjs/components/Button/Success.js.map +1 -1
  18. package/dist/cjs/components/Checkbox/Checkbox.js +10 -6
  19. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  20. package/dist/cjs/components/Checkbox/CheckboxGroup.js +2 -2
  21. package/dist/cjs/components/Checkbox/CheckboxGroup.js.map +1 -1
  22. package/dist/cjs/components/Container/Container.js +1 -1
  23. package/dist/cjs/components/Container/Container.js.map +1 -1
  24. package/dist/cjs/components/Divider/Divider.js +2 -2
  25. package/dist/cjs/components/Divider/Divider.js.map +1 -1
  26. package/dist/cjs/components/Drawer/Content.js +1 -1
  27. package/dist/cjs/components/Drawer/Content.js.map +1 -1
  28. package/dist/cjs/components/Drawer/Drawer.js +1 -1
  29. package/dist/cjs/components/Drawer/Drawer.js.map +1 -1
  30. package/dist/cjs/components/Drawer/Header.js +2 -2
  31. package/dist/cjs/components/Drawer/Header.js.map +1 -1
  32. package/dist/cjs/components/DropdownMenu/DropdownMenu.js +3 -3
  33. package/dist/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  34. package/dist/cjs/components/DropdownMenu/Item.js +1 -1
  35. package/dist/cjs/components/DropdownMenu/Item.js.map +1 -1
  36. package/dist/cjs/components/ErrorMessage/ErrorMessage.js +7 -4
  37. package/dist/cjs/components/ErrorMessage/ErrorMessage.js.map +1 -1
  38. package/dist/cjs/components/Fieldset/Fieldset.js +2 -2
  39. package/dist/cjs/components/Fieldset/Fieldset.js.map +1 -1
  40. package/dist/cjs/components/Flex/Flex.js +1 -1
  41. package/dist/cjs/components/Flex/Flex.js.map +1 -1
  42. package/dist/cjs/components/Grid/Grid.js +1 -1
  43. package/dist/cjs/components/Grid/Grid.js.map +1 -1
  44. package/dist/cjs/components/Grid/Item.js +1 -1
  45. package/dist/cjs/components/Grid/Item.js.map +1 -1
  46. package/dist/cjs/components/Icon/Icon.js +1 -1
  47. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  48. package/dist/cjs/components/Image/Image.js +1 -1
  49. package/dist/cjs/components/Image/Image.js.map +1 -1
  50. package/dist/cjs/components/Label/Label.js +1 -1
  51. package/dist/cjs/components/Label/Label.js.map +1 -1
  52. package/dist/cjs/components/Link/Link.js +1 -1
  53. package/dist/cjs/components/Link/Link.js.map +1 -1
  54. package/dist/cjs/components/LinkButton/LinkButton.js +1 -1
  55. package/dist/cjs/components/LinkButton/LinkButton.js.map +1 -1
  56. package/dist/cjs/components/List/List.js +1 -1
  57. package/dist/cjs/components/List/List.js.map +1 -1
  58. package/dist/cjs/components/List/ListItem.js +3 -3
  59. package/dist/cjs/components/List/ListItem.js.map +1 -1
  60. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js +1 -1
  61. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
  62. package/dist/cjs/components/Logo/Logo.js +1 -1
  63. package/dist/cjs/components/Logo/Logo.js.map +1 -1
  64. package/dist/cjs/components/Modal/Content.js +1 -1
  65. package/dist/cjs/components/Modal/Content.js.map +1 -1
  66. package/dist/cjs/components/Modal/Header.js +2 -2
  67. package/dist/cjs/components/Modal/Header.js.map +1 -1
  68. package/dist/cjs/components/Modal/Modal.js +1 -1
  69. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  70. package/dist/cjs/components/NumberField/NumberField.js +7 -5
  71. package/dist/cjs/components/NumberField/NumberField.js.map +1 -1
  72. package/dist/cjs/components/PasswordField/PasswordField.js +1 -1
  73. package/dist/cjs/components/PasswordField/PasswordField.js.map +1 -1
  74. package/dist/cjs/components/PasswordField/ShowHideButton.js +1 -1
  75. package/dist/cjs/components/PasswordField/ShowHideButton.js.map +1 -1
  76. package/dist/cjs/components/Popover/Popover.js +8 -8
  77. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  78. package/dist/cjs/components/Progress/Progress.js +5 -5
  79. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  80. package/dist/cjs/components/Radio/Radio.js +6 -6
  81. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  82. package/dist/cjs/components/Radio/RadioGroup.js +36 -32
  83. package/dist/cjs/components/Radio/RadioGroup.js.map +1 -1
  84. package/dist/cjs/components/SVG/SVG.js +1 -1
  85. package/dist/cjs/components/SVG/SVG.js.map +1 -1
  86. package/dist/cjs/components/Segment/Segment.js +2 -2
  87. package/dist/cjs/components/Segment/Segment.js.map +1 -1
  88. package/dist/cjs/components/Segment/SegmentGroup.js +5 -5
  89. package/dist/cjs/components/Segment/SegmentGroup.js.map +1 -1
  90. package/dist/cjs/components/Select/Select.js +8 -8
  91. package/dist/cjs/components/Select/Select.js.map +1 -1
  92. package/dist/cjs/components/Slider/Slider.js +7 -7
  93. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  94. package/dist/cjs/components/Stack/Stack.js +72 -0
  95. package/dist/cjs/components/Stack/Stack.js.map +1 -0
  96. package/dist/cjs/components/Stack/index.js +20 -0
  97. package/dist/cjs/components/Stack/index.js.map +1 -0
  98. package/dist/cjs/components/Table/Body.js +1 -1
  99. package/dist/cjs/components/Table/Body.js.map +1 -1
  100. package/dist/cjs/components/Table/Cell.js +1 -1
  101. package/dist/cjs/components/Table/Cell.js.map +1 -1
  102. package/dist/cjs/components/Table/Foot.js +1 -1
  103. package/dist/cjs/components/Table/Foot.js.map +1 -1
  104. package/dist/cjs/components/Table/Head.js +1 -1
  105. package/dist/cjs/components/Table/Head.js.map +1 -1
  106. package/dist/cjs/components/Table/HeaderCell.js +1 -1
  107. package/dist/cjs/components/Table/HeaderCell.js.map +1 -1
  108. package/dist/cjs/components/Table/Row.js +1 -1
  109. package/dist/cjs/components/Table/Row.js.map +1 -1
  110. package/dist/cjs/components/Table/Table.js +1 -1
  111. package/dist/cjs/components/Table/Table.js.map +1 -1
  112. package/dist/cjs/components/Text/Text.js +5 -2
  113. package/dist/cjs/components/Text/Text.js.map +1 -1
  114. package/dist/cjs/components/TextArea/TextArea.js +5 -5
  115. package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
  116. package/dist/cjs/components/TextAreaInput/TextAreaInput.js +1 -1
  117. package/dist/cjs/components/TextAreaInput/TextAreaInput.js.map +1 -1
  118. package/dist/cjs/components/TextField/TextField.js +12 -10
  119. package/dist/cjs/components/TextField/TextField.js.map +1 -1
  120. package/dist/cjs/components/Title/Title.js +4 -4
  121. package/dist/cjs/components/Title/Title.js.map +1 -1
  122. package/dist/cjs/components/Trust/Trust.js +4 -5
  123. package/dist/cjs/components/Trust/Trust.js.map +1 -1
  124. package/dist/cjs/components/Trust/constants.js +3 -3
  125. package/dist/cjs/components/Trust/constants.js.map +1 -1
  126. package/dist/cjs/components/index.js +1 -0
  127. package/dist/cjs/components/index.js.map +1 -1
  128. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  129. package/dist/esm/components/Accordion/Accordion.js +8 -8
  130. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  131. package/dist/esm/components/Alert/Alert.js +4 -4
  132. package/dist/esm/components/Alert/Alert.js.map +1 -1
  133. package/dist/esm/components/Box/Box.js +1 -1
  134. package/dist/esm/components/Box/Box.js.map +1 -1
  135. package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js +2 -2
  136. package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
  137. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
  138. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  139. package/dist/esm/components/Button/Button.js +4 -2
  140. package/dist/esm/components/Button/Button.js.map +1 -1
  141. package/dist/esm/components/Button/Loading.js +12 -6
  142. package/dist/esm/components/Button/Loading.js.map +1 -1
  143. package/dist/esm/components/Button/Success.js +4 -3
  144. package/dist/esm/components/Button/Success.js.map +1 -1
  145. package/dist/esm/components/Checkbox/Checkbox.js +11 -7
  146. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  147. package/dist/esm/components/Checkbox/CheckboxGroup.js +2 -2
  148. package/dist/esm/components/Checkbox/CheckboxGroup.js.map +1 -1
  149. package/dist/esm/components/Container/Container.js +1 -1
  150. package/dist/esm/components/Container/Container.js.map +1 -1
  151. package/dist/esm/components/Divider/Divider.js +2 -2
  152. package/dist/esm/components/Divider/Divider.js.map +1 -1
  153. package/dist/esm/components/Drawer/Content.js +1 -1
  154. package/dist/esm/components/Drawer/Content.js.map +1 -1
  155. package/dist/esm/components/Drawer/Drawer.js +1 -1
  156. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  157. package/dist/esm/components/Drawer/Header.js +2 -2
  158. package/dist/esm/components/Drawer/Header.js.map +1 -1
  159. package/dist/esm/components/DropdownMenu/DropdownMenu.js +3 -3
  160. package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -1
  161. package/dist/esm/components/DropdownMenu/Item.js +1 -1
  162. package/dist/esm/components/DropdownMenu/Item.js.map +1 -1
  163. package/dist/esm/components/ErrorMessage/ErrorMessage.js +7 -4
  164. package/dist/esm/components/ErrorMessage/ErrorMessage.js.map +1 -1
  165. package/dist/esm/components/Fieldset/Fieldset.js +2 -2
  166. package/dist/esm/components/Fieldset/Fieldset.js.map +1 -1
  167. package/dist/esm/components/Flex/Flex.js +1 -1
  168. package/dist/esm/components/Flex/Flex.js.map +1 -1
  169. package/dist/esm/components/Grid/Grid.js +1 -1
  170. package/dist/esm/components/Grid/Grid.js.map +1 -1
  171. package/dist/esm/components/Grid/Item.js +1 -1
  172. package/dist/esm/components/Grid/Item.js.map +1 -1
  173. package/dist/esm/components/Icon/Icon.js +1 -1
  174. package/dist/esm/components/Icon/Icon.js.map +1 -1
  175. package/dist/esm/components/Image/Image.js +1 -1
  176. package/dist/esm/components/Image/Image.js.map +1 -1
  177. package/dist/esm/components/Label/Label.js +1 -1
  178. package/dist/esm/components/Label/Label.js.map +1 -1
  179. package/dist/esm/components/Link/Link.js +1 -1
  180. package/dist/esm/components/Link/Link.js.map +1 -1
  181. package/dist/esm/components/LinkButton/LinkButton.js +1 -1
  182. package/dist/esm/components/LinkButton/LinkButton.js.map +1 -1
  183. package/dist/esm/components/List/List.js +1 -1
  184. package/dist/esm/components/List/List.js.map +1 -1
  185. package/dist/esm/components/List/ListItem.js +3 -3
  186. package/dist/esm/components/List/ListItem.js.map +1 -1
  187. package/dist/esm/components/LoadingIndicator/LoadingIndicator.js +1 -1
  188. package/dist/esm/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
  189. package/dist/esm/components/Logo/Logo.js +1 -1
  190. package/dist/esm/components/Logo/Logo.js.map +1 -1
  191. package/dist/esm/components/Modal/Content.js +1 -1
  192. package/dist/esm/components/Modal/Content.js.map +1 -1
  193. package/dist/esm/components/Modal/Header.js +2 -2
  194. package/dist/esm/components/Modal/Header.js.map +1 -1
  195. package/dist/esm/components/Modal/Modal.js +1 -1
  196. package/dist/esm/components/Modal/Modal.js.map +1 -1
  197. package/dist/esm/components/NumberField/NumberField.js +7 -5
  198. package/dist/esm/components/NumberField/NumberField.js.map +1 -1
  199. package/dist/esm/components/PasswordField/PasswordField.js +1 -1
  200. package/dist/esm/components/PasswordField/PasswordField.js.map +1 -1
  201. package/dist/esm/components/PasswordField/ShowHideButton.js +1 -1
  202. package/dist/esm/components/PasswordField/ShowHideButton.js.map +1 -1
  203. package/dist/esm/components/Popover/Popover.js +8 -8
  204. package/dist/esm/components/Popover/Popover.js.map +1 -1
  205. package/dist/esm/components/Progress/Progress.js +5 -5
  206. package/dist/esm/components/Progress/Progress.js.map +1 -1
  207. package/dist/esm/components/Radio/Radio.js +6 -6
  208. package/dist/esm/components/Radio/Radio.js.map +1 -1
  209. package/dist/esm/components/Radio/RadioGroup.js +36 -32
  210. package/dist/esm/components/Radio/RadioGroup.js.map +1 -1
  211. package/dist/esm/components/SVG/SVG.js +1 -1
  212. package/dist/esm/components/SVG/SVG.js.map +1 -1
  213. package/dist/esm/components/Segment/Segment.js +2 -2
  214. package/dist/esm/components/Segment/Segment.js.map +1 -1
  215. package/dist/esm/components/Segment/SegmentGroup.js +5 -5
  216. package/dist/esm/components/Segment/SegmentGroup.js.map +1 -1
  217. package/dist/esm/components/Select/Select.js +8 -8
  218. package/dist/esm/components/Select/Select.js.map +1 -1
  219. package/dist/esm/components/Slider/Slider.js +7 -7
  220. package/dist/esm/components/Slider/Slider.js.map +1 -1
  221. package/dist/esm/components/Stack/Stack.js +16 -0
  222. package/dist/esm/components/Stack/Stack.js.map +1 -0
  223. package/dist/esm/components/Stack/index.js +3 -0
  224. package/dist/esm/components/Stack/index.js.map +1 -0
  225. package/dist/esm/components/Table/Body.js +1 -1
  226. package/dist/esm/components/Table/Body.js.map +1 -1
  227. package/dist/esm/components/Table/Cell.js +1 -1
  228. package/dist/esm/components/Table/Cell.js.map +1 -1
  229. package/dist/esm/components/Table/Foot.js +1 -1
  230. package/dist/esm/components/Table/Foot.js.map +1 -1
  231. package/dist/esm/components/Table/Head.js +1 -1
  232. package/dist/esm/components/Table/Head.js.map +1 -1
  233. package/dist/esm/components/Table/HeaderCell.js +1 -1
  234. package/dist/esm/components/Table/HeaderCell.js.map +1 -1
  235. package/dist/esm/components/Table/Row.js +1 -1
  236. package/dist/esm/components/Table/Row.js.map +1 -1
  237. package/dist/esm/components/Table/Table.js +1 -1
  238. package/dist/esm/components/Table/Table.js.map +1 -1
  239. package/dist/esm/components/Text/Text.js +5 -2
  240. package/dist/esm/components/Text/Text.js.map +1 -1
  241. package/dist/esm/components/TextArea/TextArea.js +5 -5
  242. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  243. package/dist/esm/components/TextAreaInput/TextAreaInput.js +1 -1
  244. package/dist/esm/components/TextAreaInput/TextAreaInput.js.map +1 -1
  245. package/dist/esm/components/TextField/TextField.js +12 -10
  246. package/dist/esm/components/TextField/TextField.js.map +1 -1
  247. package/dist/esm/components/Title/Title.js +4 -4
  248. package/dist/esm/components/Title/Title.js.map +1 -1
  249. package/dist/esm/components/Trust/Trust.js +4 -5
  250. package/dist/esm/components/Trust/Trust.js.map +1 -1
  251. package/dist/esm/components/Trust/constants.js +3 -3
  252. package/dist/esm/components/Trust/constants.js.map +1 -1
  253. package/dist/esm/components/index.js +1 -0
  254. package/dist/esm/components/index.js.map +1 -1
  255. package/dist/types/components/Button/Button.d.ts +2 -2
  256. package/dist/types/components/Button/Loading.d.ts +5 -1
  257. package/dist/types/components/Segment/Segment.stories.d.ts +2 -2
  258. package/dist/types/components/Segment/SegmentGroup.d.ts +1 -1
  259. package/dist/types/components/Stack/Stack.d.ts +15 -0
  260. package/dist/types/components/Stack/Stack.stories.d.ts +7 -0
  261. package/dist/types/components/Stack/Stack.test.d.ts +1 -0
  262. package/dist/types/components/Stack/index.d.ts +1 -0
  263. package/dist/types/components/index.d.ts +1 -0
  264. package/package.json +3 -2
  265. package/src/components/Accordion/Accordion.css +72 -0
  266. package/src/components/Accordion/Accordion.mdx +9 -10
  267. package/src/components/Accordion/Accordion.test.tsx +4 -4
  268. package/src/components/Accordion/Accordion.tsx +8 -8
  269. package/src/components/Alert/Alert.css +53 -0
  270. package/src/components/Alert/Alert.mdx +1 -5
  271. package/src/components/Alert/Alert.tsx +4 -4
  272. package/src/components/Box/Box.css +3 -0
  273. package/src/components/Box/Box.mdx +1 -5
  274. package/src/components/Box/Box.test.tsx +1 -1
  275. package/src/components/Box/Box.tsx +1 -1
  276. package/src/components/Breadcrumbs/BreadcrumbItem.tsx +2 -2
  277. package/src/components/Breadcrumbs/Breadcrumbs.css +34 -0
  278. package/src/components/Breadcrumbs/Breadcrumbs.mdx +4 -8
  279. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +2 -2
  280. package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  281. package/src/components/Button/Button.css +253 -0
  282. package/src/components/Button/Button.mdx +3 -11
  283. package/src/components/Button/Button.story.styles.css +2 -2
  284. package/src/components/Button/Button.test.tsx +4 -6
  285. package/src/components/Button/Button.tsx +4 -4
  286. package/src/components/Button/Loading.tsx +21 -8
  287. package/src/components/Button/Success.tsx +5 -3
  288. package/src/components/Checkbox/Checkbox.css +112 -0
  289. package/src/components/Checkbox/Checkbox.mdx +6 -12
  290. package/src/components/Checkbox/Checkbox.test.tsx +1 -7
  291. package/src/components/Checkbox/Checkbox.tsx +9 -7
  292. package/src/components/Checkbox/CheckboxGroup.css +26 -0
  293. package/src/components/Checkbox/CheckboxGroup.mdx +12 -22
  294. package/src/components/Checkbox/CheckboxGroup.test.tsx +2 -7
  295. package/src/components/Checkbox/CheckboxGroup.tsx +2 -2
  296. package/src/components/Container/Container.css +13 -0
  297. package/src/components/Container/Container.mdx +1 -5
  298. package/src/components/Container/Container.test.tsx +1 -2
  299. package/src/components/Container/Container.tsx +1 -1
  300. package/src/components/Divider/Divider.css +14 -0
  301. package/src/components/Divider/Divider.mdx +2 -6
  302. package/src/components/Divider/Divider.test.tsx +1 -1
  303. package/src/components/Divider/Divider.tsx +2 -2
  304. package/src/components/Drawer/Content.tsx +1 -1
  305. package/src/components/Drawer/Drawer.css +189 -0
  306. package/src/components/Drawer/Drawer.mdx +5 -12
  307. package/src/components/Drawer/Drawer.test.tsx +2 -2
  308. package/src/components/Drawer/Drawer.tsx +1 -1
  309. package/src/components/Drawer/Header.tsx +2 -2
  310. package/src/components/DropdownMenu/DropdownMenu.css +70 -0
  311. package/src/components/DropdownMenu/DropdownMenu.mdx +4 -8
  312. package/src/components/DropdownMenu/DropdownMenu.story.styles.css +3 -3
  313. package/src/components/DropdownMenu/DropdownMenu.test.tsx +4 -4
  314. package/src/components/DropdownMenu/DropdownMenu.tsx +3 -3
  315. package/src/components/DropdownMenu/Item.tsx +1 -1
  316. package/src/components/ErrorMessage/ErrorMessage.css +11 -0
  317. package/src/components/ErrorMessage/ErrorMessage.test.tsx +1 -1
  318. package/src/components/ErrorMessage/ErrorMessage.tsx +5 -3
  319. package/src/components/Fieldset/Fieldset.css +15 -0
  320. package/src/components/Fieldset/Fieldset.mdx +2 -6
  321. package/src/components/Fieldset/Fieldset.tsx +2 -2
  322. package/src/components/Flex/Flex.css +4 -0
  323. package/src/components/Flex/Flex.mdx +1 -5
  324. package/src/components/Flex/Flex.test.tsx +1 -1
  325. package/src/components/Flex/Flex.tsx +1 -1
  326. package/src/components/Grid/Grid.mdx +0 -4
  327. package/src/components/Grid/Grid.tsx +1 -1
  328. package/src/components/Grid/Item.tsx +1 -1
  329. package/src/components/Icon/Icon.css +44 -0
  330. package/src/components/Icon/Icon.mdx +1 -5
  331. package/src/components/Icon/Icon.test.tsx +1 -1
  332. package/src/components/Icon/Icon.tsx +1 -1
  333. package/src/components/Image/Image.mdx +1 -5
  334. package/src/components/Image/Image.test.tsx +1 -1
  335. package/src/components/Image/Image.tsx +1 -1
  336. package/src/components/Label/Label.css +21 -0
  337. package/src/components/Label/Label.mdx +1 -5
  338. package/src/components/Label/Label.test.tsx +1 -1
  339. package/src/components/Label/Label.tsx +1 -1
  340. package/src/components/Link/Link.css +26 -0
  341. package/src/components/Link/Link.mdx +1 -5
  342. package/src/components/Link/Link.test.tsx +1 -1
  343. package/src/components/Link/Link.tsx +1 -1
  344. package/src/components/LinkButton/LinkButton.mdx +1 -5
  345. package/src/components/LinkButton/LinkButton.tsx +1 -1
  346. package/src/components/List/List.css +60 -0
  347. package/src/components/List/List.mdx +4 -8
  348. package/src/components/List/List.test.tsx +4 -4
  349. package/src/components/List/List.tsx +1 -1
  350. package/src/components/List/ListItem.tsx +3 -3
  351. package/src/components/LoadingIndicator/LoadingIndicator.css +3 -0
  352. package/src/components/LoadingIndicator/LoadingIndicator.mdx +1 -5
  353. package/src/components/LoadingIndicator/LoadingIndicator.test.tsx +1 -1
  354. package/src/components/LoadingIndicator/LoadingIndicator.tsx +1 -1
  355. package/src/components/Logo/Logo.mdx +1 -5
  356. package/src/components/Logo/Logo.test.tsx +1 -1
  357. package/src/components/Logo/Logo.tsx +1 -1
  358. package/src/components/Modal/Content.tsx +1 -1
  359. package/src/components/Modal/Header.tsx +2 -2
  360. package/src/components/Modal/Modal.css +145 -0
  361. package/src/components/Modal/Modal.mdx +5 -12
  362. package/src/components/Modal/Modal.test.tsx +2 -2
  363. package/src/components/Modal/Modal.tsx +1 -1
  364. package/src/components/NumberField/NumberField.css +64 -0
  365. package/src/components/NumberField/NumberField.mdx +4 -8
  366. package/src/components/NumberField/NumberField.tsx +7 -6
  367. package/src/components/PasswordField/PasswordField.css +31 -0
  368. package/src/components/PasswordField/PasswordField.mdx +4 -8
  369. package/src/components/PasswordField/PasswordField.tsx +1 -1
  370. package/src/components/PasswordField/ShowHideButton.tsx +1 -1
  371. package/src/components/Popover/Popover.css +43 -0
  372. package/src/components/Popover/Popover.mdx +7 -11
  373. package/src/components/Popover/Popover.story.styles.css +3 -3
  374. package/src/components/Popover/Popover.test.tsx +7 -7
  375. package/src/components/Popover/Popover.tsx +8 -8
  376. package/src/components/Progress/Progress.css +30 -0
  377. package/src/components/Progress/Progress.mdx +5 -11
  378. package/src/components/Progress/Progress.test.tsx +7 -3
  379. package/src/components/Progress/Progress.tsx +5 -5
  380. package/src/components/Radio/Radio.css +185 -0
  381. package/src/components/Radio/Radio.mdx +9 -13
  382. package/src/components/Radio/Radio.test.tsx +10 -5
  383. package/src/components/Radio/Radio.tsx +6 -6
  384. package/src/components/Radio/RadioGroup.tsx +28 -25
  385. package/src/components/SVG/SVG.mdx +1 -5
  386. package/src/components/SVG/SVG.test.tsx +1 -1
  387. package/src/components/SVG/SVG.tsx +1 -1
  388. package/src/components/Segment/Segment.css +204 -0
  389. package/src/components/Segment/Segment.mdx +9 -13
  390. package/src/components/Segment/Segment.stories.tsx +7 -7
  391. package/src/components/Segment/Segment.tsx +2 -2
  392. package/src/components/Segment/SegmentGroup.tsx +6 -6
  393. package/src/components/Select/Select.css +85 -0
  394. package/src/components/Select/Select.mdx +4 -8
  395. package/src/components/Select/Select.test.tsx +2 -2
  396. package/src/components/Select/Select.tsx +7 -7
  397. package/src/components/Slider/Slider.css +138 -0
  398. package/src/components/Slider/Slider.mdx +8 -14
  399. package/src/components/Slider/Slider.test.tsx +4 -1
  400. package/src/components/Slider/Slider.tsx +7 -7
  401. package/src/components/Stack/Stack.css +30 -0
  402. package/src/components/Stack/Stack.mdx +41 -0
  403. package/src/components/Stack/Stack.stories.tsx +56 -0
  404. package/src/components/Stack/Stack.test.tsx +8 -0
  405. package/src/components/Stack/Stack.tsx +34 -0
  406. package/src/components/Stack/index.tsx +1 -0
  407. package/src/components/Table/Body.tsx +1 -1
  408. package/src/components/Table/Cell.tsx +1 -1
  409. package/src/components/Table/Foot.tsx +1 -1
  410. package/src/components/Table/Head.tsx +1 -1
  411. package/src/components/Table/HeaderCell.tsx +1 -1
  412. package/src/components/Table/Row.tsx +1 -1
  413. package/src/components/Table/Table.css +62 -0
  414. package/src/components/Table/Table.mdx +10 -14
  415. package/src/components/Table/Table.test.tsx +28 -15
  416. package/src/components/Table/Table.tsx +1 -1
  417. package/src/components/Text/Text.css +94 -0
  418. package/src/components/Text/Text.mdx +1 -5
  419. package/src/components/Text/Text.test.tsx +1 -1
  420. package/src/components/Text/Text.tsx +3 -4
  421. package/src/components/TextArea/TextArea.css +46 -0
  422. package/src/components/TextArea/TextArea.mdx +4 -8
  423. package/src/components/TextArea/TextArea.test.tsx +1 -1
  424. package/src/components/TextArea/TextArea.tsx +8 -5
  425. package/src/components/TextAreaInput/TextAreaInput.test.tsx +1 -1
  426. package/src/components/TextAreaInput/TextAreaInput.tsx +1 -1
  427. package/src/components/TextField/TextField.css +166 -0
  428. package/src/components/TextField/TextField.mdx +4 -8
  429. package/src/components/TextField/TextField.test.tsx +10 -10
  430. package/src/components/TextField/TextField.tsx +14 -11
  431. package/src/components/Title/Title.css +41 -0
  432. package/src/components/Title/Title.mdx +4 -8
  433. package/src/components/Title/Title.tsx +4 -4
  434. package/src/components/Trust/Trust.mdx +1 -7
  435. package/src/components/Trust/Trust.test.tsx +1 -1
  436. package/src/components/Trust/Trust.tsx +4 -5
  437. package/src/components/Trust/constants.ts +3 -3
  438. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -4
  439. package/src/components/index.tsx +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 93b9c39: ### Breaking Change
8
+
9
+ External margins removed from the following components:
10
+
11
+ - `Accordion`
12
+ - `Alert`
13
+ - `Checkbox`
14
+ - `ErrorMessage`
15
+ - `List`
16
+ - `NumberField`
17
+ - `Radio`
18
+ - `Select`
19
+ - `TextArea`
20
+ - `TextField`
21
+
22
+ ### Why
23
+
24
+ Having external margins on a component can make it difficult to compose components together. By removing these margins, it allows for more flexibility when composing components together.
25
+
26
+ ### How to Update
27
+
28
+ Spacing can be added back by using a `<Box />` component with the appropriate padding props.
29
+
30
+ - 8525e04: Use BEM for CSS classes
31
+
32
+ ### Minor Changes
33
+
34
+ - 7e166e1: Add `<Stack />` component
35
+
36
+ ### Patch Changes
37
+
38
+ - 61126b3: Use Mobius icon in `<ErrorMessage>`; fix `<Button>` default to `isLoading` change affecting width
39
+ - 27ff678: Add Thumbtack theme
40
+ - 5cfd1e7: Add Contractorplus theme; DRY up CSS in partner themes
41
+ - Updated dependencies [4631011]
42
+ - Updated dependencies [6c2d415]
43
+ - @simplybusiness/icons@4.14.0
44
+
45
+ ## 4.16.1
46
+
47
+ ### Patch Changes
48
+
49
+ - 2e7ab01: Colocate CSS files and component source
50
+
3
51
  ## 4.16.0
4
52
 
5
53
  ### Minor Changes
@@ -22,10 +22,10 @@ function _interop_require_default(obj) {
22
22
  };
23
23
  }
24
24
  const AccordionLink = ({ text, toggle, onClick, headerChildren, ariaExpanded })=>{
25
- const linkClasses = (0, _dedupe.default)("mobius/AccordionLink", {
25
+ const linkClasses = (0, _dedupe.default)("mobius-accordion__link", {
26
26
  "--is-open": ariaExpanded
27
27
  });
28
- const iconClasses = (0, _dedupe.default)("mobius/AccordionLinkIcon", {
28
+ const iconClasses = (0, _dedupe.default)("mobius-accordion__link-icon", {
29
29
  "--is-open": ariaExpanded
30
30
  });
31
31
  const handleOnClick = ()=>{
@@ -43,7 +43,7 @@ const AccordionLink = ({ text, toggle, onClick, headerChildren, ariaExpanded })=
43
43
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Flex.Flex, {
44
44
  justifyContent: "space-between",
45
45
  alignItems: "center",
46
- className: "mobius/AccordionHeader",
46
+ className: "mobius-accordion__header",
47
47
  children: [
48
48
  /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
49
49
  className: linkClasses,
@@ -54,7 +54,7 @@ const AccordionLink = ({ text, toggle, onClick, headerChildren, ariaExpanded })=
54
54
  "aria-expanded": !!ariaExpanded,
55
55
  children: [
56
56
  /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
57
- className: "mobius/AccordionLinkText",
57
+ className: "mobius-accordion__link-text",
58
58
  children: text
59
59
  }),
60
60
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.Icon, {
@@ -76,7 +76,7 @@ const AccordionLink = ({ text, toggle, onClick, headerChildren, ariaExpanded })=
76
76
  "aria-expanded": !!ariaExpanded,
77
77
  children: [
78
78
  /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
79
- className: "mobius/AccordionLinkText",
79
+ className: "mobius-accordion__link-text",
80
80
  children: text
81
81
  }),
82
82
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.Icon, {
@@ -93,14 +93,14 @@ const Accordion = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
93
93
  withAnimation: false
94
94
  });
95
95
  const prefersReducedMotion = (0, _usePrefersReducedMotion.usePrefersReducedMotion)();
96
- const containerClasses = (0, _dedupe.default)("mobius", "mobius/Accordion", props.className, {
96
+ const containerClasses = (0, _dedupe.default)("mobius", "mobius-accordion", props.className, {
97
97
  "--should-animate": accordionState.withAnimation && !prefersReducedMotion,
98
98
  "--is-open": accordionState.open
99
99
  });
100
- const contentContainerClasses = (0, _dedupe.default)("mobius/AccordionContentContainer", {
100
+ const contentContainerClasses = (0, _dedupe.default)("mobius-accordion__content-container", {
101
101
  "--is-open": accordionState.open
102
102
  });
103
- const contentClasses = (0, _dedupe.default)("mobius/AccordionContent", {
103
+ const contentClasses = (0, _dedupe.default)("mobius-accordion__content", {
104
104
  "--is-open": accordionState.open
105
105
  });
106
106
  const linkText = accordionState.open ? hideText : showText;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["\"use client\";\n\nimport { chevronDown } from \"@simplybusiness/icons\";\nimport classNames from \"classnames/dedupe\";\nimport {\n KeyboardEvent,\n ReactNode,\n Ref,\n RefAttributes,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { DOMProps } from \"../../types/dom\";\nimport { Flex } from \"../Flex\";\nimport { Icon } from \"../Icon\";\nimport { usePrefersReducedMotion } from \"../../hooks/usePrefersReducedMotion\";\n\nexport type AccordionElementType = HTMLDivElement;\nexport type AccordionRef = Ref<AccordionElementType>;\nexport interface AccordionLinkProps extends DOMProps {\n /** Link text to show accordion content */\n text?: string;\n onClick?: () => void;\n toggle: () => void;\n headerChildren?: ReactNode;\n ariaExpanded: boolean | undefined;\n}\n\nconst AccordionLink = ({\n text,\n toggle,\n onClick,\n headerChildren,\n ariaExpanded,\n}: AccordionLinkProps) => {\n const linkClasses = classNames(\"mobius/AccordionLink\", {\n \"--is-open\": ariaExpanded,\n });\n const iconClasses = classNames(\"mobius/AccordionLinkIcon\", {\n \"--is-open\": ariaExpanded,\n });\n\n const handleOnClick = (): void => {\n if (onClick) {\n onClick();\n }\n toggle();\n };\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === \"Enter\") {\n toggle();\n }\n };\n\n if (headerChildren) {\n return (\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className=\"mobius/AccordionHeader\"\n >\n <div\n className={linkClasses}\n onClick={handleOnClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-expanded={!!ariaExpanded}\n >\n <span className=\"mobius/AccordionLinkText\">{text}</span>\n <Icon icon={chevronDown} className={iconClasses} />\n </div>\n {headerChildren}\n </Flex>\n );\n }\n\n return (\n <div\n className={linkClasses}\n onClick={handleOnClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-expanded={!!ariaExpanded}\n >\n <span className=\"mobius/AccordionLinkText\">{text}</span>\n <Icon icon={chevronDown} className={iconClasses} />\n </div>\n );\n};\n\nexport interface AccordionProps\n extends DOMProps,\n RefAttributes<AccordionElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n /** Link text to show accordion content */\n showText?: string;\n /** Link text to hide accordion content */\n hideText?: string;\n /** Whether header is above or below content */\n headerPosition?: \"top\" | \"bottom\";\n /** Whether to expand the accordion initially */\n startOpen?: boolean | undefined;\n /** Callback that fires each time the accordion is opened */\n onOpen?: () => void;\n /** Callback that fires each time the accordion is closed */\n onClose?: () => void;\n /** Callback that fires each time the accordion state changes */\n onChange?: (state: boolean) => void;\n children?: ReactNode;\n headerChildren?: ReactNode;\n}\n\nexport const Accordion: ForwardedRefComponent<\n AccordionProps,\n AccordionElementType\n> = forwardRef((props: AccordionProps, ref: AccordionRef) => {\n const {\n showText = \"See more\",\n hideText = \"See less\",\n headerPosition = \"top\",\n startOpen = false,\n onOpen,\n onClose,\n onChange = () => {},\n headerChildren,\n ...rest\n } = props;\n const [accordionState, setAccordionState] = useState({\n open: true,\n withAnimation: false,\n });\n const prefersReducedMotion = usePrefersReducedMotion();\n\n const containerClasses = classNames(\n \"mobius\",\n \"mobius/Accordion\",\n props.className,\n {\n \"--should-animate\": accordionState.withAnimation && !prefersReducedMotion,\n \"--is-open\": accordionState.open,\n },\n );\n const contentContainerClasses = classNames(\n \"mobius/AccordionContentContainer\",\n {\n \"--is-open\": accordionState.open,\n },\n );\n const contentClasses = classNames(\"mobius/AccordionContent\", {\n \"--is-open\": accordionState.open,\n });\n const linkText = accordionState.open ? hideText : showText;\n\n const handleChange = () => {\n // Fire events\n if (!accordionState.open && onOpen) {\n onOpen();\n }\n if (accordionState.open && onClose) {\n onClose();\n }\n if (onChange) {\n onChange(!accordionState.open);\n }\n setAccordionState({\n open: !accordionState.open,\n withAnimation: true,\n });\n };\n\n useEffect(() => {\n setAccordionState({\n open: startOpen,\n withAnimation: false,\n });\n }, [startOpen]);\n\n return (\n <div ref={ref} {...rest} className={containerClasses}>\n {headerPosition === \"top\" && (\n <AccordionLink\n text={linkText}\n toggle={handleChange}\n ariaExpanded={accordionState.open}\n headerChildren={headerChildren}\n />\n )}\n <div\n className={contentContainerClasses}\n aria-hidden={!accordionState.open}\n >\n <div className={contentClasses}>{props.children}</div>\n </div>\n {headerPosition === \"bottom\" && (\n <AccordionLink\n text={linkText}\n toggle={handleChange}\n ariaExpanded={accordionState.open}\n headerChildren={headerChildren}\n />\n )}\n </div>\n );\n});\n"],"names":["Accordion","AccordionLink","text","toggle","onClick","headerChildren","ariaExpanded","linkClasses","classNames","iconClasses","handleOnClick","handleKeyDown","e","key","Flex","justifyContent","alignItems","className","div","onKeyDown","role","tabIndex","aria-expanded","span","Icon","icon","chevronDown","forwardRef","props","ref","showText","hideText","headerPosition","startOpen","onOpen","onClose","onChange","rest","accordionState","setAccordionState","useState","open","withAnimation","prefersReducedMotion","usePrefersReducedMotion","containerClasses","contentContainerClasses","contentClasses","linkText","handleChange","useEffect","aria-hidden","children"],"mappings":"AAAA;;;;;+BAsHaA;;;eAAAA;;;;uBApHe;+DACL;uBAShB;sBAGc;sBACA;yCACmB;;;;;;AAaxC,MAAMC,gBAAgB,CAAC,EACrBC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,cAAc,EACdC,YAAY,EACO;IACnB,MAAMC,cAAcC,IAAAA,eAAU,EAAC,wBAAwB;QACrD,aAAaF;IACf;IACA,MAAMG,cAAcD,IAAAA,eAAU,EAAC,4BAA4B;QACzD,aAAaF;IACf;IAEA,MAAMI,gBAAgB;QACpB,IAAIN,SAAS;YACXA;QACF;QACAD;IACF;IAEA,MAAMQ,gBAAgB,CAACC;QACrB,IAAIA,EAAEC,GAAG,KAAK,OAAOD,EAAEC,GAAG,KAAK,SAAS;YACtCV;QACF;IACF;IAEA,IAAIE,gBAAgB;QAClB,qBACE,sBAACS,UAAI;YACHC,gBAAe;YACfC,YAAW;YACXC,WAAU;;8BAEV,sBAACC;oBACCD,WAAWV;oBACXH,SAASM;oBACTS,WAAWR;oBACXS,MAAK;oBACLC,UAAU;oBACVC,iBAAe,CAAC,CAAChB;;sCAEjB,qBAACiB;4BAAKN,WAAU;sCAA4Bf;;sCAC5C,qBAACsB,UAAI;4BAACC,MAAMC,kBAAW;4BAAET,WAAWR;;;;gBAErCJ;;;IAGP;IAEA,qBACE,sBAACa;QACCD,WAAWV;QACXH,SAASM;QACTS,WAAWR;QACXS,MAAK;QACLC,UAAU;QACVC,iBAAe,CAAC,CAAChB;;0BAEjB,qBAACiB;gBAAKN,WAAU;0BAA4Bf;;0BAC5C,qBAACsB,UAAI;gBAACC,MAAMC,kBAAW;gBAAET,WAAWR;;;;AAG1C;AAyBO,MAAMT,0BAGT2B,IAAAA,iBAAU,EAAC,CAACC,OAAuBC;IACrC,MAAM,EACJC,WAAW,UAAU,EACrBC,WAAW,UAAU,EACrBC,iBAAiB,KAAK,EACtBC,YAAY,KAAK,EACjBC,MAAM,EACNC,OAAO,EACPC,WAAW,KAAO,CAAC,EACnB/B,cAAc,EACd,GAAGgC,MACJ,GAAGT;IACJ,MAAM,CAACU,gBAAgBC,kBAAkB,GAAGC,IAAAA,eAAQ,EAAC;QACnDC,MAAM;QACNC,eAAe;IACjB;IACA,MAAMC,uBAAuBC,IAAAA,gDAAuB;IAEpD,MAAMC,mBAAmBrC,IAAAA,eAAU,EACjC,UACA,oBACAoB,MAAMX,SAAS,EACf;QACE,oBAAoBqB,eAAeI,aAAa,IAAI,CAACC;QACrD,aAAaL,eAAeG,IAAI;IAClC;IAEF,MAAMK,0BAA0BtC,IAAAA,eAAU,EACxC,oCACA;QACE,aAAa8B,eAAeG,IAAI;IAClC;IAEF,MAAMM,iBAAiBvC,IAAAA,eAAU,EAAC,2BAA2B;QAC3D,aAAa8B,eAAeG,IAAI;IAClC;IACA,MAAMO,WAAWV,eAAeG,IAAI,GAAGV,WAAWD;IAElD,MAAMmB,eAAe;QACnB,cAAc;QACd,IAAI,CAACX,eAAeG,IAAI,IAAIP,QAAQ;YAClCA;QACF;QACA,IAAII,eAAeG,IAAI,IAAIN,SAAS;YAClCA;QACF;QACA,IAAIC,UAAU;YACZA,SAAS,CAACE,eAAeG,IAAI;QAC/B;QACAF,kBAAkB;YAChBE,MAAM,CAACH,eAAeG,IAAI;YAC1BC,eAAe;QACjB;IACF;IAEAQ,IAAAA,gBAAS,EAAC;QACRX,kBAAkB;YAChBE,MAAMR;YACNS,eAAe;QACjB;IACF,GAAG;QAACT;KAAU;IAEd,qBACE,sBAACf;QAAIW,KAAKA;QAAM,GAAGQ,IAAI;QAAEpB,WAAW4B;;YACjCb,mBAAmB,uBAClB,qBAAC/B;gBACCC,MAAM8C;gBACN7C,QAAQ8C;gBACR3C,cAAcgC,eAAeG,IAAI;gBACjCpC,gBAAgBA;;0BAGpB,qBAACa;gBACCD,WAAW6B;gBACXK,eAAa,CAACb,eAAeG,IAAI;0BAEjC,cAAA,qBAACvB;oBAAID,WAAW8B;8BAAiBnB,MAAMwB,QAAQ;;;YAEhDpB,mBAAmB,0BAClB,qBAAC/B;gBACCC,MAAM8C;gBACN7C,QAAQ8C;gBACR3C,cAAcgC,eAAeG,IAAI;gBACjCpC,gBAAgBA;;;;AAK1B"}
1
+ {"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["\"use client\";\n\nimport { chevronDown } from \"@simplybusiness/icons\";\nimport classNames from \"classnames/dedupe\";\nimport {\n KeyboardEvent,\n ReactNode,\n Ref,\n RefAttributes,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { DOMProps } from \"../../types/dom\";\nimport { Flex } from \"../Flex\";\nimport { Icon } from \"../Icon\";\nimport { usePrefersReducedMotion } from \"../../hooks/usePrefersReducedMotion\";\n\nexport type AccordionElementType = HTMLDivElement;\nexport type AccordionRef = Ref<AccordionElementType>;\nexport interface AccordionLinkProps extends DOMProps {\n /** Link text to show accordion content */\n text?: string;\n onClick?: () => void;\n toggle: () => void;\n headerChildren?: ReactNode;\n ariaExpanded: boolean | undefined;\n}\n\nconst AccordionLink = ({\n text,\n toggle,\n onClick,\n headerChildren,\n ariaExpanded,\n}: AccordionLinkProps) => {\n const linkClasses = classNames(\"mobius-accordion__link\", {\n \"--is-open\": ariaExpanded,\n });\n const iconClasses = classNames(\"mobius-accordion__link-icon\", {\n \"--is-open\": ariaExpanded,\n });\n\n const handleOnClick = (): void => {\n if (onClick) {\n onClick();\n }\n toggle();\n };\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === \"Enter\") {\n toggle();\n }\n };\n\n if (headerChildren) {\n return (\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className=\"mobius-accordion__header\"\n >\n <div\n className={linkClasses}\n onClick={handleOnClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-expanded={!!ariaExpanded}\n >\n <span className=\"mobius-accordion__link-text\">{text}</span>\n <Icon icon={chevronDown} className={iconClasses} />\n </div>\n {headerChildren}\n </Flex>\n );\n }\n\n return (\n <div\n className={linkClasses}\n onClick={handleOnClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-expanded={!!ariaExpanded}\n >\n <span className=\"mobius-accordion__link-text\">{text}</span>\n <Icon icon={chevronDown} className={iconClasses} />\n </div>\n );\n};\n\nexport interface AccordionProps\n extends DOMProps,\n RefAttributes<AccordionElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n /** Link text to show accordion content */\n showText?: string;\n /** Link text to hide accordion content */\n hideText?: string;\n /** Whether header is above or below content */\n headerPosition?: \"top\" | \"bottom\";\n /** Whether to expand the accordion initially */\n startOpen?: boolean | undefined;\n /** Callback that fires each time the accordion is opened */\n onOpen?: () => void;\n /** Callback that fires each time the accordion is closed */\n onClose?: () => void;\n /** Callback that fires each time the accordion state changes */\n onChange?: (state: boolean) => void;\n children?: ReactNode;\n headerChildren?: ReactNode;\n}\n\nexport const Accordion: ForwardedRefComponent<\n AccordionProps,\n AccordionElementType\n> = forwardRef((props: AccordionProps, ref: AccordionRef) => {\n const {\n showText = \"See more\",\n hideText = \"See less\",\n headerPosition = \"top\",\n startOpen = false,\n onOpen,\n onClose,\n onChange = () => {},\n headerChildren,\n ...rest\n } = props;\n const [accordionState, setAccordionState] = useState({\n open: true,\n withAnimation: false,\n });\n const prefersReducedMotion = usePrefersReducedMotion();\n\n const containerClasses = classNames(\n \"mobius\",\n \"mobius-accordion\",\n props.className,\n {\n \"--should-animate\": accordionState.withAnimation && !prefersReducedMotion,\n \"--is-open\": accordionState.open,\n },\n );\n const contentContainerClasses = classNames(\n \"mobius-accordion__content-container\",\n {\n \"--is-open\": accordionState.open,\n },\n );\n const contentClasses = classNames(\"mobius-accordion__content\", {\n \"--is-open\": accordionState.open,\n });\n const linkText = accordionState.open ? hideText : showText;\n\n const handleChange = () => {\n // Fire events\n if (!accordionState.open && onOpen) {\n onOpen();\n }\n if (accordionState.open && onClose) {\n onClose();\n }\n if (onChange) {\n onChange(!accordionState.open);\n }\n setAccordionState({\n open: !accordionState.open,\n withAnimation: true,\n });\n };\n\n useEffect(() => {\n setAccordionState({\n open: startOpen,\n withAnimation: false,\n });\n }, [startOpen]);\n\n return (\n <div ref={ref} {...rest} className={containerClasses}>\n {headerPosition === \"top\" && (\n <AccordionLink\n text={linkText}\n toggle={handleChange}\n ariaExpanded={accordionState.open}\n headerChildren={headerChildren}\n />\n )}\n <div\n className={contentContainerClasses}\n aria-hidden={!accordionState.open}\n >\n <div className={contentClasses}>{props.children}</div>\n </div>\n {headerPosition === \"bottom\" && (\n <AccordionLink\n text={linkText}\n toggle={handleChange}\n ariaExpanded={accordionState.open}\n headerChildren={headerChildren}\n />\n )}\n </div>\n );\n});\n"],"names":["Accordion","AccordionLink","text","toggle","onClick","headerChildren","ariaExpanded","linkClasses","classNames","iconClasses","handleOnClick","handleKeyDown","e","key","Flex","justifyContent","alignItems","className","div","onKeyDown","role","tabIndex","aria-expanded","span","Icon","icon","chevronDown","forwardRef","props","ref","showText","hideText","headerPosition","startOpen","onOpen","onClose","onChange","rest","accordionState","setAccordionState","useState","open","withAnimation","prefersReducedMotion","usePrefersReducedMotion","containerClasses","contentContainerClasses","contentClasses","linkText","handleChange","useEffect","aria-hidden","children"],"mappings":"AAAA;;;;;+BAsHaA;;;eAAAA;;;;uBApHe;+DACL;uBAShB;sBAGc;sBACA;yCACmB;;;;;;AAaxC,MAAMC,gBAAgB,CAAC,EACrBC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,cAAc,EACdC,YAAY,EACO;IACnB,MAAMC,cAAcC,IAAAA,eAAU,EAAC,0BAA0B;QACvD,aAAaF;IACf;IACA,MAAMG,cAAcD,IAAAA,eAAU,EAAC,+BAA+B;QAC5D,aAAaF;IACf;IAEA,MAAMI,gBAAgB;QACpB,IAAIN,SAAS;YACXA;QACF;QACAD;IACF;IAEA,MAAMQ,gBAAgB,CAACC;QACrB,IAAIA,EAAEC,GAAG,KAAK,OAAOD,EAAEC,GAAG,KAAK,SAAS;YACtCV;QACF;IACF;IAEA,IAAIE,gBAAgB;QAClB,qBACE,sBAACS,UAAI;YACHC,gBAAe;YACfC,YAAW;YACXC,WAAU;;8BAEV,sBAACC;oBACCD,WAAWV;oBACXH,SAASM;oBACTS,WAAWR;oBACXS,MAAK;oBACLC,UAAU;oBACVC,iBAAe,CAAC,CAAChB;;sCAEjB,qBAACiB;4BAAKN,WAAU;sCAA+Bf;;sCAC/C,qBAACsB,UAAI;4BAACC,MAAMC,kBAAW;4BAAET,WAAWR;;;;gBAErCJ;;;IAGP;IAEA,qBACE,sBAACa;QACCD,WAAWV;QACXH,SAASM;QACTS,WAAWR;QACXS,MAAK;QACLC,UAAU;QACVC,iBAAe,CAAC,CAAChB;;0BAEjB,qBAACiB;gBAAKN,WAAU;0BAA+Bf;;0BAC/C,qBAACsB,UAAI;gBAACC,MAAMC,kBAAW;gBAAET,WAAWR;;;;AAG1C;AAyBO,MAAMT,0BAGT2B,IAAAA,iBAAU,EAAC,CAACC,OAAuBC;IACrC,MAAM,EACJC,WAAW,UAAU,EACrBC,WAAW,UAAU,EACrBC,iBAAiB,KAAK,EACtBC,YAAY,KAAK,EACjBC,MAAM,EACNC,OAAO,EACPC,WAAW,KAAO,CAAC,EACnB/B,cAAc,EACd,GAAGgC,MACJ,GAAGT;IACJ,MAAM,CAACU,gBAAgBC,kBAAkB,GAAGC,IAAAA,eAAQ,EAAC;QACnDC,MAAM;QACNC,eAAe;IACjB;IACA,MAAMC,uBAAuBC,IAAAA,gDAAuB;IAEpD,MAAMC,mBAAmBrC,IAAAA,eAAU,EACjC,UACA,oBACAoB,MAAMX,SAAS,EACf;QACE,oBAAoBqB,eAAeI,aAAa,IAAI,CAACC;QACrD,aAAaL,eAAeG,IAAI;IAClC;IAEF,MAAMK,0BAA0BtC,IAAAA,eAAU,EACxC,uCACA;QACE,aAAa8B,eAAeG,IAAI;IAClC;IAEF,MAAMM,iBAAiBvC,IAAAA,eAAU,EAAC,6BAA6B;QAC7D,aAAa8B,eAAeG,IAAI;IAClC;IACA,MAAMO,WAAWV,eAAeG,IAAI,GAAGV,WAAWD;IAElD,MAAMmB,eAAe;QACnB,cAAc;QACd,IAAI,CAACX,eAAeG,IAAI,IAAIP,QAAQ;YAClCA;QACF;QACA,IAAII,eAAeG,IAAI,IAAIN,SAAS;YAClCA;QACF;QACA,IAAIC,UAAU;YACZA,SAAS,CAACE,eAAeG,IAAI;QAC/B;QACAF,kBAAkB;YAChBE,MAAM,CAACH,eAAeG,IAAI;YAC1BC,eAAe;QACjB;IACF;IAEAQ,IAAAA,gBAAS,EAAC;QACRX,kBAAkB;YAChBE,MAAMR;YACNS,eAAe;QACjB;IACF,GAAG;QAACT;KAAU;IAEd,qBACE,sBAACf;QAAIW,KAAKA;QAAM,GAAGQ,IAAI;QAAEpB,WAAW4B;;YACjCb,mBAAmB,uBAClB,qBAAC/B;gBACCC,MAAM8C;gBACN7C,QAAQ8C;gBACR3C,cAAcgC,eAAeG,IAAI;gBACjCpC,gBAAgBA;;0BAGpB,qBAACa;gBACCD,WAAW6B;gBACXK,eAAa,CAACb,eAAeG,IAAI;0BAEjC,cAAA,qBAACvB;oBAAID,WAAW8B;8BAAiBnB,MAAMwB,QAAQ;;;YAEhDpB,mBAAmB,0BAClB,qBAAC/B;gBACCC,MAAM8C;gBACN7C,QAAQ8C;gBACR3C,cAAcgC,eAAeG,IAAI;gBACjCpC,gBAAgBA;;;;AAK1B"}
@@ -21,7 +21,7 @@ function _interop_require_default(obj) {
21
21
  const Alert = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
22
22
  const { elementType: Element = "div", variant = "info", show = true, header, children, ...otherProps } = props;
23
23
  if (!show) return null;
24
- const classes = (0, _dedupe.default)("mobius", "mobius/Alert", {
24
+ const classes = (0, _dedupe.default)("mobius", "mobius-alert", {
25
25
  "--info": variant === "info",
26
26
  "--success": variant === "success",
27
27
  "--warning": variant === "warning",
@@ -34,9 +34,9 @@ const Alert = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
34
34
  warning: _icons.warning,
35
35
  error: _icons.error
36
36
  };
37
- const headerClasses = (0, _dedupe.default)("mobius", "mobius/AlertHeader");
38
- const iconClasses = (0, _dedupe.default)("mobius", "mobius/AlertIcon");
39
- const contentClasses = (0, _dedupe.default)("mobius", "mobius/AlertContent");
37
+ const headerClasses = (0, _dedupe.default)("mobius", "mobius-alert__header");
38
+ const iconClasses = (0, _dedupe.default)("mobius", "mobius-alert__icon");
39
+ const contentClasses = (0, _dedupe.default)("mobius", "mobius-alert__content");
40
40
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Element, {
41
41
  ref: ref,
42
42
  role: "alert",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import { circleInfo, circleTick, error, warning } from \"@simplybusiness/icons\";\nimport classNames from \"classnames/dedupe\";\nimport { ReactNode, Ref, RefAttributes, forwardRef } from \"react\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { DOMProps } from \"../../types/dom\";\nimport { Icon } from \"../Icon\";\n\nexport type AlertElementType = HTMLDivElement;\n\nexport interface AlertProps extends DOMProps, RefAttributes<AlertElementType> {\n children?: ReactNode;\n /** Custom class name for setting specific CSS */\n className?: string;\n elementType?: string | React.ElementType;\n variant?: \"info\" | \"success\" | \"warning\" | \"error\";\n show?: boolean;\n header?: string;\n}\n\nexport type AlertRef = Ref<AlertElementType>;\n\nconst Alert: ForwardedRefComponent<AlertProps, AlertElementType> = forwardRef(\n (props: AlertProps, ref: AlertRef) => {\n const {\n elementType: Element = \"div\",\n variant = \"info\",\n show = true,\n header,\n children,\n ...otherProps\n } = props;\n\n if (!show) return null;\n\n const classes = classNames(\n \"mobius\",\n \"mobius/Alert\",\n {\n \"--info\": variant === \"info\",\n \"--success\": variant === \"success\",\n \"--warning\": variant === \"warning\",\n \"--error\": variant === \"error\",\n \"--has-header\": header,\n },\n otherProps.className,\n );\n const icon = {\n info: circleInfo,\n success: circleTick,\n warning,\n error,\n };\n\n const headerClasses = classNames(\"mobius\", \"mobius/AlertHeader\");\n const iconClasses = classNames(\"mobius\", \"mobius/AlertIcon\");\n const contentClasses = classNames(\"mobius\", \"mobius/AlertContent\");\n\n return (\n <Element ref={ref} role=\"alert\" {...otherProps} className={classes}>\n <span className={iconClasses}>\n <Icon icon={icon[variant]} />\n </span>\n <div>\n {header && <p className={headerClasses}>{header}</p>}\n <div className={contentClasses}>{children}</div>\n </div>\n </Element>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\nexport { Alert };\n"],"names":["Alert","forwardRef","props","ref","elementType","Element","variant","show","header","children","otherProps","classes","classNames","className","icon","info","circleInfo","success","circleTick","warning","error","headerClasses","iconClasses","contentClasses","role","span","Icon","div","p","displayName"],"mappings":";;;;+BAwESA;;;eAAAA;;;;uBAxE8C;+DAChC;uBACmC;sBAGrC;;;;;;AAgBrB,MAAMA,sBAA6DC,IAAAA,iBAAU,EAC3E,CAACC,OAAmBC;IAClB,MAAM,EACJC,aAAaC,UAAU,KAAK,EAC5BC,UAAU,MAAM,EAChBC,OAAO,IAAI,EACXC,MAAM,EACNC,QAAQ,EACR,GAAGC,YACJ,GAAGR;IAEJ,IAAI,CAACK,MAAM,OAAO;IAElB,MAAMI,UAAUC,IAAAA,eAAU,EACxB,UACA,gBACA;QACE,UAAUN,YAAY;QACtB,aAAaA,YAAY;QACzB,aAAaA,YAAY;QACzB,WAAWA,YAAY;QACvB,gBAAgBE;IAClB,GACAE,WAAWG,SAAS;IAEtB,MAAMC,OAAO;QACXC,MAAMC,iBAAU;QAChBC,SAASC,iBAAU;QACnBC,SAAAA,cAAO;QACPC,OAAAA,YAAK;IACP;IAEA,MAAMC,gBAAgBT,IAAAA,eAAU,EAAC,UAAU;IAC3C,MAAMU,cAAcV,IAAAA,eAAU,EAAC,UAAU;IACzC,MAAMW,iBAAiBX,IAAAA,eAAU,EAAC,UAAU;IAE5C,qBACE,sBAACP;QAAQF,KAAKA;QAAKqB,MAAK;QAAS,GAAGd,UAAU;QAAEG,WAAWF;;0BACzD,qBAACc;gBAAKZ,WAAWS;0BACf,cAAA,qBAACI,UAAI;oBAACZ,MAAMA,IAAI,CAACR,QAAQ;;;0BAE3B,sBAACqB;;oBACEnB,wBAAU,qBAACoB;wBAAEf,WAAWQ;kCAAgBb;;kCACzC,qBAACmB;wBAAId,WAAWU;kCAAiBd;;;;;;AAIzC;AAGFT,MAAM6B,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import { circleInfo, circleTick, error, warning } from \"@simplybusiness/icons\";\nimport classNames from \"classnames/dedupe\";\nimport { ReactNode, Ref, RefAttributes, forwardRef } from \"react\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { DOMProps } from \"../../types/dom\";\nimport { Icon } from \"../Icon\";\n\nexport type AlertElementType = HTMLDivElement;\n\nexport interface AlertProps extends DOMProps, RefAttributes<AlertElementType> {\n children?: ReactNode;\n /** Custom class name for setting specific CSS */\n className?: string;\n elementType?: string | React.ElementType;\n variant?: \"info\" | \"success\" | \"warning\" | \"error\";\n show?: boolean;\n header?: string;\n}\n\nexport type AlertRef = Ref<AlertElementType>;\n\nconst Alert: ForwardedRefComponent<AlertProps, AlertElementType> = forwardRef(\n (props: AlertProps, ref: AlertRef) => {\n const {\n elementType: Element = \"div\",\n variant = \"info\",\n show = true,\n header,\n children,\n ...otherProps\n } = props;\n\n if (!show) return null;\n\n const classes = classNames(\n \"mobius\",\n \"mobius-alert\",\n {\n \"--info\": variant === \"info\",\n \"--success\": variant === \"success\",\n \"--warning\": variant === \"warning\",\n \"--error\": variant === \"error\",\n \"--has-header\": header,\n },\n otherProps.className,\n );\n const icon = {\n info: circleInfo,\n success: circleTick,\n warning,\n error,\n };\n\n const headerClasses = classNames(\"mobius\", \"mobius-alert__header\");\n const iconClasses = classNames(\"mobius\", \"mobius-alert__icon\");\n const contentClasses = classNames(\"mobius\", \"mobius-alert__content\");\n\n return (\n <Element ref={ref} role=\"alert\" {...otherProps} className={classes}>\n <span className={iconClasses}>\n <Icon icon={icon[variant]} />\n </span>\n <div>\n {header && <p className={headerClasses}>{header}</p>}\n <div className={contentClasses}>{children}</div>\n </div>\n </Element>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\nexport { Alert };\n"],"names":["Alert","forwardRef","props","ref","elementType","Element","variant","show","header","children","otherProps","classes","classNames","className","icon","info","circleInfo","success","circleTick","warning","error","headerClasses","iconClasses","contentClasses","role","span","Icon","div","p","displayName"],"mappings":";;;;+BAwESA;;;eAAAA;;;;uBAxE8C;+DAChC;uBACmC;sBAGrC;;;;;;AAgBrB,MAAMA,sBAA6DC,IAAAA,iBAAU,EAC3E,CAACC,OAAmBC;IAClB,MAAM,EACJC,aAAaC,UAAU,KAAK,EAC5BC,UAAU,MAAM,EAChBC,OAAO,IAAI,EACXC,MAAM,EACNC,QAAQ,EACR,GAAGC,YACJ,GAAGR;IAEJ,IAAI,CAACK,MAAM,OAAO;IAElB,MAAMI,UAAUC,IAAAA,eAAU,EACxB,UACA,gBACA;QACE,UAAUN,YAAY;QACtB,aAAaA,YAAY;QACzB,aAAaA,YAAY;QACzB,WAAWA,YAAY;QACvB,gBAAgBE;IAClB,GACAE,WAAWG,SAAS;IAEtB,MAAMC,OAAO;QACXC,MAAMC,iBAAU;QAChBC,SAASC,iBAAU;QACnBC,SAAAA,cAAO;QACPC,OAAAA,YAAK;IACP;IAEA,MAAMC,gBAAgBT,IAAAA,eAAU,EAAC,UAAU;IAC3C,MAAMU,cAAcV,IAAAA,eAAU,EAAC,UAAU;IACzC,MAAMW,iBAAiBX,IAAAA,eAAU,EAAC,UAAU;IAE5C,qBACE,sBAACP;QAAQF,KAAKA;QAAKqB,MAAK;QAAS,GAAGd,UAAU;QAAEG,WAAWF;;0BACzD,qBAACc;gBAAKZ,WAAWS;0BACf,cAAA,qBAACI,UAAI;oBAACZ,MAAMA,IAAI,CAACR,QAAQ;;;0BAE3B,sBAACqB;;oBACEnB,wBAAU,qBAACoB;wBAAEf,WAAWQ;kCAAgBb;;kCACzC,qBAACmB;wBAAId,WAAWU;kCAAiBd;;;;;;AAIzC;AAGFT,MAAM6B,WAAW,GAAG"}
@@ -19,7 +19,7 @@ function _interop_require_default(obj) {
19
19
  }
20
20
  const Box = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
21
21
  const { elementType: Element = "div", padding, paddingX, paddingInline, paddingInlineStart, paddingInlineEnd, paddingY, paddingBlock, paddingBlockStart, paddingBlockEnd, paddingTop, paddingRight, paddingBottom, paddingLeft, minWidth, minHeight, maxWidth, maxHeight, width, height, style, ...otherProps } = props;
22
- const classes = (0, _dedupe.default)("mobius", "mobius/Box", otherProps.className);
22
+ const classes = (0, _dedupe.default)("mobius", "mobius-box", otherProps.className);
23
23
  const styleProps = (0, _utils.filterUndefinedProps)({
24
24
  padding: (0, _utils.getSpacingValue)(padding),
25
25
  paddingInline: (0, _utils.getSpacingValue)(paddingInline || paddingX),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["import { Ref, forwardRef } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { BoxElementType, BoxProps } from \"./types\";\nimport { getSpacingValue, filterUndefinedProps } from \"../../utils\";\n\nexport type BoxRef = Ref<BoxElementType>;\n\nconst Box: ForwardedRefComponent<BoxProps, BoxElementType> = forwardRef(\n (props: BoxProps, ref: BoxRef) => {\n const {\n elementType: Element = \"div\",\n padding,\n paddingX,\n paddingInline,\n paddingInlineStart,\n paddingInlineEnd,\n paddingY,\n paddingBlock,\n paddingBlockStart,\n paddingBlockEnd,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n width,\n height,\n style,\n ...otherProps\n } = props;\n\n const classes = classNames(\"mobius\", \"mobius/Box\", otherProps.className);\n\n const styleProps = filterUndefinedProps({\n padding: getSpacingValue(padding),\n paddingInline: getSpacingValue(paddingInline || paddingX),\n paddingBlock: getSpacingValue(paddingBlock || paddingY),\n paddingTop: getSpacingValue(paddingTop || paddingBlockStart),\n paddingRight: getSpacingValue(paddingRight || paddingInlineEnd),\n paddingBottom: getSpacingValue(paddingBottom || paddingBlockEnd),\n paddingLeft: getSpacingValue(paddingLeft || paddingInlineStart),\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n width,\n height,\n ...style,\n });\n\n return (\n <Element\n ref={ref}\n style={styleProps}\n {...otherProps}\n className={classes}\n />\n );\n },\n);\n\nBox.displayName = \"Box\";\nexport { Box };\n"],"names":["Box","forwardRef","props","ref","elementType","Element","padding","paddingX","paddingInline","paddingInlineStart","paddingInlineEnd","paddingY","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingTop","paddingRight","paddingBottom","paddingLeft","minWidth","minHeight","maxWidth","maxHeight","width","height","style","otherProps","classes","classNames","className","styleProps","filterUndefinedProps","getSpacingValue","displayName"],"mappings":";;;;+BAkESA;;;eAAAA;;;;uBAlEuB;+DACT;uBAG+B;;;;;;AAItD,MAAMA,oBAAuDC,IAAAA,iBAAU,EACrE,CAACC,OAAiBC;IAChB,MAAM,EACJC,aAAaC,UAAU,KAAK,EAC5BC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACbC,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,EACZC,iBAAiB,EACjBC,eAAe,EACfC,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,KAAK,EACL,GAAGC,YACJ,GAAGxB;IAEJ,MAAMyB,UAAUC,IAAAA,eAAU,EAAC,UAAU,cAAcF,WAAWG,SAAS;IAEvE,MAAMC,aAAaC,IAAAA,2BAAoB,EAAC;QACtCzB,SAAS0B,IAAAA,sBAAe,EAAC1B;QACzBE,eAAewB,IAAAA,sBAAe,EAACxB,iBAAiBD;QAChDK,cAAcoB,IAAAA,sBAAe,EAACpB,gBAAgBD;QAC9CI,YAAYiB,IAAAA,sBAAe,EAACjB,cAAcF;QAC1CG,cAAcgB,IAAAA,sBAAe,EAAChB,gBAAgBN;QAC9CO,eAAee,IAAAA,sBAAe,EAACf,iBAAiBH;QAChDI,aAAac,IAAAA,sBAAe,EAACd,eAAeT;QAC5CU;QACAC;QACAC;QACAC;QACAC;QACAC;QACA,GAAGC,KAAK;IACV;IAEA,qBACE,qBAACpB;QACCF,KAAKA;QACLsB,OAAOK;QACN,GAAGJ,UAAU;QACdG,WAAWF;;AAGjB;AAGF3B,IAAIiC,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/Box/Box.tsx"],"sourcesContent":["import { Ref, forwardRef } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { BoxElementType, BoxProps } from \"./types\";\nimport { getSpacingValue, filterUndefinedProps } from \"../../utils\";\n\nexport type BoxRef = Ref<BoxElementType>;\n\nconst Box: ForwardedRefComponent<BoxProps, BoxElementType> = forwardRef(\n (props: BoxProps, ref: BoxRef) => {\n const {\n elementType: Element = \"div\",\n padding,\n paddingX,\n paddingInline,\n paddingInlineStart,\n paddingInlineEnd,\n paddingY,\n paddingBlock,\n paddingBlockStart,\n paddingBlockEnd,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n width,\n height,\n style,\n ...otherProps\n } = props;\n\n const classes = classNames(\"mobius\", \"mobius-box\", otherProps.className);\n\n const styleProps = filterUndefinedProps({\n padding: getSpacingValue(padding),\n paddingInline: getSpacingValue(paddingInline || paddingX),\n paddingBlock: getSpacingValue(paddingBlock || paddingY),\n paddingTop: getSpacingValue(paddingTop || paddingBlockStart),\n paddingRight: getSpacingValue(paddingRight || paddingInlineEnd),\n paddingBottom: getSpacingValue(paddingBottom || paddingBlockEnd),\n paddingLeft: getSpacingValue(paddingLeft || paddingInlineStart),\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n width,\n height,\n ...style,\n });\n\n return (\n <Element\n ref={ref}\n style={styleProps}\n {...otherProps}\n className={classes}\n />\n );\n },\n);\n\nBox.displayName = \"Box\";\nexport { Box };\n"],"names":["Box","forwardRef","props","ref","elementType","Element","padding","paddingX","paddingInline","paddingInlineStart","paddingInlineEnd","paddingY","paddingBlock","paddingBlockStart","paddingBlockEnd","paddingTop","paddingRight","paddingBottom","paddingLeft","minWidth","minHeight","maxWidth","maxHeight","width","height","style","otherProps","classes","classNames","className","styleProps","filterUndefinedProps","getSpacingValue","displayName"],"mappings":";;;;+BAkESA;;;eAAAA;;;;uBAlEuB;+DACT;uBAG+B;;;;;;AAItD,MAAMA,oBAAuDC,IAAAA,iBAAU,EACrE,CAACC,OAAiBC;IAChB,MAAM,EACJC,aAAaC,UAAU,KAAK,EAC5BC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACbC,kBAAkB,EAClBC,gBAAgB,EAChBC,QAAQ,EACRC,YAAY,EACZC,iBAAiB,EACjBC,eAAe,EACfC,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,KAAK,EACL,GAAGC,YACJ,GAAGxB;IAEJ,MAAMyB,UAAUC,IAAAA,eAAU,EAAC,UAAU,cAAcF,WAAWG,SAAS;IAEvE,MAAMC,aAAaC,IAAAA,2BAAoB,EAAC;QACtCzB,SAAS0B,IAAAA,sBAAe,EAAC1B;QACzBE,eAAewB,IAAAA,sBAAe,EAACxB,iBAAiBD;QAChDK,cAAcoB,IAAAA,sBAAe,EAACpB,gBAAgBD;QAC9CI,YAAYiB,IAAAA,sBAAe,EAACjB,cAAcF;QAC1CG,cAAcgB,IAAAA,sBAAe,EAAChB,gBAAgBN;QAC9CO,eAAee,IAAAA,sBAAe,EAACf,iBAAiBH;QAChDI,aAAac,IAAAA,sBAAe,EAACd,eAAeT;QAC5CU;QACAC;QACAC;QACAC;QACAC;QACAC;QACA,GAAGC,KAAK;IACV;IAEA,qBACE,qBAACpB;QACCF,KAAKA;QACLsB,OAAOK;QACN,GAAGJ,UAAU;QACdG,WAAWF;;AAGjB;AAGF3B,IAAIiC,WAAW,GAAG"}
@@ -20,7 +20,7 @@ function _interop_require_default(obj) {
20
20
  }
21
21
  const BreadcrumbItem = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
22
22
  const { isDisabled = false, isCurrent = false, "aria-current": ariaCurrent = "page", children, separator = /*#__PURE__*/ (0, _jsxruntime.jsx)(_Box.Box, {
23
- className: "mobius/BreadcrumbSeparator",
23
+ className: "mobius-breadcrumb__separator",
24
24
  "aria-hidden": "true",
25
25
  children: ">"
26
26
  }), ...otherProps } = props;
@@ -32,7 +32,7 @@ const BreadcrumbItem = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
32
32
  }
33
33
  };
34
34
  // Reshape class name and apply to outer element
35
- const classes = (0, _dedupe.default)("mobius", "mobius/BreadcrumbItem", props.className);
35
+ const classes = (0, _dedupe.default)("mobius", "mobius-breadcrumb__item", props.className);
36
36
  const child = typeof children === "string" ? /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
37
37
  ...itemProps,
38
38
  children: children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Breadcrumbs/BreadcrumbItem.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Ref,\n forwardRef,\n ReactNode,\n ReactElement,\n cloneElement,\n Children,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { DOMProps } from \"../../types/dom\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { Box } from \"../Box\";\n\nexport type BreadcrumbItemElementType = HTMLLIElement;\n\nexport interface BreadcrumbItemProps extends DOMProps {\n \"aria-current\"?:\n | \"page\"\n | \"step\"\n | \"location\"\n | \"date\"\n | \"time\"\n | boolean\n | \"true\"\n | \"false\";\n isDisabled?: boolean;\n isCurrent?: boolean;\n separator?: ReactNode;\n className?: string;\n children: ReactNode;\n}\n\nexport type BreadcrumbItemRef = Ref<BreadcrumbItemElementType>;\n\nconst BreadcrumbItem: ForwardedRefComponent<\n BreadcrumbItemProps,\n BreadcrumbItemElementType\n> = forwardRef((props: BreadcrumbItemProps, ref: BreadcrumbItemRef) => {\n const {\n isDisabled = false,\n isCurrent = false,\n \"aria-current\": ariaCurrent = \"page\",\n children,\n separator = (\n <Box className=\"mobius/BreadcrumbSeparator\" aria-hidden=\"true\">\n {\">\"}\n </Box>\n ),\n ...otherProps\n } = props;\n const { itemProps } = {\n itemProps: {\n \"aria-current\": isCurrent ? ariaCurrent : undefined,\n \"aria-disabled\": isDisabled || isCurrent,\n ...otherProps,\n },\n };\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius/BreadcrumbItem\",\n props.className,\n );\n\n const child =\n typeof children === \"string\" ? (\n <span {...itemProps}>{children}</span>\n ) : (\n (Children.only(children) as ReactElement)\n );\n\n return (\n <li className={classes}>\n {cloneElement(child, { ...child.props, ...itemProps, ref })}\n {!props.isCurrent && separator}\n </li>\n );\n});\n\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\nexport { BreadcrumbItem };\n"],"names":["BreadcrumbItem","forwardRef","props","ref","isDisabled","isCurrent","ariaCurrent","children","separator","Box","className","aria-hidden","otherProps","itemProps","undefined","classes","classNames","child","span","Children","only","li","cloneElement","displayName"],"mappings":"AAAA;;;;;+BAmFSA;;;eAAAA;;;;uBA1EF;+DACgB;qBAGH;;;;;;AAuBpB,MAAMA,+BAGFC,IAAAA,iBAAU,EAAC,CAACC,OAA4BC;IAC1C,MAAM,EACJC,aAAa,KAAK,EAClBC,YAAY,KAAK,EACjB,gBAAgBC,cAAc,MAAM,EACpCC,QAAQ,EACRC,0BACE,qBAACC,QAAG;QAACC,WAAU;QAA6BC,eAAY;kBACrD;MAEJ,EACD,GAAGC,YACJ,GAAGV;IACJ,MAAM,EAAEW,SAAS,EAAE,GAAG;QACpBA,WAAW;YACT,gBAAgBR,YAAYC,cAAcQ;YAC1C,iBAAiBV,cAAcC;YAC/B,GAAGO,UAAU;QACf;IACF;IAEA,gDAAgD;IAChD,MAAMG,UAAUC,IAAAA,eAAU,EACxB,UACA,yBACAd,MAAMQ,SAAS;IAGjB,MAAMO,QACJ,OAAOV,aAAa,yBAClB,qBAACW;QAAM,GAAGL,SAAS;kBAAGN;SAErBY,eAAQ,CAACC,IAAI,CAACb;IAGnB,qBACE,sBAACc;QAAGX,WAAWK;;0BACZO,IAAAA,mBAAY,EAACL,OAAO;gBAAE,GAAGA,MAAMf,KAAK;gBAAE,GAAGW,SAAS;gBAAEV;YAAI;YACxD,CAACD,MAAMG,SAAS,IAAIG;;;AAG3B;AAEAR,eAAeuB,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/Breadcrumbs/BreadcrumbItem.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Ref,\n forwardRef,\n ReactNode,\n ReactElement,\n cloneElement,\n Children,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { DOMProps } from \"../../types/dom\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { Box } from \"../Box\";\n\nexport type BreadcrumbItemElementType = HTMLLIElement;\n\nexport interface BreadcrumbItemProps extends DOMProps {\n \"aria-current\"?:\n | \"page\"\n | \"step\"\n | \"location\"\n | \"date\"\n | \"time\"\n | boolean\n | \"true\"\n | \"false\";\n isDisabled?: boolean;\n isCurrent?: boolean;\n separator?: ReactNode;\n className?: string;\n children: ReactNode;\n}\n\nexport type BreadcrumbItemRef = Ref<BreadcrumbItemElementType>;\n\nconst BreadcrumbItem: ForwardedRefComponent<\n BreadcrumbItemProps,\n BreadcrumbItemElementType\n> = forwardRef((props: BreadcrumbItemProps, ref: BreadcrumbItemRef) => {\n const {\n isDisabled = false,\n isCurrent = false,\n \"aria-current\": ariaCurrent = \"page\",\n children,\n separator = (\n <Box className=\"mobius-breadcrumb__separator\" aria-hidden=\"true\">\n {\">\"}\n </Box>\n ),\n ...otherProps\n } = props;\n const { itemProps } = {\n itemProps: {\n \"aria-current\": isCurrent ? ariaCurrent : undefined,\n \"aria-disabled\": isDisabled || isCurrent,\n ...otherProps,\n },\n };\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius-breadcrumb__item\",\n props.className,\n );\n\n const child =\n typeof children === \"string\" ? (\n <span {...itemProps}>{children}</span>\n ) : (\n (Children.only(children) as ReactElement)\n );\n\n return (\n <li className={classes}>\n {cloneElement(child, { ...child.props, ...itemProps, ref })}\n {!props.isCurrent && separator}\n </li>\n );\n});\n\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\nexport { BreadcrumbItem };\n"],"names":["BreadcrumbItem","forwardRef","props","ref","isDisabled","isCurrent","ariaCurrent","children","separator","Box","className","aria-hidden","otherProps","itemProps","undefined","classes","classNames","child","span","Children","only","li","cloneElement","displayName"],"mappings":"AAAA;;;;;+BAmFSA;;;eAAAA;;;;uBA1EF;+DACgB;qBAGH;;;;;;AAuBpB,MAAMA,+BAGFC,IAAAA,iBAAU,EAAC,CAACC,OAA4BC;IAC1C,MAAM,EACJC,aAAa,KAAK,EAClBC,YAAY,KAAK,EACjB,gBAAgBC,cAAc,MAAM,EACpCC,QAAQ,EACRC,0BACE,qBAACC,QAAG;QAACC,WAAU;QAA+BC,eAAY;kBACvD;MAEJ,EACD,GAAGC,YACJ,GAAGV;IACJ,MAAM,EAAEW,SAAS,EAAE,GAAG;QACpBA,WAAW;YACT,gBAAgBR,YAAYC,cAAcQ;YAC1C,iBAAiBV,cAAcC;YAC/B,GAAGO,UAAU;QACf;IACF;IAEA,gDAAgD;IAChD,MAAMG,UAAUC,IAAAA,eAAU,EACxB,UACA,2BACAd,MAAMQ,SAAS;IAGjB,MAAMO,QACJ,OAAOV,aAAa,yBAClB,qBAACW;QAAM,GAAGL,SAAS;kBAAGN;SAErBY,eAAQ,CAACC,IAAI,CAACb;IAGnB,qBACE,sBAACc;QAAGX,WAAWK;;0BACZO,IAAAA,mBAAY,EAACL,OAAO;gBAAE,GAAGA,MAAMf,KAAK;gBAAE,GAAGW,SAAS;gBAAEV;YAAI;YACxD,CAACD,MAAMG,SAAS,IAAIG;;;AAG3B;AAEAR,eAAeuB,WAAW,GAAG"}
@@ -27,7 +27,7 @@ const Breadcrumbs = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
27
27
  const { children, ...otherProps } = props;
28
28
  const childArray = _react.Children.toArray(children);
29
29
  // Reshape class name and apply to outer element
30
- const classes = (0, _dedupe.default)("mobius", "mobius/Breadcrumb", otherProps.className);
30
+ const classes = (0, _dedupe.default)("mobius", "mobius-breadcrumb", otherProps.className);
31
31
  return /*#__PURE__*/ (0, _jsxruntime.jsx)("nav", {
32
32
  ref: ref,
33
33
  ...otherProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Ref,\n forwardRef,\n Children,\n cloneElement,\n ReactElement,\n RefAttributes,\n ReactNode,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { ForwardedRefComponent } from \"../../types/components\";\n\nexport type BreadcrumbsElementType = HTMLUListElement;\n\nexport interface BreadcrumbsProps\n extends RefAttributes<BreadcrumbsElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n children?: ReactNode;\n \"aria-label\"?: string;\n}\n\nexport type BreadcrumbsRef = Ref<BreadcrumbsElementType>;\n\nconst Breadcrumbs: ForwardedRefComponent<\n BreadcrumbsProps,\n BreadcrumbsElementType\n> = forwardRef((props: BreadcrumbsProps, ref: BreadcrumbsRef) => {\n const { \"aria-label\": ariaLabel = \"Breadcrumbs\" } = props;\n const { navProps } = { navProps: { \"aria-label\": ariaLabel } };\n const { children, ...otherProps } = props;\n const childArray = Children.toArray(children);\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius/Breadcrumb\",\n otherProps.className,\n );\n\n return (\n <nav ref={ref} {...otherProps} {...navProps} className={classes}>\n <ul>\n {childArray.map((child, i) =>\n cloneElement(child as ReactElement, {\n isCurrent: i === childArray.length - 1,\n }),\n )}\n </ul>\n </nav>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\nexport { Breadcrumbs };\n"],"names":["Breadcrumbs","forwardRef","props","ref","ariaLabel","navProps","children","otherProps","childArray","Children","toArray","classes","classNames","className","nav","ul","map","child","i","cloneElement","isCurrent","length","displayName"],"mappings":"AAAA;;;;;+BAwDSA;;;eAAAA;;;;uBA9CF;+DACgB;;;;;;AAevB,MAAMA,4BAGFC,IAAAA,iBAAU,EAAC,CAACC,OAAyBC;IACvC,MAAM,EAAE,cAAcC,YAAY,aAAa,EAAE,GAAGF;IACpD,MAAM,EAAEG,QAAQ,EAAE,GAAG;QAAEA,UAAU;YAAE,cAAcD;QAAU;IAAE;IAC7D,MAAM,EAAEE,QAAQ,EAAE,GAAGC,YAAY,GAAGL;IACpC,MAAMM,aAAaC,eAAQ,CAACC,OAAO,CAACJ;IAEpC,gDAAgD;IAChD,MAAMK,UAAUC,IAAAA,eAAU,EACxB,UACA,qBACAL,WAAWM,SAAS;IAGtB,qBACE,qBAACC;QAAIX,KAAKA;QAAM,GAAGI,UAAU;QAAG,GAAGF,QAAQ;QAAEQ,WAAWF;kBACtD,cAAA,qBAACI;sBACEP,WAAWQ,GAAG,CAAC,CAACC,OAAOC,kBACtBC,IAAAA,mBAAY,EAACF,OAAuB;oBAClCG,WAAWF,MAAMV,WAAWa,MAAM,GAAG;gBACvC;;;AAKV;AAEArB,YAAYsB,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Ref,\n forwardRef,\n Children,\n cloneElement,\n ReactElement,\n RefAttributes,\n ReactNode,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { ForwardedRefComponent } from \"../../types/components\";\n\nexport type BreadcrumbsElementType = HTMLUListElement;\n\nexport interface BreadcrumbsProps\n extends RefAttributes<BreadcrumbsElementType> {\n /** Custom class name for setting specific CSS */\n className?: string;\n children?: ReactNode;\n \"aria-label\"?: string;\n}\n\nexport type BreadcrumbsRef = Ref<BreadcrumbsElementType>;\n\nconst Breadcrumbs: ForwardedRefComponent<\n BreadcrumbsProps,\n BreadcrumbsElementType\n> = forwardRef((props: BreadcrumbsProps, ref: BreadcrumbsRef) => {\n const { \"aria-label\": ariaLabel = \"Breadcrumbs\" } = props;\n const { navProps } = { navProps: { \"aria-label\": ariaLabel } };\n const { children, ...otherProps } = props;\n const childArray = Children.toArray(children);\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius-breadcrumb\",\n otherProps.className,\n );\n\n return (\n <nav ref={ref} {...otherProps} {...navProps} className={classes}>\n <ul>\n {childArray.map((child, i) =>\n cloneElement(child as ReactElement, {\n isCurrent: i === childArray.length - 1,\n }),\n )}\n </ul>\n </nav>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\nexport { Breadcrumbs };\n"],"names":["Breadcrumbs","forwardRef","props","ref","ariaLabel","navProps","children","otherProps","childArray","Children","toArray","classes","classNames","className","nav","ul","map","child","i","cloneElement","isCurrent","length","displayName"],"mappings":"AAAA;;;;;+BAwDSA;;;eAAAA;;;;uBA9CF;+DACgB;;;;;;AAevB,MAAMA,4BAGFC,IAAAA,iBAAU,EAAC,CAACC,OAAyBC;IACvC,MAAM,EAAE,cAAcC,YAAY,aAAa,EAAE,GAAGF;IACpD,MAAM,EAAEG,QAAQ,EAAE,GAAG;QAAEA,UAAU;YAAE,cAAcD;QAAU;IAAE;IAC7D,MAAM,EAAEE,QAAQ,EAAE,GAAGC,YAAY,GAAGL;IACpC,MAAMM,aAAaC,eAAQ,CAACC,OAAO,CAACJ;IAEpC,gDAAgD;IAChD,MAAMK,UAAUC,IAAAA,eAAU,EACxB,UACA,qBACAL,WAAWM,SAAS;IAGtB,qBACE,qBAACC;QAAIX,KAAKA;QAAM,GAAGI,UAAU;QAAG,GAAGF,QAAQ;QAAEQ,WAAWF;kBACtD,cAAA,qBAACI;sBACEP,WAAWQ,GAAG,CAAC,CAACC,OAAOC,kBACtBC,IAAAA,mBAAY,EAACF,OAAuB;oBAClCG,WAAWF,MAAMV,WAAWa,MAAM,GAAG;gBACvC;;;AAKV;AAEArB,YAAYsB,WAAW,GAAG"}
@@ -42,7 +42,7 @@ const Button = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
42
42
  };
43
43
  const buttonVariant = getVariant(variant);
44
44
  // Reshape class name and apply to outer element
45
- const classes = (0, _dedupe.default)("mobius", "mobius/Button", `--variant-${buttonVariant}`, `--size-${size}`, {
45
+ const classes = (0, _dedupe.default)("mobius", "mobius-button", `--variant-${buttonVariant}`, `--size-${size}`, {
46
46
  "--is-disabled": isDisabled,
47
47
  "--is-loading": isLoading,
48
48
  "--is-success": isSuccess && !isLoading
@@ -53,7 +53,9 @@ const Button = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
53
53
  ...buttonProps,
54
54
  ...otherProps,
55
55
  children: [
56
- isLoading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Loading.Loading, {}) : children && children,
56
+ isLoading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Loading.Loading, {
57
+ children: children
58
+ }) : children,
57
59
  isSuccess && !isLoading && /*#__PURE__*/ (0, _jsxruntime.jsx)(_Success.Success, {})
58
60
  ]
59
61
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["\"use client\";\n\nimport { Ref, forwardRef, RefAttributes, ReactNode } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { DOMProps } from \"../../types/dom\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { Loading } from \"./Loading\";\nimport { UseButtonProps, useButton } from \"../../hooks/useButton\";\nimport { useDeprecationWarning } from \"../../hooks\";\nimport { Success } from \"./Success\";\n\nexport type ButtonElementType = HTMLButtonElement;\n\nexport type Variant =\n | \"primary\"\n | \"secondary\"\n | \"ghost\"\n | \"inverse\"\n | \"inverse-ghost\"\n | \"basic\"\n | \"link\";\n\nexport type Size = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps\n extends UseButtonProps,\n DOMProps,\n RefAttributes<ButtonElementType> {\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: React.MouseEvent<HTMLButtonElement>) => void;\n children?: ReactNode;\n}\n\nexport type ButtonRef = Ref<ButtonElementType>;\n\nconst Button: ForwardedRefComponent<ButtonProps, ButtonElementType> =\n forwardRef((props: ButtonProps, ref: ButtonRef) => {\n const {\n children,\n elementType: Component = \"button\",\n isDisabled,\n isLoading,\n isSuccess,\n variant = \"primary\",\n size = \"md\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick,\n ...otherProps\n } = props;\n const { buttonProps } = useButton(props);\n\n useDeprecationWarning({\n \"variant 'inverse'\": variant === \"inverse\",\n \"variant 'inverse-ghost'\": variant === \"inverse-ghost\",\n });\n\n // Map deprecated variants to alternative ones\n const getVariant = (type: Variant) => {\n if (type === \"inverse\") {\n return \"basic\";\n }\n\n if (type === \"inverse-ghost\") {\n return \"secondary\";\n }\n\n return variant;\n };\n\n const buttonVariant = getVariant(variant);\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius/Button\",\n `--variant-${buttonVariant}`,\n `--size-${size}`,\n {\n \"--is-disabled\": isDisabled,\n \"--is-loading\": isLoading,\n \"--is-success\": isSuccess && !isLoading,\n },\n otherProps.className,\n );\n otherProps.className = classes;\n\n return (\n <Component ref={ref} {...buttonProps} {...otherProps}>\n {isLoading ? <Loading /> : children && children}\n {isSuccess && !isLoading && <Success />}\n </Component>\n );\n });\n\nButton.displayName = \"Button\";\nexport { Button };\n"],"names":["Button","forwardRef","props","ref","children","elementType","Component","isDisabled","isLoading","isSuccess","variant","size","onPress","onClick","otherProps","buttonProps","useButton","useDeprecationWarning","getVariant","type","buttonVariant","classes","classNames","className","Loading","Success","displayName"],"mappings":"AAAA;;;;;+BAyGSA;;;eAAAA;;;;uBAvGiD;+DACnC;yBAGC;2BACkB;uBACJ;yBACd;;;;;;AAkCxB,MAAMA,uBACJC,IAAAA,iBAAU,EAAC,CAACC,OAAoBC;IAC9B,MAAM,EACJC,QAAQ,EACRC,aAAaC,YAAY,QAAQ,EACjCC,UAAU,EACVC,SAAS,EACTC,SAAS,EACTC,UAAU,SAAS,EACnBC,OAAO,IAAI,EACX,6DAA6D;IAC7DC,OAAO,EACP,6DAA6D;IAC7DC,OAAO,EACP,GAAGC,YACJ,GAAGZ;IACJ,MAAM,EAAEa,WAAW,EAAE,GAAGC,IAAAA,oBAAS,EAACd;IAElCe,IAAAA,4BAAqB,EAAC;QACpB,qBAAqBP,YAAY;QACjC,2BAA2BA,YAAY;IACzC;IAEA,8CAA8C;IAC9C,MAAMQ,aAAa,CAACC;QAClB,IAAIA,SAAS,WAAW;YACtB,OAAO;QACT;QAEA,IAAIA,SAAS,iBAAiB;YAC5B,OAAO;QACT;QAEA,OAAOT;IACT;IAEA,MAAMU,gBAAgBF,WAAWR;IAEjC,gDAAgD;IAChD,MAAMW,UAAUC,IAAAA,eAAU,EACxB,UACA,iBACA,CAAC,UAAU,EAAEF,cAAc,CAAC,EAC5B,CAAC,OAAO,EAAET,KAAK,CAAC,EAChB;QACE,iBAAiBJ;QACjB,gBAAgBC;QAChB,gBAAgBC,aAAa,CAACD;IAChC,GACAM,WAAWS,SAAS;IAEtBT,WAAWS,SAAS,GAAGF;IAEvB,qBACE,sBAACf;QAAUH,KAAKA;QAAM,GAAGY,WAAW;QAAG,GAAGD,UAAU;;YACjDN,0BAAY,qBAACgB,gBAAO,QAAMpB,YAAYA;YACtCK,aAAa,CAACD,2BAAa,qBAACiB,gBAAO;;;AAG1C;AAEFzB,OAAO0B,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":["\"use client\";\n\nimport { Ref, forwardRef, RefAttributes, ReactNode, MouseEvent } from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { DOMProps } from \"../../types/dom\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { Loading } from \"./Loading\";\nimport { UseButtonProps, useButton } from \"../../hooks/useButton\";\nimport { useDeprecationWarning } from \"../../hooks\";\nimport { Success } from \"./Success\";\n\nexport type ButtonElementType = HTMLButtonElement;\n\nexport type Variant =\n | \"primary\"\n | \"secondary\"\n | \"ghost\"\n | \"inverse\"\n | \"inverse-ghost\"\n | \"basic\"\n | \"link\";\n\nexport type Size = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps\n extends UseButtonProps,\n DOMProps,\n RefAttributes<ButtonElementType> {\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\nexport type ButtonRef = Ref<ButtonElementType>;\n\nconst Button: ForwardedRefComponent<ButtonProps, ButtonElementType> =\n forwardRef((props: ButtonProps, ref: ButtonRef) => {\n const {\n children,\n elementType: Component = \"button\",\n isDisabled,\n isLoading,\n isSuccess,\n variant = \"primary\",\n size = \"md\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick,\n ...otherProps\n } = props;\n const { buttonProps } = useButton(props);\n\n useDeprecationWarning({\n \"variant 'inverse'\": variant === \"inverse\",\n \"variant 'inverse-ghost'\": variant === \"inverse-ghost\",\n });\n\n // Map deprecated variants to alternative ones\n const getVariant = (type: Variant) => {\n if (type === \"inverse\") {\n return \"basic\";\n }\n\n if (type === \"inverse-ghost\") {\n return \"secondary\";\n }\n\n return variant;\n };\n\n const buttonVariant = getVariant(variant);\n\n // Reshape class name and apply to outer element\n const classes = classNames(\n \"mobius\",\n \"mobius-button\",\n `--variant-${buttonVariant}`,\n `--size-${size}`,\n {\n \"--is-disabled\": isDisabled,\n \"--is-loading\": isLoading,\n \"--is-success\": isSuccess && !isLoading,\n },\n otherProps.className,\n );\n otherProps.className = classes;\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"],"names":["Button","forwardRef","props","ref","children","elementType","Component","isDisabled","isLoading","isSuccess","variant","size","onPress","onClick","otherProps","buttonProps","useButton","useDeprecationWarning","getVariant","type","buttonVariant","classes","classNames","className","Loading","Success","displayName"],"mappings":"AAAA;;;;;+BAyGSA;;;eAAAA;;;;uBAvG6D;+DAC/C;yBAGC;2BACkB;uBACJ;yBACd;;;;;;AAkCxB,MAAMA,uBACJC,IAAAA,iBAAU,EAAC,CAACC,OAAoBC;IAC9B,MAAM,EACJC,QAAQ,EACRC,aAAaC,YAAY,QAAQ,EACjCC,UAAU,EACVC,SAAS,EACTC,SAAS,EACTC,UAAU,SAAS,EACnBC,OAAO,IAAI,EACX,6DAA6D;IAC7DC,OAAO,EACP,6DAA6D;IAC7DC,OAAO,EACP,GAAGC,YACJ,GAAGZ;IACJ,MAAM,EAAEa,WAAW,EAAE,GAAGC,IAAAA,oBAAS,EAACd;IAElCe,IAAAA,4BAAqB,EAAC;QACpB,qBAAqBP,YAAY;QACjC,2BAA2BA,YAAY;IACzC;IAEA,8CAA8C;IAC9C,MAAMQ,aAAa,CAACC;QAClB,IAAIA,SAAS,WAAW;YACtB,OAAO;QACT;QAEA,IAAIA,SAAS,iBAAiB;YAC5B,OAAO;QACT;QAEA,OAAOT;IACT;IAEA,MAAMU,gBAAgBF,WAAWR;IAEjC,gDAAgD;IAChD,MAAMW,UAAUC,IAAAA,eAAU,EACxB,UACA,iBACA,CAAC,UAAU,EAAEF,cAAc,CAAC,EAC5B,CAAC,OAAO,EAAET,KAAK,CAAC,EAChB;QACE,iBAAiBJ;QACjB,gBAAgBC;QAChB,gBAAgBC,aAAa,CAACD;IAChC,GACAM,WAAWS,SAAS;IAEtBT,WAAWS,SAAS,GAAGF;IAEvB,qBACE,sBAACf;QAAUH,KAAKA;QAAM,GAAGY,WAAW;QAAG,GAAGD,UAAU;;YACjDN,0BAAY,qBAACgB,gBAAO;0BAAEpB;iBAAsBA;YAC5CK,aAAa,CAACD,2BAAa,qBAACiB,gBAAO;;;AAG1C;AAEFzB,OAAO0B,WAAW,GAAG"}
@@ -11,20 +11,26 @@ Object.defineProperty(exports, "Loading", {
11
11
  const _jsxruntime = require("react/jsx-runtime");
12
12
  const _icons = require("@simplybusiness/icons");
13
13
  const _Icon = require("../Icon");
14
- const Loading = ()=>/*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
14
+ const _VisuallyHidden = require("../VisuallyHidden");
15
+ const Loading = (props)=>{
16
+ const { children } = props;
17
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
15
18
  children: [
16
19
  /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
17
- className: "mobius/ButtonIconWrapper",
20
+ className: "mobius-button__icon-wrapper",
18
21
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.Icon, {
19
22
  icon: _icons.loading,
20
- spin: true
23
+ spin: true,
24
+ size: "md"
21
25
  })
22
26
  }),
23
- /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
24
- className: "mobius/LoadingText",
27
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_VisuallyHidden.VisuallyHidden, {
28
+ className: "mobius-button__loading-text",
25
29
  children: "Loading"
26
- })
30
+ }),
31
+ children
27
32
  ]
28
33
  });
34
+ };
29
35
 
30
36
  //# sourceMappingURL=Loading.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Button/Loading.tsx"],"sourcesContent":["import { loading } from \"@simplybusiness/icons\";\nimport { Icon } from \"../Icon\";\n\nconst Loading = () => (\n <>\n <div className=\"mobius/ButtonIconWrapper\">\n <Icon icon={loading} spin />\n </div>\n <span className=\"mobius/LoadingText\">Loading</span>\n </>\n);\n\nexport { Loading };\n"],"names":["Loading","div","className","Icon","icon","loading","spin","span"],"mappings":";;;;+BAYSA;;;eAAAA;;;;uBAZe;sBACH;AAErB,MAAMA,UAAU,kBACd;;0BACE,qBAACC;gBAAIC,WAAU;0BACb,cAAA,qBAACC,UAAI;oBAACC,MAAMC,cAAO;oBAAEC,IAAI;;;0BAE3B,qBAACC;gBAAKL,WAAU;0BAAqB"}
1
+ {"version":3,"sources":["../../../../src/components/Button/Loading.tsx"],"sourcesContent":["import { 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"],"names":["Loading","props","children","div","className","Icon","icon","loading","spin","size","VisuallyHidden"],"mappings":";;;;+BAyBSA;;;eAAAA;;;;uBAxBe;sBACH;gCACU;AAM/B,MAAMA,UAAU,CAACC;IACf,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,qBACE;;0BACE,qBAACE;gBAAIC,WAAU;0BACb,cAAA,qBAACC,UAAI;oBAACC,MAAMC,cAAO;oBAAEC,IAAI;oBAACC,MAAK;;;0BAEjC,qBAACC,8BAAc;gBAACN,WAAU;0BAA8B;;YAGvDF;;;AAGP"}
@@ -15,13 +15,14 @@ const _VisuallyHidden = require("../VisuallyHidden");
15
15
  const Success = ()=>/*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
16
16
  children: [
17
17
  /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
18
- className: "mobius/ButtonIconWrapper",
18
+ className: "mobius-button__icon-wrapper",
19
19
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Icon.Icon, {
20
- icon: _icons.tick
20
+ icon: _icons.tick,
21
+ size: "md"
21
22
  })
22
23
  }),
23
24
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_VisuallyHidden.VisuallyHidden, {
24
- className: "mobius/SuccessText",
25
+ className: "mobius-button__success-text",
25
26
  children: "Success"
26
27
  })
27
28
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Button/Success.tsx"],"sourcesContent":["import { tick } from \"@simplybusiness/icons\";\nimport { Icon } from \"../Icon\";\nimport { VisuallyHidden } from \"../VisuallyHidden\";\n\nconst Success = () => (\n <>\n <div className=\"mobius/ButtonIconWrapper\">\n <Icon icon={tick} />\n </div>\n <VisuallyHidden className=\"mobius/SuccessText\">Success</VisuallyHidden>\n </>\n);\n\nexport { Success };\n"],"names":["Success","div","className","Icon","icon","tick","VisuallyHidden"],"mappings":";;;;+BAaSA;;;eAAAA;;;;uBAbY;sBACA;gCACU;AAE/B,MAAMA,UAAU,kBACd;;0BACE,qBAACC;gBAAIC,WAAU;0BACb,cAAA,qBAACC,UAAI;oBAACC,MAAMC,WAAI;;;0BAElB,qBAACC,8BAAc;gBAACJ,WAAU;0BAAqB"}
1
+ {"version":3,"sources":["../../../../src/components/Button/Success.tsx"],"sourcesContent":["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"],"names":["Success","div","className","Icon","icon","tick","size","VisuallyHidden"],"mappings":";;;;+BAeSA;;;eAAAA;;;;uBAfY;sBACA;gCACU;AAE/B,MAAMA,UAAU,kBACd;;0BACE,qBAACC;gBAAIC,WAAU;0BACb,cAAA,qBAACC,UAAI;oBAACC,MAAMC,WAAI;oBAAEC,MAAK;;;0BAEzB,qBAACC,8BAAc;gBAACL,WAAU;0BAA8B"}
@@ -17,6 +17,7 @@ const _ErrorMessage = require("../ErrorMessage");
17
17
  const _spaceDelimitedList = require("../../utils/spaceDelimitedList");
18
18
  const _hooks = require("../../hooks");
19
19
  const _Icon = require("../Icon");
20
+ const _Stack = require("../Stack");
20
21
  function _interop_require_default(obj) {
21
22
  return obj && obj.__esModule ? obj : {
22
23
  default: obj
@@ -39,9 +40,10 @@ const Checkbox = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
39
40
  "--is-optional": typeof isRequired === "boolean" && !isRequired
40
41
  }, validationClasses);
41
42
  // Append an additional wrapper class name to differenitate from input
42
- const wrapperClasses = (0, _dedupe.default)("mobius", "mobius/Checkbox", sharedClasses, className);
43
- const inputClasses = (0, _dedupe.default)("mobius/CheckboxInput", sharedClasses);
44
- const iconClasses = (0, _dedupe.default)("mobius/CheckboxIcon", sharedClasses);
43
+ const wrapperClasses = (0, _dedupe.default)("mobius", "mobius-checkbox", sharedClasses, className);
44
+ const labelClasses = (0, _dedupe.default)("mobius-checkbox__label", sharedClasses);
45
+ const inputClasses = (0, _dedupe.default)("mobius-checkbox__input", sharedClasses);
46
+ const iconClasses = (0, _dedupe.default)("mobius-checkbox__icon", sharedClasses);
45
47
  const errorMessageId = (0, _react.useId)();
46
48
  const shouldErrorMessageShow = errorMessage ? errorMessageId : undefined;
47
49
  const describedBy = (0, _spaceDelimitedList.spaceDelimitedList)([
@@ -68,10 +70,12 @@ const Checkbox = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
68
70
  toggleState();
69
71
  }
70
72
  };
71
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
73
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Stack.Stack, {
74
+ gap: "xs",
75
+ className: wrapperClasses,
72
76
  children: [
73
77
  /*#__PURE__*/ (0, _jsxruntime.jsxs)("label", {
74
- className: wrapperClasses,
78
+ className: labelClasses,
75
79
  children: [
76
80
  /*#__PURE__*/ (0, _jsxruntime.jsx)("input", {
77
81
  "aria-describedby": describedBy,
@@ -100,7 +104,7 @@ const Checkbox = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
100
104
  }),
101
105
  /*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
102
106
  id: labelId,
103
- className: "mobius/CheckboxLabel",
107
+ className: "mobius-checkbox__visible-label",
104
108
  children: label
105
109
  })
106
110
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ChangeEvent,\n forwardRef,\n useRef,\n useState,\n KeyboardEvent,\n MouseEvent,\n useId,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { squareTick, square } from \"@simplybusiness/icons\";\nimport { ErrorMessage } from \"../ErrorMessage\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { CheckboxElementType, CheckboxProps, CheckboxRef } from \"./types\";\nimport { spaceDelimitedList } from \"../../utils/spaceDelimitedList\";\nimport { useValidationClasses } from \"../../hooks\";\nimport { Icon } from \"../Icon\";\n\nexport const Checkbox: ForwardedRefComponent<\n CheckboxProps,\n CheckboxElementType\n> = forwardRef((props: CheckboxProps, ref: CheckboxRef) => {\n const {\n id,\n label,\n isDisabled,\n isRequired,\n validationState,\n isInvalid,\n onChange,\n className,\n errorMessage,\n defaultSelected = false,\n isReadOnly,\n name,\n value,\n [\"aria-describedby\"]: ariaDescribedBy,\n ...rest\n } = props;\n const [selected, setSelected] = useState<boolean>(defaultSelected);\n const fallbackRef = useRef<HTMLInputElement>(null);\n const refObj = ref || fallbackRef;\n const inputId = useId();\n const validationClasses = useValidationClasses({\n validationState,\n isInvalid,\n });\n const sharedClasses = classNames(\n {\n \"--is-disabled\": isDisabled,\n \"--is-selected\": selected,\n \"--is-required\": typeof isRequired === \"boolean\" && isRequired,\n \"--is-optional\": typeof isRequired === \"boolean\" && !isRequired,\n },\n validationClasses,\n );\n // Append an additional wrapper class name to differenitate from input\n const wrapperClasses = classNames(\n \"mobius\",\n \"mobius/Checkbox\",\n sharedClasses,\n className,\n );\n const inputClasses = classNames(\"mobius/CheckboxInput\", sharedClasses);\n const iconClasses = classNames(\"mobius/CheckboxIcon\", sharedClasses);\n const errorMessageId = useId();\n const shouldErrorMessageShow = errorMessage ? errorMessageId : undefined;\n const describedBy = spaceDelimitedList([\n shouldErrorMessageShow,\n ariaDescribedBy,\n ]);\n const labelId = useId();\n\n const toggleState = () => {\n setSelected(!selected);\n };\n\n const handleClick = (event: MouseEvent<CheckboxElementType>) => {\n const isMouseEvent = event.clientX;\n\n if (isMouseEvent) {\n toggleState();\n }\n };\n\n const handleChange = (event: ChangeEvent<CheckboxElementType>) => {\n if (onChange) {\n onChange(event);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.code === \"Space\") {\n toggleState();\n }\n };\n\n return (\n <>\n <label className={wrapperClasses}>\n <input\n aria-describedby={describedBy}\n aria-errormessage={shouldErrorMessageShow}\n aria-invalid={isInvalid}\n aria-labelledby={labelId}\n readOnly={isReadOnly}\n disabled={isDisabled}\n ref={refObj}\n className={inputClasses}\n onClick={handleClick}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n type=\"checkbox\"\n defaultChecked={defaultSelected}\n required={isRequired}\n id={id || inputId}\n name={name}\n value={value}\n {...rest}\n />\n <Icon\n icon={selected ? squareTick : square}\n size=\"md\"\n className={iconClasses}\n />\n <span id={labelId} className=\"mobius/CheckboxLabel\">\n {label}\n </span>\n </label>\n <ErrorMessage id={errorMessageId} errorMessage={errorMessage} />\n </>\n );\n});\n"],"names":["Checkbox","forwardRef","props","ref","id","label","isDisabled","isRequired","validationState","isInvalid","onChange","className","errorMessage","defaultSelected","isReadOnly","name","value","ariaDescribedBy","rest","selected","setSelected","useState","fallbackRef","useRef","refObj","inputId","useId","validationClasses","useValidationClasses","sharedClasses","classNames","wrapperClasses","inputClasses","iconClasses","errorMessageId","shouldErrorMessageShow","undefined","describedBy","spaceDelimitedList","labelId","toggleState","handleClick","event","isMouseEvent","clientX","handleChange","handleKeyDown","code","input","aria-describedby","aria-errormessage","aria-invalid","aria-labelledby","readOnly","disabled","onClick","onKeyDown","type","defaultChecked","required","Icon","icon","squareTick","square","size","span","ErrorMessage"],"mappings":"AAAA;;;;;+BAoBaA;;;eAAAA;;;;uBAVN;+DACgB;uBACY;8BACN;oCAGM;uBACE;sBAChB;;;;;;AAEd,MAAMA,yBAGTC,IAAAA,iBAAU,EAAC,CAACC,OAAsBC;IACpC,MAAM,EACJC,EAAE,EACFC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,kBAAkB,KAAK,EACvBC,UAAU,EACVC,IAAI,EACJC,KAAK,EACL,CAAC,mBAAmB,EAAEC,eAAe,EACrC,GAAGC,MACJ,GAAGhB;IACJ,MAAM,CAACiB,UAAUC,YAAY,GAAGC,IAAAA,eAAQ,EAAUR;IAClD,MAAMS,cAAcC,IAAAA,aAAM,EAAmB;IAC7C,MAAMC,SAASrB,OAAOmB;IACtB,MAAMG,UAAUC,IAAAA,YAAK;IACrB,MAAMC,oBAAoBC,IAAAA,2BAAoB,EAAC;QAC7CpB;QACAC;IACF;IACA,MAAMoB,gBAAgBC,IAAAA,eAAU,EAC9B;QACE,iBAAiBxB;QACjB,iBAAiBa;QACjB,iBAAiB,OAAOZ,eAAe,aAAaA;QACpD,iBAAiB,OAAOA,eAAe,aAAa,CAACA;IACvD,GACAoB;IAEF,sEAAsE;IACtE,MAAMI,iBAAiBD,IAAAA,eAAU,EAC/B,UACA,mBACAD,eACAlB;IAEF,MAAMqB,eAAeF,IAAAA,eAAU,EAAC,wBAAwBD;IACxD,MAAMI,cAAcH,IAAAA,eAAU,EAAC,uBAAuBD;IACtD,MAAMK,iBAAiBR,IAAAA,YAAK;IAC5B,MAAMS,yBAAyBvB,eAAesB,iBAAiBE;IAC/D,MAAMC,cAAcC,IAAAA,sCAAkB,EAAC;QACrCH;QACAlB;KACD;IACD,MAAMsB,UAAUb,IAAAA,YAAK;IAErB,MAAMc,cAAc;QAClBpB,YAAY,CAACD;IACf;IAEA,MAAMsB,cAAc,CAACC;QACnB,MAAMC,eAAeD,MAAME,OAAO;QAElC,IAAID,cAAc;YAChBH;QACF;IACF;IAEA,MAAMK,eAAe,CAACH;QACpB,IAAIhC,UAAU;YACZA,SAASgC;QACX;IACF;IAEA,MAAMI,gBAAgB,CAACJ;QACrB,IAAIA,MAAMK,IAAI,KAAK,SAAS;YAC1BP;QACF;IACF;IAEA,qBACE;;0BACE,sBAACnC;gBAAMM,WAAWoB;;kCAChB,qBAACiB;wBACCC,oBAAkBZ;wBAClBa,qBAAmBf;wBACnBgB,gBAAc1C;wBACd2C,mBAAiBb;wBACjBc,UAAUvC;wBACVwC,UAAUhD;wBACVH,KAAKqB;wBACLb,WAAWqB;wBACXuB,SAASd;wBACT/B,UAAUmC;wBACVW,WAAWV;wBACXW,MAAK;wBACLC,gBAAgB7C;wBAChB8C,UAAUpD;wBACVH,IAAIA,MAAMqB;wBACVV,MAAMA;wBACNC,OAAOA;wBACN,GAAGE,IAAI;;kCAEV,qBAAC0C,UAAI;wBACHC,MAAM1C,WAAW2C,iBAAU,GAAGC,aAAM;wBACpCC,MAAK;wBACLrD,WAAWsB;;kCAEb,qBAACgC;wBAAK7D,IAAImC;wBAAS5B,WAAU;kCAC1BN;;;;0BAGL,qBAAC6D,0BAAY;gBAAC9D,IAAI8B;gBAAgBtB,cAAcA;;;;AAGtD"}
1
+ {"version":3,"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ChangeEvent,\n forwardRef,\n useRef,\n useState,\n KeyboardEvent,\n MouseEvent,\n useId,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { squareTick, square } from \"@simplybusiness/icons\";\nimport { ErrorMessage } from \"../ErrorMessage\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { CheckboxElementType, CheckboxProps, CheckboxRef } from \"./types\";\nimport { spaceDelimitedList } from \"../../utils/spaceDelimitedList\";\nimport { useValidationClasses } from \"../../hooks\";\nimport { Icon } from \"../Icon\";\nimport { Stack } from \"../Stack\";\n\nexport const Checkbox: ForwardedRefComponent<\n CheckboxProps,\n CheckboxElementType\n> = forwardRef((props: CheckboxProps, ref: CheckboxRef) => {\n const {\n id,\n label,\n isDisabled,\n isRequired,\n validationState,\n isInvalid,\n onChange,\n className,\n errorMessage,\n defaultSelected = false,\n isReadOnly,\n name,\n value,\n [\"aria-describedby\"]: ariaDescribedBy,\n ...rest\n } = props;\n const [selected, setSelected] = useState<boolean>(defaultSelected);\n const fallbackRef = useRef<HTMLInputElement>(null);\n const refObj = ref || fallbackRef;\n const inputId = useId();\n const validationClasses = useValidationClasses({\n validationState,\n isInvalid,\n });\n const sharedClasses = classNames(\n {\n \"--is-disabled\": isDisabled,\n \"--is-selected\": selected,\n \"--is-required\": typeof isRequired === \"boolean\" && isRequired,\n \"--is-optional\": typeof isRequired === \"boolean\" && !isRequired,\n },\n validationClasses,\n );\n // Append an additional wrapper class name to differenitate from input\n const wrapperClasses = classNames(\n \"mobius\",\n \"mobius-checkbox\",\n sharedClasses,\n className,\n );\n const labelClasses = classNames(\"mobius-checkbox__label\", sharedClasses);\n const inputClasses = classNames(\"mobius-checkbox__input\", sharedClasses);\n const iconClasses = classNames(\"mobius-checkbox__icon\", sharedClasses);\n const errorMessageId = useId();\n const shouldErrorMessageShow = errorMessage ? errorMessageId : undefined;\n const describedBy = spaceDelimitedList([\n shouldErrorMessageShow,\n ariaDescribedBy,\n ]);\n const labelId = useId();\n\n const toggleState = () => {\n setSelected(!selected);\n };\n\n const handleClick = (event: MouseEvent<CheckboxElementType>) => {\n const isMouseEvent = event.clientX;\n\n if (isMouseEvent) {\n toggleState();\n }\n };\n\n const handleChange = (event: ChangeEvent<CheckboxElementType>) => {\n if (onChange) {\n onChange(event);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.code === \"Space\") {\n toggleState();\n }\n };\n\n return (\n <Stack gap=\"xs\" className={wrapperClasses}>\n <label className={labelClasses}>\n <input\n aria-describedby={describedBy}\n aria-errormessage={shouldErrorMessageShow}\n aria-invalid={isInvalid}\n aria-labelledby={labelId}\n readOnly={isReadOnly}\n disabled={isDisabled}\n ref={refObj}\n className={inputClasses}\n onClick={handleClick}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n type=\"checkbox\"\n defaultChecked={defaultSelected}\n required={isRequired}\n id={id || inputId}\n name={name}\n value={value}\n {...rest}\n />\n <Icon\n icon={selected ? squareTick : square}\n size=\"md\"\n className={iconClasses}\n />\n <span id={labelId} className=\"mobius-checkbox__visible-label\">\n {label}\n </span>\n </label>\n <ErrorMessage id={errorMessageId} errorMessage={errorMessage} />\n </Stack>\n );\n});\n"],"names":["Checkbox","forwardRef","props","ref","id","label","isDisabled","isRequired","validationState","isInvalid","onChange","className","errorMessage","defaultSelected","isReadOnly","name","value","ariaDescribedBy","rest","selected","setSelected","useState","fallbackRef","useRef","refObj","inputId","useId","validationClasses","useValidationClasses","sharedClasses","classNames","wrapperClasses","labelClasses","inputClasses","iconClasses","errorMessageId","shouldErrorMessageShow","undefined","describedBy","spaceDelimitedList","labelId","toggleState","handleClick","event","isMouseEvent","clientX","handleChange","handleKeyDown","code","Stack","gap","input","aria-describedby","aria-errormessage","aria-invalid","aria-labelledby","readOnly","disabled","onClick","onKeyDown","type","defaultChecked","required","Icon","icon","squareTick","square","size","span","ErrorMessage"],"mappings":"AAAA;;;;;+BAqBaA;;;eAAAA;;;;uBAXN;+DACgB;uBACY;8BACN;oCAGM;uBACE;sBAChB;uBACC;;;;;;AAEf,MAAMA,yBAGTC,IAAAA,iBAAU,EAAC,CAACC,OAAsBC;IACpC,MAAM,EACJC,EAAE,EACFC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,kBAAkB,KAAK,EACvBC,UAAU,EACVC,IAAI,EACJC,KAAK,EACL,CAAC,mBAAmB,EAAEC,eAAe,EACrC,GAAGC,MACJ,GAAGhB;IACJ,MAAM,CAACiB,UAAUC,YAAY,GAAGC,IAAAA,eAAQ,EAAUR;IAClD,MAAMS,cAAcC,IAAAA,aAAM,EAAmB;IAC7C,MAAMC,SAASrB,OAAOmB;IACtB,MAAMG,UAAUC,IAAAA,YAAK;IACrB,MAAMC,oBAAoBC,IAAAA,2BAAoB,EAAC;QAC7CpB;QACAC;IACF;IACA,MAAMoB,gBAAgBC,IAAAA,eAAU,EAC9B;QACE,iBAAiBxB;QACjB,iBAAiBa;QACjB,iBAAiB,OAAOZ,eAAe,aAAaA;QACpD,iBAAiB,OAAOA,eAAe,aAAa,CAACA;IACvD,GACAoB;IAEF,sEAAsE;IACtE,MAAMI,iBAAiBD,IAAAA,eAAU,EAC/B,UACA,mBACAD,eACAlB;IAEF,MAAMqB,eAAeF,IAAAA,eAAU,EAAC,0BAA0BD;IAC1D,MAAMI,eAAeH,IAAAA,eAAU,EAAC,0BAA0BD;IAC1D,MAAMK,cAAcJ,IAAAA,eAAU,EAAC,yBAAyBD;IACxD,MAAMM,iBAAiBT,IAAAA,YAAK;IAC5B,MAAMU,yBAAyBxB,eAAeuB,iBAAiBE;IAC/D,MAAMC,cAAcC,IAAAA,sCAAkB,EAAC;QACrCH;QACAnB;KACD;IACD,MAAMuB,UAAUd,IAAAA,YAAK;IAErB,MAAMe,cAAc;QAClBrB,YAAY,CAACD;IACf;IAEA,MAAMuB,cAAc,CAACC;QACnB,MAAMC,eAAeD,MAAME,OAAO;QAElC,IAAID,cAAc;YAChBH;QACF;IACF;IAEA,MAAMK,eAAe,CAACH;QACpB,IAAIjC,UAAU;YACZA,SAASiC;QACX;IACF;IAEA,MAAMI,gBAAgB,CAACJ;QACrB,IAAIA,MAAMK,IAAI,KAAK,SAAS;YAC1BP;QACF;IACF;IAEA,qBACE,sBAACQ,YAAK;QAACC,KAAI;QAAKvC,WAAWoB;;0BACzB,sBAAC1B;gBAAMM,WAAWqB;;kCAChB,qBAACmB;wBACCC,oBAAkBd;wBAClBe,qBAAmBjB;wBACnBkB,gBAAc7C;wBACd8C,mBAAiBf;wBACjBgB,UAAU1C;wBACV2C,UAAUnD;wBACVH,KAAKqB;wBACLb,WAAWsB;wBACXyB,SAAShB;wBACThC,UAAUoC;wBACVa,WAAWZ;wBACXa,MAAK;wBACLC,gBAAgBhD;wBAChBiD,UAAUvD;wBACVH,IAAIA,MAAMqB;wBACVV,MAAMA;wBACNC,OAAOA;wBACN,GAAGE,IAAI;;kCAEV,qBAAC6C,UAAI;wBACHC,MAAM7C,WAAW8C,iBAAU,GAAGC,aAAM;wBACpCC,MAAK;wBACLxD,WAAWuB;;kCAEb,qBAACkC;wBAAKhE,IAAIoC;wBAAS7B,WAAU;kCAC1BN;;;;0BAGL,qBAACgE,0BAAY;gBAACjE,IAAI+B;gBAAgBvB,cAAcA;;;;AAGtD"}
@@ -24,7 +24,7 @@ function _interop_require_default(obj) {
24
24
  const CheckboxGroup = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
25
25
  const { label, isDisabled = false, isRequired, validationState, isInvalid, orientation = "vertical", onChange, className, errorMessage, children, defaultValue = [], isReadOnly, itemsPerRow, ...rest } = props;
26
26
  const [selected, setSelected] = (0, _react.useState)(defaultValue);
27
- const checkboxGroupClasses = (0, _dedupe.default)("mobius", "mobius/CheckboxGroup", className, {
27
+ const checkboxGroupClasses = (0, _dedupe.default)("mobius", "mobius-checkbox-group", className, {
28
28
  "--is-horizontal": orientation === "horizontal",
29
29
  "--is-vertical": orientation === "vertical",
30
30
  "--is-required": typeof isRequired === "boolean" && isRequired,
@@ -81,7 +81,7 @@ const CheckboxGroup = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
81
81
  children: label
82
82
  }),
83
83
  /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
84
- className: "mobius/CheckboxWrapper",
84
+ className: "mobius-checkbox-group__wrapper",
85
85
  children: _react.Children.map(children, (child)=>{
86
86
  if (/*#__PURE__*/ (0, _react.isValidElement)(child)) {
87
87
  return /*#__PURE__*/ (0, _react.cloneElement)(child, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Checkbox/CheckboxGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Children,\n forwardRef,\n ReactElement,\n cloneElement,\n isValidElement,\n useId,\n ChangeEvent,\n useState,\n useEffect,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport {\n CheckboxElementType,\n CheckboxGroupElementType,\n CheckboxGroupProps,\n CheckboxGroupRef,\n} from \"./types\";\nimport { Label } from \"../Label\";\nimport { ErrorMessage } from \"../ErrorMessage\";\nimport { spaceDelimitedList } from \"../../utils/spaceDelimitedList\";\nimport { useValidationClasses } from \"../../hooks\";\n\nexport const CheckboxGroup: ForwardedRefComponent<\n CheckboxGroupProps,\n CheckboxGroupElementType\n> = forwardRef((props: CheckboxGroupProps, ref: CheckboxGroupRef) => {\n const {\n label,\n isDisabled = false,\n isRequired,\n validationState,\n isInvalid,\n orientation = \"vertical\",\n onChange,\n className,\n errorMessage,\n children,\n defaultValue = [],\n isReadOnly,\n itemsPerRow,\n ...rest\n } = props;\n const [selected, setSelected] = useState<string[]>(defaultValue);\n const checkboxGroupClasses = classNames(\n \"mobius\",\n \"mobius/CheckboxGroup\",\n className,\n {\n \"--is-horizontal\": orientation === \"horizontal\",\n \"--is-vertical\": orientation === \"vertical\",\n \"--is-required\": typeof isRequired === \"boolean\" && isRequired,\n \"--is-optional\": typeof isRequired === \"boolean\" && !isRequired,\n },\n );\n const validationClasses = useValidationClasses({\n validationState,\n isInvalid,\n });\n const labelClasses = classNames(\n {\n \"--is-disabled\": isDisabled,\n },\n validationClasses,\n );\n const errorMessageId = useId();\n const shouldErrorMessageShow = errorMessage ? errorMessageId : undefined;\n const describedBy = spaceDelimitedList([\n shouldErrorMessageShow,\n props[\"aria-describedby\"],\n ]);\n const labelId = useId();\n\n const handleChange = (event: ChangeEvent<CheckboxElementType>) => {\n const {\n target: { value, checked },\n } = event;\n\n if (!checked) {\n setSelected(selected.filter(item => item !== value));\n }\n\n if (checked) {\n setSelected([...selected, value]);\n }\n };\n\n useEffect(() => {\n if (onChange) {\n onChange(selected);\n }\n }, [selected, onChange]);\n\n return (\n <div\n {...rest}\n aria-labelledby={props[\"aria-labelledby\"] || labelId}\n ref={ref}\n className={checkboxGroupClasses}\n role=\"group\"\n style={\n {\n \"--checkbox-items-per-row\": itemsPerRow || Children.count(children),\n } as React.CSSProperties\n }\n >\n {label && (\n <Label elementType=\"span\" id={labelId} className={labelClasses}>\n {label}\n </Label>\n )}\n <div className=\"mobius/CheckboxWrapper\">\n {Children.map(children, child => {\n if (isValidElement(child)) {\n return cloneElement(child as ReactElement, {\n isDisabled,\n isRequired,\n isReadOnly,\n isInvalid,\n defaultSelected: selected.includes(child.props.value),\n onChange: handleChange,\n \"aria-describedby\": describedBy,\n });\n }\n\n return child;\n })}\n </div>\n {errorMessage && (\n <ErrorMessage id={errorMessageId} errorMessage={errorMessage} />\n )}\n </div>\n );\n});\n"],"names":["CheckboxGroup","forwardRef","props","ref","label","isDisabled","isRequired","validationState","isInvalid","orientation","onChange","className","errorMessage","children","defaultValue","isReadOnly","itemsPerRow","rest","selected","setSelected","useState","checkboxGroupClasses","classNames","validationClasses","useValidationClasses","labelClasses","errorMessageId","useId","shouldErrorMessageShow","undefined","describedBy","spaceDelimitedList","labelId","handleChange","event","target","value","checked","filter","item","useEffect","div","aria-labelledby","role","style","Children","count","Label","elementType","id","map","child","isValidElement","cloneElement","defaultSelected","includes","ErrorMessage"],"mappings":"AAAA;;;;;+BA0BaA;;;eAAAA;;;;uBAdN;+DACgB;uBAQD;8BACO;oCACM;uBACE;;;;;;AAE9B,MAAMA,8BAGTC,IAAAA,iBAAU,EAAC,CAACC,OAA2BC;IACzC,MAAM,EACJC,KAAK,EACLC,aAAa,KAAK,EAClBC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,cAAc,UAAU,EACxBC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,QAAQ,EACRC,eAAe,EAAE,EACjBC,UAAU,EACVC,WAAW,EACX,GAAGC,MACJ,GAAGf;IACJ,MAAM,CAACgB,UAAUC,YAAY,GAAGC,IAAAA,eAAQ,EAAWN;IACnD,MAAMO,uBAAuBC,IAAAA,eAAU,EACrC,UACA,wBACAX,WACA;QACE,mBAAmBF,gBAAgB;QACnC,iBAAiBA,gBAAgB;QACjC,iBAAiB,OAAOH,eAAe,aAAaA;QACpD,iBAAiB,OAAOA,eAAe,aAAa,CAACA;IACvD;IAEF,MAAMiB,oBAAoBC,IAAAA,2BAAoB,EAAC;QAC7CjB;QACAC;IACF;IACA,MAAMiB,eAAeH,IAAAA,eAAU,EAC7B;QACE,iBAAiBjB;IACnB,GACAkB;IAEF,MAAMG,iBAAiBC,IAAAA,YAAK;IAC5B,MAAMC,yBAAyBhB,eAAec,iBAAiBG;IAC/D,MAAMC,cAAcC,IAAAA,sCAAkB,EAAC;QACrCH;QACA1B,KAAK,CAAC,mBAAmB;KAC1B;IACD,MAAM8B,UAAUL,IAAAA,YAAK;IAErB,MAAMM,eAAe,CAACC;QACpB,MAAM,EACJC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,EAAE,EAC3B,GAAGH;QAEJ,IAAI,CAACG,SAAS;YACZlB,YAAYD,SAASoB,MAAM,CAACC,CAAAA,OAAQA,SAASH;QAC/C;QAEA,IAAIC,SAAS;YACXlB,YAAY;mBAAID;gBAAUkB;aAAM;QAClC;IACF;IAEAI,IAAAA,gBAAS,EAAC;QACR,IAAI9B,UAAU;YACZA,SAASQ;QACX;IACF,GAAG;QAACA;QAAUR;KAAS;IAEvB,qBACE,sBAAC+B;QACE,GAAGxB,IAAI;QACRyB,mBAAiBxC,KAAK,CAAC,kBAAkB,IAAI8B;QAC7C7B,KAAKA;QACLQ,WAAWU;QACXsB,MAAK;QACLC,OACE;YACE,4BAA4B5B,eAAe6B,eAAQ,CAACC,KAAK,CAACjC;QAC5D;;YAGDT,uBACC,qBAAC2C,YAAK;gBAACC,aAAY;gBAAOC,IAAIjB;gBAASrB,WAAWc;0BAC/CrB;;0BAGL,qBAACqC;gBAAI9B,WAAU;0BACZkC,eAAQ,CAACK,GAAG,CAACrC,UAAUsC,CAAAA;oBACtB,kBAAIC,IAAAA,qBAAc,EAACD,QAAQ;wBACzB,qBAAOE,IAAAA,mBAAY,EAACF,OAAuB;4BACzC9C;4BACAC;4BACAS;4BACAP;4BACA8C,iBAAiBpC,SAASqC,QAAQ,CAACJ,MAAMjD,KAAK,CAACkC,KAAK;4BACpD1B,UAAUuB;4BACV,oBAAoBH;wBACtB;oBACF;oBAEA,OAAOqB;gBACT;;YAEDvC,8BACC,qBAAC4C,0BAAY;gBAACP,IAAIvB;gBAAgBd,cAAcA;;;;AAIxD"}
1
+ {"version":3,"sources":["../../../../src/components/Checkbox/CheckboxGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Children,\n forwardRef,\n ReactElement,\n cloneElement,\n isValidElement,\n useId,\n ChangeEvent,\n useState,\n useEffect,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport {\n CheckboxElementType,\n CheckboxGroupElementType,\n CheckboxGroupProps,\n CheckboxGroupRef,\n} from \"./types\";\nimport { Label } from \"../Label\";\nimport { ErrorMessage } from \"../ErrorMessage\";\nimport { spaceDelimitedList } from \"../../utils/spaceDelimitedList\";\nimport { useValidationClasses } from \"../../hooks\";\n\nexport const CheckboxGroup: ForwardedRefComponent<\n CheckboxGroupProps,\n CheckboxGroupElementType\n> = forwardRef((props: CheckboxGroupProps, ref: CheckboxGroupRef) => {\n const {\n label,\n isDisabled = false,\n isRequired,\n validationState,\n isInvalid,\n orientation = \"vertical\",\n onChange,\n className,\n errorMessage,\n children,\n defaultValue = [],\n isReadOnly,\n itemsPerRow,\n ...rest\n } = props;\n const [selected, setSelected] = useState<string[]>(defaultValue);\n const checkboxGroupClasses = classNames(\n \"mobius\",\n \"mobius-checkbox-group\",\n className,\n {\n \"--is-horizontal\": orientation === \"horizontal\",\n \"--is-vertical\": orientation === \"vertical\",\n \"--is-required\": typeof isRequired === \"boolean\" && isRequired,\n \"--is-optional\": typeof isRequired === \"boolean\" && !isRequired,\n },\n );\n const validationClasses = useValidationClasses({\n validationState,\n isInvalid,\n });\n const labelClasses = classNames(\n {\n \"--is-disabled\": isDisabled,\n },\n validationClasses,\n );\n const errorMessageId = useId();\n const shouldErrorMessageShow = errorMessage ? errorMessageId : undefined;\n const describedBy = spaceDelimitedList([\n shouldErrorMessageShow,\n props[\"aria-describedby\"],\n ]);\n const labelId = useId();\n\n const handleChange = (event: ChangeEvent<CheckboxElementType>) => {\n const {\n target: { value, checked },\n } = event;\n\n if (!checked) {\n setSelected(selected.filter(item => item !== value));\n }\n\n if (checked) {\n setSelected([...selected, value]);\n }\n };\n\n useEffect(() => {\n if (onChange) {\n onChange(selected);\n }\n }, [selected, onChange]);\n\n return (\n <div\n {...rest}\n aria-labelledby={props[\"aria-labelledby\"] || labelId}\n ref={ref}\n className={checkboxGroupClasses}\n role=\"group\"\n style={\n {\n \"--checkbox-items-per-row\": itemsPerRow || Children.count(children),\n } as React.CSSProperties\n }\n >\n {label && (\n <Label elementType=\"span\" id={labelId} className={labelClasses}>\n {label}\n </Label>\n )}\n <div className=\"mobius-checkbox-group__wrapper\">\n {Children.map(children, child => {\n if (isValidElement(child)) {\n return cloneElement(child as ReactElement, {\n isDisabled,\n isRequired,\n isReadOnly,\n isInvalid,\n defaultSelected: selected.includes(child.props.value),\n onChange: handleChange,\n \"aria-describedby\": describedBy,\n });\n }\n\n return child;\n })}\n </div>\n {errorMessage && (\n <ErrorMessage id={errorMessageId} errorMessage={errorMessage} />\n )}\n </div>\n );\n});\n"],"names":["CheckboxGroup","forwardRef","props","ref","label","isDisabled","isRequired","validationState","isInvalid","orientation","onChange","className","errorMessage","children","defaultValue","isReadOnly","itemsPerRow","rest","selected","setSelected","useState","checkboxGroupClasses","classNames","validationClasses","useValidationClasses","labelClasses","errorMessageId","useId","shouldErrorMessageShow","undefined","describedBy","spaceDelimitedList","labelId","handleChange","event","target","value","checked","filter","item","useEffect","div","aria-labelledby","role","style","Children","count","Label","elementType","id","map","child","isValidElement","cloneElement","defaultSelected","includes","ErrorMessage"],"mappings":"AAAA;;;;;+BA0BaA;;;eAAAA;;;;uBAdN;+DACgB;uBAQD;8BACO;oCACM;uBACE;;;;;;AAE9B,MAAMA,8BAGTC,IAAAA,iBAAU,EAAC,CAACC,OAA2BC;IACzC,MAAM,EACJC,KAAK,EACLC,aAAa,KAAK,EAClBC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,cAAc,UAAU,EACxBC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,QAAQ,EACRC,eAAe,EAAE,EACjBC,UAAU,EACVC,WAAW,EACX,GAAGC,MACJ,GAAGf;IACJ,MAAM,CAACgB,UAAUC,YAAY,GAAGC,IAAAA,eAAQ,EAAWN;IACnD,MAAMO,uBAAuBC,IAAAA,eAAU,EACrC,UACA,yBACAX,WACA;QACE,mBAAmBF,gBAAgB;QACnC,iBAAiBA,gBAAgB;QACjC,iBAAiB,OAAOH,eAAe,aAAaA;QACpD,iBAAiB,OAAOA,eAAe,aAAa,CAACA;IACvD;IAEF,MAAMiB,oBAAoBC,IAAAA,2BAAoB,EAAC;QAC7CjB;QACAC;IACF;IACA,MAAMiB,eAAeH,IAAAA,eAAU,EAC7B;QACE,iBAAiBjB;IACnB,GACAkB;IAEF,MAAMG,iBAAiBC,IAAAA,YAAK;IAC5B,MAAMC,yBAAyBhB,eAAec,iBAAiBG;IAC/D,MAAMC,cAAcC,IAAAA,sCAAkB,EAAC;QACrCH;QACA1B,KAAK,CAAC,mBAAmB;KAC1B;IACD,MAAM8B,UAAUL,IAAAA,YAAK;IAErB,MAAMM,eAAe,CAACC;QACpB,MAAM,EACJC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,EAAE,EAC3B,GAAGH;QAEJ,IAAI,CAACG,SAAS;YACZlB,YAAYD,SAASoB,MAAM,CAACC,CAAAA,OAAQA,SAASH;QAC/C;QAEA,IAAIC,SAAS;YACXlB,YAAY;mBAAID;gBAAUkB;aAAM;QAClC;IACF;IAEAI,IAAAA,gBAAS,EAAC;QACR,IAAI9B,UAAU;YACZA,SAASQ;QACX;IACF,GAAG;QAACA;QAAUR;KAAS;IAEvB,qBACE,sBAAC+B;QACE,GAAGxB,IAAI;QACRyB,mBAAiBxC,KAAK,CAAC,kBAAkB,IAAI8B;QAC7C7B,KAAKA;QACLQ,WAAWU;QACXsB,MAAK;QACLC,OACE;YACE,4BAA4B5B,eAAe6B,eAAQ,CAACC,KAAK,CAACjC;QAC5D;;YAGDT,uBACC,qBAAC2C,YAAK;gBAACC,aAAY;gBAAOC,IAAIjB;gBAASrB,WAAWc;0BAC/CrB;;0BAGL,qBAACqC;gBAAI9B,WAAU;0BACZkC,eAAQ,CAACK,GAAG,CAACrC,UAAUsC,CAAAA;oBACtB,kBAAIC,IAAAA,qBAAc,EAACD,QAAQ;wBACzB,qBAAOE,IAAAA,mBAAY,EAACF,OAAuB;4BACzC9C;4BACAC;4BACAS;4BACAP;4BACA8C,iBAAiBpC,SAASqC,QAAQ,CAACJ,MAAMjD,KAAK,CAACkC,KAAK;4BACpD1B,UAAUuB;4BACV,oBAAoBH;wBACtB;oBACF;oBAEA,OAAOqB;gBACT;;YAEDvC,8BACC,qBAAC4C,0BAAY;gBAACP,IAAIvB;gBAAgBd,cAAcA;;;;AAIxD"}
@@ -19,7 +19,7 @@ function _interop_require_default(obj) {
19
19
  }
20
20
  const Container = /*#__PURE__*/ (0, _react.forwardRef)((props, ref)=>{
21
21
  const { elementType: Element = "div", size = "md", ...otherProps } = props;
22
- const classes = (0, _dedupe.default)("mobius", "mobius/Container", (0, _utils.sizeClasses)(size), otherProps.className);
22
+ const classes = (0, _dedupe.default)("mobius", "mobius-container", (0, _utils.sizeClasses)(size), otherProps.className);
23
23
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(Element, {
24
24
  ref: ref,
25
25
  ...otherProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Container/Container.tsx"],"sourcesContent":["import {\n forwardRef,\n Ref,\n RefAttributes,\n ReactNode,\n ElementType,\n CSSProperties,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { DOMProps } from \"../../types/dom\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { SizeType } from \"../../types\";\nimport { sizeClasses } from \"../../utils\";\n\nexport type ContainerElementType = HTMLElement;\nexport type ContainerRef = Ref<ContainerElementType>;\n\nexport interface ContainerProps\n extends DOMProps,\n RefAttributes<ContainerElementType> {\n id?: string;\n /** Custom class name for setting specific CSS */\n className?: string;\n /** HTML element for the Box */\n elementType?: string | ElementType;\n size?: SizeType;\n children?: ReactNode;\n style?: CSSProperties;\n}\n\nconst Container: ForwardedRefComponent<ContainerProps, ContainerElementType> =\n forwardRef((props: ContainerProps, ref: ContainerRef) => {\n const { elementType: Element = \"div\", size = \"md\", ...otherProps } = props;\n\n const classes = classNames(\n \"mobius\",\n \"mobius/Container\",\n sizeClasses(size),\n otherProps.className,\n );\n\n return <Element ref={ref} {...otherProps} className={classes} />;\n });\n\nContainer.displayName = \"Container\";\nexport { Container };\n"],"names":["Container","forwardRef","props","ref","elementType","Element","size","otherProps","classes","classNames","sizeClasses","className","displayName"],"mappings":";;;;+BA6CSA;;;eAAAA;;;;uBAtCF;+DACgB;uBAIK;;;;;;AAkB5B,MAAMA,0BACJC,IAAAA,iBAAU,EAAC,CAACC,OAAuBC;IACjC,MAAM,EAAEC,aAAaC,UAAU,KAAK,EAAEC,OAAO,IAAI,EAAE,GAAGC,YAAY,GAAGL;IAErE,MAAMM,UAAUC,IAAAA,eAAU,EACxB,UACA,oBACAC,IAAAA,kBAAW,EAACJ,OACZC,WAAWI,SAAS;IAGtB,qBAAO,qBAACN;QAAQF,KAAKA;QAAM,GAAGI,UAAU;QAAEI,WAAWH;;AACvD;AAEFR,UAAUY,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/Container/Container.tsx"],"sourcesContent":["import {\n forwardRef,\n Ref,\n RefAttributes,\n ReactNode,\n ElementType,\n CSSProperties,\n} from \"react\";\nimport classNames from \"classnames/dedupe\";\nimport { DOMProps } from \"../../types/dom\";\nimport { ForwardedRefComponent } from \"../../types/components\";\nimport { SizeType } from \"../../types\";\nimport { sizeClasses } from \"../../utils\";\n\nexport type ContainerElementType = HTMLElement;\nexport type ContainerRef = Ref<ContainerElementType>;\n\nexport interface ContainerProps\n extends DOMProps,\n RefAttributes<ContainerElementType> {\n id?: string;\n /** Custom class name for setting specific CSS */\n className?: string;\n /** HTML element for the Box */\n elementType?: string | ElementType;\n size?: SizeType;\n children?: ReactNode;\n style?: CSSProperties;\n}\n\nconst Container: ForwardedRefComponent<ContainerProps, ContainerElementType> =\n forwardRef((props: ContainerProps, ref: ContainerRef) => {\n const { elementType: Element = \"div\", size = \"md\", ...otherProps } = props;\n\n const classes = classNames(\n \"mobius\",\n \"mobius-container\",\n sizeClasses(size),\n otherProps.className,\n );\n\n return <Element ref={ref} {...otherProps} className={classes} />;\n });\n\nContainer.displayName = \"Container\";\nexport { Container };\n"],"names":["Container","forwardRef","props","ref","elementType","Element","size","otherProps","classes","classNames","sizeClasses","className","displayName"],"mappings":";;;;+BA6CSA;;;eAAAA;;;;uBAtCF;+DACgB;uBAIK;;;;;;AAkB5B,MAAMA,0BACJC,IAAAA,iBAAU,EAAC,CAACC,OAAuBC;IACjC,MAAM,EAAEC,aAAaC,UAAU,KAAK,EAAEC,OAAO,IAAI,EAAE,GAAGC,YAAY,GAAGL;IAErE,MAAMM,UAAUC,IAAAA,eAAU,EACxB,UACA,oBACAC,IAAAA,kBAAW,EAACJ,OACZC,WAAWI,SAAS;IAGtB,qBAAO,qBAACN;QAAQF,KAAKA;QAAM,GAAGI,UAAU;QAAEI,WAAWH;;AACvD;AAEFR,UAAUY,WAAW,GAAG"}