@simplybusiness/mobius 3.7.1 → 3.9.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 (441) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/dist/cjs/components/Accordion/Accordion.stories.d.ts +12 -0
  3. package/dist/cjs/components/Accordion/Accordion.stories.js +48 -0
  4. package/dist/cjs/components/Accordion/Accordion.stories.js.map +1 -0
  5. package/dist/cjs/components/Alert/Alert.stories.d.ts +17 -0
  6. package/dist/cjs/components/Alert/Alert.stories.js +35 -0
  7. package/dist/cjs/components/Alert/Alert.stories.js.map +1 -0
  8. package/dist/cjs/components/Box/Box.stories.d.ts +17 -0
  9. package/dist/cjs/components/Box/Box.stories.js +23 -0
  10. package/dist/cjs/components/Box/Box.stories.js.map +1 -0
  11. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.d.ts +10 -0
  12. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +20 -0
  13. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.js.map +1 -0
  14. package/dist/cjs/components/Button/Button.stories.d.ts +67 -0
  15. package/dist/cjs/components/Button/Button.stories.js +201 -0
  16. package/dist/cjs/components/Button/Button.stories.js.map +1 -0
  17. package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +32 -0
  18. package/dist/cjs/components/Checkbox/Checkbox.stories.js +101 -0
  19. package/dist/cjs/components/Checkbox/Checkbox.stories.js.map +1 -0
  20. package/dist/cjs/components/Checkbox/CheckboxGroup.stories.d.ts +25 -0
  21. package/dist/cjs/components/Checkbox/CheckboxGroup.stories.js +74 -0
  22. package/dist/cjs/components/Checkbox/CheckboxGroup.stories.js.map +1 -0
  23. package/dist/cjs/components/Checkbox/types.d.ts +1 -1
  24. package/dist/cjs/components/Chopin/Actions/Actions.stories.d.ts +13 -0
  25. package/dist/cjs/components/Chopin/Actions/Actions.stories.js +59 -0
  26. package/dist/cjs/components/Chopin/Actions/Actions.stories.js.map +1 -0
  27. package/dist/cjs/components/Chopin/Footer/Footer.stories.d.ts +13 -0
  28. package/dist/cjs/components/Chopin/Footer/Footer.stories.js +169 -0
  29. package/dist/cjs/components/Chopin/Footer/Footer.stories.js.map +1 -0
  30. package/dist/cjs/components/Chopin/Header/Header.stories.d.ts +22 -0
  31. package/dist/cjs/components/Chopin/Header/Header.stories.js +41 -0
  32. package/dist/cjs/components/Chopin/Header/Header.stories.js.map +1 -0
  33. package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.d.ts +22 -0
  34. package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js +46 -0
  35. package/dist/cjs/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js.map +1 -0
  36. package/dist/cjs/components/Chopin/Question/Question.stories.d.ts +66 -0
  37. package/dist/cjs/components/Chopin/Question/Question.stories.js +139 -0
  38. package/dist/cjs/components/Chopin/Question/Question.stories.js.map +1 -0
  39. package/dist/cjs/components/Chopin/QuestionGroup/QuestionGroup.stories.d.ts +21 -0
  40. package/dist/cjs/components/Chopin/QuestionGroup/QuestionGroup.stories.js +43 -0
  41. package/dist/cjs/components/Chopin/QuestionGroup/QuestionGroup.stories.js.map +1 -0
  42. package/dist/cjs/components/Chopin/Section/Section.stories.d.ts +9 -0
  43. package/dist/cjs/components/Chopin/Section/Section.stories.js +19 -0
  44. package/dist/cjs/components/Chopin/Section/Section.stories.js.map +1 -0
  45. package/dist/cjs/components/Chopin/Steps/Steps.stories.d.ts +9 -0
  46. package/dist/cjs/components/Chopin/Steps/Steps.stories.js +15 -0
  47. package/dist/cjs/components/Chopin/Steps/Steps.stories.js.map +1 -0
  48. package/dist/cjs/components/Chopin/Testimonial/Testimonial.stories.d.ts +9 -0
  49. package/dist/cjs/components/Chopin/Testimonial/Testimonial.stories.js +18 -0
  50. package/dist/cjs/components/Chopin/Testimonial/Testimonial.stories.js.map +1 -0
  51. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.stories.d.ts +16 -0
  52. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.stories.js +55 -0
  53. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.stories.js.map +1 -0
  54. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.test.js +3 -0
  55. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.test.js.map +1 -1
  56. package/dist/cjs/components/Container/Container.stories.d.ts +9 -0
  57. package/dist/cjs/components/Container/Container.stories.js +15 -0
  58. package/dist/cjs/components/Container/Container.stories.js.map +1 -0
  59. package/dist/cjs/components/DataTable/DataTable.stories.d.ts +15 -0
  60. package/dist/cjs/components/DataTable/DataTable.stories.js +200 -0
  61. package/dist/cjs/components/DataTable/DataTable.stories.js.map +1 -0
  62. package/dist/cjs/components/DatePicker/DatePicker.stories.d.ts +16 -0
  63. package/dist/cjs/components/DatePicker/DatePicker.stories.js +28 -0
  64. package/dist/cjs/components/DatePicker/DatePicker.stories.js.map +1 -0
  65. package/dist/cjs/components/Divider/Divider.stories.d.ts +13 -0
  66. package/dist/cjs/components/Divider/Divider.stories.js +15 -0
  67. package/dist/cjs/components/Divider/Divider.stories.js.map +1 -0
  68. package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.d.ts +21 -0
  69. package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.js +64 -0
  70. package/dist/cjs/components/DropdownMenu/DropdownMenu.stories.js.map +1 -0
  71. package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.d.ts +14 -0
  72. package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.js +24 -0
  73. package/dist/cjs/components/ErrorMessage/ErrorMessage.stories.js.map +1 -0
  74. package/dist/cjs/components/Fieldset/Fieldset.stories.d.ts +10 -0
  75. package/dist/cjs/components/Fieldset/Fieldset.stories.js +25 -0
  76. package/dist/cjs/components/Fieldset/Fieldset.stories.js.map +1 -0
  77. package/dist/cjs/components/Flex/Flex.stories.d.ts +82 -0
  78. package/dist/cjs/components/Flex/Flex.stories.js +151 -0
  79. package/dist/cjs/components/Flex/Flex.stories.js.map +1 -0
  80. package/dist/cjs/components/Grid/Grid.d.ts +2 -0
  81. package/dist/cjs/components/Grid/Grid.js +10 -4
  82. package/dist/cjs/components/Grid/Grid.js.map +1 -1
  83. package/dist/cjs/components/Grid/Grid.stories.d.ts +86 -0
  84. package/dist/cjs/components/Grid/Grid.stories.js +230 -0
  85. package/dist/cjs/components/Grid/Grid.stories.js.map +1 -0
  86. package/dist/cjs/components/Grid/Item.d.ts +2 -0
  87. package/dist/cjs/components/Grid/Item.js +7 -2
  88. package/dist/cjs/components/Grid/Item.js.map +1 -1
  89. package/dist/cjs/components/Icon/Icon.stories.d.ts +24 -0
  90. package/dist/cjs/components/Icon/Icon.stories.js +46 -0
  91. package/dist/cjs/components/Icon/Icon.stories.js.map +1 -0
  92. package/dist/cjs/components/Icon/types.d.ts +2 -0
  93. package/dist/cjs/components/Image/Image.stories.d.ts +9 -0
  94. package/dist/cjs/components/Image/Image.stories.js +20 -0
  95. package/dist/cjs/components/Image/Image.stories.js.map +1 -0
  96. package/dist/cjs/components/Label/Label.stories.d.ts +9 -0
  97. package/dist/cjs/components/Label/Label.stories.js +18 -0
  98. package/dist/cjs/components/Label/Label.stories.js.map +1 -0
  99. package/dist/cjs/components/Link/Link.stories.d.ts +38 -0
  100. package/dist/cjs/components/Link/Link.stories.js +44 -0
  101. package/dist/cjs/components/Link/Link.stories.js.map +1 -0
  102. package/dist/cjs/components/LinkButton/LinkButton.stories.d.ts +48 -0
  103. package/dist/cjs/components/LinkButton/LinkButton.stories.js +45 -0
  104. package/dist/cjs/components/LinkButton/LinkButton.stories.js.map +1 -0
  105. package/dist/cjs/components/List/List.stories.d.ts +33 -0
  106. package/dist/cjs/components/List/List.stories.js +80 -0
  107. package/dist/cjs/components/List/List.stories.js.map +1 -0
  108. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.d.ts +2 -0
  109. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
  110. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.d.ts +31 -0
  111. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.js +53 -0
  112. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.stories.js.map +1 -0
  113. package/dist/cjs/components/MaskedField/MaskedField.stories.d.ts +16 -0
  114. package/dist/cjs/components/MaskedField/MaskedField.stories.js +25 -0
  115. package/dist/cjs/components/MaskedField/MaskedField.stories.js.map +1 -0
  116. package/dist/cjs/components/Modal/Modal.js +2 -0
  117. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  118. package/dist/cjs/components/Modal/Modal.stories.d.ts +44 -0
  119. package/dist/cjs/components/Modal/Modal.stories.js +82 -0
  120. package/dist/cjs/components/Modal/Modal.stories.js.map +1 -0
  121. package/dist/cjs/components/NumberField/NumberField.stories.d.ts +50 -0
  122. package/dist/cjs/components/NumberField/NumberField.stories.js +106 -0
  123. package/dist/cjs/components/NumberField/NumberField.stories.js.map +1 -0
  124. package/dist/cjs/components/PasswordField/PasswordField.stories.d.ts +28 -0
  125. package/dist/cjs/components/PasswordField/PasswordField.stories.js +34 -0
  126. package/dist/cjs/components/PasswordField/PasswordField.stories.js.map +1 -0
  127. package/dist/cjs/components/Progress/Progress.stories.d.ts +56 -0
  128. package/dist/cjs/components/Progress/Progress.stories.js +92 -0
  129. package/dist/cjs/components/Progress/Progress.stories.js.map +1 -0
  130. package/dist/cjs/components/Radio/Radio.stories.d.ts +39 -0
  131. package/dist/cjs/components/Radio/Radio.stories.js +121 -0
  132. package/dist/cjs/components/Radio/Radio.stories.js.map +1 -0
  133. package/dist/cjs/components/Radio/RadioButton.stories.d.ts +23 -0
  134. package/dist/cjs/components/Radio/RadioButton.stories.js +91 -0
  135. package/dist/cjs/components/Radio/RadioButton.stories.js.map +1 -0
  136. package/dist/cjs/components/SVG/SVG.stories.d.ts +9 -0
  137. package/dist/cjs/components/SVG/SVG.stories.js +22 -0
  138. package/dist/cjs/components/SVG/SVG.stories.js.map +1 -0
  139. package/dist/cjs/components/SVG/SVG.test.js.map +1 -1
  140. package/dist/cjs/components/Segment/Segment.stories.d.ts +32 -0
  141. package/dist/cjs/components/Segment/Segment.stories.js +78 -0
  142. package/dist/cjs/components/Segment/Segment.stories.js.map +1 -0
  143. package/dist/cjs/components/Select/Select.stories.d.ts +31 -0
  144. package/dist/cjs/components/Select/Select.stories.js +82 -0
  145. package/dist/cjs/components/Select/Select.stories.js.map +1 -0
  146. package/dist/cjs/components/Slider/Slider.d.ts +2 -2
  147. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  148. package/dist/cjs/components/Slider/Slider.stories.d.ts +12 -0
  149. package/dist/cjs/components/Slider/Slider.stories.js +66 -0
  150. package/dist/cjs/components/Slider/Slider.stories.js.map +1 -0
  151. package/dist/cjs/components/Table/Table.stories.d.ts +10 -0
  152. package/dist/cjs/components/Table/Table.stories.js +18 -0
  153. package/dist/cjs/components/Table/Table.stories.js.map +1 -0
  154. package/dist/cjs/components/Text/Text.stories.d.ts +10 -0
  155. package/dist/cjs/components/Text/Text.stories.js +29 -0
  156. package/dist/cjs/components/Text/Text.stories.js.map +1 -0
  157. package/dist/cjs/components/TextArea/TextArea.stories.d.ts +26 -0
  158. package/dist/cjs/components/TextArea/TextArea.stories.js +83 -0
  159. package/dist/cjs/components/TextArea/TextArea.stories.js.map +1 -0
  160. package/dist/cjs/components/TextField/TextField.stories.d.ts +36 -0
  161. package/dist/cjs/components/TextField/TextField.stories.js +103 -0
  162. package/dist/cjs/components/TextField/TextField.stories.js.map +1 -0
  163. package/dist/cjs/components/Title/Title.stories.d.ts +9 -0
  164. package/dist/cjs/components/Title/Title.stories.js +19 -0
  165. package/dist/cjs/components/Title/Title.stories.js.map +1 -0
  166. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.d.ts +9 -0
  167. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.js +15 -0
  168. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.stories.js.map +1 -0
  169. package/dist/cjs/hooks/index.d.ts +1 -0
  170. package/dist/cjs/hooks/index.js +1 -0
  171. package/dist/cjs/hooks/index.js.map +1 -1
  172. package/dist/cjs/hooks/useBodyScrollLock/index.d.ts +1 -0
  173. package/dist/cjs/hooks/useBodyScrollLock/index.js +18 -0
  174. package/dist/cjs/hooks/useBodyScrollLock/index.js.map +1 -0
  175. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.d.ts +3 -0
  176. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.js +25 -0
  177. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.js.map +1 -0
  178. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.d.ts +1 -0
  179. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.js +31 -0
  180. package/dist/cjs/hooks/useBodyScrollLock/useBodyScrollLock.test.js.map +1 -0
  181. package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.d.ts +11 -0
  182. package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.js +43 -0
  183. package/dist/cjs/hooks/useBreakpoint/useBreakpoint.stories.js.map +1 -0
  184. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  185. package/dist/esm/components/Accordion/Accordion.stories.js +45 -0
  186. package/dist/esm/components/Accordion/Accordion.stories.js.map +1 -0
  187. package/dist/esm/components/Alert/Alert.stories.js +32 -0
  188. package/dist/esm/components/Alert/Alert.stories.js.map +1 -0
  189. package/dist/esm/components/Box/Box.stories.js +20 -0
  190. package/dist/esm/components/Box/Box.stories.js.map +1 -0
  191. package/dist/esm/components/Breadcrumbs/Breadcrumbs.stories.js +17 -0
  192. package/dist/esm/components/Breadcrumbs/Breadcrumbs.stories.js.map +1 -0
  193. package/dist/esm/components/Button/Button.stories.js +198 -0
  194. package/dist/esm/components/Button/Button.stories.js.map +1 -0
  195. package/dist/esm/components/Checkbox/Checkbox.stories.js +98 -0
  196. package/dist/esm/components/Checkbox/Checkbox.stories.js.map +1 -0
  197. package/dist/esm/components/Checkbox/CheckboxGroup.stories.js +71 -0
  198. package/dist/esm/components/Checkbox/CheckboxGroup.stories.js.map +1 -0
  199. package/dist/esm/components/Chopin/Actions/Actions.stories.js +56 -0
  200. package/dist/esm/components/Chopin/Actions/Actions.stories.js.map +1 -0
  201. package/dist/esm/components/Chopin/Footer/Footer.stories.js +166 -0
  202. package/dist/esm/components/Chopin/Footer/Footer.stories.js.map +1 -0
  203. package/dist/esm/components/Chopin/Header/Header.stories.js +38 -0
  204. package/dist/esm/components/Chopin/Header/Header.stories.js.map +1 -0
  205. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js +43 -0
  206. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js.map +1 -0
  207. package/dist/esm/components/Chopin/Question/Question.stories.js +136 -0
  208. package/dist/esm/components/Chopin/Question/Question.stories.js.map +1 -0
  209. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.stories.js +40 -0
  210. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.stories.js.map +1 -0
  211. package/dist/esm/components/Chopin/Section/Section.stories.js +16 -0
  212. package/dist/esm/components/Chopin/Section/Section.stories.js.map +1 -0
  213. package/dist/esm/components/Chopin/Steps/Steps.stories.js +12 -0
  214. package/dist/esm/components/Chopin/Steps/Steps.stories.js.map +1 -0
  215. package/dist/esm/components/Chopin/Testimonial/Testimonial.stories.js +15 -0
  216. package/dist/esm/components/Chopin/Testimonial/Testimonial.stories.js.map +1 -0
  217. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.stories.js +52 -0
  218. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.stories.js.map +1 -0
  219. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js +3 -0
  220. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js.map +1 -1
  221. package/dist/esm/components/Container/Container.stories.js +12 -0
  222. package/dist/esm/components/Container/Container.stories.js.map +1 -0
  223. package/dist/esm/components/DataTable/DataTable.stories.js +174 -0
  224. package/dist/esm/components/DataTable/DataTable.stories.js.map +1 -0
  225. package/dist/esm/components/DatePicker/DatePicker.stories.js +25 -0
  226. package/dist/esm/components/DatePicker/DatePicker.stories.js.map +1 -0
  227. package/dist/esm/components/Divider/Divider.stories.js +12 -0
  228. package/dist/esm/components/Divider/Divider.stories.js.map +1 -0
  229. package/dist/esm/components/DropdownMenu/DropdownMenu.stories.js +58 -0
  230. package/dist/esm/components/DropdownMenu/DropdownMenu.stories.js.map +1 -0
  231. package/dist/esm/components/ErrorMessage/ErrorMessage.stories.js +21 -0
  232. package/dist/esm/components/ErrorMessage/ErrorMessage.stories.js.map +1 -0
  233. package/dist/esm/components/Fieldset/Fieldset.stories.js +22 -0
  234. package/dist/esm/components/Fieldset/Fieldset.stories.js.map +1 -0
  235. package/dist/esm/components/Flex/Flex.stories.js +148 -0
  236. package/dist/esm/components/Flex/Flex.stories.js.map +1 -0
  237. package/dist/esm/components/Grid/Grid.js +8 -5
  238. package/dist/esm/components/Grid/Grid.js.map +1 -1
  239. package/dist/esm/components/Grid/Grid.stories.js +227 -0
  240. package/dist/esm/components/Grid/Grid.stories.js.map +1 -0
  241. package/dist/esm/components/Grid/Item.js +5 -3
  242. package/dist/esm/components/Grid/Item.js.map +1 -1
  243. package/dist/esm/components/Icon/Icon.stories.js +43 -0
  244. package/dist/esm/components/Icon/Icon.stories.js.map +1 -0
  245. package/dist/esm/components/Image/Image.stories.js +17 -0
  246. package/dist/esm/components/Image/Image.stories.js.map +1 -0
  247. package/dist/esm/components/Label/Label.stories.js +15 -0
  248. package/dist/esm/components/Label/Label.stories.js.map +1 -0
  249. package/dist/esm/components/Link/Link.stories.js +41 -0
  250. package/dist/esm/components/Link/Link.stories.js.map +1 -0
  251. package/dist/esm/components/LinkButton/LinkButton.stories.js +42 -0
  252. package/dist/esm/components/LinkButton/LinkButton.stories.js.map +1 -0
  253. package/dist/esm/components/List/List.stories.js +77 -0
  254. package/dist/esm/components/List/List.stories.js.map +1 -0
  255. package/dist/esm/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
  256. package/dist/esm/components/LoadingIndicator/LoadingIndicator.stories.js +50 -0
  257. package/dist/esm/components/LoadingIndicator/LoadingIndicator.stories.js.map +1 -0
  258. package/dist/esm/components/MaskedField/MaskedField.stories.js +22 -0
  259. package/dist/esm/components/MaskedField/MaskedField.stories.js.map +1 -0
  260. package/dist/esm/components/Modal/Modal.js +2 -0
  261. package/dist/esm/components/Modal/Modal.js.map +1 -1
  262. package/dist/esm/components/Modal/Modal.stories.js +79 -0
  263. package/dist/esm/components/Modal/Modal.stories.js.map +1 -0
  264. package/dist/esm/components/NumberField/NumberField.stories.js +103 -0
  265. package/dist/esm/components/NumberField/NumberField.stories.js.map +1 -0
  266. package/dist/esm/components/PasswordField/PasswordField.stories.js +31 -0
  267. package/dist/esm/components/PasswordField/PasswordField.stories.js.map +1 -0
  268. package/dist/esm/components/Progress/Progress.stories.js +89 -0
  269. package/dist/esm/components/Progress/Progress.stories.js.map +1 -0
  270. package/dist/esm/components/Radio/Radio.stories.js +118 -0
  271. package/dist/esm/components/Radio/Radio.stories.js.map +1 -0
  272. package/dist/esm/components/Radio/RadioButton.stories.js +88 -0
  273. package/dist/esm/components/Radio/RadioButton.stories.js.map +1 -0
  274. package/dist/esm/components/SVG/SVG.stories.js +19 -0
  275. package/dist/esm/components/SVG/SVG.stories.js.map +1 -0
  276. package/dist/esm/components/SVG/SVG.test.js.map +1 -1
  277. package/dist/esm/components/Segment/Segment.stories.js +75 -0
  278. package/dist/esm/components/Segment/Segment.stories.js.map +1 -0
  279. package/dist/esm/components/Select/Select.stories.js +79 -0
  280. package/dist/esm/components/Select/Select.stories.js.map +1 -0
  281. package/dist/esm/components/Slider/Slider.js.map +1 -1
  282. package/dist/esm/components/Slider/Slider.stories.js +63 -0
  283. package/dist/esm/components/Slider/Slider.stories.js.map +1 -0
  284. package/dist/esm/components/Table/Table.stories.js +15 -0
  285. package/dist/esm/components/Table/Table.stories.js.map +1 -0
  286. package/dist/esm/components/Text/Text.stories.js +26 -0
  287. package/dist/esm/components/Text/Text.stories.js.map +1 -0
  288. package/dist/esm/components/TextArea/TextArea.stories.js +80 -0
  289. package/dist/esm/components/TextArea/TextArea.stories.js.map +1 -0
  290. package/dist/esm/components/TextField/TextField.stories.js +100 -0
  291. package/dist/esm/components/TextField/TextField.stories.js.map +1 -0
  292. package/dist/esm/components/Title/Title.stories.js +16 -0
  293. package/dist/esm/components/Title/Title.stories.js.map +1 -0
  294. package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.js +12 -0
  295. package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.js.map +1 -0
  296. package/dist/esm/hooks/index.js +1 -0
  297. package/dist/esm/hooks/index.js.map +1 -1
  298. package/dist/esm/hooks/useBodyScrollLock/index.js +2 -0
  299. package/dist/esm/hooks/useBodyScrollLock/index.js.map +1 -0
  300. package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.js +21 -0
  301. package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.js.map +1 -0
  302. package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.test.js +29 -0
  303. package/dist/esm/hooks/useBodyScrollLock/useBodyScrollLock.test.js.map +1 -0
  304. package/dist/esm/hooks/useBreakpoint/useBreakpoint.stories.js +40 -0
  305. package/dist/esm/hooks/useBreakpoint/useBreakpoint.stories.js.map +1 -0
  306. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  307. package/dist/mobius.d.ts +15 -2
  308. package/package.json +2 -2
  309. package/src/components/Accordion/{Accordion.story.mdx → Accordion.mdx} +15 -96
  310. package/src/components/Accordion/Accordion.stories.tsx +87 -0
  311. package/src/components/Alert/{Alert.story.mdx → Alert.mdx} +5 -35
  312. package/src/components/Alert/Alert.stories.tsx +47 -0
  313. package/src/components/Box/{Box.story.mdx → Box.mdx} +5 -21
  314. package/src/components/Box/Box.stories.tsx +26 -0
  315. package/src/components/Breadcrumbs/{Breadcrumbs.story.mdx → Breadcrumbs.mdx} +15 -48
  316. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +52 -0
  317. package/src/components/Button/Button.mdx +227 -0
  318. package/src/components/Button/Button.stories.tsx +225 -0
  319. package/src/components/Button/Button.story.styles.css +3 -0
  320. package/src/components/Checkbox/Checkbox.mdx +122 -0
  321. package/src/components/Checkbox/Checkbox.stories.tsx +122 -0
  322. package/src/components/Checkbox/{CheckboxGroup.story.mdx → CheckboxGroup.mdx} +12 -114
  323. package/src/components/Checkbox/CheckboxGroup.stories.tsx +109 -0
  324. package/src/components/Checkbox/types.ts +1 -1
  325. package/src/components/Chopin/Actions/{Actions.story.mdx → Actions.mdx} +17 -88
  326. package/src/components/Chopin/Actions/Actions.stories.tsx +81 -0
  327. package/src/components/Chopin/Footer/Footer.mdx +163 -0
  328. package/src/components/Chopin/Footer/Footer.stories.tsx +217 -0
  329. package/src/components/Chopin/Header/{Header.story.mdx → Header.mdx} +7 -47
  330. package/src/components/Chopin/Header/Header.stories.tsx +50 -0
  331. package/src/components/Chopin/PercentageTotalsQuestion/{PercentageTotalsQuestion.story.mdx → PercentageTotalsQuestion.mdx} +4 -36
  332. package/src/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.tsx +63 -0
  333. package/src/components/Chopin/Question/{Question.story.mdx → Question.mdx} +29 -227
  334. package/src/components/Chopin/Question/Question.stories.tsx +211 -0
  335. package/src/components/Chopin/QuestionGroup/QuestionGroup.mdx +149 -0
  336. package/src/components/Chopin/QuestionGroup/QuestionGroup.stories.tsx +187 -0
  337. package/src/components/Chopin/Section/{Section.story.mdx → Section.mdx} +6 -24
  338. package/src/components/Chopin/Section/Section.stories.tsx +30 -0
  339. package/src/components/Chopin/Steps/{Steps.story.mdx → Steps.mdx} +6 -20
  340. package/src/components/Chopin/Steps/Steps.stories.tsx +22 -0
  341. package/src/components/Chopin/Testimonial/{Testimonial.story.mdx → Testimonial.mdx} +4 -14
  342. package/src/components/Chopin/Testimonial/Testimonial.stories.tsx +23 -0
  343. package/src/components/Chopin/TradeSelector/{TradeSelector.story.mdx → TradeSelector.mdx} +14 -52
  344. package/src/components/Chopin/TradeSelector/TradeSelector.stories.tsx +67 -0
  345. package/src/components/Chopin/TradeSelector/TradeSelector.test.tsx +3 -0
  346. package/src/components/Container/{Container.story.mdx → Container.mdx} +4 -16
  347. package/src/components/Container/Container.stories.tsx +20 -0
  348. package/src/components/DataTable/{DataTable.story.mdx → DataTable.mdx} +10 -203
  349. package/src/components/DataTable/DataTable.stories.tsx +228 -0
  350. package/src/components/DatePicker/{DatePicker.story.mdx → DatePicker.mdx} +9 -29
  351. package/src/components/DatePicker/DatePicker.stories.tsx +32 -0
  352. package/src/components/Divider/{Divider.story.mdx → Divider.mdx} +4 -9
  353. package/src/components/Divider/Divider.stories.tsx +13 -0
  354. package/src/components/DropdownMenu/{DropdownMenu.story.mdx → DropdownMenu.mdx} +5 -39
  355. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +84 -0
  356. package/src/components/DropdownMenu/DropdownMenu.story.styles.css +12 -0
  357. package/src/components/ErrorMessage/ErrorMessage.mdx +39 -0
  358. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +24 -0
  359. package/src/components/Fieldset/{Fieldset.story.mdx → Fieldset.mdx} +5 -28
  360. package/src/components/Fieldset/Fieldset.stories.tsx +40 -0
  361. package/src/components/Flex/{Flex.story.mdx → Flex.mdx} +13 -150
  362. package/src/components/Flex/Flex.stories.tsx +182 -0
  363. package/src/components/Grid/{Grid.story.mdx → Grid.mdx} +78 -360
  364. package/src/components/Grid/Grid.stories.tsx +375 -0
  365. package/src/components/Grid/Grid.story.styles.css +4 -0
  366. package/src/components/Grid/Grid.tsx +16 -4
  367. package/src/components/Grid/Item.tsx +14 -2
  368. package/src/components/Icon/Icon.mdx +75 -0
  369. package/src/components/Icon/Icon.stories.tsx +50 -0
  370. package/src/components/Icon/types.ts +2 -0
  371. package/src/components/Image/{Image.story.mdx → Image.mdx} +4 -9
  372. package/src/components/Image/Image.stories.tsx +20 -0
  373. package/src/components/Label/{Label.story.mdx → Label.mdx} +4 -9
  374. package/src/components/Label/Label.stories.tsx +16 -0
  375. package/src/components/Link/{Link.story.mdx → Link.mdx} +8 -52
  376. package/src/components/Link/Link.stories.tsx +50 -0
  377. package/src/components/LinkButton/LinkButton.mdx +45 -0
  378. package/src/components/LinkButton/LinkButton.stories.tsx +61 -0
  379. package/src/components/List/{List.story.mdx → List.mdx} +18 -113
  380. package/src/components/List/List.stories.tsx +135 -0
  381. package/src/components/LoadingIndicator/LoadingIndicator.mdx +59 -0
  382. package/src/components/LoadingIndicator/LoadingIndicator.stories.tsx +59 -0
  383. package/src/components/LoadingIndicator/LoadingIndicator.tsx +2 -0
  384. package/src/components/MaskedField/{MaskedField.story.mdx → MaskedField.mdx} +11 -12
  385. package/src/components/MaskedField/MaskedField.stories.tsx +26 -0
  386. package/src/components/Modal/{Modal.story.mdx → Modal.mdx} +20 -84
  387. package/src/components/Modal/Modal.stories.tsx +181 -0
  388. package/src/components/Modal/Modal.tsx +2 -0
  389. package/src/components/NumberField/NumberField.mdx +104 -0
  390. package/src/components/NumberField/NumberField.stories.tsx +114 -0
  391. package/src/components/PasswordField/{PasswordField.story.mdx → PasswordField.mdx} +10 -49
  392. package/src/components/PasswordField/PasswordField.stories.tsx +36 -0
  393. package/src/components/Progress/Progress.mdx +83 -0
  394. package/src/components/Progress/Progress.stories.tsx +105 -0
  395. package/src/components/Radio/Radio.mdx +202 -0
  396. package/src/components/Radio/Radio.stories.tsx +202 -0
  397. package/src/components/Radio/{RadioButton.story.mdx → RadioButton.mdx} +15 -156
  398. package/src/components/Radio/RadioButton.stories.tsx +153 -0
  399. package/src/components/SVG/{SVG.story.mdx → SVG.mdx} +5 -10
  400. package/src/components/SVG/SVG.stories.tsx +29 -0
  401. package/src/components/SVG/SVG.test.tsx +3 -14
  402. package/src/components/Segment/{Segment.story.mdx → Segment.mdx} +79 -107
  403. package/src/components/Segment/Segment.stories.tsx +129 -0
  404. package/src/components/Select/{Select.story.mdx → Select.mdx} +25 -186
  405. package/src/components/Select/Select.stories.tsx +163 -0
  406. package/src/components/Slider/Slider.mdx +55 -0
  407. package/src/components/Slider/Slider.stories.tsx +82 -0
  408. package/src/components/Slider/Slider.tsx +5 -2
  409. package/src/components/Table/Table.mdx +74 -0
  410. package/src/components/Table/Table.stories.tsx +149 -0
  411. package/src/components/Text/{Text.story.mdx → Text.mdx} +20 -16
  412. package/src/components/Text/Text.stories.tsx +28 -0
  413. package/src/components/TextArea/TextArea.mdx +82 -0
  414. package/src/components/TextArea/TextArea.stories.tsx +89 -0
  415. package/src/components/TextField/TextField.mdx +122 -0
  416. package/src/components/TextField/TextField.stories.tsx +111 -0
  417. package/src/components/Title/{Title.story.mdx → Title.mdx} +4 -12
  418. package/src/components/Title/Title.stories.tsx +17 -0
  419. package/src/components/VisuallyHidden/{VisuallyHidden.story.mdx → VisuallyHidden.mdx} +4 -13
  420. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +17 -0
  421. package/src/hooks/index.tsx +1 -0
  422. package/src/hooks/useBodyScrollLock/index.ts +1 -0
  423. package/src/hooks/useBodyScrollLock/useBodyScrollLock.test.ts +34 -0
  424. package/src/hooks/useBodyScrollLock/useBodyScrollLock.ts +25 -0
  425. package/src/hooks/useBreakpoint/{useBreakpoint.story.mdx → useBreakpoint.mdx} +6 -47
  426. package/src/hooks/useBreakpoint/useBreakpoint.stories.tsx +61 -0
  427. package/src/components/Button/Button.story.mdx +0 -401
  428. package/src/components/Checkbox/Checkbox.story.mdx +0 -233
  429. package/src/components/Chopin/Footer/Footer.story.mdx +0 -368
  430. package/src/components/Chopin/QuestionGroup/QuestionGroup.story.mdx +0 -309
  431. package/src/components/ErrorMessage/ErrorMessage.story.mdx +0 -57
  432. package/src/components/Icon/Icon.story.mdx +0 -175
  433. package/src/components/LinkButton/LinkButton.story.mdx +0 -96
  434. package/src/components/LoadingIndicator/LoadingIndicator.story.mdx +0 -96
  435. package/src/components/NumberField/NumberField.story.mdx +0 -193
  436. package/src/components/Progress/Progress.story.mdx +0 -172
  437. package/src/components/Radio/Radio.story.mdx +0 -402
  438. package/src/components/Slider/Slider.story.mdx +0 -130
  439. package/src/components/Table/Table.story.mdx +0 -213
  440. package/src/components/TextArea/TextArea.story.mdx +0 -172
  441. package/src/components/TextField/TextField.story.mdx +0 -232
