@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
@@ -1,63 +1,13 @@
1
1
  import { useState } from "react";
2
- import { Meta, ArgsTable, Canvas, Story } from "@storybook/addon-docs";
2
+ import { Meta, ArgsTable, Canvas, Story } from "@storybook/blocks";
3
3
  import { ThemeContext } from "../../../contexts";
4
4
  import { Question } from "./Question";
5
5
  import { Box } from "../../Box";
6
6
  import { TextField } from "../../TextField";
7
7
  import { excludeControls } from "../../../utils/excludeControls";
8
+ import * as QuestionStories from "./Question.stories";
8
9
 
9
- <Meta
10
- title="Chopin/Question"
11
- component={Question}
12
- argTypes={{
13
- validationState: {
14
- control: {
15
- type: "radio",
16
- options: {
17
- valid: "valid",
18
- invalid: "invalid",
19
- neither: "",
20
- },
21
- defaultValue: {
22
- neither: "",
23
- },
24
- },
25
- },
26
- label: {
27
- control: "text",
28
- },
29
- help: {
30
- control: "text",
31
- },
32
- ...excludeControls("children", "className"),
33
- }}
34
- decorators={[
35
- Story => {
36
- require("./Question.story.styles.css");
37
- return (
38
- <ThemeContext.Provider
39
- value={{
40
- breakpoints: [
41
- { size: "xs", value: 320 },
42
- { size: "sm", value: 480 },
43
- { size: "md", value: 670 },
44
- { size: "lg", value: 960 },
45
- { size: "xl", value: 1200 },
46
- { size: "xxl", value: 1320 },
47
- ],
48
- }}
49
- >
50
- <Story />
51
- </ThemeContext.Provider>
52
- );
53
- },
54
- ]}
55
- args={{
56
- description: "",
57
- errorMessage: "",
58
- help: "",
59
- }}
60
- />
10
+ <Meta of={QuestionStories} />
61
11
 
62
12
  # Question
63
13
 
@@ -79,18 +29,9 @@ import { Chopin } from "@simplybusiness/mobius";
79
29
 
80
30
  ### Normal
81
31
 
82
- <Story
83
- name="Normal"
84
- args={{
85
- label: "Question label",
86
- closeHelpOnOutsideClick: false,
87
- children: <TextField />,
88
- }}
89
- >
90
- {args => <Question {...args} />}
91
- </Story>
32
+ <Story of={QuestionStories.Normal} />
92
33
 
93
- <!-- prettier-ignore -->
34
+ {/* prettier-ignore */}
94
35
  ```jsx
95
36
  import { Chopin } from "@simplybusiness/mobius";
96
37
 
@@ -99,37 +40,11 @@ import { Chopin } from "@simplybusiness/mobius";
99
40
  </Chopin.Question>
100
41
  ```
101
42
 
102
- <Story
103
- name="With Description"
104
- args={{
105
- label: "Question label",
106
- description:
107
- "lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
108
- closeHelpOnOutsideClick: false,
109
- children: <TextField />,
110
- }}
111
- >
112
- {args => <Question {...args} />}
113
- </Story>
114
-
115
- <Story
116
- name="With Rich Description"
117
- args={{
118
- label: "Question label",
119
- description: (
120
- <ul>
121
- <li>Item One</li>
122
- <li>Item Two</li>
123
- </ul>
124
- ),
125
- closeHelpOnOutsideClick: false,
126
- children: <TextField />,
127
- }}
128
- >
129
- {args => <Question {...args} />}
130
- </Story>
43
+ <Story of={QuestionStories.WithDescription} />
131
44
 
132
- <!-- prettier-ignore -->
45
+ <Story of={QuestionStories.WithRichDescription} />
46
+
47
+ {/* prettier-ignore */}
133
48
  ```jsx
134
49
  import { Chopin } from "@simplybusiness/mobius";
135
50
 
@@ -142,24 +57,9 @@ import { Chopin } from "@simplybusiness/mobius";
142
57
  </Chopin.Question>
143
58
  ```
144
59
 
145
- <Story
146
- name="With No Input"
147
- args={{
148
- label: (
149
- <>
150
- <p>Based on what you've told us:</p>
151
- <p>We've added employers' liability cover to your quote</p>
152
- </>
153
- ),
154
- description:
155
- "You're required by law to have this cover if you have people working for you.",
156
- closeHelpOnOutsideClick: false,
157
- }}
158
- >
159
- {args => <Question {...args} />}
160
- </Story>
60
+ <Story of={QuestionStories.WithNoInput} />
161
61
 
