@utilitywarehouse/hearth-react-native 0.1.0 → 0.2.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 (557) hide show
  1. package/.storybook/preview.tsx +5 -0
  2. package/.storybook/prism-setup.ts +104 -0
  3. package/.turbo/turbo-build.log +1 -1
  4. package/.turbo/turbo-lint.log +1 -1
  5. package/CHANGELOG.md +20 -0
  6. package/build/components/Accordion/Accordion.d.ts +1 -1
  7. package/build/components/Accordion/Accordion.js +7 -7
  8. package/build/components/Accordion/Accordion.props.d.ts +2 -2
  9. package/build/components/Accordion/AccordionIcon.js +2 -2
  10. package/build/components/Accordion/AccordionItemRoot.js +2 -2
  11. package/build/components/Accordion/AccordionTrigger.js +4 -4
  12. package/build/components/Accordion/index.d.ts +1 -2
  13. package/build/components/Accordion/index.js +1 -2
  14. package/build/components/Alert/Alert.js +21 -21
  15. package/build/components/Alert/Alert.props.d.ts +3 -3
  16. package/build/components/Alert/AlertCloseButton.js +2 -2
  17. package/build/components/Alert/AlertIcon.js +5 -5
  18. package/build/components/Badge/Badge.context.d.ts +4 -0
  19. package/build/components/Badge/Badge.js +86 -27
  20. package/build/components/Badge/Badge.props.d.ts +2 -1
  21. package/build/components/Badge/BadgeIcon.js +102 -18
  22. package/build/components/Badge/BadgeText.js +102 -17
  23. package/build/components/BodyText/BodyText.js +2 -2
  24. package/build/components/BottomSheet/BottomSheet.d.ts +1 -1
  25. package/build/components/BottomSheet/BottomSheet.js +3 -3
  26. package/build/components/BottomSheet/BottomSheetHandle.js +1 -1
  27. package/build/components/BottomSheet/BottomSheetModal.js +1 -1
  28. package/build/components/BottomSheet/BottomSheetScrollView.js +3 -1
  29. package/build/components/BottomSheet/BottomSheetView.js +1 -1
  30. package/build/components/Button/Button.props.d.ts +7 -7
  31. package/build/components/Button/ButtonIcon.js +29 -29
  32. package/build/components/Button/ButtonRoot.js +79 -88
  33. package/build/components/Button/ButtonSpinner.js +28 -31
  34. package/build/components/Button/ButtonText.js +40 -26
  35. package/build/components/Card/Card.props.d.ts +1 -1
  36. package/build/components/Card/CardRoot.js +56 -56
  37. package/build/components/Checkbox/CheckboxIcon.js +3 -3
  38. package/build/components/Checkbox/CheckboxIndicator.js +3 -3
  39. package/build/components/Checkbox/CheckboxTileRoot.js +3 -3
  40. package/build/components/DetailText/DetailText.js +2 -2
  41. package/build/components/Divider/Divider.js +1 -1
  42. package/build/components/Heading/Heading.js +2 -2
  43. package/build/components/Heading/Heading.props.d.ts +3 -1
  44. package/build/components/Helper/HelperIcon.js +3 -3
  45. package/build/components/Helper/HelperText.js +4 -4
  46. package/build/components/IconButton/IconButtonIcon.js +29 -29
  47. package/build/components/IconButton/IconButtonRoot.js +94 -88
  48. package/build/components/IconButton/IconButtonSpinner.js +27 -30
  49. package/build/components/InlineLink/InlineLinkRoot.js +2 -2
  50. package/build/components/Input/Input.d.ts +9 -3
  51. package/build/components/Input/Input.js +13 -13
  52. package/build/components/Input/Input.props.d.ts +1 -0
  53. package/build/components/Input/InputField.d.ts +3 -1
  54. package/build/components/Input/InputField.js +9 -39
  55. package/build/components/Input/InputIcon.js +1 -1
  56. package/build/components/Input/InputRoot.js +9 -9
  57. package/build/components/Label/Label.js +1 -1
  58. package/build/components/Link/LinkRoot.js +2 -2
  59. package/build/components/List/List.d.ts +1 -1
  60. package/build/components/List/List.js +6 -4
  61. package/build/components/List/List.props.d.ts +9 -10
  62. package/build/components/List/ListItem/ListItemHelperText.js +1 -1
  63. package/build/components/List/ListItem/ListItemIcon.js +1 -1
  64. package/build/components/List/ListItem/ListItemRoot.js +15 -6
  65. package/build/components/List/ListItem/ListItemTrailingIcon.js +1 -1
  66. package/build/components/List/index.d.ts +0 -1
  67. package/build/components/List/index.js +0 -1
  68. package/build/components/Modal/Modal.d.ts +7 -0
  69. package/build/components/Modal/Modal.js +164 -0
  70. package/build/components/Modal/Modal.props.d.ts +24 -0
  71. package/build/components/Modal/Modal.web.d.ts +7 -0
  72. package/build/components/Modal/Modal.web.js +164 -0
  73. package/build/components/Modal/index.d.ts +2 -0
  74. package/build/components/Modal/index.js +1 -0
  75. package/build/components/Radio/RadioIndicator.js +2 -2
  76. package/build/components/Radio/RadioTileRoot.js +3 -3
  77. package/build/components/RadioCard/RadioCardIndicator.js +2 -2
  78. package/build/components/RadioCard/RadioCardRoot.js +3 -3
  79. package/build/components/SectionHeader/SectionHeader.d.ts +6 -0
  80. package/build/components/SectionHeader/SectionHeader.js +19 -0
  81. package/build/components/{List/ListHeading/ListHeading.props.d.ts → SectionHeader/SectionHeader.props.d.ts} +7 -9
  82. package/build/components/SectionHeader/SectionHeaderHeading.d.ts +6 -0
  83. package/build/components/SectionHeader/SectionHeaderHeading.js +7 -0
  84. package/build/components/SectionHeader/SectionHeaderHelperText.d.ts +6 -0
  85. package/build/components/{List/ListHeading/ListHeadingHelperText.js → SectionHeader/SectionHeaderHelperText.js} +5 -5
  86. package/build/components/{List/ListHeading/ListHeadingTextContent.d.ts → SectionHeader/SectionHeaderTextContent.d.ts} +2 -2
  87. package/build/components/{List/ListHeading/ListHeadingTextContent.js → SectionHeader/SectionHeaderTextContent.js} +4 -4
  88. package/build/components/SectionHeader/index.d.ts +4 -0
  89. package/build/components/SectionHeader/index.js +4 -0
  90. package/build/components/Select/Select.js +10 -10
  91. package/build/components/Select/SelectOption.js +6 -6
  92. package/build/components/Spinner/Spinner.web.js +3 -3
  93. package/build/components/Switch/Switch.js +10 -7
  94. package/build/components/Switch/Switch.web.js +10 -8
  95. package/build/components/Textarea/TextareaField.js +5 -5
  96. package/build/components/Textarea/TextareaRoot.js +9 -9
  97. package/build/components/ToggleButton/ToggleButtonIcon.js +3 -3
  98. package/build/components/ToggleButton/ToggleButtonRoot.js +9 -9
  99. package/build/components/ToggleButton/ToggleButtonText.js +2 -2
  100. package/build/components/ToggleButtonCard/ToggleButtonCardRoot.js +3 -3
  101. package/build/components/index.d.ts +5 -3
  102. package/build/components/index.js +5 -3
  103. package/build/core/themes.d.ts +1094 -178
  104. package/build/core/themes.js +2 -2
  105. package/build/tokens/color.d.ts +1002 -86
  106. package/build/tokens/color.js +501 -43
  107. package/build/tokens/components/dark/accordion.d.ts +0 -2
  108. package/build/tokens/components/dark/accordion.js +0 -2
  109. package/build/tokens/components/dark/alert.d.ts +0 -16
  110. package/build/tokens/components/dark/alert.js +0 -16
  111. package/build/tokens/components/dark/avatar.d.ts +19 -0
  112. package/build/tokens/components/dark/avatar.js +18 -0
  113. package/build/tokens/components/dark/badge.d.ts +7 -34
  114. package/build/tokens/components/dark/badge.js +7 -34
  115. package/build/tokens/components/dark/banner.d.ts +1 -10
  116. package/build/tokens/components/dark/banner.js +1 -10
  117. package/build/tokens/components/dark/bottom-navigation.d.ts +2 -7
  118. package/build/tokens/components/dark/bottom-navigation.js +2 -7
  119. package/build/tokens/components/dark/bottom-sheet.d.ts +1 -2
  120. package/build/tokens/components/dark/bottom-sheet.js +1 -2
  121. package/build/tokens/components/dark/breadcrumb.d.ts +0 -1
  122. package/build/tokens/components/dark/breadcrumb.js +0 -1
  123. package/build/tokens/components/dark/button.d.ts +0 -86
  124. package/build/tokens/components/dark/button.js +0 -86
  125. package/build/tokens/components/dark/card.d.ts +0 -28
  126. package/build/tokens/components/dark/card.js +0 -28
  127. package/build/tokens/components/dark/carousel-control.d.ts +0 -8
  128. package/build/tokens/components/dark/carousel-control.js +0 -8
  129. package/build/tokens/components/dark/checkbox.d.ts +1 -10
  130. package/build/tokens/components/dark/checkbox.js +1 -10
  131. package/build/tokens/components/dark/date-picker.d.ts +0 -12
  132. package/build/tokens/components/dark/date-picker.js +0 -12
  133. package/build/tokens/components/dark/description-list.d.ts +20 -0
  134. package/build/tokens/components/dark/description-list.js +19 -0
  135. package/build/tokens/components/dark/dialog.d.ts +0 -1
  136. package/build/tokens/components/dark/dialog.js +0 -1
  137. package/build/tokens/components/dark/divider.d.ts +4 -1
  138. package/build/tokens/components/dark/divider.js +4 -1
  139. package/build/tokens/components/dark/expandable-card.d.ts +11 -0
  140. package/build/tokens/components/dark/expandable-card.js +10 -0
  141. package/build/tokens/components/dark/icon-button.d.ts +5 -5
  142. package/build/tokens/components/dark/icon-button.js +5 -5
  143. package/build/tokens/components/dark/icon-container.d.ts +0 -17
  144. package/build/tokens/components/dark/icon-container.js +0 -17
  145. package/build/tokens/components/dark/index.d.ts +10 -4
  146. package/build/tokens/components/dark/index.js +10 -4
  147. package/build/tokens/components/dark/indicator-icon-button.d.ts +11 -0
  148. package/build/tokens/components/dark/indicator-icon-button.js +10 -0
  149. package/build/tokens/components/dark/inline-link.d.ts +1 -1
  150. package/build/tokens/components/dark/inline-link.js +1 -1
  151. package/build/tokens/components/dark/input.d.ts +1 -9
  152. package/build/tokens/components/dark/input.js +1 -9
  153. package/build/tokens/components/dark/link.d.ts +2 -2
  154. package/build/tokens/components/dark/link.js +2 -2
  155. package/build/tokens/components/dark/list.d.ts +20 -20
  156. package/build/tokens/components/dark/list.js +20 -20
  157. package/build/tokens/components/dark/menu.d.ts +0 -12
  158. package/build/tokens/components/dark/menu.js +0 -12
  159. package/build/tokens/components/dark/modal.d.ts +0 -1
  160. package/build/tokens/components/dark/modal.js +0 -1
  161. package/build/tokens/components/dark/navigation.d.ts +1 -6
  162. package/build/tokens/components/dark/navigation.js +1 -6
  163. package/build/tokens/components/dark/pagination.d.ts +12 -0
  164. package/build/tokens/components/dark/pagination.js +11 -0
  165. package/build/tokens/components/dark/parts.d.ts +14 -4
  166. package/build/tokens/components/dark/parts.js +14 -4
  167. package/build/tokens/components/dark/pill.d.ts +0 -10
  168. package/build/tokens/components/dark/pill.js +0 -10
  169. package/build/tokens/components/dark/progress-stepper.d.ts +0 -8
  170. package/build/tokens/components/dark/progress-stepper.js +0 -8
  171. package/build/tokens/components/dark/radio.d.ts +1 -8
  172. package/build/tokens/components/dark/radio.js +1 -8
  173. package/build/tokens/components/dark/{focus.d.ts → section-header.d.ts} +4 -2
  174. package/build/tokens/components/dark/{focus.js → section-header.js} +4 -2
  175. package/build/tokens/components/dark/segmented-control.d.ts +0 -8
  176. package/build/tokens/components/dark/segmented-control.js +0 -8
  177. package/build/tokens/components/dark/select.d.ts +0 -10
  178. package/build/tokens/components/dark/select.js +0 -10
  179. package/build/tokens/components/dark/spinner.d.ts +1 -1
  180. package/build/tokens/components/dark/spinner.js +1 -1
  181. package/build/tokens/components/dark/switch.d.ts +1 -11
  182. package/build/tokens/components/dark/switch.js +1 -11
  183. package/build/tokens/components/dark/table.d.ts +23 -0
  184. package/build/tokens/components/dark/table.js +22 -0
  185. package/build/tokens/components/dark/tabs.d.ts +24 -0
  186. package/build/tokens/components/dark/tabs.js +23 -0
  187. package/build/tokens/components/dark/toast.d.ts +10 -0
  188. package/build/tokens/components/dark/toast.js +9 -0
  189. package/build/tokens/components/dark/toggle-button.d.ts +0 -11
  190. package/build/tokens/components/dark/toggle-button.js +0 -11
  191. package/build/tokens/components/dark/tooltip.d.ts +12 -0
  192. package/build/tokens/components/dark/tooltip.js +11 -0
  193. package/build/tokens/components/dark/top-navigation.d.ts +0 -8
  194. package/build/tokens/components/dark/top-navigation.js +0 -8
  195. package/build/tokens/components/light/accordion.d.ts +0 -2
  196. package/build/tokens/components/light/accordion.js +0 -2
  197. package/build/tokens/components/light/alert.d.ts +0 -16
  198. package/build/tokens/components/light/alert.js +0 -16
  199. package/build/tokens/components/light/avatar.d.ts +19 -0
  200. package/build/tokens/components/light/avatar.js +18 -0
  201. package/build/tokens/components/light/badge.d.ts +7 -34
  202. package/build/tokens/components/light/badge.js +7 -34
  203. package/build/tokens/components/light/banner.d.ts +2 -11
  204. package/build/tokens/components/light/banner.js +2 -11
  205. package/build/tokens/components/light/bottom-navigation.d.ts +0 -5
  206. package/build/tokens/components/light/bottom-navigation.js +0 -5
  207. package/build/tokens/components/light/bottom-sheet.d.ts +1 -2
  208. package/build/tokens/components/light/bottom-sheet.js +1 -2
  209. package/build/tokens/components/light/breadcrumb.d.ts +0 -1
  210. package/build/tokens/components/light/breadcrumb.js +0 -1
  211. package/build/tokens/components/light/button.d.ts +0 -86
  212. package/build/tokens/components/light/button.js +0 -86
  213. package/build/tokens/components/light/card.d.ts +0 -28
  214. package/build/tokens/components/light/card.js +0 -28
  215. package/build/tokens/components/light/carousel-control.d.ts +0 -8
  216. package/build/tokens/components/light/carousel-control.js +0 -8
  217. package/build/tokens/components/light/checkbox.d.ts +0 -9
  218. package/build/tokens/components/light/checkbox.js +0 -9
  219. package/build/tokens/components/light/date-picker.d.ts +0 -12
  220. package/build/tokens/components/light/date-picker.js +0 -12
  221. package/build/tokens/components/light/description-list.d.ts +20 -0
  222. package/build/tokens/components/light/description-list.js +19 -0
  223. package/build/tokens/components/light/dialog.d.ts +0 -1
  224. package/build/tokens/components/light/dialog.js +0 -1
  225. package/build/tokens/components/light/divider.d.ts +4 -1
  226. package/build/tokens/components/light/divider.js +4 -1
  227. package/build/tokens/components/light/expandable-card.d.ts +11 -0
  228. package/build/tokens/components/light/expandable-card.js +10 -0
  229. package/build/tokens/components/light/icon-button.d.ts +5 -5
  230. package/build/tokens/components/light/icon-button.js +5 -5
  231. package/build/tokens/components/light/icon-container.d.ts +0 -17
  232. package/build/tokens/components/light/icon-container.js +0 -17
  233. package/build/tokens/components/light/index.d.ts +10 -4
  234. package/build/tokens/components/light/index.js +10 -4
  235. package/build/tokens/components/light/indicator-icon-button.d.ts +11 -0
  236. package/build/tokens/components/light/indicator-icon-button.js +10 -0
  237. package/build/tokens/components/light/input.d.ts +1 -9
  238. package/build/tokens/components/light/input.js +1 -9
  239. package/build/tokens/components/light/link.d.ts +2 -2
  240. package/build/tokens/components/light/link.js +2 -2
  241. package/build/tokens/components/light/list.d.ts +20 -20
  242. package/build/tokens/components/light/list.js +20 -20
  243. package/build/tokens/components/light/menu.d.ts +0 -12
  244. package/build/tokens/components/light/menu.js +0 -12
  245. package/build/tokens/components/light/modal.d.ts +0 -1
  246. package/build/tokens/components/light/modal.js +0 -1
  247. package/build/tokens/components/light/navigation.d.ts +1 -6
  248. package/build/tokens/components/light/navigation.js +1 -6
  249. package/build/tokens/components/light/pagination.d.ts +12 -0
  250. package/build/tokens/components/light/pagination.js +11 -0
  251. package/build/tokens/components/light/parts.d.ts +11 -1
  252. package/build/tokens/components/light/parts.js +11 -1
  253. package/build/tokens/components/light/pill.d.ts +0 -10
  254. package/build/tokens/components/light/pill.js +0 -10
  255. package/build/tokens/components/light/progress-stepper.d.ts +0 -8
  256. package/build/tokens/components/light/progress-stepper.js +0 -8
  257. package/build/tokens/components/light/radio.d.ts +0 -7
  258. package/build/tokens/components/light/radio.js +0 -7
  259. package/build/tokens/components/light/section-header.d.ts +10 -0
  260. package/build/tokens/components/light/section-header.js +9 -0
  261. package/build/tokens/components/light/segmented-control.d.ts +0 -8
  262. package/build/tokens/components/light/segmented-control.js +0 -8
  263. package/build/tokens/components/light/select.d.ts +0 -10
  264. package/build/tokens/components/light/select.js +0 -10
  265. package/build/tokens/components/light/switch.d.ts +1 -11
  266. package/build/tokens/components/light/switch.js +1 -11
  267. package/build/tokens/components/light/table.d.ts +23 -0
  268. package/build/tokens/components/light/table.js +22 -0
  269. package/build/tokens/components/light/tabs.d.ts +24 -0
  270. package/build/tokens/components/light/tabs.js +23 -0
  271. package/build/tokens/components/light/toast.d.ts +10 -0
  272. package/build/tokens/components/light/toast.js +9 -0
  273. package/build/tokens/components/light/toggle-button.d.ts +0 -11
  274. package/build/tokens/components/light/toggle-button.js +0 -11
  275. package/build/tokens/components/light/tooltip.d.ts +12 -0
  276. package/build/tokens/components/light/tooltip.js +11 -0
  277. package/build/tokens/components/light/top-navigation.d.ts +0 -8
  278. package/build/tokens/components/light/top-navigation.js +0 -8
  279. package/build/tokens/index.d.ts +1 -0
  280. package/build/tokens/index.js +1 -0
  281. package/build/tokens/semantic-dark.d.ts +240 -13
  282. package/build/tokens/semantic-dark.js +240 -13
  283. package/build/tokens/semantic-light.d.ts +240 -13
  284. package/build/tokens/semantic-light.js +240 -13
  285. package/build/tokens/{components/light/focus.d.ts → semantic.d.ts} +3 -2
  286. package/build/tokens/{components/light/focus.js → semantic.js} +3 -2
  287. package/build/types/values.d.ts +10 -6
  288. package/build/utils/coloursAsArray.d.ts +8 -0
  289. package/build/utils/coloursAsArray.js +37 -2
  290. package/build/utils/getFlattenedColorValue.d.ts +3 -1
  291. package/build/utils/hexWithOpacity.d.ts +2 -0
  292. package/build/utils/hexWithOpacity.js +15 -0
  293. package/build/utils/index.d.ts +2 -1
  294. package/build/utils/index.js +2 -1
  295. package/build/utils/styleUtils.js +33 -1
  296. package/docs/assets/modal-android.mp4 +0 -0
  297. package/docs/assets/modal-ios.mp4 +0 -0
  298. package/docs/assets/pigs.png +0 -0
  299. package/docs/components/AllComponents.web.tsx +39 -2
  300. package/docs/components/BadgeList.tsx +8 -8
  301. package/docs/components/ViewFigmaButton.tsx +3 -3
  302. package/docs/introduction.mdx +2 -2
  303. package/docs/llm-docs/unistyles-llms-full.txt +1 -1
  304. package/docs/theme-tokens.mdx +49 -26
  305. package/package.json +20 -17
  306. package/src/components/Accordion/Accordion.docs.mdx +25 -39
  307. package/src/components/Accordion/Accordion.props.ts +2 -2
  308. package/src/components/Accordion/Accordion.stories.tsx +10 -10
  309. package/src/components/Accordion/Accordion.tsx +14 -14
  310. package/src/components/Accordion/AccordionIcon.tsx +2 -2
  311. package/src/components/Accordion/AccordionItemRoot.tsx +3 -3
  312. package/src/components/Accordion/AccordionTrigger.tsx +4 -4
  313. package/src/components/Accordion/index.ts +3 -4
  314. package/src/components/Alert/Alert.docs.mdx +25 -25
  315. package/src/components/Alert/Alert.props.ts +3 -3
  316. package/src/components/Alert/Alert.stories.tsx +11 -11
  317. package/src/components/Alert/Alert.tsx +22 -22
  318. package/src/components/Alert/AlertCloseButton.tsx +3 -3
  319. package/src/components/Alert/AlertIcon.tsx +7 -7
  320. package/src/components/Badge/Badge.context.ts +2 -0
  321. package/src/components/Badge/Badge.docs.mdx +16 -15
  322. package/src/components/Badge/Badge.props.ts +13 -1
  323. package/src/components/Badge/Badge.stories.tsx +106 -48
  324. package/src/components/Badge/Badge.tsx +96 -29
  325. package/src/components/Badge/BadgeIcon.tsx +102 -18
  326. package/src/components/Badge/BadgeText.tsx +102 -17
  327. package/src/components/BodyText/BodyText.tsx +4 -4
  328. package/src/components/BottomSheet/BottomSheet.docs.mdx +23 -5
  329. package/src/components/BottomSheet/BottomSheet.stories.tsx +9 -9
  330. package/src/components/BottomSheet/BottomSheet.tsx +5 -5
  331. package/src/components/BottomSheet/BottomSheetHandle.tsx +1 -1
  332. package/src/components/BottomSheet/BottomSheetModal.tsx +1 -1
  333. package/src/components/BottomSheet/BottomSheetScrollView.tsx +4 -2
  334. package/src/components/BottomSheet/BottomSheetView.tsx +1 -1
  335. package/src/components/Box/Box.stories.tsx +3 -3
  336. package/src/components/Button/Button.docs.mdx +35 -35
  337. package/src/components/Button/Button.props.tsx +7 -7
  338. package/src/components/Button/Button.stories.tsx +16 -16
  339. package/src/components/Button/ButtonIcon.tsx +29 -29
  340. package/src/components/Button/ButtonRoot.tsx +79 -89
  341. package/src/components/Button/ButtonSpinner.tsx +30 -33
  342. package/src/components/Button/ButtonText.tsx +40 -26
  343. package/src/components/Card/Card.docs.mdx +22 -22
  344. package/src/components/Card/Card.props.ts +9 -9
  345. package/src/components/Card/Card.stories.tsx +34 -34
  346. package/src/components/Card/CardRoot.tsx +56 -56
  347. package/src/components/Checkbox/CheckboxIcon.tsx +4 -4
  348. package/src/components/Checkbox/CheckboxIndicator.tsx +3 -3
  349. package/src/components/Checkbox/CheckboxTileRoot.tsx +3 -3
  350. package/src/components/DetailText/DetailText.tsx +3 -3
  351. package/src/components/Divider/Divider.tsx +1 -1
  352. package/src/components/Heading/Heading.props.ts +3 -1
  353. package/src/components/Heading/Heading.tsx +2 -2
  354. package/src/components/Helper/HelperIcon.tsx +3 -3
  355. package/src/components/Helper/HelperText.tsx +4 -4
  356. package/src/components/Icon/Icon.stories.tsx +2 -2
  357. package/src/components/IconButton/IconButton.docs.mdx +21 -16
  358. package/src/components/IconButton/IconButton.figma.tsx +1 -1
  359. package/src/components/IconButton/IconButton.stories.tsx +14 -14
  360. package/src/components/IconButton/IconButtonIcon.tsx +29 -29
  361. package/src/components/IconButton/IconButtonRoot.tsx +94 -88
  362. package/src/components/IconButton/IconButtonSpinner.tsx +27 -30
  363. package/src/components/InlineLink/InlineLinkRoot.tsx +2 -2
  364. package/src/components/Input/Input.docs.mdx +16 -14
  365. package/src/components/Input/Input.props.ts +1 -0
  366. package/src/components/Input/Input.stories.tsx +5 -4
  367. package/src/components/Input/Input.tsx +15 -13
  368. package/src/components/Input/InputField.tsx +25 -52
  369. package/src/components/Input/InputIcon.tsx +1 -1
  370. package/src/components/Input/InputRoot.tsx +10 -10
  371. package/src/components/Label/Label.tsx +2 -2
  372. package/src/components/Link/LinkRoot.tsx +2 -2
  373. package/src/components/List/List.docs.mdx +35 -56
  374. package/src/components/List/List.props.ts +9 -10
  375. package/src/components/List/List.stories.tsx +8 -8
  376. package/src/components/List/List.tsx +25 -25
  377. package/src/components/List/ListItem/ListItemHelperText.tsx +1 -1
  378. package/src/components/List/ListItem/ListItemIcon.tsx +1 -1
  379. package/src/components/List/ListItem/ListItemRoot.tsx +15 -6
  380. package/src/components/List/ListItem/ListItemTrailingIcon.tsx +1 -1
  381. package/src/components/List/index.ts +0 -1
  382. package/src/components/Modal/Modal.docs.mdx +547 -0
  383. package/src/components/Modal/Modal.props.ts +26 -0
  384. package/src/components/Modal/Modal.stories.tsx +222 -0
  385. package/src/components/Modal/Modal.tsx +333 -0
  386. package/src/components/Modal/Modal.web.tsx +333 -0
  387. package/src/components/Modal/index.ts +2 -0
  388. package/src/components/Radio/RadioIndicator.tsx +2 -2
  389. package/src/components/Radio/RadioTileRoot.tsx +3 -3
  390. package/src/components/RadioCard/RadioCardIndicator.tsx +2 -2
  391. package/src/components/RadioCard/RadioCardRoot.tsx +3 -3
  392. package/src/components/{List/ListHeading/ListHeading.figma.tsx → SectionHeader/SectionHeader.figma.tsx} +3 -3
  393. package/src/components/{List/ListHeading/ListHeading.props.ts → SectionHeader/SectionHeader.props.ts} +7 -9
  394. package/src/components/SectionHeader/SectionHeader.stories.tsx +76 -0
  395. package/src/components/{List/ListHeading/ListHeading.tsx → SectionHeader/SectionHeader.tsx} +16 -19
  396. package/src/components/SectionHeader/SectionHeaderHeading.tsx +14 -0
  397. package/src/components/SectionHeader/SectionHeaderHelperText.tsx +21 -0
  398. package/src/components/{List/ListHeading/ListHeadingTextContent.tsx → SectionHeader/SectionHeaderTextContent.tsx} +4 -4
  399. package/src/components/SectionHeader/Sectionheader.docs.mdx +83 -0
  400. package/src/components/SectionHeader/index.ts +4 -0
  401. package/src/components/Select/Select.tsx +10 -10
  402. package/src/components/Select/SelectOption.tsx +7 -7
  403. package/src/components/Spinner/Spinner.tsx +3 -3
  404. package/src/components/Spinner/Spinner.web.tsx +12 -12
  405. package/src/components/Switch/Switch.tsx +10 -7
  406. package/src/components/Switch/Switch.web.tsx +10 -12
  407. package/src/components/Textarea/TextareaField.tsx +5 -5
  408. package/src/components/Textarea/TextareaRoot.tsx +10 -10
  409. package/src/components/ToggleButton/ToggleButtonIcon.tsx +3 -3
  410. package/src/components/ToggleButton/ToggleButtonRoot.tsx +11 -11
  411. package/src/components/ToggleButton/ToggleButtonText.tsx +2 -2
  412. package/src/components/ToggleButtonCard/ToggleButtonCardRoot.tsx +3 -3
  413. package/src/components/index.ts +7 -5
  414. package/src/core/themes.ts +2 -2
  415. package/src/tokens/color.ts +501 -43
  416. package/src/tokens/components/dark/accordion.ts +0 -2
  417. package/src/tokens/components/dark/alert.ts +0 -16
  418. package/src/tokens/components/dark/avatar.ts +19 -0
  419. package/src/tokens/components/dark/badge.ts +7 -34
  420. package/src/tokens/components/dark/banner.ts +1 -10
  421. package/src/tokens/components/dark/bottom-navigation.ts +2 -7
  422. package/src/tokens/components/dark/bottom-sheet.ts +1 -2
  423. package/src/tokens/components/dark/breadcrumb.ts +0 -1
  424. package/src/tokens/components/dark/button.ts +0 -86
  425. package/src/tokens/components/dark/card.ts +0 -28
  426. package/src/tokens/components/dark/carousel-control.ts +0 -8
  427. package/src/tokens/components/dark/checkbox.ts +1 -10
  428. package/src/tokens/components/dark/date-picker.ts +0 -12
  429. package/src/tokens/components/dark/description-list.ts +20 -0
  430. package/src/tokens/components/dark/dialog.ts +0 -1
  431. package/src/tokens/components/dark/divider.ts +4 -1
  432. package/src/tokens/components/{light/footer.ts → dark/expandable-card.ts} +4 -5
  433. package/src/tokens/components/dark/icon-button.ts +5 -5
  434. package/src/tokens/components/dark/icon-container.ts +0 -17
  435. package/src/tokens/components/dark/index.ts +10 -4
  436. package/src/tokens/components/dark/{footer.ts → indicator-icon-button.ts} +4 -5
  437. package/src/tokens/components/dark/inline-link.ts +1 -1
  438. package/src/tokens/components/dark/input.ts +1 -9
  439. package/src/tokens/components/dark/link.ts +2 -2
  440. package/src/tokens/components/dark/list.ts +20 -20
  441. package/src/tokens/components/dark/menu.ts +0 -12
  442. package/src/tokens/components/dark/modal.ts +0 -1
  443. package/src/tokens/components/dark/navigation.ts +1 -6
  444. package/src/tokens/components/dark/pagination.ts +12 -0
  445. package/src/tokens/components/dark/parts.ts +14 -4
  446. package/src/tokens/components/dark/pill.ts +0 -10
  447. package/src/tokens/components/dark/progress-stepper.ts +0 -8
  448. package/src/tokens/components/dark/radio.ts +1 -8
  449. package/src/tokens/components/dark/{focus.ts → section-header.ts} +4 -2
  450. package/src/tokens/components/dark/segmented-control.ts +0 -8
  451. package/src/tokens/components/dark/select.ts +0 -10
  452. package/src/tokens/components/dark/spinner.ts +1 -1
  453. package/src/tokens/components/dark/switch.ts +1 -11
  454. package/src/tokens/components/dark/table.ts +23 -0
  455. package/src/tokens/components/dark/tabs.ts +24 -0
  456. package/src/tokens/components/dark/toast.ts +10 -0
  457. package/src/tokens/components/dark/toggle-button.ts +0 -11
  458. package/src/tokens/components/dark/tooltip.ts +12 -0
  459. package/src/tokens/components/dark/top-navigation.ts +0 -8
  460. package/src/tokens/components/light/accordion.ts +0 -2
  461. package/src/tokens/components/light/alert.ts +0 -16
  462. package/src/tokens/components/light/avatar.ts +19 -0
  463. package/src/tokens/components/light/badge.ts +7 -34
  464. package/src/tokens/components/light/banner.ts +2 -11
  465. package/src/tokens/components/light/bottom-navigation.ts +0 -5
  466. package/src/tokens/components/light/bottom-sheet.ts +1 -2
  467. package/src/tokens/components/light/breadcrumb.ts +0 -1
  468. package/src/tokens/components/light/button.ts +0 -86
  469. package/src/tokens/components/light/card.ts +0 -28
  470. package/src/tokens/components/light/carousel-control.ts +0 -8
  471. package/src/tokens/components/light/checkbox.ts +0 -9
  472. package/src/tokens/components/light/date-picker.ts +0 -12
  473. package/src/tokens/components/light/description-list.ts +20 -0
  474. package/src/tokens/components/light/dialog.ts +0 -1
  475. package/src/tokens/components/light/divider.ts +4 -1
  476. package/src/tokens/components/light/expandable-card.ts +11 -0
  477. package/src/tokens/components/light/icon-button.ts +5 -5
  478. package/src/tokens/components/light/icon-container.ts +0 -17
  479. package/src/tokens/components/light/index.ts +10 -4
  480. package/src/tokens/components/light/indicator-icon-button.ts +11 -0
  481. package/src/tokens/components/light/input.ts +1 -9
  482. package/src/tokens/components/light/link.ts +2 -2
  483. package/src/tokens/components/light/list.ts +20 -20
  484. package/src/tokens/components/light/menu.ts +0 -12
  485. package/src/tokens/components/light/modal.ts +0 -1
  486. package/src/tokens/components/light/navigation.ts +1 -6
  487. package/src/tokens/components/light/pagination.ts +12 -0
  488. package/src/tokens/components/light/parts.ts +11 -1
  489. package/src/tokens/components/light/pill.ts +0 -10
  490. package/src/tokens/components/light/progress-stepper.ts +0 -8
  491. package/src/tokens/components/light/radio.ts +0 -7
  492. package/src/tokens/components/light/{focus.ts → section-header.ts} +4 -2
  493. package/src/tokens/components/light/segmented-control.ts +0 -8
  494. package/src/tokens/components/light/select.ts +0 -10
  495. package/src/tokens/components/light/switch.ts +1 -11
  496. package/src/tokens/components/light/table.ts +23 -0
  497. package/src/tokens/components/light/tabs.ts +24 -0
  498. package/src/tokens/components/light/toast.ts +10 -0
  499. package/src/tokens/components/light/toggle-button.ts +0 -11
  500. package/src/tokens/components/light/tooltip.ts +12 -0
  501. package/src/tokens/components/light/top-navigation.ts +0 -8
  502. package/src/tokens/index.ts +1 -0
  503. package/src/tokens/semantic-dark.ts +240 -13
  504. package/src/tokens/semantic-light.ts +240 -13
  505. package/src/tokens/semantic.ts +9 -0
  506. package/src/types/values.ts +28 -6
  507. package/src/utils/coloursAsArray.ts +44 -2
  508. package/src/utils/getFlattenedColorValue.ts +1 -1
  509. package/src/utils/hexWithOpacity.ts +19 -0
  510. package/src/utils/index.ts +2 -1
  511. package/src/utils/styleUtils.ts +39 -1
  512. package/src/vite-env.d.ts +5 -0
  513. package/build/components/Accordion/AccordionHeading/AccordionHeading.d.ts +0 -6
  514. package/build/components/Accordion/AccordionHeading/AccordionHeading.js +0 -16
  515. package/build/components/Accordion/AccordionHeading/AccordionHeading.props.d.ts +0 -14
  516. package/build/components/Accordion/AccordionHeading/AccordionHeadingHelperText.d.ts +0 -6
  517. package/build/components/Accordion/AccordionHeading/AccordionHeadingHelperText.js +0 -13
  518. package/build/components/Accordion/AccordionHeading/AccordionHeadingTextContent.d.ts +0 -6
  519. package/build/components/Accordion/AccordionHeading/AccordionHeadingTextContent.js +0 -14
  520. package/build/components/Accordion/AccordionHeading/AccordionHeadingTitle.d.ts +0 -6
  521. package/build/components/Accordion/AccordionHeading/AccordionHeadingTitle.js +0 -7
  522. package/build/components/Accordion/AccordionHeading/index.d.ts +0 -4
  523. package/build/components/Accordion/AccordionHeading/index.js +0 -4
  524. package/build/components/List/ListHeading/ListHeading.d.ts +0 -6
  525. package/build/components/List/ListHeading/ListHeading.js +0 -20
  526. package/build/components/List/ListHeading/ListHeadingHelperText.d.ts +0 -6
  527. package/build/components/List/ListHeading/ListHeadingTitle.d.ts +0 -6
  528. package/build/components/List/ListHeading/ListHeadingTitle.js +0 -7
  529. package/build/components/List/ListHeading/index.d.ts +0 -4
  530. package/build/components/List/ListHeading/index.js +0 -4
  531. package/build/tokens/components/dark/footer.d.ts +0 -12
  532. package/build/tokens/components/dark/footer.js +0 -11
  533. package/build/tokens/components/dark/icon.d.ts +0 -15
  534. package/build/tokens/components/dark/icon.js +0 -14
  535. package/build/tokens/components/dark/text.d.ts +0 -11
  536. package/build/tokens/components/dark/text.js +0 -10
  537. package/build/tokens/components/light/footer.d.ts +0 -12
  538. package/build/tokens/components/light/footer.js +0 -11
  539. package/build/tokens/components/light/icon.d.ts +0 -15
  540. package/build/tokens/components/light/icon.js +0 -14
  541. package/build/tokens/components/light/text.d.ts +0 -11
  542. package/build/tokens/components/light/text.js +0 -10
  543. package/src/components/Accordion/AccordionHeading/AccordionHeading.props.ts +0 -19
  544. package/src/components/Accordion/AccordionHeading/AccordionHeading.tsx +0 -38
  545. package/src/components/Accordion/AccordionHeading/AccordionHeadingHelperText.tsx +0 -22
  546. package/src/components/Accordion/AccordionHeading/AccordionHeadingTextContent.tsx +0 -21
  547. package/src/components/Accordion/AccordionHeading/AccordionHeadingTitle.tsx +0 -14
  548. package/src/components/Accordion/AccordionHeading/index.ts +0 -4
  549. package/src/components/List/ListHeading/ListHeadingHelperText.tsx +0 -21
  550. package/src/components/List/ListHeading/ListHeadingTitle.tsx +0 -14
  551. package/src/components/List/ListHeading/index.ts +0 -4
  552. package/src/tokens/components/dark/icon.ts +0 -15
  553. package/src/tokens/components/dark/text.ts +0 -11
  554. package/src/tokens/components/light/icon.ts +0 -15
  555. package/src/tokens/components/light/text.ts +0 -11
  556. /package/build/components/{Accordion/AccordionHeading/AccordionHeading.props.js → Modal/Modal.props.js} +0 -0
  557. /package/build/components/{List/ListHeading/ListHeading.props.js → SectionHeader/SectionHeader.props.js} +0 -0