@@ -0,0 +1,84 @@
1
+ import type { Meta } from "@storybook/react";
2
+ import { forwardRef } from "react";
3
+ import clsx from "clsx";
4
+ import { DropdownMenu, DropdownMenuProps } from ".";
5
+ import { Icon } from "../Icon";
6
+ import { excludeControls } from "../../utils/excludeControls";
7
+
8
+ type CustomTriggerProps = {
9
+ className?: string;
10
+ open?: boolean;
11
+ };
12
+
13
+ const CustomTrigger = forwardRef((props: CustomTriggerProps) => {
14
+ const { className, open, ...otherProps } = props;
15
+ const classes = clsx({
16
+ "--is-open": open,
17
+ });
18
+ return (
19
+ <button type="button" className={className} {...otherProps}>
20
+ {open ? "Close" : "Open"} <Icon name="chevronDown" className={classes} />
21
+ </button>
22
+ );
23
+ });
24
+
25
+ export default {
26
+ title: "Components/DropdownMenu",
27
+ component: DropdownMenu,
28
+ argTypes: excludeControls("className", "elementType", "trigger", "style"),
29
+ decorators: [
30
+ Story => {
31
+ // eslint-disable-next-line global-require
32
+ require("./DropdownMenu.story.styles.css");
33
+
34
+ return <Story />;
35
+ },
36
+ ],
37
+ } satisfies Meta<typeof DropdownMenu>;
38
+
39
+ export const Normal: Meta<typeof DropdownMenu> = {
40
+ render: (args: DropdownMenuProps) => (
41
+ <div
42
+ style={{
43
+ height: 300,
44
+ }}
45
+ >
46
+ <DropdownMenu {...args}>
47
+ <DropdownMenu.Item>Home</DropdownMenu.Item>
48
+ <DropdownMenu.Item>My details</DropdownMenu.Item>
49
+ <DropdownMenu.Item>Sign out</DropdownMenu.Item>
50
+ </DropdownMenu>
51
+ </div>
52
+ ),
53
+ args: {
54
+ label: "Menu",
55
+ },
56
+ };
57
+
58
+ export const WithCustomTrigger: Meta<typeof DropdownMenu> = {
59
+ render: (args: DropdownMenuProps) => (
60
+ <div
61
+ style={{
62
+ height: 300,
63
+ }}
64
+ className="dropdownmenu-example-custom-trigger"
65
+ >
66
+ <DropdownMenu {...args}>
67
+ {/* eslint-disable-next-line no-alert */}
68
+ <DropdownMenu.Item onClick={() => alert("Clicked Home")}>
69
+ Home
70
+ </DropdownMenu.Item>
71
+ <DropdownMenu.Item>My details</DropdownMenu.Item>
72
+ <DropdownMenu.Item>Sign out</DropdownMenu.Item>
73
+ </DropdownMenu>
74
+ </div>
75
+ ),
76
+ args: {
77
+ trigger: <CustomTrigger />,
78
+ },
79
+ parameters: {
80
+ controls: {
81
+ exclude: ["label"],
82
+ },
83
+ },
84
+ };
@@ -0,0 +1,12 @@
1
+ .dropdownmenu-example-custom-trigger .mobius\/DropdownMenu {
2
+ text-align: right;
3
+ }
4
+
5
+ .dropdownmenu-example-custom-trigger .mobius\/Icon {
6
+ transform: rotate(0deg);
7
+ transition: transform 150ms ease-in-out 0s;
8
+ }
9
+
10
+ .dropdownmenu-example-custom-trigger .mobius\/Icon.--is-open {
11
+ transform: rotate(180deg);
12
+ }
@@ -0,0 +1,39 @@
1
+ import { useState } from "react";
2
+ import { Meta, ArgsTable, Story, Canvas } from "@storybook/blocks";
3
+ import { Box } from "../Box";
4
+ import { Button } from "../Button";
5
+ import { ErrorMessage } from ".";
6
+ import { excludeControls } from "../../utils/excludeControls";
7
+ import * as ErrorMessageStories from "./ErrorMessage.stories";
8
+
9
+ <Meta of={ErrorMessageStories} />
10
+
11
+ # ErrorMessage
12
+
13
+ The `ErrorMessage` component is used for displaying generic error information.
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ yarn add @simplybusiness/mobius
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ```js
24
+ import { ErrorMessage } from "@simplybusiness/mobius";
25
+ ```
26
+
27
+ ## Examples
28
+
29
+ ### Normal
30
+
31
+ <Canvas>
32
+ <Story of={ErrorMessageStories.Normal} />
33
+ </Canvas>
34
+
35
+ ### Long message
36
+
37
+ <Canvas>
38
+ <Story of={ErrorMessageStories.LongMessage} />
39
+ </Canvas>
@@ -0,0 +1,24 @@
1
+ import type { Meta } from "@storybook/react";
2
+ import { ErrorMessage, ErrorMessageProps } from ".";
3
+ import { excludeControls } from "../../utils/excludeControls";
4
+
5
+ export default {
6
+ title: "Forms/ErrorMessage",
7
+ component: ErrorMessage,
8
+ argTypes: excludeControls("id", "className"),
9
+ };
10
+
11
+ export const Normal: Meta<typeof ErrorMessage> = {
12
+ render: (args: ErrorMessageProps) => <ErrorMessage {...args} />,
13
+ args: {
14
+ errorMessage: "This is an error message",
15
+ },
16
+ };
17
+
18
+ export const LongMessage: Meta<typeof ErrorMessage> = {
19
+ render: (args: ErrorMessageProps) => <ErrorMessage {...args} />,
20
+ args: {
21
+ errorMessage:
22
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum, mauris ac egestas rutrum, dui urna imperdiet velit, ac malesuada velit augue eget orci. Duis id purus et elit tempus egestas ut eget tellus. Praesent tempus sit amet metus iaculis auctor. Morbi aliquet nibh sit amet neque congue dictum. Proin auctor pellentesque facilisis. Donec rutrum at ante a pulvinar. In hac habitasse platea dictumst. Mauris non blandit nulla. Duis facilisis fringilla cursus. Interdum et malesuada fames ac ante ipsum primis in faucibus.",
23
+ },
24
+ };
@@ -1,13 +1,10 @@
1
- import { Meta, ArgsTable, Canvas, Story } from "@storybook/addon-docs";
1
+ import { Meta, ArgsTable, Canvas, Story } from "@storybook/blocks";
2
2
  import { Fieldset } from "./Fieldset";
