@simplybusiness/mobius 4.16.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/cjs/components/Accordion/Accordion.js +8 -8
  3. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/cjs/components/Alert/Alert.js +4 -4
  5. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  6. package/dist/cjs/components/Box/Box.js +1 -1
  7. package/dist/cjs/components/Box/Box.js.map +1 -1
  8. package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js +2 -2
  9. package/dist/cjs/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
  10. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -1
  11. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  12. package/dist/cjs/components/Button/Button.js +4 -2
  13. package/dist/cjs/components/Button/Button.js.map +1 -1
  14. package/dist/cjs/components/Button/Loading.js +12 -6
  15. package/dist/cjs/components/Button/Loading.js.map +1 -1
  16. package/dist/cjs/components/Button/Success.js +4 -3
  17. package/dist/cjs/components/Button/Success.js.map +1 -1
  18. package/dist/cjs/components/Checkbox/Checkbox.js +10 -6
  19. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  20. package/dist/cjs/components/Checkbox/CheckboxGroup.js +2 -2
  21. package/dist/cjs/components/Checkbox/CheckboxGroup.js.map +1 -1
  22. package/dist/cjs/components/Container/Container.js +1 -1
  23. package/dist/cjs/components/Container/Container.js.map +1 -1
  24. package/dist/cjs/components/Divider/Divider.js +2 -2
  25. package/dist/cjs/components/Divider/Divider.js.map +1 -1
  26. package/dist/cjs/components/Drawer/Content.js +1 -1
  27. package/dist/cjs/components/Drawer/Content.js.map +1 -1
  28. package/dist/cjs/components/Drawer/Drawer.js +1 -1
  29. package/dist/cjs/components/Drawer/Drawer.js.map +1 -1
  30. package/dist/cjs/components/Drawer/Header.js +2 -2
  31. package/dist/cjs/components/Drawer/Header.js.map +1 -1
  32. package/dist/cjs/components/DropdownMenu/DropdownMenu.js +3 -3
  33. package/dist/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  34. package/dist/cjs/components/DropdownMenu/Item.js +1 -1
  35. package/dist/cjs/components/DropdownMenu/Item.js.map +1 -1
  36. package/dist/cjs/components/ErrorMessage/ErrorMessage.js +7 -4
  37. package/dist/cjs/components/ErrorMessage/ErrorMessage.js.map +1 -1
  38. package/dist/cjs/components/Fieldset/Fieldset.js +2 -2
  39. package/dist/cjs/components/Fieldset/Fieldset.js.map +1 -1
  40. package/dist/cjs/components/Flex/Flex.js +1 -1
  41. package/dist/cjs/components/Flex/Flex.js.map +1 -1
  42. package/dist/cjs/components/Grid/Grid.js +1 -1
  43. package/dist/cjs/components/Grid/Grid.js.map +1 -1
  44. package/dist/cjs/components/Grid/Item.js +1 -1
  45. package/dist/cjs/components/Grid/Item.js.map +1 -1
  46. package/dist/cjs/components/Icon/Icon.js +1 -1
  47. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  48. package/dist/cjs/components/Image/Image.js +1 -1
  49. package/dist/cjs/components/Image/Image.js.map +1 -1
  50. package/dist/cjs/components/Label/Label.js +1 -1
  51. package/dist/cjs/components/Label/Label.js.map +1 -1
  52. package/dist/cjs/components/Link/Link.js +1 -1
  53. package/dist/cjs/components/Link/Link.js.map +1 -1
  54. package/dist/cjs/components/LinkButton/LinkButton.js +1 -1
  55. package/dist/cjs/components/LinkButton/LinkButton.js.map +1 -1
  56. package/dist/cjs/components/List/List.js +1 -1
  57. package/dist/cjs/components/List/List.js.map +1 -1
  58. package/dist/cjs/components/List/ListItem.js +3 -3
  59. package/dist/cjs/components/List/ListItem.js.map +1 -1
  60. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js +1 -1
  61. package/dist/cjs/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
  62. package/dist/cjs/components/Logo/Logo.js +1 -1
  63. package/dist/cjs/components/Logo/Logo.js.map +1 -1
  64. package/dist/cjs/components/Modal/Content.js +1 -1
  65. package/dist/cjs/components/Modal/Content.js.map +1 -1
  66. package/dist/cjs/components/Modal/Header.js +2 -2
  67. package/dist/cjs/components/Modal/Header.js.map +1 -1
  68. package/dist/cjs/components/Modal/Modal.js +1 -1
  69. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  70. package/dist/cjs/components/NumberField/NumberField.js +7 -5
  71. package/dist/cjs/components/NumberField/NumberField.js.map +1 -1
  72. package/dist/cjs/components/PasswordField/PasswordField.js +1 -1
  73. package/dist/cjs/components/PasswordField/PasswordField.js.map +1 -1
  74. package/dist/cjs/components/PasswordField/ShowHideButton.js +1 -1
  75. package/dist/cjs/components/PasswordField/ShowHideButton.js.map +1 -1
  76. package/dist/cjs/components/Popover/Popover.js +8 -8
  77. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  78. package/dist/cjs/components/Progress/Progress.js +5 -5
  79. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  80. package/dist/cjs/components/Radio/Radio.js +6 -6
  81. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  82. package/dist/cjs/components/Radio/RadioGroup.js +36 -32
  83. package/dist/cjs/components/Radio/RadioGroup.js.map +1 -1
  84. package/dist/cjs/components/SVG/SVG.js +1 -1
  85. package/dist/cjs/components/SVG/SVG.js.map +1 -1
  86. package/dist/cjs/components/Segment/Segment.js +2 -2
  87. package/dist/cjs/components/Segment/Segment.js.map +1 -1
  88. package/dist/cjs/components/Segment/SegmentGroup.js +5 -5
  89. package/dist/cjs/components/Segment/SegmentGroup.js.map +1 -1
  90. package/dist/cjs/components/Select/Select.js +8 -8
  91. package/dist/cjs/components/Select/Select.js.map +1 -1
  92. package/dist/cjs/components/Slider/Slider.js +7 -7
  93. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  94. package/dist/cjs/components/Stack/Stack.js +72 -0
  95. package/dist/cjs/components/Stack/Stack.js.map +1 -0
  96. package/dist/cjs/components/Stack/index.js +20 -0
  97. package/dist/cjs/components/Stack/index.js.map +1 -0
  98. package/dist/cjs/components/Table/Body.js +1 -1
  99. package/dist/cjs/components/Table/Body.js.map +1 -1
  100. package/dist/cjs/components/Table/Cell.js +1 -1
  101. package/dist/cjs/components/Table/Cell.js.map +1 -1
  102. package/dist/cjs/components/Table/Foot.js +1 -1
  103. package/dist/cjs/components/Table/Foot.js.map +1 -1
  104. package/dist/cjs/components/Table/Head.js +1 -1
  105. package/dist/cjs/components/Table/Head.js.map +1 -1
  106. package/dist/cjs/components/Table/HeaderCell.js +1 -1
  107. package/dist/cjs/components/Table/HeaderCell.js.map +1 -1
  108. package/dist/cjs/components/Table/Row.js +1 -1
  109. package/dist/cjs/components/Table/Row.js.map +1 -1
  110. package/dist/cjs/components/Table/Table.js +1 -1
  111. package/dist/cjs/components/Table/Table.js.map +1 -1
  112. package/dist/cjs/components/Text/Text.js +5 -2
  113. package/dist/cjs/components/Text/Text.js.map +1 -1
  114. package/dist/cjs/components/TextArea/TextArea.js +5 -5
  115. package/dist/cjs/components/TextArea/TextArea.js.map +1 -1
  116. package/dist/cjs/components/TextAreaInput/TextAreaInput.js +1 -1
  117. package/dist/cjs/components/TextAreaInput/TextAreaInput.js.map +1 -1
  118. package/dist/cjs/components/TextField/TextField.js +12 -10
  119. package/dist/cjs/components/TextField/TextField.js.map +1 -1
  120. package/dist/cjs/components/Title/Title.js +4 -4
  121. package/dist/cjs/components/Title/Title.js.map +1 -1
  122. package/dist/cjs/components/Trust/Trust.js +4 -5
  123. package/dist/cjs/components/Trust/Trust.js.map +1 -1
  124. package/dist/cjs/components/Trust/constants.js +3 -3
  125. package/dist/cjs/components/Trust/constants.js.map +1 -1
  126. package/dist/cjs/components/index.js +1 -0
  127. package/dist/cjs/components/index.js.map +1 -1
  128. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  129. package/dist/esm/components/Accordion/Accordion.js +8 -8
  130. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  131. package/dist/esm/components/Alert/Alert.js +4 -4
  132. package/dist/esm/components/Alert/Alert.js.map +1 -1
  133. package/dist/esm/components/Box/Box.js +1 -1
  134. package/dist/esm/components/Box/Box.js.map +1 -1
  135. package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js +2 -2
  136. package/dist/esm/components/Breadcrumbs/BreadcrumbItem.js.map +1 -1
  137. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
  138. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  139. package/dist/esm/components/Button/Button.js +4 -2
  140. package/dist/esm/components/Button/Button.js.map +1 -1
  141. package/dist/esm/components/Button/Loading.js +12 -6
  142. package/dist/esm/components/Button/Loading.js.map +1 -1
  143. package/dist/esm/components/Button/Success.js +4 -3
  144. package/dist/esm/components/Button/Success.js.map +1 -1
  145. package/dist/esm/components/Checkbox/Checkbox.js +11 -7
  146. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  147. package/dist/esm/components/Checkbox/CheckboxGroup.js +2 -2
  148. package/dist/esm/components/Checkbox/CheckboxGroup.js.map +1 -1
  149. package/dist/esm/components/Container/Container.js +1 -1
  150. package/dist/esm/components/Container/Container.js.map +1 -1
  151. package/dist/esm/components/Divider/Divider.js +2 -2
  152. package/dist/esm/components/Divider/Divider.js.map +1 -1
  153. package/dist/esm/components/Drawer/Content.js +1 -1
  154. package/dist/esm/components/Drawer/Content.js.map +1 -1
  155. package/dist/esm/components/Drawer/Drawer.js +1 -1
  156. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  157. package/dist/esm/components/Drawer/Header.js +2 -2
  158. package/dist/esm/components/Drawer/Header.js.map +1 -1
  159. package/dist/esm/components/DropdownMenu/DropdownMenu.js +3 -3
  160. package/dist/esm/components/DropdownMenu/DropdownMenu.js.map +1 -1
  161. package/dist/esm/components/DropdownMenu/Item.js +1 -1
  162. package/dist/esm/components/DropdownMenu/Item.js.map +1 -1
  163. package/dist/esm/components/ErrorMessage/ErrorMessage.js +7 -4
  164. package/dist/esm/components/ErrorMessage/ErrorMessage.js.map +1 -1
  165. package/dist/esm/components/Fieldset/Fieldset.js +2 -2
  166. package/dist/esm/components/Fieldset/Fieldset.js.map +1 -1
  167. package/dist/esm/components/Flex/Flex.js +1 -1
  168. package/dist/esm/components/Flex/Flex.js.map +1 -1
  169. package/dist/esm/components/Grid/Grid.js +1 -1
  170. package/dist/esm/components/Grid/Grid.js.map +1 -1
  171. package/dist/esm/components/Grid/Item.js +1 -1
  172. package/dist/esm/components/Grid/Item.js.map +1 -1
  173. package/dist/esm/components/Icon/Icon.js +1 -1
  174. package/dist/esm/components/Icon/Icon.js.map +1 -1
  175. package/dist/esm/components/Image/Image.js +1 -1
  176. package/dist/esm/components/Image/Image.js.map +1 -1
  177. package/dist/esm/components/Label/Label.js +1 -1
  178. package/dist/esm/components/Label/Label.js.map +1 -1
  179. package/dist/esm/components/Link/Link.js +1 -1
  180. package/dist/esm/components/Link/Link.js.map +1 -1
  181. package/dist/esm/components/LinkButton/LinkButton.js +1 -1
  182. package/dist/esm/components/LinkButton/LinkButton.js.map +1 -1
  183. package/dist/esm/components/List/List.js +1 -1
  184. package/dist/esm/components/List/List.js.map +1 -1
  185. package/dist/esm/components/List/ListItem.js +3 -3
  186. package/dist/esm/components/List/ListItem.js.map +1 -1
  187. package/dist/esm/components/LoadingIndicator/LoadingIndicator.js +1 -1
  188. package/dist/esm/components/LoadingIndicator/LoadingIndicator.js.map +1 -1
  189. package/dist/esm/components/Logo/Logo.js +1 -1
  190. package/dist/esm/components/Logo/Logo.js.map +1 -1
  191. package/dist/esm/components/Modal/Content.js +1 -1
  192. package/dist/esm/components/Modal/Content.js.map +1 -1
  193. package/dist/esm/components/Modal/Header.js +2 -2
  194. package/dist/esm/components/Modal/Header.js.map +1 -1
  195. package/dist/esm/components/Modal/Modal.js +1 -1
  196. package/dist/esm/components/Modal/Modal.js.map +1 -1
  197. package/dist/esm/components/NumberField/NumberField.js +7 -5
  198. package/dist/esm/components/NumberField/NumberField.js.map +1 -1
  199. package/dist/esm/components/PasswordField/PasswordField.js +1 -1
  200. package/dist/esm/components/PasswordField/PasswordField.js.map +1 -1
  201. package/dist/esm/components/PasswordField/ShowHideButton.js +1 -1
  202. package/dist/esm/components/PasswordField/ShowHideButton.js.map +1 -1
  203. package/dist/esm/components/Popover/Popover.js +8 -8
  204. package/dist/esm/components/Popover/Popover.js.map +1 -1
  205. package/dist/esm/components/Progress/Progress.js +5 -5
  206. package/dist/esm/components/Progress/Progress.js.map +1 -1
  207. package/dist/esm/components/Radio/Radio.js +6 -6
  208. package/dist/esm/components/Radio/Radio.js.map +1 -1
  209. package/dist/esm/components/Radio/RadioGroup.js +36 -32
  210. package/dist/esm/components/Radio/RadioGroup.js.map +1 -1
  211. package/dist/esm/components/SVG/SVG.js +1 -1
  212. package/dist/esm/components/SVG/SVG.js.map +1 -1
  213. package/dist/esm/components/Segment/Segment.js +2 -2
  214. package/dist/esm/components/Segment/Segment.js.map +1 -1
  215. package/dist/esm/components/Segment/SegmentGroup.js +5 -5
  216. package/dist/esm/components/Segment/SegmentGroup.js.map +1 -1
  217. package/dist/esm/components/Select/Select.js +8 -8
  218. package/dist/esm/components/Select/Select.js.map +1 -1
  219. package/dist/esm/components/Slider/Slider.js +7 -7
  220. package/dist/esm/components/Slider/Slider.js.map +1 -1
  221. package/dist/esm/components/Stack/Stack.js +16 -0
  222. package/dist/esm/components/Stack/Stack.js.map +1 -0
  223. package/dist/esm/components/Stack/index.js +3 -0
  224. package/dist/esm/components/Stack/index.js.map +1 -0
  225. package/dist/esm/components/Table/Body.js +1 -1
  226. package/dist/esm/components/Table/Body.js.map +1 -1
  227. package/dist/esm/components/Table/Cell.js +1 -1
  228. package/dist/esm/components/Table/Cell.js.map +1 -1
  229. package/dist/esm/components/Table/Foot.js +1 -1
  230. package/dist/esm/components/Table/Foot.js.map +1 -1
  231. package/dist/esm/components/Table/Head.js +1 -1
  232. package/dist/esm/components/Table/Head.js.map +1 -1
  233. package/dist/esm/components/Table/HeaderCell.js +1 -1
  234. package/dist/esm/components/Table/HeaderCell.js.map +1 -1
  235. package/dist/esm/components/Table/Row.js +1 -1
  236. package/dist/esm/components/Table/Row.js.map +1 -1
  237. package/dist/esm/components/Table/Table.js +1 -1
  238. package/dist/esm/components/Table/Table.js.map +1 -1
  239. package/dist/esm/components/Text/Text.js +5 -2
  240. package/dist/esm/components/Text/Text.js.map +1 -1
  241. package/dist/esm/components/TextArea/TextArea.js +5 -5
  242. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  243. package/dist/esm/components/TextAreaInput/TextAreaInput.js +1 -1
  244. package/dist/esm/components/TextAreaInput/TextAreaInput.js.map +1 -1
  245. package/dist/esm/components/TextField/TextField.js +12 -10
  246. package/dist/esm/components/TextField/TextField.js.map +1 -1
  247. package/dist/esm/components/Title/Title.js +4 -4
  248. package/dist/esm/components/Title/Title.js.map +1 -1
  249. package/dist/esm/components/Trust/Trust.js +4 -5
  250. package/dist/esm/components/Trust/Trust.js.map +1 -1
  251. package/dist/esm/components/Trust/constants.js +3 -3
  252. package/dist/esm/components/Trust/constants.js.map +1 -1
  253. package/dist/esm/components/index.js +1 -0
  254. package/dist/esm/components/index.js.map +1 -1
  255. package/dist/types/components/Button/Button.d.ts +2 -2
  256. package/dist/types/components/Button/Loading.d.ts +5 -1
  257. package/dist/types/components/Segment/Segment.stories.d.ts +2 -2
  258. package/dist/types/components/Segment/SegmentGroup.d.ts +1 -1
  259. package/dist/types/components/Stack/Stack.d.ts +15 -0
  260. package/dist/types/components/Stack/Stack.stories.d.ts +7 -0
  261. package/dist/types/components/Stack/Stack.test.d.ts +1 -0
  262. package/dist/types/components/Stack/index.d.ts +1 -0
  263. package/dist/types/components/index.d.ts +1 -0
  264. package/package.json +3 -2
  265. package/src/components/Accordion/Accordion.css +72 -0
  266. package/src/components/Accordion/Accordion.mdx +9 -10
  267. package/src/components/Accordion/Accordion.test.tsx +4 -4
  268. package/src/components/Accordion/Accordion.tsx +8 -8
  269. package/src/components/Alert/Alert.css +53 -0
  270. package/src/components/Alert/Alert.mdx +1 -5
  271. package/src/components/Alert/Alert.tsx +4 -4
  272. package/src/components/Box/Box.css +3 -0
  273. package/src/components/Box/Box.mdx +1 -5
  274. package/src/components/Box/Box.test.tsx +1 -1
  275. package/src/components/Box/Box.tsx +1 -1
  276. package/src/components/Breadcrumbs/BreadcrumbItem.tsx +2 -2
  277. package/src/components/Breadcrumbs/Breadcrumbs.css +34 -0
  278. package/src/components/Breadcrumbs/Breadcrumbs.mdx +4 -8
  279. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +2 -2
  280. package/src/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  281. package/src/components/Button/Button.css +253 -0
  282. package/src/components/Button/Button.mdx +3 -11
  283. package/src/components/Button/Button.story.styles.css +2 -2
  284. package/src/components/Button/Button.test.tsx +4 -6
  285. package/src/components/Button/Button.tsx +4 -4
  286. package/src/components/Button/Loading.tsx +21 -8
  287. package/src/components/Button/Success.tsx +5 -3
  288. package/src/components/Checkbox/Checkbox.css +112 -0
  289. package/src/components/Checkbox/Checkbox.mdx +6 -12
  290. package/src/components/Checkbox/Checkbox.test.tsx +1 -7
  291. package/src/components/Checkbox/Checkbox.tsx +9 -7
  292. package/src/components/Checkbox/CheckboxGroup.css +26 -0
  293. package/src/components/Checkbox/CheckboxGroup.mdx +12 -22
  294. package/src/components/Checkbox/CheckboxGroup.test.tsx +2 -7
  295. package/src/components/Checkbox/CheckboxGroup.tsx +2 -2
  296. package/src/components/Container/Container.css +13 -0
  297. package/src/components/Container/Container.mdx +1 -5
  298. package/src/components/Container/Container.test.tsx +1 -2
  299. package/src/components/Container/Container.tsx +1 -1
  300. package/src/components/Divider/Divider.css +14 -0
  301. package/src/components/Divider/Divider.mdx +2 -6
  302. package/src/components/Divider/Divider.test.tsx +1 -1
  303. package/src/components/Divider/Divider.tsx +2 -2
  304. package/src/components/Drawer/Content.tsx +1 -1
  305. package/src/components/Drawer/Drawer.css +189 -0
  306. package/src/components/Drawer/Drawer.mdx +5 -12
  307. package/src/components/Drawer/Drawer.test.tsx +2 -2
  308. package/src/components/Drawer/Drawer.tsx +1 -1
  309. package/src/components/Drawer/Header.tsx +2 -2
  310. package/src/components/DropdownMenu/DropdownMenu.css +70 -0
  311. package/src/components/DropdownMenu/DropdownMenu.mdx +4 -8
  312. package/src/components/DropdownMenu/DropdownMenu.story.styles.css +3 -3
  313. package/src/components/DropdownMenu/DropdownMenu.test.tsx +4 -4
  314. package/src/components/DropdownMenu/DropdownMenu.tsx +3 -3
  315. package/src/components/DropdownMenu/Item.tsx +1 -1
  316. package/src/components/ErrorMessage/ErrorMessage.css +11 -0
  317. package/src/components/ErrorMessage/ErrorMessage.test.tsx +1 -1
  318. package/src/components/ErrorMessage/ErrorMessage.tsx +5 -3
  319. package/src/components/Fieldset/Fieldset.css +15 -0
  320. package/src/components/Fieldset/Fieldset.mdx +2 -6
  321. package/src/components/Fieldset/Fieldset.tsx +2 -2
  322. package/src/components/Flex/Flex.css +4 -0
  323. package/src/components/Flex/Flex.mdx +1 -5
  324. package/src/components/Flex/Flex.test.tsx +1 -1
  325. package/src/components/Flex/Flex.tsx +1 -1
  326. package/src/components/Grid/Grid.mdx +0 -4
  327. package/src/components/Grid/Grid.tsx +1 -1
  328. package/src/components/Grid/Item.tsx +1 -1
  329. package/src/components/Icon/Icon.css +44 -0
  330. package/src/components/Icon/Icon.mdx +1 -5
  331. package/src/components/Icon/Icon.test.tsx +1 -1
  332. package/src/components/Icon/Icon.tsx +1 -1
  333. package/src/components/Image/Image.mdx +1 -5
  334. package/src/components/Image/Image.test.tsx +1 -1
  335. package/src/components/Image/Image.tsx +1 -1
  336. package/src/components/Label/Label.css +21 -0
  337. package/src/components/Label/Label.mdx +1 -5
  338. package/src/components/Label/Label.test.tsx +1 -1
  339. package/src/components/Label/Label.tsx +1 -1
  340. package/src/components/Link/Link.css +26 -0
  341. package/src/components/Link/Link.mdx +1 -5
  342. package/src/components/Link/Link.test.tsx +1 -1
  343. package/src/components/Link/Link.tsx +1 -1
  344. package/src/components/LinkButton/LinkButton.mdx +1 -5
  345. package/src/components/LinkButton/LinkButton.tsx +1 -1
  346. package/src/components/List/List.css +60 -0
  347. package/src/components/List/List.mdx +4 -8
  348. package/src/components/List/List.test.tsx +4 -4
  349. package/src/components/List/List.tsx +1 -1
  350. package/src/components/List/ListItem.tsx +3 -3
  351. package/src/components/LoadingIndicator/LoadingIndicator.css +3 -0
  352. package/src/components/LoadingIndicator/LoadingIndicator.mdx +1 -5
  353. package/src/components/LoadingIndicator/LoadingIndicator.test.tsx +1 -1
  354. package/src/components/LoadingIndicator/LoadingIndicator.tsx +1 -1
  355. package/src/components/Logo/Logo.mdx +1 -5
  356. package/src/components/Logo/Logo.test.tsx +1 -1
  357. package/src/components/Logo/Logo.tsx +1 -1
  358. package/src/components/Modal/Content.tsx +1 -1
  359. package/src/components/Modal/Header.tsx +2 -2
  360. package/src/components/Modal/Modal.css +145 -0
  361. package/src/components/Modal/Modal.mdx +5 -12
  362. package/src/components/Modal/Modal.test.tsx +2 -2
  363. package/src/components/Modal/Modal.tsx +1 -1
  364. package/src/components/NumberField/NumberField.css +64 -0
  365. package/src/components/NumberField/NumberField.mdx +4 -8
  366. package/src/components/NumberField/NumberField.tsx +7 -6
  367. package/src/components/PasswordField/PasswordField.css +31 -0
  368. package/src/components/PasswordField/PasswordField.mdx +4 -8
  369. package/src/components/PasswordField/PasswordField.tsx +1 -1
  370. package/src/components/PasswordField/ShowHideButton.tsx +1 -1
  371. package/src/components/Popover/Popover.css +43 -0
  372. package/src/components/Popover/Popover.mdx +7 -11
  373. package/src/components/Popover/Popover.story.styles.css +3 -3
  374. package/src/components/Popover/Popover.test.tsx +7 -7
  375. package/src/components/Popover/Popover.tsx +8 -8
  376. package/src/components/Progress/Progress.css +30 -0
  377. package/src/components/Progress/Progress.mdx +5 -11
  378. package/src/components/Progress/Progress.test.tsx +7 -3
  379. package/src/components/Progress/Progress.tsx +5 -5
  380. package/src/components/Radio/Radio.css +185 -0
  381. package/src/components/Radio/Radio.mdx +9 -13
  382. package/src/components/Radio/Radio.test.tsx +10 -5
  383. package/src/components/Radio/Radio.tsx +6 -6
  384. package/src/components/Radio/RadioGroup.tsx +28 -25
  385. package/src/components/SVG/SVG.mdx +1 -5
  386. package/src/components/SVG/SVG.test.tsx +1 -1
  387. package/src/components/SVG/SVG.tsx +1 -1
  388. package/src/components/Segment/Segment.css +204 -0
  389. package/src/components/Segment/Segment.mdx +9 -13
  390. package/src/components/Segment/Segment.stories.tsx +7 -7
  391. package/src/components/Segment/Segment.tsx +2 -2
  392. package/src/components/Segment/SegmentGroup.tsx +6 -6
  393. package/src/components/Select/Select.css +85 -0
  394. package/src/components/Select/Select.mdx +4 -8
  395. package/src/components/Select/Select.test.tsx +2 -2
  396. package/src/components/Select/Select.tsx +7 -7
  397. package/src/components/Slider/Slider.css +138 -0
  398. package/src/components/Slider/Slider.mdx +8 -14
  399. package/src/components/Slider/Slider.test.tsx +4 -1
  400. package/src/components/Slider/Slider.tsx +7 -7
  401. package/src/components/Stack/Stack.css +30 -0
  402. package/src/components/Stack/Stack.mdx +41 -0
  403. package/src/components/Stack/Stack.stories.tsx +56 -0
  404. package/src/components/Stack/Stack.test.tsx +8 -0
  405. package/src/components/Stack/Stack.tsx +34 -0
  406. package/src/components/Stack/index.tsx +1 -0
  407. package/src/components/Table/Body.tsx +1 -1
  408. package/src/components/Table/Cell.tsx +1 -1
  409. package/src/components/Table/Foot.tsx +1 -1
  410. package/src/components/Table/Head.tsx +1 -1
  411. package/src/components/Table/HeaderCell.tsx +1 -1
  412. package/src/components/Table/Row.tsx +1 -1
  413. package/src/components/Table/Table.css +62 -0
  414. package/src/components/Table/Table.mdx +10 -14
  415. package/src/components/Table/Table.test.tsx +28 -15
  416. package/src/components/Table/Table.tsx +1 -1
  417. package/src/components/Text/Text.css +94 -0
  418. package/src/components/Text/Text.mdx +1 -5
  419. package/src/components/Text/Text.test.tsx +1 -1
  420. package/src/components/Text/Text.tsx +3 -4
  421. package/src/components/TextArea/TextArea.css +46 -0
  422. package/src/components/TextArea/TextArea.mdx +4 -8
  423. package/src/components/TextArea/TextArea.test.tsx +1 -1
  424. package/src/components/TextArea/TextArea.tsx +8 -5
  425. package/src/components/TextAreaInput/TextAreaInput.test.tsx +1 -1
  426. package/src/components/TextAreaInput/TextAreaInput.tsx +1 -1
  427. package/src/components/TextField/TextField.css +166 -0
  428. package/src/components/TextField/TextField.mdx +4 -8
  429. package/src/components/TextField/TextField.test.tsx +10 -10
  430. package/src/components/TextField/TextField.tsx +14 -11
  431. package/src/components/Title/Title.css +41 -0
  432. package/src/components/Title/Title.mdx +4 -8
  433. package/src/components/Title/Title.tsx +4 -4
  434. package/src/components/Trust/Trust.mdx +1 -7
  435. package/src/components/Trust/Trust.test.tsx +1 -1
  436. package/src/components/Trust/Trust.tsx +4 -5
  437. package/src/components/Trust/constants.ts +3 -3
  438. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -4
  439. package/src/components/index.tsx +1 -0