162
- <!-- prettier-ignore -->
62
+ {/* prettier-ignore */}
163
63
  ```jsx
164
64
  import { Chopin } from "@simplybusiness/mobius";
165
65
 
@@ -169,30 +69,9 @@ import { Chopin } from "@simplybusiness/mobius";
169
69
  />
170
70
  ```
171
71
 
172
- <Story
173
- name="With Help Text"
174
- args={{
175
- label: "Question label",
176
- help: (
177
- <>
178
- <p>
179
- This is a sample help text to demonstrate what help blocks look like
180
- in questions.
181
- </p>
182
- <p>
183
- This is a second paragraph to show that help texts aren't limited to
184
- simple strings.
185
- </p>
186
- </>
187
- ),
188
- closeHelpOnOutsideClick: false,
189
- children: <TextField />,
190
- }}
191
- >
192
- {args => <Question {...args} />}
193
- </Story>
72
+ <Story of={QuestionStories.WithHelpText} />
194
73
 
195
- <!-- prettier-ignore -->
74
+ {/* prettier-ignore */}
196
75
  ```jsx
197
76
  import { Chopin } from "@simplybusiness/mobius";
198
77
 
@@ -253,35 +132,9 @@ import { Chopin } from "@simplybusiness/mobius";
253
132
  }
254
133
  ```
255
134
 
256
- <Story
257
- name="With Help Text Outside"
258
- args={{
259
- label: "Question label",
260
- help: (
261
- <>
262
- <p>
263
- This is a sample help text to demonstrate what help blocks look like
264
- in questions.
265
- </p>
266
- <p>
267
- This is a second paragraph to show that help texts aren't limited to
268
- simple strings.
269
- </p>
270
- </>
271
- ),
272
- closeHelpOnOutsideClick: true,
273
- children: <TextField />,
274
- className: "question-example-with-help-text-outside",
275
- }}
276
- >
277
- {args => (
278
- <>
279
- <Question {...args} />
280
- </>
281
- )}
282
- </Story>
135
+ <Story of={QuestionStories.WithHelpTextOutside} />
283
136
 
284
- <!-- prettier-ignore -->
137
+ {/* prettier-ignore */}
285
138
  ```jsx
286
139
  import { Chopin } from "@simplybusiness/mobius";
287
140
 
@@ -304,37 +157,11 @@ import { Chopin } from "@simplybusiness/mobius";
304
157
  </Chopin.Question>
305
158
  ```
306
159
 
307
- <Story
308
- name="With Error"
309
- args={{
310
- label: "Question label",
311
- children: <TextField />,
312
- errorMessage: "This field is required",
313
- validationState: "invalid",
314
- closeHelpOnOutsideClick: false,
315
- }}
316
- >
317
- {args => <Question {...args} />}
318
- </Story>
319
-
320
- <Story
321
- name="With Rich Error"
322
- args={{
323
- label: "Question label",
324
- children: <TextField />,
325
- errorMessage: (
326
- <>
327
- This <em>contains</em> <strong>HTML</strong> <u>formatting</u>
328
- </>
329
- ),
330
- validationState: "invalid",
331
- closeHelpOnOutsideClick: false,
332
- }}
333
- >
334
- {args => <Question {...args} />}
335
- </Story>
160
+ <Story of={QuestionStories.WithError} />
161
+
162
+ <Story of={QuestionStories.WithRichError} />
336
163
 
337
- <!-- prettier-ignore -->
164
+ {/* prettier-ignore */}
338
165
  ```jsx
339
166
  import { Chopin } from "@simplybusiness/mobius";
340
167
 
@@ -347,34 +174,9 @@ import { Chopin } from "@simplybusiness/mobius";
347
174
  </Chopin.Question>
348
175
  ```
349
176
 
350
- <Story
351
- name="Complete Example"
352
- args={{
353
- label: "Question label",
354
- description:
355
- "lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
356
- children: <TextField />,
357
- help: (
358
- <>
359
- <p>
360
- This is a sample help text to demonstrate what help blocks look like
361
- in questions.
362
- </p>
363
- <p>
364
- This is a second paragraph to show that help texts aren't limited to
365
- simple strings.
366
- </p>
367
- </>
368
- ),
369
- errorMessage: "This field is required",
370
- validationState: "invalid",
371
- closeHelpOnOutsideClick: false,
372
- }}
373
- >
374
- {args => <Question {...args} />}
375
- </Story>
177
+ <Story of={QuestionStories.CompleteExample} />
376
178
 