3
3
  import { TextField } from "../TextField";
4
4
  import { excludeControls } from "../../utils/excludeControls";
5
+ import * as FieldsetStories from "./Fieldset.stories";
5
6
 
6
- <Meta
7
- title="Forms/Fieldset"
8
- component={Fieldset}
9
- argTypes={excludeControls("className", "legendComponent")}
10
- />
7
+ <Meta of={FieldsetStories} />
11
8
 
12
9
  # Fieldset
13
10
 
@@ -30,33 +27,13 @@ import { Fieldset } from "@simplybusiness/mobius";
30
27
  ## Normal
31
28
 
32
29
  <Canvas>
33
- <Story name="Normal" args={{ legend: "" }}>
34
- {args => (
35
- <Fieldset {...args}>
36
- <TextField label="Full name" />
37
- <TextField label="Street" />
38
- <TextField label="Number" />
39
- <TextField label="City" />
40
- <TextField label="Postcode" />
41
- </Fieldset>
42
- )}
43
- </Story>
30
+ <Story of={FieldsetStories.Normal} />
44
31
  </Canvas>
45
32
 
46
33
  ## With Legend
47
34
 
48
35
  <Canvas>
49
- <Story name="With Legend" args={{ legend: "Contact Details" }}>
50
- {args => (
51
- <Fieldset {...args}>
52
- <TextField label="Full name" />
53
- <TextField label="Street" />
54
- <TextField label="Number" />
55
- <TextField label="City" />
56
- <TextField label="Postcode" />
57
- </Fieldset>
58
- )}
59
- </Story>
36
+ <Story of={FieldsetStories.WithLegend} />
60
37
  </Canvas>