@@ -120,28 +120,35 @@ These colors represent the core brand identity and various services:
120
120
  ```tsx
121
121
  const styles = StyleSheet.create(theme => ({
122
122
  brandButton: {
123
- backgroundColor: theme.color.surface.brand.default.color,
124
- borderColor: theme.components.button.border.primary,
123
+ backgroundColor: theme.color.surface.brand.default,
124
+ borderColor: theme.color.border.strong,
125
125
  },
126
126
  energyCard: {
127
- backgroundColor: theme.color.surface.energy.default.color,
127
+ backgroundColor: theme.color.surface.energy.default,
128
128
  color: theme.color.text.inverted,
129
129
  },
130
130
  broadbandAccent: {
131
- backgroundColor: theme.color.surface.broadband.subtle.color,
131
+ backgroundColor: theme.color.surface.broadband.subtle,
132
+ },
133
+ highlightElement: {
134
+ backgroundColor: theme.color.surface.highlight.default,
135
+ },
136
+ neutralSurface: {
137
+ backgroundColor: theme.color.surface.neutral.subtle,
132
138
  },
133
139
  }));
134
140
  ```
135
141
 
136
142
  Available brand and service colors:
137
143
 
138
- - **Brand**: `purple` - Primary brand color
139
- - **Energy**: `energyBlue` - Energy service
140
- - **Broadband**: `broadbandGreen` - Broadband service
141
- - **Mobile**: `mobileRose` - Mobile service
142
- - **Insurance**: `insuranceOrange` - Insurance service
143
- - **Cashback**: `cashbackLilac` - Cashback service
144
- - **Pig**: `piggyPink` - Savings/Piggy service
144
+ - **Brand**: `brand` - Primary brand color (purple)
145
+ - **Energy**: `energy` - Energy service (blue)
146
+ - **Broadband**: `broadband` - Broadband service (green)
147
+ - **Mobile**: `mobile` - Mobile service (rose/pink)
148
+ - **Insurance**: `insurance` - Insurance service (orange)
149
+ - **Cashback**: `cashback` - Cashback service (lilac)
150
+ - **Pig**: `pig` - Savings/Piggy service (pink)
151
+ - **Highlight**: `highlight` - Attention/highlight color (yellow)
145
152
 