@@ -1,6 +1,10 @@
1
1
  import { render } from "@testing-library/react";
2
2
  import { Progress } from ".";
3
3
 
4
+ const BASE_CLASS = "mobius";
5
+ const PROGRESS_CLASS = "mobius-progress";
6
+ const PROGRESS_LABEL_CLASS = "mobius-progress__label";
7
+
4
8
  describe("Progress", () => {
5
9
  describe("classnames", () => {
6
10
  let result: any;
@@ -16,7 +20,7 @@ describe("Progress", () => {
16
20
  );
17
21
  });
18
22
 
19
- const classNames = ["mobius", "mobius/Progress", "test"];
23
+ const classNames = [BASE_CLASS, PROGRESS_CLASS, "test"];
20
24
  it.each(classNames)("should have classname %s", className => {
21
25
  expect(result.container.firstChild).toHaveClass(className);
22
26
  });
@@ -74,11 +78,11 @@ describe("Progress", () => {
74
78
  );
75
79
 
76
80
  const labelId = container
77
- .getElementsByClassName("mobius mobius/ProgressLabel")[0]
81
+ .getElementsByClassName(PROGRESS_LABEL_CLASS)[0]
78
82
  ?.getAttribute("id");
79
83
 
80
84
  const labelledById = container
81
- .getElementsByClassName("mobius mobius/Progress")[0]
85
+ .getElementsByClassName(PROGRESS_CLASS)[0]
82
86
  ?.getAttribute("aria-labelledby");
83
87
 
84
88
  expect(labelledById).toEqual(labelId);
@@ -68,7 +68,7 @@ const getLabelComponent = (
68
68
  return (
69
69
  <Label
70
70
  id={progressLabelId}
71
- className="mobius/ProgressLabel"
71
+ className="mobius-progress__label"
72
72
  elementType="span"
73
73
  >
74
74
  {label}
@@ -80,7 +80,7 @@ const getLabelComponent = (
80
80
  <VisuallyHidden>
81
81
  <Label
82
82
  id={progressLabelId}
83
- className="mobius/ProgressLabel"
83
+ className="mobius-progress__label"
84
84
  elementType="span"
85
85
  >
86
86
  {label}
@@ -134,7 +134,7 @@ const Progress: ForwardedRefComponent<ProgressProps, ProgressElementType> =
134
134
  );
135
135
  const barWidth = `${percentage}%`;
136
136
 
137
- const classes = classNames("mobius", "mobius/Progress", className, {
137
+ const classes = classNames("mobius", "mobius-progress", className, {
138
138
  "--is-primary": variant === "primary",
139
139
  "--is-secondary": variant === "secondary",
140
140
  });
@@ -160,8 +160,8 @@ const Progress: ForwardedRefComponent<ProgressProps, ProgressElementType> =
160
160
  aria-labelledby={progressLabelId}
161
161
  >
162
162
  {labelComponent}
163
- <div className="mobius/ProgressTrack">
164
- <div className="mobius/ProgressBar" style={{ width: barWidth }} />
163
+ <div className="mobius-progress__track">
164
+ <div className="mobius-progress__bar" style={{ width: barWidth }} />
165
165
  </div>
166
166
  {showValueLabel && (
167
167
  <Label data-testid="value-label" elementType="span">
@@ -0,0 +1,185 @@
1
+ .mobius-radio-group {
2
+ box-sizing: border-box;
3
+ width: 100%;
4
+
5
+ &.--is-horizontal .mobius-radio__label:not(:last-child) {
6
+ margin-right: var(--size-xs);
7
+ }
8
+
9
+ &.--is-vertical .mobius-radio__label:not(:last-child) {
10
+ margin-bottom: var(--size-xs);
11
+ }
12
+
13
+ &:where(.--is-optional) > :where(.mobius-label)::after {
14
+ content: " (optional)";
15
+ }
16
+ }
17
+
18
+ .mobius-radio__wrapper {
19
+ display: flex;
20
+
21
+ &.--is-horizontal {
22
+ flex-direction: row;
23
+ }
24
+
25
+ &.--is-vertical {
26
+ flex-direction: column;
27
+ }
28
+ }
29
+
30
+ .mobius-radio__input {
31
+ align-self: center;
32
+ appearance: none;
33
+ margin: 0 calc(var(--size-xs) + 2px) 0 0;
34
+ padding: 3px;
35
+ outline: 2px solid var(--color-primary-light);
36
+ border-radius: 50%;
37
+ background-color: transparent;
38
+
39
+ /* Overwrite browser default */
40
+ &:focus-visible {
41
+ outline-offset: 0;
42
+ }
43
+
44
+ &::after {
45
+ content: "";
46
+ display: block;
47
+ width: 10px;
48
+ height: 10px;
49
+ border-radius: 50%;
50
+ background-color: transparent;
51
+ }
52
+
53
+ &:checked::after {
54
+ background-color: var(--color-primary);
55
+ }
56
+
57
+ &:disabled {
58
+ outline-color: var(--color-border-medium);
59
+
60
+ &:checked::after {
61
+ background-color: var(--color-background-light);
62
+ }
63
+ }
64
+
65
+ &.--is-multiline {
66
+ align-self: flex-start;
67
+ margin-top: var(--size-xxs);
68
+ margin-right: calc(var(--size-sm) - 1px);
69
+ }
70
+ }
71
+
72
+ .mobius-radio__label {
73
+ display: flex;
74
+ align-items: center;
75
+ box-sizing: border-box;
76
+ width: 100%;
77
+ padding: var(--input-field-padding-tight);
78
+ font-family: var(--font-family);
79
+ font-size: var(--font-size-regular);
80
+ font-weight: var(--font-weight-normal);
81
+ border: var(--border-default);
82
+ border-radius: var(--radius-1);
83
+ color: var(--color-text);
84
+ outline: 0;
85
+ position: relative;
86
+ cursor: pointer;
87
+ background-color: var(--color-background-input);
88
+
89
+ /* Disabled */
90
+ &.--is-disabled {
91
+ background-color: var(--color-background-light);
92
+ border-color: var(--color-border-medium);
93
+ color: var(--color-text-light);
94
+ cursor: not-allowed;
95
+
96
+ &.--is-selected {
97
+ border-color: var(--color-border-light);
98
+ }
99
+ }
100
+
101
+ /* Selected */
102
+ &.--is-selected:not(.--is-invalid &):not(.--is-disabled) {
103
+ border-color: var(--color-primary-light);
104
+
105
+ .mobius-radio__input {
106
+ outline-color: var(--color-primary-light);
107
+
108
+ &:checked::after {
109
+ background-color: var(--color-primary-light);
110
+ }
111
+ }
112
+ }
113
+
114
+ /* Hovered */
115
+ &:hover:not(.--is-disabled):not(.--is-invalid &) {
116
+ border-color: var(--color-primary);
117
+ background-color: var(--color-background-input-active);
118
+
119
+ .mobius-radio__input {
120
+ outline-color: var(--color-primary);
121
+
122
+ &:checked::after {
123
+ background-color: var(--color-primary);
124
+ }
125
+ }
126
+ }
127
+
128
+ /* Focused */
129
+ &:focus-within:not(.--is-disabled) {
130
+ box-shadow: var(--box-shadow-default);
131
+
132
+ &:not(.--is-invalid &) {
133
+ border-color: var(--color-primary);
134
+ background-color: var(--color-background-input-active);
135
+
136
+ .mobius-radio__input {
137
+ outline-color: var(--color-primary);
138
+
139
+ &:checked::after {
140
+ background-color: var(--color-primary);
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
+ /* Multiline */
147
+ &.--is-multiline {
148
+ width: 100%;
149
+ }
150
+
151
+ /* Invalid */
152
+ .--is-invalid &:not(.--is-disabled) {
153
+ border-color: var(--color-error);
154
+ color: var(--color-error);
155
+
156
+ &:hover,
157
+ &:focus-within {
158
+ border-color: var(--color-error);
159
+ background-color: var(--color-error-background);
160
+ }
161
+
162
+ .mobius-radio__input {
163
+ outline-color: var(--color-error);
164
+
165
+ &:checked::after {
166
+ background-color: var(--color-error);
167
+ }
168
+ }
169
+ }
170
+ }
171
+
172
+ .mobius-radio__content {
173
+ box-sizing: border-box;
174
+ flex: 1; /* Stretch to fill remaining space */
175
+ }
176
+
177
+ .mobius-radio__content--multiline {
178
+ flex: 1; /* Stretch to fill remaining space */
179
+ }
180
+
181
+ .mobius-radio__content-first-line {
182
+ font-weight: var(--font-weight-bold);
183
+ margin-bottom: var(--size-xs);
184
+ padding-top: calc(var(--size-xxs) - 1px);
185
+ }
@@ -133,16 +133,16 @@ The `onChange` prop can be used to listen to changes of the selected radio butto
133
133
  The following HTML is rendered for a Radio Group:
134
134
 
135
135
  ```html
136
- <div class="mobius mobius/RadioGroup --is-vertical" role="radiogroup">
137
- <label class="mobius/Label --is-vertical">Color</label>
138
- <div class="mobius/RadioWrapper">
139
- <label class="mobius/RadioLabel">
140
- <input class="mobius/RadioInput" type="radio" value="red" />
141
- <div class="mobius/RadioContent">Red</div>
136
+ <div class="mobius-radio-group --is-vertical" role="radiogroup">
137
+ <label class="mobius-label --is-vertical">Color</label>
138
+ <div class="mobius-radio__wrapper">
139
+ <label class="mobius-radio__label">
140
+ <input class="mobius-radio__input" type="radio" value="red" />
141
+ <div class="mobius-radio__content">Red</div>
142
142
  </label>
143
- <label class="mobius/RadioLabel">
144
- <input class="mobius/RadioInput" type="radio" value="blue" checked />
145
- <div class="mobius/RadioContent">Blue</div>
143
+ <label class="mobius-radio__label">
144
+ <input class="mobius-radio__input" type="radio" value="blue" checked />
145
+ <div class="mobius-radio__content">Blue</div>
146
146
  </label>
147
147
  </div>
148
148
  </div>
@@ -163,7 +163,3 @@ Class names for `<RadioGroup />`:
163
163
  - \--is-required
164
164
  - \--is-optional
165
165
  - \--is-horizontal OR --is-vertical
166
-
167
- ---
168
-
169
- [See on Github](https://github.com/simplybusiness/mobius/tree/master/packages/mobius/src/components/Radio) | [Give feedback](https://simplybusiness.atlassian.net/CreateIssue.jspa?issuetype=10103&pid=10609) | [Get support](https://simplybusiness.slack.com/archives/C016CC0NDNE)
@@ -3,6 +3,11 @@ import userEvent from "@testing-library/user-event";
3
3
  import { Radio, RadioGroup } from ".";
4
4
  import { HTMLElementEvent } from "../../types/events";
5
5
 
6
+ const RADIO_GROUP_CLASS = "mobius-radio-group";
7
+ const LABEL_CLASS = "mobius-label";
8
+ const RADIO_WRAPPER_CLASS = "mobius-radio__wrapper";
9
+ const RADIO_INPUT_CLASS = "mobius-radio__input";
10
+
6
11
  describe("Radio", () => {
7
12
  it("should render without error", () => {
8
13
  const component = render(
@@ -286,7 +291,7 @@ describe("Radio", () => {
286
291
  </RadioGroup>,
287
292
  );
288
293
 
289
- expect(container.firstChild).toHaveClass("mobius/RadioGroup");
294
+ expect(container.firstChild).toHaveClass(RADIO_GROUP_CLASS);
290
295
  });
291
296
 
292
297
  it("uses base Mobius class", () => {
@@ -303,10 +308,10 @@ describe("Radio", () => {
303
308
  const label = screen.getByText(labelText);
304
309
  const inputs = screen.queryAllByRole("radio");
305
310
 
306
- expect(containerElement).toHaveClass("mobius/RadioGroup");
307
- expect(label).toHaveClass("mobius/Label");
308
- expect(label.nextElementSibling).toHaveClass("mobius/RadioWrapper");
309
- inputs.forEach(input => expect(input).toHaveClass("mobius/RadioInput"));
311
+ expect(containerElement).toHaveClass(RADIO_GROUP_CLASS);
312
+ expect(label).toHaveClass(LABEL_CLASS);
313
+ expect(label.nextElementSibling).toHaveClass(RADIO_WRAPPER_CLASS);
314
+ inputs.forEach(input => expect(input).toHaveClass(RADIO_INPUT_CLASS));
310
315
  });
311
316
 
312
317
  it("includes custom class names", () => {
@@ -90,11 +90,11 @@ const Radio: ForwardedRefComponent<RadioProps, RadioElementType> = forwardRef(
90
90
  "--is-required": isRequired,
91
91
  };
92
92
  const containerClasses = classNames(
93
- "mobius/RadioLabel",
93
+ "mobius-radio__label",
94
94
  radioClasses,
95
95
  className,
96
96
  );
97
- const inputClasses = classNames("mobius/RadioInput", radioClasses);
97
+ const inputClasses = classNames("mobius-radio__input", radioClasses);
98
98
 
99
99
  const handleClick = (event: MouseEvent<RadioElementType>) => {
100
100
  if (onChange) {
@@ -133,12 +133,12 @@ const Radio: ForwardedRefComponent<RadioProps, RadioElementType> = forwardRef(
133
133
  {...rest}
134
134
  />
135
135
  {isMultiline ? (
136
- <div className="mobius/RadioContentMultiline">
137
- <div className="mobius/RadioContentFirstLine">{label}</div>
138
- <div className="mobius/RadioExtraContent">{children}</div>
136
+ <div className="mobius-radio__content--multiline">
137
+ <div className="mobius-radio__content-first-line">{label}</div>
138
+ <div className="mobius-radio__extra-content">{children}</div>
139
139
  </div>
140
140
  ) : (
141
- <div className="mobius/RadioContent">{label || children}</div>
141
+ <div className="mobius-radio__content">{label || children}</div>
142
142
  )}
143
143
  </Label>
144
144
  {errorMessage && <ErrorMessage errorMessage={errorMessage} />}
@@ -21,6 +21,7 @@ import { ErrorMessage } from "../ErrorMessage";
21
21
  import { Label } from "../Label";
22
22
  import { Validation } from "../../types";
23
23
  import { useValidationClasses } from "../../hooks";
24
+ import { Stack } from "../Stack";
24
25
 
25
26
  export type RadioGroupElementType = HTMLDivElement;
26
27
 
@@ -109,11 +110,11 @@ const RadioGroup: ForwardedRefComponent<
109
110
  };
110
111
  const radioGroupClasses = classNames(
111
112
  "mobius",
112
- "mobius/RadioGroup",
113
+ "mobius-radio-group",
113
114
  radioClasses,
114
115
  validationClasses,
115
116
  );
116
- const radioWrapperClasses = classNames("mobius/RadioWrapper", {
117
+ const radioWrapperClasses = classNames("mobius-radio__wrapper", {
117
118
  [`--is-${orientation}`]: true,
118
119
  });
119
120
  const labelClasses = classNames(radioClasses, validationClasses);
@@ -143,30 +144,32 @@ const RadioGroup: ForwardedRefComponent<
143
144
  className={radioGroupClasses}
144
145
  role="radiogroup"
145
146
  >
146
- {label && (
147
- <Label htmlFor={name} id={labelId} className={labelClasses}>
148
- {label}
149
- </Label>
150
- )}
151
- <div className={radioWrapperClasses}>
152
- {Children.map(children, child => {
153
- if (isValidElement(child)) {
154
- return cloneElement(child as ReactElement, {
155
- orientation,
156
- groupDisabled: isDisabled,
157
- name: nameAttribute,
158
- selected,
159
- setSelected,
160
- isRequired,
161
- "aria-describedby": describedBy,
162
- onChange,
163
- });
164
- }
147
+ <Stack gap="xs">
148
+ {label && (
149
+ <Label htmlFor={name} id={labelId} className={labelClasses}>
150
+ {label}
151
+ </Label>
152
+ )}
153
+ <div className={radioWrapperClasses}>
154
+ {Children.map(children, child => {
155
+ if (isValidElement(child)) {
156
+ return cloneElement(child as ReactElement, {
157
+ orientation,
158
+ groupDisabled: isDisabled,
159
+ name: nameAttribute,
160
+ selected,
161
+ setSelected,
162
+ isRequired,
163
+ "aria-describedby": describedBy,
164
+ onChange,
165
+ });
166
+ }
165
167
 
166
- return child;
167
- })}
168
- </div>
169
- <ErrorMessage id={errorMessageId} errorMessage={errorMessage} />
168
+ return child;
169
+ })}
170
+ </div>
171
+ <ErrorMessage id={errorMessageId} errorMessage={errorMessage} />
172
+ </Stack>
170
173
  </div>
171
174
  );
172
175
  });
@@ -61,9 +61,5 @@ export const Star = (
61
61
  The following HTML is rendered for an SVG image:
62
62
 
63
63
  ```html
64
- <svg class="mobius/SVG">{children}</svg>
64
+ <svg class="mobius-svg">{children}</svg>
65
65
  ```
66
-
67
- ---
68
-
69
- [See on Github](https://github.com/simplybusiness/mobius/tree/master/packages/mobius/src/components/SVG) | [Give feedback](https://simplybusiness.atlassian.net/CreateIssue.jspa?issuetype=10103&pid=10609) | [Get support](https://simplybusiness.slack.com/archives/C016CC0NDNE)
@@ -1,7 +1,7 @@
1
1
  import { render, screen } from "@testing-library/react";
2
2
  import { SVG } from ".";
3
3
 
4
- const CLASS_NAME = "mobius/SVG";
4
+ const CLASS_NAME = "mobius-svg";
5
5
 
6
6
  const SvgImage = (
7
7
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 299.8 85">
@@ -15,7 +15,7 @@ const SVG: ForwardedRefComponent<SVGProps, SVGSVGElement> = forwardRef(
15
15
  (props: SVGProps, ref: SVGRef) => {
16
16
  const { children, className, ...otherProps } = props;
17
17
 
18
- const classes = classNames("mobius", "mobius/SVG", className);
18
+ const classes = classNames("mobius", "mobius-svg", className);
19
19
  const svgNode = Children.only(children);
20
20
  // Remove originalType and mdxType props
21
21
  const { children: svgChildren, viewBox, xmlns } = svgNode.props;
@@ -0,0 +1,204 @@
1
+ :root,
2
+ :host {
3
+ --segment-border: var(--size-border-width) solid var(--color-border-light);
4
+ }
5
+
6
+ /*-----------------------------------------------------------------------------
7
+ Wrapper around select and dropdown icon
8
+ ----------------------------------------------------------------------------*/
9
+ .mobius-segment-group {
10
+ box-sizing: border-box;
11
+ display: flex;
12
+ flex-direction: column;
13
+ border: var(--segment-border);
14
+ border-radius: var(--radius-2);
15
+ margin-bottom: var(--size-sm);
16
+
17
+ /* Horizontal stack */
18
+ &.horizontal {
19
+ flex-direction: row;
20
+ }
21
+
22
+ /* Margins around SegmentGroup */
23
+ .mobius-segment-group.gap-size-xs,
24
+ &.gap-size-xs {
25
+ margin: var(--size-xs);
26
+ }
27
+
28
+ .mobius-segment-group.gap-size-s,
29
+ &.gap-size-s {
30
+ margin: var(--size-sm);
31
+ }
32
+
33
+ .mobius-segment-group.gap-size-m,
34
+ &.gap-size-m {
35
+ margin: var(--size-md);
36
+ }
37
+
38
+ .mobius-segment-group.gap-size-l,
39
+ &.gap-size-l {
40
+ margin: var(--size-lm);
41
+ }
42
+
43
+ .mobius-segment-group.gap-size-xl,
44
+ &.gap-size-xl {
45
+ margin: var(--size-xl);
46
+ }
47
+
48
+ .mobius-segment-group.gap-size-xxl,
49
+ &.gap-size-xxl {
50
+ margin: var(--size-xxl);
51
+ }
52
+
53
+ /* Groups of vertically attached elements */
54
+ & > .mobius-segment {
55
+ border: none;
56
+ border-top: var(--segment-border);
57
+ }
58
+
59
+ &:not(.horizontal) {
60
+ & > .mobius-segment {
61
+ &:first-child {
62
+ border-top: none;
63
+ border-radius: var(--radius-2);
64
+ }
65
+
66
+ &:not(:first-child):not(:last-child) {
67
+ border-radius: 0;
68
+ border-bottom: 0;
69
+ }
70
+
71
+ &:last-child {
72
+ border-top-left-radius: 0;
73
+ border-top-right-radius: 0;
74
+ }
75
+ }
76
+ }
77
+
78
+ /* Groups of horizontally attached elements */
79
+ &.horizontal {
80
+ & > .mobius-segment,
81
+ & > .mobius-segment-group {
82
+ border: none;
83
+ border-radius: 0;
84
+ border-left: var(--segment-border);
85
+ }
86
+
87
+ & > .mobius-segment:first-child,
88
+ & > .mobius-segment-group:first-child {
89
+ border-left: 0;
90
+ border-top-right-radius: 0;
91
+ border-bottom-right-radius: 0;
92
+ }
93
+
94
+ & > .mobius-segment:not(:first-child):not(:last-child) {
95
+ border-right: 0;
96
+ border-radius: 0;
97
+ }
98
+
99
+ & > .mobius-segment:last-child {
100
+ border-top-left-radius: 0;
101
+ border-bottom-left-radius: 0;
102
+ }
103
+ }
104
+
105
+ /* Nested Groups: don't double up on borders */
106
+ .mobius-segment-group {
107
+ border-top: none;
108
+ margin-top: 0;
109
+ margin-bottom: 0;
110
+ flex: 1;
111
+
112
+ & > .mobius-segment-group.--is-horizontal {
113
+ border-radius: 0;
114
+ border: 0;
115
+ border-top: var(--segment-border);
116
+ margin: 0;
117
+ }
118
+
119
+ &:not(.horizontal)
120
+ > .mobius-segment-group:not(.--is-horizontal)
121
+ .mobius-segment:first-child {
122
+ border-top: var(--segment-border);
123
+ }
124
+ /* NOTE: We may need a similar rule for horizontally
125
+ nested Segments inside groups for a left border */
126
+ }
127
+ }
128
+
129
+ .mobius-segment {
130
+ box-sizing: border-box;
131
+ display: flex;
132
+ flex-direction: column;
133
+ align-items: flex-start;
134
+ width: 100%;
135
+ border: var(--segment-border);
136
+ border-radius: var(--radius-2);
137
+ padding: var(--size-sm);
138
+
139
+ /* Remove text margins from inner text atoms */
140
+ .mobius-text,
141
+ .mobius-text.--is-h1,
142
+ .mobius-text.--is-h2,
143
+ .mobius-text.--is-h3,
144
+ .mobius-text.--is-h4 {
145
+ margin: 0;
146
+ }
147
+
148
+ h1,
149
+ h2,
150
+ h3,
151
+ h4,
152
+ p {
153
+ margin: 0;
154
+ }
155
+
156
+ .mobius-text.--is-p {
157
+ line-height: var(--font-size-lead);
158
+ }
159
+
160
+ /* Colours */
161
+ &.subtle {
162
+ background-color: var(--color-background-highlight);
163
+ }
164
+
165
+ &.grey {
166
+ background-color: var(--color-background-light);
167
+ }
168
+
169
+ &.primary {
170
+ background-color: var(--color-primary);
171
+ }
172
+
173
+ &.secondary {
174
+ background-color: var(--color-secondary);
175
+ }
176
+
177
+ &.inverted {
178
+ color: var(--color-text-inverted);
179
+ }
180
+
181
+ /* Last child inside a Segment should have no bottom margin */
182
+ .mobius-text-field:last-child,
183
+ .mobius-checkbox:last-child,
184
+ .mobius-radio-group:last-child,
185
+ .mobius-text-area:last-child,
186
+ .mobius-select__outer:last-child {
187
+ margin-bottom: 0 !important;
188
+ }
189
+
190
+ /* Nested Groups inside Segments:
191
+ make full width and remove bottom margin*/
192
+ .mobius-segment-group {
193
+ width: 100%;
194
+ margin-bottom: 0;
195
+ }
196
+ }
197
+
198
+ /* Heading */
199
+ .mobius-segment__heading {
200
+ box-sizing: border-box;
201
+ font-size: var(--font-size-regular);
202
+ margin: 0;
203
+ margin-bottom: var(--size-sm);
204
+ }