61
38
 
62
39
  ## Accessibility
@@ -0,0 +1,40 @@
1
+ import type { Meta } from "@storybook/react";
2
+ import { Fieldset, FieldsetProps } from "./Fieldset";
3
+ import { TextField } from "../TextField";
4
+ import { excludeControls } from "../../utils/excludeControls";
5
+
6
+ export default {
7
+ title: "Forms/Fieldset",
8
+ component: Fieldset,
9
+ argTypes: excludeControls("className", "legendComponent"),
10
+ };
11
+
12
+ export const Normal: Meta<typeof Fieldset> = {
13
+ render: (args: FieldsetProps) => (
14
+ <Fieldset {...args}>
15
+ <TextField label="Full name" />
16
+ <TextField label="Street" />
17
+ <TextField label="Number" />
18
+ <TextField label="City" />
19
+ <TextField label="Postcode" />
20
+ </Fieldset>
21
+ ),
22
+ args: {
23
+ legend: "",
24
+ },
25
+ };
26
+
27
+ export const WithLegend: Meta<typeof Fieldset> = {
28
+ render: (args: FieldsetProps) => (
29
+ <Fieldset {...args}>
30
+ <TextField label="Full name" />
31
+ <TextField label="Street" />
32
+ <TextField label="Number" />
33
+ <TextField label="City" />
34
+ <TextField label="Postcode" />
35
+ </Fieldset>
36
+ ),
37
+ args: {
38
+ legend: "Contact Details",
39
+ },
40
+ };
@@ -1,7 +1,8 @@
1
- import { Meta, ArgsTable, Story } from "@storybook/addon-docs";
1
+ import { Meta, ArgsTable, Story } from "@storybook/blocks";
2
2
  import { Flex } from "./Flex";