377
- <!-- prettier-ignore -->
179
+ {/* prettier-ignore */}
378
180
  ```jsx
379
181
  import { Chopin } from "@simplybusiness/mobius";
380
182
 
@@ -438,14 +240,14 @@ import { Chopin } from "@simplybusiness/mobius";
438
240
 
439
241
  Class names are augmented with the following flags if true:
440
242
 
441
- - --is-focused
442
- - --is-disabled
443
- - --is-hovered
444
- - --is-selected
445
- - --is-valid
446
- - --is-invalid
447
- - --has-help-open
448
- - --is-desktop
243
+ - \--is-focused
244
+ - \--is-disabled
245
+ - \--is-hovered
246
+ - \--is-selected
247
+ - \--is-valid
248
+ - \--is-invalid
249
+ - \--has-help-open
250
+ - \--is-desktop
449
251
 
450
252
  ---
451
253
 
@@ -0,0 +1,211 @@
1
+ import type { Meta } from "@storybook/react";
2
+ import { BreakpointsType, ThemeContext } from "../../../contexts";
3
+ import { Question, QuestionProps } from "./Question";
4
+ import { TextField } from "../../TextField";
5
+ import { excludeControls } from "../../../utils/excludeControls";
6
+
7
+ const breakpoints = [
8
+ { size: "xs", value: 320 },
9
+ { size: "sm", value: 480 },
10
+ { size: "md", value: 670 },
11
+ { size: "lg", value: 960 },
12
+ { size: "xl", value: 1200 },
13
+ { size: "xxl", value: 1320 },
14
+ ] as BreakpointsType;
15
+
16
+ const setBreakpoints = () => {};
17
+
18
+ export default {
19
+ title: "Chopin/Question",
20
+ component: Question,
21
+ argTypes: {
22
+ validationState: {
23
+ options: ["valid", "invalid", "neither"],
24
+ control: { type: "radio" },
25
+ mapping: {
26
+ valid: "valid",
27
+ invalid: "invalid",
28
+ neither: "",
29
+ },
30
+ },
31
+ description: {
32
+ control: { type: "text" },
33
+ },
34
+ errorMessage: {
35
+ control: { type: "text" },
36
+ },
37
+ label: {
38
+ control: { type: "text" },
39
+ },
40
+ help: {
41
+ control: { type: "text" },
42
+ },
43
+ ...excludeControls("children", "className", "onChange"),
44
+ },
45
+ decorators: [
46
+ Story => {
47
+ // eslint-disable-next-line global-require
48
+ require("./Question.story.styles.css");
49
+
50
+ return (
51
+ <ThemeContext.Provider
52
+ value={{
53
+ breakpoints,
54
+ setBreakpoints,
55
+ }}
56
+ >
57
+ <Story />
58
+ </ThemeContext.Provider>
59
+ );
60
+ },
61
+ ],
62
+ args: {
63
+ description: "",
64
+ errorMessage: "",
65
+ help: "",
66
+ },
67
+ } satisfies Meta<typeof Question>;
68
+
69
+ export const Normal: Meta<typeof Question> = {
70
+ render: (args: QuestionProps) => <Question {...args} />,
71
+ args: {
72
+ label: "Question label",
73
+ closeHelpOnOutsideClick: false,
74
+ children: <TextField />,
75
+ },
76
+ };
77
+
78
+ export const WithDescription: Meta<typeof Question> = {
79
+ render: (args: QuestionProps) => <Question {...args} />,
80
+ args: {
81
+ label: "Question label",
82
+ description:
83
+ "lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
84
+ closeHelpOnOutsideClick: false,
85
+ children: <TextField />,
86
+ },
87
+ };
88
+
89
+ export const WithRichDescription: Meta<typeof Question> = {
90
+ render: (args: QuestionProps) => <Question {...args} />,
91
+ args: {
92
+ label: "Question label",
93
+ description: (
94
+ <ul>
95
+ <li>Item One</li>
96
+ <li>Item Two</li>
97
+ </ul>
98
+ ),
99
+ closeHelpOnOutsideClick: false,
100
+ children: <TextField />,
101
+ },
102
+ };
103
+
104
+ export const WithNoInput: Meta<typeof Question> = {
105
+ render: (args: QuestionProps) => <Question {...args} />,
106
+ args: {
107
+ label: (
108
+ <>
109
+ <p>Based on what you&lsquo;ve told us:</p>
110
+ <p>We&lsquo;ve added employers&lsquo; liability cover to your quote</p>
111
+ </>
112
+ ),
113
+ description:
114
+ "You&lsquo;re required by law to have this cover if you have people working for you.",
115
+ closeHelpOnOutsideClick: false,
116
+ },
117
+ };
118
+
119
+ export const WithHelpText: Meta<typeof Question> = {
120
+ render: (args: QuestionProps) => <Question {...args} />,
121
+ args: {
122
+ label: "Question label",
123
+ help: (
124
+ <>
125
+ <p>
126
+ This is a sample help text to demonstrate what help blocks look like
127
+ in questions.
128
+ </p>
129
+ <p>
130
+ This is a second paragraph to show that help texts aren&lsquo;t
131
+ limited to simple strings.
132
+ </p>
133
+ </>
134
+ ),
135
+ closeHelpOnOutsideClick: false,
136
+ children: <TextField />,
137
+ },
138
+ };
139
+
140
+ export const WithHelpTextOutside: Meta<typeof Question> = {
141
+ render: (args: QuestionProps) => <Question {...args} />,
142
+ args: {
143
+ label: "Question label",
144
+ help: (
145
+ <>
146
+ <p>
147
+ This is a sample help text to demonstrate what help blocks look like
148
+ in questions.
149
+ </p>
150
+ <p>
151
+ This is a second paragraph to show that help texts aren&lsquo;t
152
+ limited to simple strings.
153
+ </p>
154
+ </>
155
+ ),
156
+ closeHelpOnOutsideClick: true,
157
+ children: <TextField />,
158
+ className: "question-example-with-help-text-outside",
159
+ },
160
+ };
161
+
162
+ export const WithError: Meta<typeof Question> = {
163
+ render: (args: QuestionProps) => <Question {...args} />,
164
+ args: {
165
+ label: "Question label",
166
+ children: <TextField />,
167
+ errorMessage: "This field is required",
168
+ validationState: "invalid",
169
+ closeHelpOnOutsideClick: false,
170
+ },
171
+ };
172
+
173
+ export const WithRichError: Meta<typeof Question> = {
174
+ render: (args: QuestionProps) => <Question {...args} />,
175
+ args: {
176
+ label: "Question label",
177
+ children: <TextField />,
178
+ errorMessage: (
179
+ <>
180
+ This<em>contains</em> <strong>HTML</strong> <u>formatting</u>
181
+ </>
182
+ ),
183
+ validationState: "invalid",
184
+ closeHelpOnOutsideClick: false,
185
+ },
186
+ };
187
+
188
+ export const CompleteExample: Meta<typeof Question> = {
189
+ render: (args: QuestionProps) => <Question {...args} />,
190
+ args: {
191
+ label: "Question label",
192
+ description:
193
+ "lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
194
+ children: <TextField />,
195
+ help: (
196
+ <>
197
+ <p>
198
+ This is a sample help text to demonstrate what help blocks look like
199
+ in questions.
200
+ </p>
201
+ <p>
202
+ This is a second paragraph to show that help texts aren&lsquo;t
203
+ limited to simple strings.
204
+ </p>
205
+ </>
206
+ ),
207
+ errorMessage: "This field is required",
208
+ validationState: "invalid",
209
+ closeHelpOnOutsideClick: false,
210
+ },
211
+ };
@@ -0,0 +1,149 @@
1
+ import { useContext, useEffect } from "react";
2
+ import { Meta, ArgsTable, Canvas, Story } from "@storybook/blocks";
3
+ import { ThemeProvider, ThemeContext } from "../../../contexts";
4
+ import { QuestionGroup, QuestionGroupProps } from "./QuestionGroup";
5
+ import { Question } from "../Question";
6
+ import { Section } from "../Section";
7
+ import { RadioButton, RadioGroup } from "../../Radio";
8
+ import { excludeControls } from "../../../utils/excludeControls";
9
+ import * as QuestionGroupStories from "./QuestionGroup.stories";
10
+
11
+ export const breakpoints = [
12
+ { size: "xs", value: 320 },
13
+ { size: "sm", value: 480 },
14
+ { size: "md", value: 670 },
15
+ { size: "lg", value: 960 },
16
+ { size: "xl", value: 1200 },
17
+ { size: "xxl", value: 1320 },
18
+ ];
19
+
20
+ <Meta of={QuestionGroupStories} />
21
+
22
+ # QuestionGroup
23
+
24
+ The `QuestionGroup` component is used for grouping a set of related `Question` components together
25
+
26
+ ## Install
27
+
28
+ ```bash
29
+ yarn add @simplybusiness/mobius
30
+ ```
31
+
32
+ ## Usage
33
+
34
+ ```js
35
+ import { Chopin } from "@simplybusiness/mobius";
36
+ ```
37
+
38
+ ## Normal
39
+
40
+ <Story of={QuestionGroupStories.Normal} />
41
+
42
+ {/* prettier-ignore */}
43
+ ```jsx
44
+ import { Chopin, RadioGroup, RadioButton } from "@simplybusiness/mobius";
45
+
46
+ <Chopin.QuestionGroup>
47
+ <Chopin.Question
48
+ label={
49
+ <>
50
+ <strong>Question label text in</strong> HTML
51
+ </>
52
+ }
53
+ >
54
+ <RadioGroup orientation="horizontal">
55
+ <RadioButton value="yes" label="Yes" />
56
+ <RadioButton value="no" label="No" />
57
+ </RadioGroup>
58
+ </Chopin.Question>
59
+ <Chopin.Question>...</Chopin.Question>
60
+ </Chopin.QuestionGroup>
61
+ ```
62
+
63
+ ## Props
64
+
65
+ <ArgsTable of={QuestionGroup} />
66
+
67
+ ## Component HTML Structure and Class names
68
+
69
+ The following HTML is rendered for a QuestionGroup:
70
+
71
+ ```html
72
+ <div class="chopin/QuestionGroup --is-desktop">
73
+ <header class="chopin/QuestionGroupHeader">
74
+ <label
75
+ for="question-group"
76
+ id="react-aria123"
77
+ class="mobius mobius/Label chopin/QuestionGroupLabel"
78
+ >Group label text</label
79
+ >
80
+ <div class="chopin/QuestionHelp --is-closed --is-desktop">
81
+ <button type="button" class="chopin/QuestionHelpTrigger">
82
+ <span>Open Help</span>
83
+ </button>
84
+ <div
85
+ class="chopin/QuestionHelpContent"
86
+ aria-atomic="true"
87
+ aria-live="polite"
88
+ role="tooltip"
89
+ aria-hidden="true"
90
+ >
91
+ <p>Group help text</p>
92
+ </div>
93
+ </div>
94
+ </header>
95
+ <ul class="chopin/QuestionGroupList">
96
+ <li class="chopin/QuestionGroupItem">
97
+ <div class="chopin/Question --is-desktop chopin/QuestionGroupQuestion">
98
+ <label
99
+ for="question"
100
+ id="react-aria456"
101
+ class="mobius mobius/Label chopin/QuestionLabel"
102
+ ><strong>Question label text in</strong> HTML</label
103
+ >
104
+ <div
105
+ aria-labelledby="react-aria456"
106
+ role="radiogroup"
107
+ aria-orientation="horizontal"
108
+ id="react-aria789"
109
+ class="mobius mobius/Flex mobius mobius/RadioGroup --is-horizontal"
110
+ >
111
+ <div class="mobius mobius/Flex mobius/RadioWrapper">
112
+ <label class="mobius mobius/RadioButtonLabel"
113
+ ><input
114
+ orientation="horizontal"
115
+ aria-label="Yes"
116
+ tabindex="0"
117
+ type="radio"
118
+ name="react-aria101112"
119
+ class="mobius/RadioInput"
120
+ value="yes"
121
+ />
122
+ <div class="mobius/RadioButtonContent">Yes</div></label
123
+ ><label class="mobius mobius/RadioButtonLabel"
124
+ ><input
125
+ orientation="horizontal"
126
+ aria-label="No"
127
+ tabindex="0"
128
+ type="radio"
129
+ name="react-aria101112"
130
+ class="mobius/RadioInput"
131
+ value="no"
132
+ />
133
+ <div class="mobius/RadioButtonContent">No</div></label
134
+ >
135
+ </div>
136
+ </div>
137
+ </div>
138
+ </li>
139
+ </ul>
140
+ </div>
141
+ ```
142
+
143
+ Class names are augmented with the following flags if true:
144
+
145
+ - \--is-desktop
146
+
147
+ ---
148
+
149
+ [See on Github](https://github.com/simplybusiness/mobius/tree/master/packages/mobius/src/components/Chopin/QuestionGroup) | [Give feedback](https://simplybusiness.atlassian.net/CreateIssue.jspa?issuetype=10103&pid=10609) | [Get support](https://simplybusiness.slack.com/archives/C016CC0NDNE)