146
153
  ### Semantic Colors
147
154
 
@@ -184,16 +191,24 @@ const styles = StyleSheet.create(theme => ({
184
191
  ```tsx
185
192
  const styles = StyleSheet.create(theme => ({
186
193
  primaryButton: {
187
- backgroundColor: theme.color.interactive.brand.surface.strong.defaultColor,
188
- color: theme.color.interactive.brand.foreground.strong.color,
194
+ backgroundColor: theme.color.interactive.brand.surface.strong.default,
195
+ color: theme.color.interactive.brand.foreground.strong,
189
196
  },
190
197
  destructiveButton: {
191
- backgroundColor: theme.color.interactive.destructive.surface.strong.defaultColor,
192
- color: theme.color.interactive.destructive.foreground.strong.color,
198
+ backgroundColor: theme.color.interactive.destructive.surface.strong.default,
199
+ color: theme.color.interactive.destructive.foreground.strong,
193
200
  },
194
201
  affirmativeButton: {
195
- backgroundColor: theme.color.interactive.affirmative.surface.strong.defaultColor,
196
- color: theme.color.interactive.affirmative.foreground.strong.color,
202
+ backgroundColor: theme.color.interactive.affirmative.surface.strong.default,
203
+ color: theme.color.interactive.affirmative.foreground.strong,
204
+ },
205
+ functionalButton: {
206
+ backgroundColor: theme.color.interactive.functional.surface.strong.default,
207
+ color: theme.color.interactive.functional.foreground.strong,
208
+ },
209
+ highlightButton: {
210
+ backgroundColor: theme.color.interactive.highlight.surface.strong.default,
211
+ color: theme.color.interactive.highlight.foreground.strong,
197
212
  },
198
213
  }));
199
214
  ```
@@ -203,21 +218,29 @@ const styles = StyleSheet.create(theme => ({
203
218
  ```tsx
204
219
  const styles = StyleSheet.create(theme => ({
205
220
  errorMessage: {
206
- backgroundColor: theme.color.feedback.danger.subtle.color,
207
- color: theme.color.feedback.danger.default.color,
208
- borderColor: theme.color.feedback.danger.default.color,
221
+ backgroundColor: theme.color.feedback.danger.surface.subtle,
222
+ color: theme.color.feedback.danger.foreground.subtle,
223
+ borderColor: theme.color.feedback.danger.border,
209
224
  },
210
225
  successMessage: {
211
- backgroundColor: theme.color.feedback.positive.subtle.color,
212
- color: theme.color.feedback.positive.default.color,
226
+ backgroundColor: theme.color.feedback.positive.surface.subtle,
227
+ color: theme.color.feedback.positive.foreground.subtle,
228
+ borderColor: theme.color.feedback.positive.border,
213
229
  },
214
230
  warningMessage: {
215
- backgroundColor: theme.color.feedback.warning.subtle.color,
216
- color: theme.color.feedback.warning.default.color,
231
+ backgroundColor: theme.color.feedback.warning.surface.subtle,
232
+ color: theme.color.feedback.warning.foreground.subtle,
233
+ borderColor: theme.color.feedback.warning.border,
217
234
  },
218
235
  infoMessage: {
219
- backgroundColor: theme.color.feedback.info.subtle.color,
220
- color: theme.color.feedback.info.default.color,
236
+ backgroundColor: theme.color.feedback.info.surface.subtle,
237
+ color: theme.color.feedback.info.foreground.subtle,
238
+ borderColor: theme.color.feedback.info.border,
239
+ },
240
+ functionalMessage: {
241
+ backgroundColor: theme.color.feedback.functional.surface.subtle,
242
+ color: theme.color.feedback.functional.foreground.subtle,
243
+ borderColor: theme.color.feedback.functional.border,
221
244
  },
222
245
  }));
223
246
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilitywarehouse/hearth-react-native",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Utility Warehouse React Native UI library",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -21,45 +21,48 @@
21
21
  "@gluestack-ui/spinner": "0.1.14",
22
22
  "@gluestack-ui/switch": "0.1.22",
23
23
  "@gluestack-ui/textarea": "0.1.23",
24
- "@gorhom/bottom-sheet": "^5.1.6",
25
24
  "@utilitywarehouse/hearth-react-native-icons": "^0.1.0"
26
25
  },
27
26
  "devDependencies": {
28
27
  "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
29
- "@chromatic-com/storybook": "^4.0.1",
28
+ "@chromatic-com/storybook": "^4.1.1",
30
29
  "@figma/code-connect": "^1.3.3",
31
- "@storybook/addon-a11y": "^9.0.17",
32
- "@storybook/addon-docs": "^9.0.17",
33
- "@storybook/addon-vitest": "^9.0.17",
34
- "@storybook/react-native-web-vite": "^9.0.17",
35
- "@types/react": "^19.1.8",
30
+ "@gorhom/bottom-sheet": "5.1.6",
31
+ "@storybook/addon-a11y": "^9.1.3",
32
+ "@storybook/addon-docs": "^9.1.3",
33
+ "@storybook/addon-vitest": "^9.1.3",
34
+ "@storybook/react-native-web-vite": "^9.1.3",
35
+ "@types/prismjs": "^1.26.5",
36
+ "@types/react": "^19.1.10",
36
37
  "@vitest/browser": "^3.2.4",
37
38
  "@vitest/coverage-v8": "^3.2.4",
38
- "eslint-plugin-storybook": "9.0.17",
39
+ "eslint-plugin-storybook": "9.1.3",
39
40
  "playwright": "^1.53.1",
41
+ "prismjs": "^1.30.0",
40
42
  "react": "^19.1.0",
41
43
  "react-native": "0.80.0",
42
44
  "react-native-edge-to-edge": "1.6.1",
43
45
  "react-native-gesture-handler": "2.26.0",
44
- "react-native-nitro-modules": "^0.26.4",
45
- "react-native-reanimated": "3.18.0",
46
- "react-native-svg": "^15.12.0",
47
- "react-native-unistyles": "3.0.7",
46
+ "react-native-nitro-modules": "^0.28.0",
47
+ "react-native-reanimated": "3.19.1",
48
+ "react-native-svg": "^15.12.1",
49
+ "react-native-unistyles": "3.0.10",
48
50
  "react-native-web": "^0.20.0",
49
51
  "remark-gfm": "^4.0.1",
50
- "storybook": "^9.0.17",
52
+ "storybook": "^9.1.3",
51
53
  "typescript": "^5.7.3",
52
- "vite": "^6.3.5",
54
+ "vite": "^7.1.3",
53
55
  "vitest": "^3.2.4",
54
56
  "@utilitywarehouse/hearth-fonts": "^0.0.3",
55
57
  "@utilitywarehouse/hearth-react-icons": "^0.1.1",
56
- "@utilitywarehouse/hearth-tokens": "^0.0.7"
58
+ "@utilitywarehouse/hearth-tokens": "^0.0.8"
57
59
  },
58
60
  "peerDependencies": {
61
+ "@gorhom/bottom-sheet": "^5.0.0",
59
62
  "react": ">=17 || ^18.0.0 || ^19.0.0",
60
63
  "react-native": ">=0.77",
61
64
  "react-native-gesture-handler": "^2.22.0",
62
- "react-native-reanimated": "3.x",
65
+ "react-native-reanimated": "3.x || ^4.x",
63
66
  "react-native-svg": ">=13.4.0",
64
67
  "react-native-unistyles": ">=>3.0.0",
65
68
  "react-native-web": ">=0.19"
@@ -1,6 +1,4 @@
1
- import { Meta, Canvas, Story, Controls } from '@storybook/addon-docs/blocks';
2
- import * as Stories from './Accordion.stories';
3
- import { Center, BodyText, Alert, Box, Card, List, ListItem, Flex } from '../../';
1
+ import { Canvas, Controls, Meta, Story } from '@storybook/addon-docs/blocks';
4
2
  import {
5
3
  Accordion,
6
4
  AccordionContent,
@@ -12,7 +10,9 @@ import {
12
10
  AccordionTrigger,
13
11
  Badge,
14
12
  } from '../';
15
- import { ViewFigmaButton, BackToTopButton, UsageWrap } from '../../../docs/components';
13
+ import { Alert, BodyText, Box, Card, Center, Flex, List, ListItem } from '../../';
14
+ import { BackToTopButton, UsageWrap, ViewFigmaButton } from '../../../docs/components';
15
+ import * as Stories from './Accordion.stories';
16
16
 
17
17
  <Meta title="Components / Accordion" />
18
18
 
@@ -79,25 +79,18 @@ const MyComponent = () => {
79
79
 
80
80
  ## Props
81
81
 
82
- | Property | Type | Description | Default |
83
- | ------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
84
- | `defaultValue` | `Array<string>` | The default value of the accordion. | `-` |
85
- | `value` | `Array<string>` | The controlled value of the accordion. | `-` |
86
- | `onValueChange` | `(value: string[]) => void` | Callback function that is called when the value of the accordion changes. | `-` |
87
- | `type` | `'single' \| 'multiple'` | The type of accordion. If set to 'single', only one item can be expanded at a time. If set to 'multiple', multiple items can be expanded at the same time. | `'single'` |
88
- | `collapsible` | `boolean` | If true, the accordion can be collapsed. | `false` |
89
- | `disabled` | `boolean` | If true, the accordion is disabled. | `false` |
90
- | `noPadding` | `boolean` | If true, no horizontal padding is applied to the accordion items. | `false` |
91
- | `contentNoPadding` | `boolean` | If true, no horizontal padding is applied to the accordion content. | `false` |
92
- | `headingText` | `string` | The text to display in the heading of the list. | `-` |
93
- | `headingHelperText` | `string` | The supporting text to display in the heading of the list. | `-` |
94
-
95
- ### `AccordionHeading`
96
-
97
- | Name | Type | Description | Default |
98
- | ------------ | -------- | ---------------------------------------------------------- | ------- |
99
- | `text` | `string` | The text to display in the heading of the list. | `-` |
100
- | `helperText` | `string` | The supporting text to display in the heading of the list. | `-` |
82
+ | Property | Type | Description | Default |
83
+ | ------------------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
84
+ | `defaultValue` | `Array<string>` | The default value of the accordion. | `-` |
85
+ | `value` | `Array<string>` | The controlled value of the accordion. | `-` |
86
+ | `onValueChange` | `(value: string[]) => void` | Callback function that is called when the value of the accordion changes. | `-` |
87
+ | `type` | `'single' \| 'multiple'` | The type of accordion. If set to 'single', only one item can be expanded at a time. If set to 'multiple', multiple items can be expanded at the same time. | `'single'` |
88
+ | `collapsible` | `boolean` | If true, the accordion can be collapsed. | `false` |
89
+ | `disabled` | `boolean` | If true, the accordion is disabled. | `false` |
90
+ | `noPadding` | `boolean` | If true, no horizontal padding is applied to the accordion items. | `false` |
91
+ | `contentNoPadding` | `boolean` | If true, no horizontal padding is applied to the accordion content. | `false` |
92
+ | `heading` | `string` | The text to display in the heading of the list. | `-` |
93
+ | `helperText` | `string` | The helper text to display in the heading of the list. | `-` |
101
94
 
102
95
  ### `AccordionItem`
103
96
 
@@ -120,8 +113,8 @@ state of the items or when you want to customise the header and content.
120
113
  <Accordion
121
114
  type="multiple"
122
115
  defaultValue={['item-1']}
123
- headingText="Frequently Asked Questions"
124
- headingHelperText="Click to expand"
116
+ heading="Frequently Asked Questions"
117
+ helperText="Click to expand"
125
118
  >
126
119
  <AccordionItem title="How do I place an order?" value="item-1">
127
120
  <BodyText> Lorem ipsum dolor sit amet consectetur, adipisicing elit.</BodyText>
@@ -143,10 +136,8 @@ import {
143
136
  AccordionItem,
144
137
  AccordionTitleText,
145
138
  AccordionTrigger,
146
- AccordionHeading,
147
- AccordionHeadingText,
148
- AccordionHeadingHelperText,
149
- } from '@utilitywarehouse/native-ui/lab';
139
+ SectionHeader,
140
+ } from '@utilitywarehouse/native-ui';
150
141
  import {
151
142
  ChevronDownSmallIcon,
152
143
  ChevronUpSmallIcon,
@@ -155,12 +146,7 @@ import {
155
146
  const MyComponent = () => {
156
147
  return (
157
148
  <Accordion type="multiple" defaultValue={['item-1']}>
158
- <AccordionHeading>
159
- <AccordionHeadingTextContent>
160
- <AccordionHeadingText>Frequently Asked Questions</AccordionHeadingText>
161
- <AccordionHeadingHelperText>Click to expand</AccordionHeadingHelperText>
162
- </AccordionHeadingTextContent>
163
- </AccordionHeading>
149
+ <SectionHeader heading="Frequently Asked Questions" helperText="Click to expand" />
164
150
  <AccordionItem value="a">
165
151
  <AccordionHeader>
166
152
  <AccordionTrigger>
@@ -224,8 +210,8 @@ You can add a heading and helper text to the accordion to provide context for th
224
210
  <Accordion
225
211
  type="multiple"
226
212
  defaultValue={['item-1']}
227
- headingText="Frequently Asked Questions"
228
- headingHelperText="Click to expand"
213
+ heading="Frequently Asked Questions"
214
+ helperText="Click to expand"
229
215
  >
230
216
  <AccordionItem title="How do I place an order?" value="item-1">
231
217
  <BodyText> Lorem ipsum dolor sit amet consectetur, adipisicing elit.</BodyText>
@@ -249,8 +235,8 @@ const MyComponent = () => {
249
235
  <Accordion
250
236
  type="multiple"
251
237
  defaultValue={['item-1']}
252
- headingText="Frequently Asked Questions"
253
- headingHelperText="Click to expand"
238
+ heading="Frequently Asked Questions"
239
+ helperText="Click to expand"
254
240
  >
255
241
  <AccordionItem title="How do I place an order?" value="item-1">
256
242
  <BodyText> Lorem ipsum dolor sit amet consectetur, adipisicing elit.</BodyText>
@@ -38,6 +38,6 @@ export interface AccordionProps extends ViewProps {
38
38
  * @default false
39
39
  */
40
40
  contentNoPadding?: boolean;
41
- headingText?: string;
42
- headingHelperText?: string;
41
+ heading?: string;
42
+ helperText?: string;
43
43
  }
@@ -1,19 +1,19 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import {
3
+ ChevronDownSmallIcon,
4
+ ChevronUpSmallIcon,
5
+ } from '@utilitywarehouse/hearth-react-native-icons';
1
6
  import {
2
7
  Accordion,
3
- AccordionItem,
4
- AccordionHeader,
5
- AccordionTrigger,
6
- AccordionTitleText,
7
- AccordionIcon,
8
8
  AccordionContent,
9
9
  AccordionContentText,
10
+ AccordionHeader,
11
+ AccordionIcon,
12
+ AccordionItem,
13
+ AccordionTitleText,
14
+ AccordionTrigger,
10
15
  } from '.';
11
- import { Meta, StoryObj } from '@storybook/react-vite';
12
16
  import { BodyText } from '../../components';
13
- import {
14
- ChevronDownSmallIcon,
15
- ChevronUpSmallIcon,
16
- } from '@utilitywarehouse/hearth-react-native-icons';
17
17
 
18
18
  const meta = {
19
19
  title: 'Stories / Accordion',
@@ -1,20 +1,20 @@
1
- import { Children, isValidElement, useMemo } from 'react';
2
1
  import { createAccordion } from '@gluestack-ui/accordion';
3
- import AccordionRoot from './AccordionRoot';
4
- import AccordionContentTextComponent from './AccordionContentText';
5
- import AccordionIconComponent from './AccordionIcon';
2
+ import {
3
+ ChevronDownSmallIcon,
4
+ ChevronUpSmallIcon,
5
+ } from '@utilitywarehouse/hearth-react-native-icons';
6
+ import { Children, isValidElement, useMemo } from 'react';
7
+ import { SectionHeader } from '../SectionHeader';
8
+ import { AccordionProps } from './Accordion.props';
6
9
  import AccordionContentComponent from './AccordionContent';
10
+ import AccordionContentTextComponent from './AccordionContentText';
7
11
  import AccordionHeaderComponent from './AccordionHeader';
12
+ import AccordionIconComponent from './AccordionIcon';
13
+ import { AccordionItemProps } from './AccordionItem.props';
8
14
  import AccordionItemRoot from './AccordionItemRoot';
15
+ import AccordionRoot from './AccordionRoot';
9
16
  import AccordionTitleTextComponent from './AccordionTitleText';
10
17
  import AccordionTriggerComponent from './AccordionTrigger';
11
- import { AccordionProps } from './Accordion.props';
12
- import { AccordionItemProps } from './AccordionItem.props';
13
- import {
14
- ChevronDownSmallIcon,
15
- ChevronUpSmallIcon,
16
- } from '@utilitywarehouse/hearth-react-native-icons';
17
- import { AccordionHeading } from './AccordionHeading';
18
18
 
19
19
  const AccordionComponent = createAccordion({
20
20
  Root: AccordionRoot,
@@ -39,8 +39,8 @@ const Accordion = ({
39
39
  children,
40
40
  collapsible,
41
41
  type = 'multiple',
42
- headingText,
43
- headingHelperText,
42
+ heading,
43
+ helperText,
44
44
  ...props
45
45
  }: AccordionProps) => (
46
46
  <AccordionComponent
@@ -50,7 +50,7 @@ const Accordion = ({
50
50
  contentNoPadding={props.contentNoPadding}
51
51
  {...props}
52
52
  >
53
- {headingText ? <AccordionHeading text={headingText} helperText={headingHelperText} /> : null}
53
+ {heading ? <SectionHeader heading={heading} helperText={helperText} /> : null}
54
54
  {children}
55
55
  </AccordionComponent>
56
56
  );
@@ -2,8 +2,8 @@ import { Icon, IconProps } from '../../components/Icon';
2
2
  import { useTheme } from '../../hooks';
3
3
 
4
4
  const AccordionIcon = ({ as, ...props }: IconProps) => {
5
- const { components } = useTheme();
6
- return <Icon as={as} color={components.icon.color} {...props} />;
5
+ const { color } = useTheme();
6
+ return <Icon as={as} color={color.icon.primary} {...props} />;
7
7
  };
8
8
 
9
9
  AccordionIcon.displayName = 'AccordionIcon';
@@ -1,8 +1,8 @@
1
1
  import { useMemo } from 'react';
2
2
  import { View } from 'react-native';
3
- import { AccordionItemProps } from './AccordionItem.props';
4
- import AccordionItemContext from './AccordionItem.context';
5
3
  import { StyleSheet } from 'react-native-unistyles';
4
+ import AccordionItemContext from './AccordionItem.context';
5
+ import { AccordionItemProps } from './AccordionItem.props';
6
6
 
7
7
  const AccordionItem = ({ children, style, noPadding, disabled, ...props }: AccordionItemProps) => {
8
8
  const context = useMemo(() => ({ noPadding, disabled }), [noPadding, disabled]);
@@ -20,7 +20,7 @@ AccordionItem.displayName = 'AccordionItemRoot';
20
20
  const styles = StyleSheet.create(theme => ({
21
21
  item: {
22
22
  borderBottomWidth: theme.components.divider.borderWidth,
23
- borderBottomColor: theme.components.divider.color,
23
+ borderBottomColor: theme.color.border.subtle,
24
24
  },
25
25
  }));
26
26
 
@@ -1,7 +1,7 @@
1
1
  import { Pressable, PressableProps } from 'react-native';
2
+ import { StyleSheet } from 'react-native-unistyles';
2
3
  import { useAccordionContext } from './Accordion.context';
3
4
  import { useAccordionItemContext } from './AccordionItem.context';
4
- import { StyleSheet } from 'react-native-unistyles';
5
5
 
6
6
  const AccordionTrigger = ({
7
7
  states,
@@ -29,11 +29,11 @@ const styles = StyleSheet.create(theme => ({
29
29
  width: '100%',
30
30
  _web: {
31
31
  _hover: {
32
- backgroundColor: theme.components.accordion.item.backgroundColorHover,
32
+ backgroundColor: theme.color.interactive.neutral.surface.subtle.hover,
33
33
  },
34
34
  '_focus-visible': theme.helpers.focusVisible,
35
35
  _active: {
36
- backgroundColor: theme.components.accordion.item.backgroundColorActive,
36
+ backgroundColor: theme.color.interactive.neutral.surface.subtle.active,
37
37
  },
38
38
  },
39
39
  variants: {
@@ -44,7 +44,7 @@ const styles = StyleSheet.create(theme => ({
44
44
  },
45
45
  active: {
46
46
  true: {
47
- backgroundColor: theme.components.accordion.item.backgroundColorActive,
47
+ backgroundColor: theme.color.interactive.neutral.surface.subtle.active,
48
48
  },
49
49
  },
50
50
  },
@@ -1,11 +1,10 @@
1
1
  export {
2
2
  default as Accordion,
3
- AccordionItem,
4
- AccordionHeader,
5
- AccordionTrigger,
6
3
  AccordionContent,
7
4
  AccordionContentText,
5
+ AccordionHeader,
8
6
  AccordionIcon,
7
+ AccordionItem,
9
8
  AccordionTitleText,
9
+ AccordionTrigger,
10
10
  } from './Accordion';
11
- export * from './AccordionHeader';
@@ -1,18 +1,18 @@
1
- import { Meta, Primary, Controls, Story, Canvas } from '@storybook/addon-docs/blocks';
2
- import * as Stories from './Alert.stories';
1
+ import { Canvas, Controls, Meta, Primary, Story } from '@storybook/addon-docs/blocks';
3
2
  import {
4
3
  Alert,
5
- Center,
4
+ AlertCloseButton,
5
+ AlertContent,
6
6
  AlertIcon,
7
+ AlertIconButton,
8
+ AlertLink,
7
9
  AlertText,
8
10
  AlertTitle,
9
- AlertLink,
10
- AlertIconButton,
11
- AlertCloseButton,
12
- AlertContent,
11
+ Center,
13
12
  } from '../../';
13
+ import * as Stories from './Alert.stories';
14
14
 
15
- import { ViewFigmaButton, BackToTopButton, UsageWrap } from '../../../docs/components';
15
+ import { BackToTopButton, UsageWrap, ViewFigmaButton } from '../../../docs/components';
16
16
 
17
17
  <Meta title="Components / Alert" />
18
18
 
@@ -42,7 +42,7 @@ The Alert offers different colour schemes, the colour scheme is mapped to an ico
42
42
 
43
43
  <UsageWrap>
44
44
  <Alert
45
- colorScheme="blue"
45
+ colorScheme="info"
46
46
  title="Information"
47
47
  text="Unlock the power of knowledge with the following information."
48
48
  />
@@ -54,7 +54,7 @@ import { Alert } from '@utilitywarehouse/native-ui';
54
54
  const MyComponent = () => {
55
55
  return (
56
56
  <Alert
57
- colorScheme="blue"
57
+ colorScheme="info"
58
58
  title="Information"
59
59
  text="Unlock the power of knowledge with the following information."
60
60
  />
@@ -64,22 +64,22 @@ const MyComponent = () => {
64
64
 
65
65
  ## Props
66
66
 
67
- | Property | Type | Description | Default |
68
- | ------------------- | ---------------------------------------- | ----------------------------------------------------------------- | ------- |
69
- | `colorScheme` | `'blue' \| 'green' \| 'orange' \| 'red'` | The colour scheme of the alert. Mapped to an icon. | 'blue' |
70
- | `title` | `string` | The title of the alert. | |
71
- | `text` | `string` | The text of the alert. | |
72
- | `link` | `string` | The text of the link. | |
73
- | `linkTestID` | `string` | The testID of the link. | |
74
- | `iconButtonTestID` | `string` | The testID of the icon button. | |
75
- | `onPress` | `() => void` | A callback function to be called when the alert is tapped. | |
76
- | `onPressLink` | `() => void` | A callback function to be called when the link is tapped. | |
77
- | `onPressIconButton` | `() => void` | A callback function to be called when the icon button is tapped. | |
78
- | `onClose` | `() => void` | A callback function to be called when the close button is tapped. | |
67
+ | Property | Type | Description | Default |
68
+ | ------------------- | ----------------------------------------------- | ----------------------------------------------------------------- | ------- |
69
+ | `colorScheme` | `'info' \| 'positive' \| 'warning' \| 'danger'` | The colour scheme of the alert. Mapped to an icon. | 'info' |
70
+ | `title` | `string` | The title of the alert. | |
71
+ | `text` | `string` | The text of the alert. | |
72
+ | `link` | `string` | The text of the link. | |
73
+ | `linkTestID` | `string` | The testID of the link. | |
74
+ | `iconButtonTestID` | `string` | The testID of the icon button. | |
75
+ | `onPress` | `() => void` | A callback function to be called when the alert is tapped. | |
76
+ | `onPressLink` | `() => void` | A callback function to be called when the link is tapped. | |
77
+ | `onPressIconButton` | `() => void` | A callback function to be called when the icon button is tapped. | |
78
+ | `onClose` | `() => void` | A callback function to be called when the close button is tapped. | |
79
79
 
80
80
  ## Variants
81
81
 
82
- The `Alert` component has four colour schemes: blue, green, orange and red. Each colour scheme is mapped to an icon.
82
+ The `Alert` component has four colour schemes: info, positive, warning and danger. Each colour scheme is mapped to an icon.
83
83
 
84
84
  <Canvas of={Stories.Variants} />
85
85
 
@@ -88,7 +88,7 @@ The `Alert` component has four colour schemes: blue, green, orange and red. Each
88
88
  If you need to use the Alert component in a more advanced way, you can use the parts of the component directly.
89
89
 
90
90
  <UsageWrap>
91
- <Alert colorScheme="blue">
91
+ <Alert colorScheme="info">
92
92
  <AlertIcon />
93
93
  <AlertContent>
94
94
  <AlertTitle>Information</AlertTitle>
@@ -116,7 +116,7 @@ import { InfoMediumIcon } from '@utilitywarehouse/hearth-react-native-icons';
116
116
 
117
117
  const MyComponent = () => {
118
118
  return (
119
- <Alert colorScheme="blue">
119
+ <Alert colorScheme="info">
120
120
  <AlertIcon as={InfoMediumIcon} />
121
121
  <AlertContent>
122
122
  <AlertTitle>Information</AlertTitle>
@@ -31,10 +31,10 @@ interface AlertWithoutChildrenProps extends PressableProps {
31
31
 
32
32
  /**
33
33
  * The color scheme of the alert.
34
- * Possible values: 'blue', 'green', 'orange', 'red'.
35
- * @default 'blue'
34
+ * Possible values: 'info', 'positive', 'warning', 'danger'.
35
+ * @default 'info'
36
36
  */
37
- colorScheme?: 'blue' | 'green' | 'orange' | 'red';
37
+ colorScheme?: 'info' | 'positive' | 'warning' | 'danger';
38
38
 
39
39
  /**
40
40
  * Callback function for when the icon button is pressed.