3
3
  import { Box } from "../Box";
4
4
  import { excludeControls } from "../../utils/excludeControls";
5
+ import * as FlexStories from "./Flex.stories";
5
6
 
6
7
  export const sizeOptions = [
7
8
  "",
@@ -18,102 +19,7 @@ export const sizeOptions = [
18
19
  "var(--size-100)",
19
20
  ];
20
21
 
21
- <Meta
22
- title="Layout/Flex"
23
- component={Flex}
24
- argTypes={{
25
- flexDirection: {
26
- control: "select",
27
- options: ["", "row", "row-reverse", "column", "column-reverse"],
28
- },
29
- flexWrap: {
30
- control: "select",
31
- options: ["", "nowrap", "wrap", "wrap-reverse"],
32
- },
33
- flexGrow: {
34
- control: "text",
35
- if: {
36
- arg: "flex",
37
- truthy: false,
38
- },
39
- },
40
- flex: {
41
- control: "text",
42
- },
43
- justifyContent: {
44
- control: "select",
45
- options: [
46
- "",
47
- "space-around",
48
- "space-between",
49
- "space-evenly",
50
- "stretch",
51
- "center",
52
- "end",
53
- "flex-end",
54
- "flex-start",
55
- "start",
56
- "left",
57
- "normal",
58
- "right",
59
- ],
60
- },
61
- alignItems: {
62
- control: "select",
63
- options: [
64
- "",
65
- "center",
66
- "end",
67
- "flex-end",
68
- "flex-start",
69
- "self-end",
70
- "self-start",
71
- "start",
72
- "baseline",
73
- "normal",
74
- "stretch",
75
- ],
76
- },
77
- alignContent: {
78
- control: "select",
79
- options: [
80
- "",
81
- "space-around",
82
- "space-between",
83
- "space-evenly",
84
- "stretch",
85
- "center",
86
- "end",
87
- "flex-end",
88
- "flex-start",
89
- "start",
90
- "baseline",
91
- "normal",
92
- ],
93
- },
94
- gap: {
95
- control: "select",
96
- options: [...sizeOptions],
97
- },
98
- rowGap: {
99
- control: "select",
100
- options: [...sizeOptions],
101
- if: {
102
- arg: "gap",
103
- truthy: false,
104
- },
105
- },
106
- columnGap: {
107
- control: "select",
108
- options: [...sizeOptions],
109
- if: {
110
- arg: "gap",
111
- truthy: false,
112
- },
113
- },
114
- ...excludeControls("className", "elementType", "style"),
115
- }}
116
- />
22
+ <Meta of={FlexStories} />
117
23
 
118
24
  # Flex
119
25
 
@@ -163,15 +69,16 @@ export const Card = ({ children, style, ...props }) => (
163
69
  >
164
70
  Header
165
71
  </Flex>
72
+
166
73
  <Flex flexDirection="row" gap={4} style={{ height: "var(--size-80)" }}>
167
74
  <Flex style={{ backgroundColor: "var(--color-background)" }} flex={2}>
168
75
  Main
169
76
  </Flex>
170
- <Flex
171
- style={{ backgroundColor: "var(--color-background-muted)" }}
172
- flex={1}
173
- />
77
+
78
+ <Flex style={{ backgroundColor: "var(--color-background-muted)" }} flex={1} />
79
+
174
80
  </Flex>
81
+
175
82
  <Flex
176
83
  alignItems="center"
177
84
  style={{
@@ -230,7 +137,7 @@ You can use the `flexWrap` prop to wrap the elements inside the `Flex` container
230
137
  ))}
231
138
  </Flex>
232
139
 
233
- <!-- prettier-ignore -->
140
+ {/* prettier-ignore */}
234
141
  ```jsx
235
142
  import { Flex, Box } from "@simplybusiness/mobius";
236
143
 
@@ -264,31 +171,9 @@ const Card = ({ children, ...props }) => (
264
171
 
265
172
  _Note:_ `row` layout is the default value, so `flexDirection: "row"` may be omitted
266
173
 
267
- <Story
268
- name="Row Layout"
269
- args={{
270
- flexDirection: "row",
271
- flexWrap: "nowrap",
272
- flexGrow: "0",
273
- flex: "1 1 0px",
274
- justifyContent: "normal",
275
- alignItems: "stretch",
276
- alignContent: "flex-start",
277
- gap: "var(--size-20)",
278
- rowGap: "",
279
- columnGap: "",
280
- }}
281
- >
282
- {args => (
283
- <Flex {...args}>
284
- <Card>Item</Card>
285
- <Card>Item</Card>
286
- <Card>Item</Card>
287
- </Flex>
288
- )}
289
- </Story>
174
+ <Story of={FlexStories.RowLayout} />
290
175
 
291
- <!-- prettier-ignore -->
176
+ {/* prettier-ignore */}
292
177
  ```jsx
293
178
  import { Flex, Box } from "@simplybusiness/mobius";
294
179
 
@@ -318,31 +203,9 @@ const Card = ({ children, ...props }) => (
318
203
 
319
204
  ### Column Layout
320
205
 
321
- <Story
322
- name="Column Layout"
323
- args={{
324
- flexDirection: "column",
325
- flexWrap: "nowrap",
326
- flexGrow: "0",
327
- flex: "1 1 0px",
328
- justifyContent: "normal",
329
- alignItems: "stretch",
330
- alignContent: "normal",
331
- gap: "var(--size-20)",
332
- rowGap: "",
333
- columnGap: "",
334
- }}
335
- >
336
- {args => (
337
- <Flex {...args}>
338
- <Card>Item</Card>
339
- <Card>Item</Card>
340
- <Card>Item</Card>
341
- </Flex>
342
- )}
343
- </Story>
206
+ <Story of={FlexStories.ColumnLayout} />
344
207
 
345
- <!-- prettier-ignore -->
208
+ {/* prettier-ignore */}
346
209
  ```jsx
347
210
  import { Flex, Box } from "@simplybusiness/mobius";
348
211
 
@@ -0,0 +1,182 @@
1
+ import type { Meta } from "@storybook/react";
2
+ import { CSSProperties, ReactNode } from "react";
3
+ import { Flex } from "./Flex";
4
+ import { Box } from "../Box";
5
+ import { excludeControls } from "../../utils/excludeControls";
6
+ import { FlexProps } from "./types";
7
+
8
+ const sizeOptions = [
9
+ "",
10
+ "var(--size-0)",
11
+ "var(--size-10)",
12
+ "var(--size-20)",
13
+ "var(--size-30)",
14
+ "var(--size-40)",
15
+ "var(--size-50)",
16
+ "var(--size-60)",
17
+ "var(--size-70)",
18
+ "var(--size-80)",
19
+ "var(--size-90)",
20
+ "var(--size-100)",
21
+ ];
22
+
23
+ type CardProps = {
24
+ children: ReactNode;
25
+ style?: CSSProperties;
26
+ };
27
+
28
+ const Card = ({ children, style, ...props }: CardProps) => (
29
+ <Box
30
+ style={{
31
+ borderRadius: "4px",
32
+ padding: "8px",
33
+ backgroundColor: "#dddddd",
34
+ width: "100%",
35
+ ...style,
36
+ }}
37
+ {...props}
38
+ >
39
+ {children}
40
+ </Box>
41
+ );
42
+
43
+ export default {
44
+ title: "Layout/Flex",
45
+ component: Flex,
46
+ argTypes: {
47
+ flexDirection: {
48
+ control: { type: "select" },
49
+ options: ["", "row", "row-reverse", "column", "column-reverse"],
50
+ },
51
+ flexWrap: {
52
+ control: { type: "select" },
53
+ options: ["", "nowrap", "wrap", "wrap-reverse"],
54
+ },
55
+ flexGrow: {
56
+ control: { type: "text" },
57
+ if: {
58
+ arg: "flex",
59
+ truthy: false,
60
+ },
61
+ },
62
+ flex: {
63
+ control: { type: "text" },
64
+ },
65
+ justifyContent: {
66
+ control: { type: "select" },
67
+ options: [
68
+ "",
69
+ "space-around",
70
+ "space-between",
71
+ "space-evenly",
72
+ "stretch",
73
+ "center",
74
+ "end",
75
+ "flex-end",
76
+ "flex-start",
77
+ "start",
78
+ "left",
79
+ "normal",
80
+ "right",
81
+ ],
82
+ },
83
+ alignItems: {
84
+ control: { type: "select" },
85
+ options: [
86
+ "",
87
+ "center",
88
+ "end",
89
+ "flex-end",
90
+ "flex-start",
91
+ "self-end",
92
+ "self-start",
93
+ "start",
94
+ "baseline",
95
+ "normal",
96
+ "stretch",
97
+ ],
98
+ },
99
+ alignContent: {
100
+ control: { type: "select" },
101
+ options: [
102
+ "",
103
+ "space-around",
104
+ "space-between",
105
+ "space-evenly",
106
+ "stretch",
107
+ "center",
108
+ "end",
109
+ "flex-end",
110
+ "flex-start",
111
+ "start",
112
+ "baseline",
113
+ "normal",
114
+ ],
115
+ },
116
+ gap: {
117
+ control: { type: "select" },
118
+ options: [...sizeOptions],
119
+ },
120
+ rowGap: {
121
+ control: { type: "select" },
122
+ options: [...sizeOptions],
123
+ if: {
124
+ arg: "gap",
125
+ truthy: false,
126
+ },
127
+ },
128
+ columnGap: {
129
+ control: { type: "select" },
130
+ options: [...sizeOptions],
131
+ if: {
132
+ arg: "gap",
133
+ truthy: false,
134
+ },
135
+ },
136
+ ...excludeControls("className", "elementType", "style"),
137
+ },
138
+ };
139
+
140
+ export const RowLayout: Meta<typeof Flex> = {
141
+ render: (args: FlexProps) => (
142
+ <Flex {...args}>
143
+ <Card>Item</Card>
144
+ <Card>Item</Card>
145
+ <Card>Item</Card>
146
+ </Flex>
147
+ ),
148
+ args: {
149
+ flexDirection: "row",
150
+ flexWrap: "nowrap",
151
+ flexGrow: "0",
152
+ flex: "1 1 0px",
153
+ justifyContent: "normal",
154
+ alignItems: "stretch",
155
+ alignContent: "flex-start",
156
+ gap: "var(--size-20)",
157
+ rowGap: "",
158
+ columnGap: "",
159
+ },
160
+ };
161
+
162
+ export const ColumnLayout: Meta<typeof Flex> = {
163
+ render: (args: FlexProps) => (
164
+ <Flex {...args}>
165
+ <Card>Item</Card>
166
+ <Card>Item</Card>
167
+ <Card>Item</Card>
168
+ </Flex>
169
+ ),
170
+ args: {
171
+ flexDirection: "column",
172
+ flexWrap: "nowrap",
173
+ flexGrow: "0",
174
+ flex: "1 1 0px",
175
+ justifyContent: "normal",
176
+ alignItems: "stretch",
177
+ alignContent: "normal",
178
+ gap: "var(--size-20)",
179
+ rowGap: "",
180
+ columnGap: "",
181
+ },
182
+ };