@utilitywarehouse/hearth-react-native 0.3.0 → 0.4.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 (313) hide show
  1. package/.storybook/preview.tsx +3 -0
  2. package/.turbo/turbo-build.log +1 -1
  3. package/.turbo/turbo-lint.log +3 -1
  4. package/CHANGELOG.md +22 -0
  5. package/build/components/Alert/AlertCloseButton.js +25 -3
  6. package/build/components/Alert/AlertIcon.js +17 -1
  7. package/build/components/Alert/AlertIconButton.js +27 -1
  8. package/build/components/Alert/AlertLink.js +47 -1
  9. package/build/components/Alert/AlertText.d.ts +1 -1
  10. package/build/components/Alert/AlertText.js +26 -2
  11. package/build/components/Alert/AlertTitle.d.ts +1 -1
  12. package/build/components/Alert/AlertTitle.js +26 -2
  13. package/build/components/Badge/BadgeIcon.js +72 -0
  14. package/build/components/Badge/BadgeText.js +72 -0
  15. package/build/components/Button/ButtonRoot.js +1 -0
  16. package/build/components/Checkbox/Checkbox.d.ts +2 -2
  17. package/build/components/Checkbox/Checkbox.js +11 -10
  18. package/build/components/Checkbox/Checkbox.props.d.ts +3 -1
  19. package/build/components/Checkbox/CheckboxIcon.js +1 -1
  20. package/build/components/Checkbox/CheckboxImage.d.ts +6 -0
  21. package/build/components/Checkbox/CheckboxImage.js +5 -0
  22. package/build/components/Checkbox/CheckboxTileRoot.js +1 -1
  23. package/build/components/Checkbox/index.d.ts +3 -2
  24. package/build/components/Checkbox/index.js +2 -1
  25. package/build/components/CurrencyInput/CurrencyInput.js +1 -1
  26. package/build/components/DatePicker/DatePicker.context.d.ts +19 -0
  27. package/build/components/DatePicker/DatePicker.context.js +3 -0
  28. package/build/components/DatePicker/DatePicker.d.ts +19 -0
  29. package/build/components/DatePicker/DatePicker.js +479 -0
  30. package/build/components/DatePicker/DatePicker.props.d.ts +125 -0
  31. package/build/components/DatePicker/DatePicker.props.js +1 -0
  32. package/build/components/DatePicker/DatePickerCalendar.d.ts +2 -0
  33. package/build/components/DatePicker/DatePickerCalendar.js +28 -0
  34. package/build/components/DatePicker/DatePickerDay.d.ts +11 -0
  35. package/build/components/DatePicker/DatePickerDay.js +242 -0
  36. package/build/components/DatePicker/DatePickerDays.d.ts +2 -0
  37. package/build/components/DatePicker/DatePickerDays.js +157 -0
  38. package/build/components/DatePicker/DatePickerFooter.d.ts +2 -0
  39. package/build/components/DatePicker/DatePickerFooter.js +23 -0
  40. package/build/components/DatePicker/DatePickerHeader/DatePickerHeader.props.d.ts +8 -0
  41. package/build/components/DatePicker/DatePickerHeader/DatePickerHeader.props.js +1 -0
  42. package/build/components/DatePicker/DatePickerHeader/DatePickerMonthButton.d.ts +2 -0
  43. package/build/components/DatePicker/DatePickerHeader/DatePickerMonthButton.js +14 -0
  44. package/build/components/DatePicker/DatePickerHeader/DatePickerNextButton.d.ts +2 -0
  45. package/build/components/DatePicker/DatePickerHeader/DatePickerNextButton.js +32 -0
  46. package/build/components/DatePicker/DatePickerHeader/DatePickerPrevButton.d.ts +2 -0
  47. package/build/components/DatePicker/DatePickerHeader/DatePickerPrevButton.js +32 -0
  48. package/build/components/DatePicker/DatePickerHeader/DatePickerSelectors.d.ts +6 -0
  49. package/build/components/DatePicker/DatePickerHeader/DatePickerSelectors.js +64 -0
  50. package/build/components/DatePicker/DatePickerHeader/DatePickerTimeButton.d.ts +1 -0
  51. package/build/components/DatePicker/DatePickerHeader/DatePickerTimeButton.js +22 -0
  52. package/build/components/DatePicker/DatePickerHeader/DatePickerYearButton.d.ts +2 -0
  53. package/build/components/DatePicker/DatePickerHeader/DatePickerYearButton.js +25 -0
  54. package/build/components/DatePicker/DatePickerHeader/index.d.ts +3 -0
  55. package/build/components/DatePicker/DatePickerHeader/index.js +30 -0
  56. package/build/components/DatePicker/DatePickerMonths.d.ts +2 -0
  57. package/build/components/DatePicker/DatePickerMonths.js +69 -0
  58. package/build/components/DatePicker/DatePickerWeekdays.d.ts +8 -0
  59. package/build/components/DatePicker/DatePickerWeekdays.js +26 -0
  60. package/build/components/DatePicker/DatePickerYears.d.ts +2 -0
  61. package/build/components/DatePicker/DatePickerYears.js +83 -0
  62. package/build/components/DatePicker/TimePicker.d.ts +3 -0
  63. package/build/components/DatePicker/TimePicker.js +84 -0
  64. package/build/components/DatePicker/enums.d.ts +12 -0
  65. package/build/components/DatePicker/enums.js +12 -0
  66. package/build/components/DatePicker/index.d.ts +4 -0
  67. package/build/components/DatePicker/index.js +3 -0
  68. package/build/components/DatePicker/polyfill.d.ts +0 -0
  69. package/build/components/DatePicker/polyfill.js +22 -0
  70. package/build/components/DatePicker/time-picker/animated-math.d.ts +4 -0
  71. package/build/components/DatePicker/time-picker/animated-math.js +19 -0
  72. package/build/components/DatePicker/time-picker/period-native.d.ts +6 -0
  73. package/build/components/DatePicker/time-picker/period-native.js +17 -0
  74. package/build/components/DatePicker/time-picker/period-picker.d.ts +6 -0
  75. package/build/components/DatePicker/time-picker/period-picker.js +10 -0
  76. package/build/components/DatePicker/time-picker/period-web.d.ts +6 -0
  77. package/build/components/DatePicker/time-picker/period-web.js +21 -0
  78. package/build/components/DatePicker/time-picker/wheel-native.d.ts +8 -0
  79. package/build/components/DatePicker/time-picker/wheel-native.js +19 -0
  80. package/build/components/DatePicker/time-picker/wheel-picker/index.d.ts +2 -0
  81. package/build/components/DatePicker/time-picker/wheel-picker/index.js +2 -0
  82. package/build/components/DatePicker/time-picker/wheel-picker/wheel-picker-item.d.ts +16 -0
  83. package/build/components/DatePicker/time-picker/wheel-picker/wheel-picker-item.js +97 -0
  84. package/build/components/DatePicker/time-picker/wheel-picker/wheel-picker.d.ts +21 -0
  85. package/build/components/DatePicker/time-picker/wheel-picker/wheel-picker.js +88 -0
  86. package/build/components/DatePicker/time-picker/wheel-picker/wheel-picker.style.d.ts +23 -0
  87. package/build/components/DatePicker/time-picker/wheel-picker/wheel-picker.style.js +21 -0
  88. package/build/components/DatePicker/time-picker/wheel-web.d.ts +8 -0
  89. package/build/components/DatePicker/time-picker/wheel-web.js +148 -0
  90. package/build/components/DatePicker/time-picker/wheel.d.ts +8 -0
  91. package/build/components/DatePicker/time-picker/wheel.js +10 -0
  92. package/build/components/DatePicker/utils.d.ts +212 -0
  93. package/build/components/DatePicker/utils.js +391 -0
  94. package/build/components/DatePickerInput/DatePickerInput.d.ts +6 -0
  95. package/build/components/DatePickerInput/DatePickerInput.js +126 -0
  96. package/build/components/DatePickerInput/DatePickerInput.props.d.ts +47 -0
  97. package/build/components/DatePickerInput/DatePickerInput.props.js +1 -0
  98. package/build/components/DatePickerInput/DatePickerInputDoneButton.d.ts +8 -0
  99. package/build/components/DatePickerInput/DatePickerInputDoneButton.js +19 -0
  100. package/build/components/DatePickerInput/DatePickerInputDoneButton.web.d.ts +5 -0
  101. package/build/components/DatePickerInput/DatePickerInputDoneButton.web.js +5 -0
  102. package/build/components/DatePickerInput/index.d.ts +2 -0
  103. package/build/components/DatePickerInput/index.js +1 -0
  104. package/build/components/Input/InputField.d.ts +1 -1
  105. package/build/components/Input/InputField.js +1 -1
  106. package/build/components/Input/InputSlot.d.ts +1 -1
  107. package/build/components/Input/InputSlot.js +3 -3
  108. package/build/components/Link/Link.d.ts +1 -1
  109. package/build/components/Link/Link.js +4 -4
  110. package/build/components/Link/Link.props.d.ts +3 -0
  111. package/build/components/Radio/Radio.d.ts +2 -2
  112. package/build/components/Radio/Radio.js +9 -8
  113. package/build/components/Radio/Radio.props.d.ts +3 -1
  114. package/build/components/Radio/RadioImage.d.ts +6 -0
  115. package/build/components/Radio/RadioImage.js +5 -0
  116. package/build/components/Radio/RadioTileRoot.js +1 -1
  117. package/build/components/Radio/index.d.ts +3 -2
  118. package/build/components/Radio/index.js +2 -1
  119. package/build/components/Select/SelectOption.js +1 -7
  120. package/build/components/UnstyledIconButton/UnstyledIconButton.d.ts +1 -1
  121. package/build/components/UnstyledIconButton/UnstyledIconButton.js +5 -5
  122. package/build/components/UnstyledIconButton/UnstyledIconButton.props.d.ts +2 -1
  123. package/build/components/UnstyledIconButton/UnstyledIconButtonRoot.js +1 -1
  124. package/build/components/index.d.ts +2 -0
  125. package/build/components/index.js +2 -0
  126. package/build/core/themes.d.ts +12 -12
  127. package/build/hooks/index.d.ts +4 -3
  128. package/build/hooks/index.js +4 -3
  129. package/build/hooks/usePrevious.d.ts +1 -0
  130. package/build/hooks/usePrevious.js +8 -0
  131. package/build/hooks/useTheme.d.ts +2 -1
  132. package/build/hooks/useTheme.js +2 -2
  133. package/build/tokens/color.d.ts +12 -12
  134. package/build/tokens/color.js +6 -6
  135. package/build/tokens/components/dark/alert.d.ts +13 -0
  136. package/build/tokens/components/dark/alert.js +13 -0
  137. package/build/tokens/components/dark/checkbox.d.ts +3 -0
  138. package/build/tokens/components/dark/checkbox.js +3 -0
  139. package/build/tokens/components/dark/date-picker.d.ts +1 -0
  140. package/build/tokens/components/dark/date-picker.js +1 -0
  141. package/build/tokens/components/dark/icon-button.d.ts +7 -0
  142. package/build/tokens/components/dark/icon-button.js +7 -0
  143. package/build/tokens/components/dark/illustrations.d.ts +7 -0
  144. package/build/tokens/components/dark/illustrations.js +6 -0
  145. package/build/tokens/components/dark/index.d.ts +2 -0
  146. package/build/tokens/components/dark/index.js +2 -0
  147. package/build/tokens/components/dark/link.d.ts +5 -0
  148. package/build/tokens/components/dark/link.js +5 -0
  149. package/build/tokens/components/dark/progress-bar.d.ts +41 -0
  150. package/build/tokens/components/dark/progress-bar.js +40 -0
  151. package/build/tokens/components/dark/segmented-control.d.ts +2 -2
  152. package/build/tokens/components/dark/segmented-control.js +2 -2
  153. package/build/tokens/components/dark/table.d.ts +3 -0
  154. package/build/tokens/components/dark/table.js +3 -0
  155. package/build/tokens/components/light/alert.d.ts +13 -0
  156. package/build/tokens/components/light/alert.js +13 -0
  157. package/build/tokens/components/light/checkbox.d.ts +3 -0
  158. package/build/tokens/components/light/checkbox.js +3 -0
  159. package/build/tokens/components/light/date-picker.d.ts +1 -0
  160. package/build/tokens/components/light/date-picker.js +1 -0
  161. package/build/tokens/components/light/icon-button.d.ts +7 -0
  162. package/build/tokens/components/light/icon-button.js +7 -0
  163. package/build/tokens/components/light/illustrations.d.ts +7 -0
  164. package/build/tokens/components/light/illustrations.js +6 -0
  165. package/build/tokens/components/light/index.d.ts +2 -0
  166. package/build/tokens/components/light/index.js +2 -0
  167. package/build/tokens/components/light/link.d.ts +5 -0
  168. package/build/tokens/components/light/link.js +5 -0
  169. package/build/tokens/components/light/progress-bar.d.ts +41 -0
  170. package/build/tokens/components/light/progress-bar.js +40 -0
  171. package/build/tokens/components/light/segmented-control.d.ts +2 -2
  172. package/build/tokens/components/light/segmented-control.js +2 -2
  173. package/build/tokens/components/light/table.d.ts +3 -0
  174. package/build/tokens/components/light/table.js +3 -0
  175. package/build/tokens/index.d.ts +1 -0
  176. package/build/tokens/index.js +1 -0
  177. package/build/tokens/motion.d.ts +23 -0
  178. package/build/tokens/motion.js +22 -0
  179. package/build/tokens/primitive.d.ts +19 -0
  180. package/build/tokens/primitive.js +19 -0
  181. package/build/tokens/semantic-dark.d.ts +5 -5
  182. package/build/tokens/semantic-dark.js +5 -5
  183. package/build/tokens/semantic-light.d.ts +1 -1
  184. package/build/tokens/semantic-light.js +1 -1
  185. package/build/utils/index.d.ts +1 -0
  186. package/build/utils/index.js +1 -0
  187. package/build/utils/isEqual.d.ts +2 -0
  188. package/build/utils/isEqual.js +29 -0
  189. package/chromatic.config.json +6 -0
  190. package/docs/assets/bank-logo.png +0 -0
  191. package/docs/assets/bank-logo1.png +0 -0
  192. package/docs/components/AllComponents.web.tsx +43 -1
  193. package/docs/components/ViewWrap.tsx +32 -0
  194. package/docs/components/index.ts +7 -7
  195. package/docs/getting-started.mdx +6 -6
  196. package/docs/introduction.mdx +3 -3
  197. package/package.json +16 -12
  198. package/src/components/Alert/AlertCloseButton.tsx +33 -5
  199. package/src/components/Alert/AlertIcon.tsx +17 -1
  200. package/src/components/Alert/AlertIconButton.tsx +37 -4
  201. package/src/components/Alert/AlertLink.tsx +52 -1
  202. package/src/components/Alert/AlertText.tsx +28 -3
  203. package/src/components/Alert/AlertTitle.tsx +28 -3
  204. package/src/components/Badge/BadgeIcon.tsx +72 -0
  205. package/src/components/Badge/BadgeText.tsx +72 -0
  206. package/src/components/Button/ButtonRoot.tsx +1 -0
  207. package/src/components/Checkbox/Checkbox.docs.mdx +45 -7
  208. package/src/components/Checkbox/Checkbox.props.ts +3 -1
  209. package/src/components/Checkbox/Checkbox.stories.tsx +37 -1
  210. package/src/components/Checkbox/Checkbox.tsx +12 -9
  211. package/src/components/Checkbox/CheckboxIcon.tsx +1 -1
  212. package/src/components/Checkbox/CheckboxImage.tsx +9 -0
  213. package/src/components/Checkbox/CheckboxTileRoot.tsx +1 -1
  214. package/src/components/Checkbox/index.ts +3 -2
  215. package/src/components/CurrencyInput/CurrencyInput.tsx +2 -1
  216. package/src/components/DatePicker/DatePicker.context.ts +23 -0
  217. package/src/components/DatePicker/DatePicker.docs.mdx +239 -0
  218. package/src/components/DatePicker/DatePicker.props.ts +139 -0
  219. package/src/components/DatePicker/DatePicker.stories.tsx +98 -0
  220. package/src/components/DatePicker/DatePicker.tsx +669 -0
  221. package/src/components/DatePicker/DatePickerCalendar.tsx +41 -0
  222. package/src/components/DatePicker/DatePickerDay.tsx +302 -0
  223. package/src/components/DatePicker/DatePickerDays.tsx +241 -0
  224. package/src/components/DatePicker/DatePickerFooter.tsx +35 -0
  225. package/src/components/DatePicker/DatePickerHeader/DatePickerHeader.props.ts +10 -0
  226. package/src/components/DatePicker/DatePickerHeader/DatePickerMonthButton.tsx +29 -0
  227. package/src/components/DatePicker/DatePickerHeader/DatePickerNextButton.tsx +46 -0
  228. package/src/components/DatePicker/DatePickerHeader/DatePickerPrevButton.tsx +46 -0
  229. package/src/components/DatePicker/DatePickerHeader/DatePickerSelectors.tsx +96 -0
  230. package/src/components/DatePicker/DatePickerHeader/DatePickerTimeButton.tsx +48 -0
  231. package/src/components/DatePicker/DatePickerHeader/DatePickerYearButton.tsx +50 -0
  232. package/src/components/DatePicker/DatePickerHeader/index.tsx +64 -0
  233. package/src/components/DatePicker/DatePickerMonths.tsx +101 -0
  234. package/src/components/DatePicker/DatePickerWeekdays.tsx +49 -0
  235. package/src/components/DatePicker/DatePickerYears.tsx +119 -0
  236. package/src/components/DatePicker/TimePicker.tsx +141 -0
  237. package/src/components/DatePicker/enums.ts +14 -0
  238. package/src/components/DatePicker/index.ts +13 -0
  239. package/src/components/DatePicker/polyfill.ts +21 -0
  240. package/src/components/DatePicker/time-picker/animated-math.ts +33 -0
  241. package/src/components/DatePicker/time-picker/period-native.tsx +34 -0
  242. package/src/components/DatePicker/time-picker/period-picker.tsx +16 -0
  243. package/src/components/DatePicker/time-picker/period-web.tsx +36 -0
  244. package/src/components/DatePicker/time-picker/wheel-native.tsx +37 -0
  245. package/src/components/DatePicker/time-picker/wheel-picker/index.ts +3 -0
  246. package/src/components/DatePicker/time-picker/wheel-picker/wheel-picker-item.tsx +132 -0
  247. package/src/components/DatePicker/time-picker/wheel-picker/wheel-picker.style.ts +22 -0
  248. package/src/components/DatePicker/time-picker/wheel-picker/wheel-picker.tsx +200 -0
  249. package/src/components/DatePicker/time-picker/wheel-web.tsx +181 -0
  250. package/src/components/DatePicker/time-picker/wheel.tsx +18 -0
  251. package/src/components/DatePicker/utils.ts +549 -0
  252. package/src/components/DatePickerInput/DatePickerInput.docs.mdx +237 -0
  253. package/src/components/DatePickerInput/DatePickerInput.props.ts +50 -0
  254. package/src/components/DatePickerInput/DatePickerInput.stories.tsx +178 -0
  255. package/src/components/DatePickerInput/DatePickerInput.tsx +265 -0
  256. package/src/components/DatePickerInput/DatePickerInputDoneButton.tsx +42 -0
  257. package/src/components/DatePickerInput/DatePickerInputDoneButton.web.tsx +7 -0
  258. package/src/components/DatePickerInput/index.ts +2 -0
  259. package/src/components/Icon/Icon.stories.tsx +4 -3
  260. package/src/components/IconContainer/IconContainer.docs.mdx +4 -4
  261. package/src/components/Input/InputField.tsx +0 -2
  262. package/src/components/Input/InputSlot.tsx +14 -3
  263. package/src/components/Link/Link.props.ts +3 -0
  264. package/src/components/Link/Link.tsx +12 -6
  265. package/src/components/List/List.docs.mdx +24 -23
  266. package/src/components/Modal/Modal.stories.tsx +2 -30
  267. package/src/components/Radio/Radio.docs.mdx +96 -124
  268. package/src/components/Radio/Radio.props.ts +3 -1
  269. package/src/components/Radio/Radio.stories.tsx +47 -0
  270. package/src/components/Radio/Radio.tsx +10 -7
  271. package/src/components/Radio/RadioImage.tsx +9 -0
  272. package/src/components/Radio/RadioTileRoot.tsx +1 -1
  273. package/src/components/Radio/index.ts +3 -2
  274. package/src/components/Select/Select.docs.mdx +6 -6
  275. package/src/components/Select/Select.stories.tsx +7 -7
  276. package/src/components/Select/SelectOption.tsx +4 -10
  277. package/src/components/UnstyledIconButton/UnstyledIconButton.props.ts +2 -1
  278. package/src/components/UnstyledIconButton/UnstyledIconButton.tsx +23 -5
  279. package/src/components/UnstyledIconButton/UnstyledIconButtonRoot.tsx +7 -3
  280. package/src/components/index.ts +2 -0
  281. package/src/hooks/index.ts +4 -3
  282. package/src/hooks/usePrevious.ts +9 -0
  283. package/src/hooks/useTheme.ts +4 -3
  284. package/src/tokens/color.ts +6 -6
  285. package/src/tokens/components/dark/alert.ts +13 -0
  286. package/src/tokens/components/dark/checkbox.ts +3 -0
  287. package/src/tokens/components/dark/date-picker.ts +1 -0
  288. package/src/tokens/components/dark/icon-button.ts +7 -0
  289. package/src/tokens/components/dark/illustrations.ts +7 -0
  290. package/src/tokens/components/dark/index.ts +2 -0
  291. package/src/tokens/components/dark/link.ts +5 -0
  292. package/src/tokens/components/dark/progress-bar.ts +41 -0
  293. package/src/tokens/components/dark/segmented-control.ts +2 -2
  294. package/src/tokens/components/dark/table.ts +3 -0
  295. package/src/tokens/components/light/alert.ts +13 -0
  296. package/src/tokens/components/light/checkbox.ts +3 -0
  297. package/src/tokens/components/light/date-picker.ts +1 -0
  298. package/src/tokens/components/light/icon-button.ts +7 -0
  299. package/src/tokens/components/light/illustrations.ts +7 -0
  300. package/src/tokens/components/light/index.ts +2 -0
  301. package/src/tokens/components/light/link.ts +5 -0
  302. package/src/tokens/components/light/progress-bar.ts +41 -0
  303. package/src/tokens/components/light/segmented-control.ts +2 -2
  304. package/src/tokens/components/light/table.ts +3 -0
  305. package/src/tokens/index.ts +1 -0
  306. package/src/tokens/motion.ts +23 -0
  307. package/src/tokens/primitive.ts +19 -0
  308. package/src/tokens/semantic-dark.ts +5 -5
  309. package/src/tokens/semantic-light.ts +1 -1
  310. package/src/utils/index.ts +1 -0
  311. package/src/utils/isEqual.ts +30 -0
  312. package/docs/assets/react-native-pig.png +0 -0
  313. package/docs/components/AdvancedRadioExample.tsx +0 -126
@@ -1,8 +1,9 @@
1
- import { UnistylesRuntime } from 'react-native-unistyles';
1
+ import { useUnistyles } from 'react-native-unistyles';
2
+ import { AppThemes } from '../types';
2
3
 
3
4
  const useTheme = () => {
4
- const theme = UnistylesRuntime.getTheme();
5
- return theme;
5
+ const { theme } = useUnistyles();
6
+ return theme as AppThemes['light'] | AppThemes['dark'];
6
7
  };
7
8
 
8
9
  export default useTheme;
@@ -473,13 +473,13 @@ export const light = {
473
473
  brand: '#7a42c8',
474
474
  inverted: '#fcfbf2',
475
475
  primary: '#101010',
476
- secondary: '#888888',
476
+ secondary: '#5b5b5b',
477
477
  },
478
478
  } as const;
479
479
 
480
480
  export const dark = {
481
481
  background: {
482
- brand: '#996cda',
482
+ brand: '#7a42c8',
483
483
  primary: '#191917',
484
484
  secondary: '#232323',
485
485
  },
@@ -555,7 +555,7 @@ export const dark = {
555
555
  interactive: {
556
556
  affirmative: {
557
557
  border: {
558
- strong: '#ebebeb',
558
+ strong: '#101010',
559
559
  subtle: '#58ca93',
560
560
  },
561
561
  foreground: {
@@ -591,7 +591,7 @@ export const dark = {
591
591
  },
592
592
  destructive: {
593
593
  border: {
594
- strong: '#ebebeb',
594
+ strong: '#101010',
595
595
  subtle: '#ff7964',
596
596
  },
597
597
  foreground: {
@@ -639,7 +639,7 @@ export const dark = {
639
639
  },
640
640
  highlight: {
641
641
  border: {
642
- strong: '#f7f7f7',
642
+ strong: '#101010',
643
643
  },
644
644
  foreground: {
645
645
  strong: '#101010',
@@ -719,7 +719,7 @@ export const dark = {
719
719
  text: {
720
720
  affirmative: '#58ca93',
721
721
  brand: '#af90de',
722
- inverted: '#191917',
722
+ inverted: '#fcfbf2',
723
723
  primary: '#ebebeb',
724
724
  secondary: '#b2afae',
725
725
  },
@@ -6,6 +6,19 @@ export default {
6
6
  borderRadius: 8,
7
7
  borderWidth: 2,
8
8
  contentGap: 4,
9
+ focus: '#101010',
9
10
  gap: 8,
11
+ iconButton: {
12
+ unstyled: {
13
+ foregroundColor: '#101010',
14
+ foregroundColorActive: '#3f3f3f',
15
+ foregroundColorHover: '#3a3837',
16
+ },
17
+ },
18
+ link: {
19
+ color: '#101010',
20
+ colorActive: '#3f3f3f',
21
+ colorHover: '#3a3837',
22
+ },
10
23
  padding: 14,
11
24
  } as const;
@@ -7,6 +7,9 @@ export default {
7
7
  borderWidth: 2,
8
8
  checked: {
9
9
  backgroundColor: '#ebebeb',
10
+ icon: {
11
+ color: '#101010',
12
+ },
10
13
  },
11
14
  gap: 8,
12
15
  group: {
@@ -21,6 +21,7 @@ export default {
21
21
  item: {
22
22
  borderRadius: 8,
23
23
  minWidth: 32,
24
+ rangeBackground: '#191919',
24
25
  roundelBackgroundColorInverted: '#fcfbf2',
25
26
  roundelHeight: 6,
26
27
  roundelWidth: 6,
@@ -3,6 +3,13 @@
3
3
  */
4
4
 
5
5
  export default {
6
+ iconButton: {
7
+ unstyled: {
8
+ foregroundColor: '#101010',
9
+ foregroundColorActive: '#3f3f3f',
10
+ foregroundColorHover: '#3a3837',
11
+ },
12
+ },
6
13
  borderRadius: 8,
7
14
  md: {
8
15
  height: 48,
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ export default {
6
+ mode: 'dark',
7
+ } as const;
@@ -22,6 +22,7 @@ export { default as expandableCard } from './expandable-card';
22
22
  export { default as formField } from './form-field';
23
23
  export { default as iconButton } from './icon-button';
24
24
  export { default as iconContainer } from './icon-container';
25
+ export { default as illustrations } from './illustrations';
25
26
  export { default as indicatorIconButton } from './indicator-icon-button';
26
27
  export { default as inlineLink } from './inline-link';
27
28
  export { default as input } from './input';
@@ -34,6 +35,7 @@ export { default as overlay } from './overlay';
34
35
  export { default as pagination } from './pagination';
35
36
  export { default as parts } from './parts';
36
37
  export { default as pill } from './pill';
38
+ export { default as progressBar } from './progress-bar';
37
39
  export { default as progressStepper } from './progress-stepper';
38
40
  export { default as radio } from './radio';
39
41
  export { default as sectionHeader } from './section-header';
@@ -3,6 +3,11 @@
3
3
  */
4
4
 
5
5
  export default {
6
+ link: {
7
+ color: '#101010',
8
+ colorActive: '#3f3f3f',
9
+ colorHover: '#3a3837',
10
+ },
6
11
  color: '#ebebeb',
7
12
  colorActive: '#b2afae',
8
13
  colorHover: '#d3d3d3',
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ export default {
6
+ barColor: '#4c473d',
7
+ circular: {
8
+ md: {
9
+ bar: {
10
+ width: 12,
11
+ },
12
+ gap: 0,
13
+ height: 140,
14
+ label: {
15
+ fontFamily: 'DM Sans',
16
+ fontSize: 24,
17
+ fontWeight: 400,
18
+ lineHeight: 24,
19
+ },
20
+ },
21
+ sm: {
22
+ barWidth: 8,
23
+ height: 80,
24
+ },
25
+ },
26
+ linear: {
27
+ bar: {
28
+ borderRadius: 9999,
29
+ height: 12,
30
+ },
31
+ gap: 8,
32
+ label: {
33
+ gap: 8,
34
+ },
35
+ },
36
+ progress: {
37
+ dangerColor: '#ff634a',
38
+ defaultColor: '#c6b5e2',
39
+ successColor: '#36bf7d',
40
+ },
41
+ } as const;
@@ -3,10 +3,10 @@
3
3
  */
4
4
 
5
5
  export default {
6
- borderRadius: 6,
6
+ borderRadius: 9999,
7
7
  gap: 6,
8
8
  group: {
9
- borderRadius: 8,
9
+ borderRadius: 9999,
10
10
  borderWidth: 1,
11
11
  gap: 4,
12
12
  height: 48,
@@ -14,6 +14,9 @@ export default {
14
14
  headerCell: {
15
15
  borderWidth: 2,
16
16
  gap: 8,
17
+ neutral: {
18
+ backgroundColor: '#30302c',
19
+ },
17
20
  paddingHorizontal: 12,
18
21
  paddingVertical: 16,
19
22
  },
@@ -6,6 +6,19 @@ export default {
6
6
  borderRadius: 8,
7
7
  borderWidth: 2,
8
8
  contentGap: 4,
9
+ focus: '#101010',
9
10
  gap: 8,
11
+ iconButton: {
12
+ unstyled: {
13
+ foregroundColor: '#101010',
14
+ foregroundColorActive: '#3f3f3f',
15
+ foregroundColorHover: '#3a3837',
16
+ },
17
+ },
18
+ link: {
19
+ color: '#101010',
20
+ colorActive: '#3f3f3f',
21
+ colorHover: '#3a3837',
22
+ },
10
23
  padding: 14,
11
24
  } as const;
@@ -7,6 +7,9 @@ export default {
7
7
  borderWidth: 2,
8
8
  checked: {
9
9
  backgroundColor: '#101010',
10
+ icon: {
11
+ color: '#fcfbf2',
12
+ },
10
13
  },
11
14
  gap: 12,
12
15
  group: {
@@ -21,6 +21,7 @@ export default {
21
21
  item: {
22
22
  borderRadius: 8,
23
23
  minWidth: 32,
24
+ rangeBackground: '#f7f7f7',
24
25
  roundelBackgroundColorInverted: '#fcfbf2',
25
26
  roundelHeight: 6,
26
27
  roundelWidth: 6,
@@ -3,6 +3,13 @@
3
3
  */
4
4
 
5
5
  export default {
6
+ iconButton: {
7
+ unstyled: {
8
+ foregroundColor: '#101010',
9
+ foregroundColorActive: '#3f3f3f',
10
+ foregroundColorHover: '#3a3837',
11
+ },
12
+ },
6
13
  borderRadius: 8,
7
14
  md: {
8
15
  height: 48,
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ export default {
6
+ mode: 'light',
7
+ } as const;
@@ -22,6 +22,7 @@ export { default as expandableCard } from './expandable-card';
22
22
  export { default as formField } from './form-field';
23
23
  export { default as iconButton } from './icon-button';
24
24
  export { default as iconContainer } from './icon-container';
25
+ export { default as illustrations } from './illustrations';
25
26
  export { default as indicatorIconButton } from './indicator-icon-button';
26
27
  export { default as inlineLink } from './inline-link';
27
28
  export { default as input } from './input';
@@ -34,6 +35,7 @@ export { default as overlay } from './overlay';
34
35
  export { default as pagination } from './pagination';
35
36
  export { default as parts } from './parts';
36
37
  export { default as pill } from './pill';
38
+ export { default as progressBar } from './progress-bar';
37
39
  export { default as progressStepper } from './progress-stepper';
38
40
  export { default as radio } from './radio';
39
41
  export { default as sectionHeader } from './section-header';
@@ -3,6 +3,11 @@
3
3
  */
4
4
 
5
5
  export default {
6
+ link: {
7
+ color: '#101010',
8
+ colorActive: '#3f3f3f',
9
+ colorHover: '#3a3837',
10
+ },
6
11
  color: '#101010',
7
12
  colorActive: '#3f3f3f',
8
13
  colorHover: '#3a3837',
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ export default {
6
+ barColor: '#f1efe4',
7
+ circular: {
8
+ md: {
9
+ bar: {
10
+ width: 12,
11
+ },
12
+ gap: 0,
13
+ height: 140,
14
+ label: {
15
+ fontFamily: 'DM Sans',
16
+ fontSize: 24,
17
+ fontWeight: 400,
18
+ lineHeight: 24,
19
+ },
20
+ },
21
+ sm: {
22
+ barWidth: 8,
23
+ height: 80,
24
+ },
25
+ },
26
+ linear: {
27
+ bar: {
28
+ borderRadius: 9999,
29
+ height: 12,
30
+ },
31
+ gap: 8,
32
+ label: {
33
+ gap: 8,
34
+ },
35
+ },
36
+ progress: {
37
+ dangerColor: '#f4412a',
38
+ defaultColor: '#26164f',
39
+ successColor: '#19a660',
40
+ },
41
+ } as const;
@@ -3,10 +3,10 @@
3
3
  */
4
4
 
5
5
  export default {
6
- borderRadius: 6,
6
+ borderRadius: 9999,
7
7
  gap: 6,
8
8
  group: {
9
- borderRadius: 8,
9
+ borderRadius: 9999,
10
10
  borderWidth: 1,
11
11
  gap: 4,
12
12
  height: 48,
@@ -14,6 +14,9 @@ export default {
14
14
  headerCell: {
15
15
  borderWidth: 2,
16
16
  gap: 8,
17
+ neutral: {
18
+ backgroundColor: '#f1efe4',
19
+ },
17
20
  paddingHorizontal: 12,
18
21
  paddingVertical: 16,
19
22
  },
@@ -14,6 +14,7 @@ export { default as borderWidth } from './border-width';
14
14
  export { default as font } from './font';
15
15
  export { default as letterSpacing } from './letter-spacing';
16
16
  export { default as lineHeight } from './line-height';
17
+ export { default as motion } from './motion';
17
18
  export { default as space } from './space';
18
19
  export { default as typography } from './typography';
19
20
  export * as components from './components';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ export default {
6
+ duration: {
7
+ '100': 130,
8
+ '200': 160,
9
+ '300': 190,
10
+ '400': 220,
11
+ '500': 250,
12
+ '600': 300,
13
+ '700': 350,
14
+ '800': 400,
15
+ '900': 450,
16
+ '1000': 500,
17
+ },
18
+ ease: {
19
+ in: 'cubic-bezier(0.42, 0, 1, 1)',
20
+ inOut: 'cubic-bezier(0, 0, 1, 1)',
21
+ out: 'cubic-bezier(0.19, 0.91, 0.38, 1)',
22
+ },
23
+ } as const;
@@ -82,6 +82,25 @@ export default {
82
82
  '1100': 72,
83
83
  '1200': 90,
84
84
  },
85
+ motion: {
86
+ duration: {
87
+ '100': 130,
88
+ '200': 160,
89
+ '300': 190,
90
+ '400': 220,
91
+ '500': 250,
92
+ '600': 300,
93
+ '700': 350,
94
+ '800': 400,
95
+ '900': 450,
96
+ '1000': 500,
97
+ },
98
+ ease: {
99
+ in: 'cubic-bezier(0.42, 0, 1, 1)',
100
+ inOut: 'cubic-bezier(0, 0, 1, 1)',
101
+ out: 'cubic-bezier(0.19, 0.91, 0.38, 1)',
102
+ },
103
+ },
85
104
  space: {
86
105
  '0': 0,
87
106
  '25': 2,
@@ -4,7 +4,7 @@
4
4
 
5
5
  export default {
6
6
  background: {
7
- brand: '#996cda',
7
+ brand: '#7a42c8',
8
8
  primary: '#191917',
9
9
  secondary: '#232323',
10
10
  },
@@ -80,7 +80,7 @@ export default {
80
80
  interactive: {
81
81
  affirmative: {
82
82
  border: {
83
- strong: '#ebebeb',
83
+ strong: '#101010',
84
84
  subtle: '#58ca93',
85
85
  },
86
86
  foreground: {
@@ -116,7 +116,7 @@ export default {
116
116
  },
117
117
  destructive: {
118
118
  border: {
119
- strong: '#ebebeb',
119
+ strong: '#101010',
120
120
  subtle: '#ff7964',
121
121
  },
122
122
  foreground: {
@@ -164,7 +164,7 @@ export default {
164
164
  },
165
165
  highlight: {
166
166
  border: {
167
- strong: '#f7f7f7',
167
+ strong: '#101010',
168
168
  },
169
169
  foreground: {
170
170
  strong: '#101010',
@@ -247,7 +247,7 @@ export default {
247
247
  text: {
248
248
  affirmative: '#58ca93',
249
249
  brand: '#af90de',
250
- inverted: '#191917',
250
+ inverted: '#fcfbf2',
251
251
  primary: '#ebebeb',
252
252
  secondary: '#b2afae',
253
253
  },
@@ -249,6 +249,6 @@ export default {
249
249
  brand: '#7a42c8',
250
250
  inverted: '#fcfbf2',
251
251
  primary: '#101010',
252
- secondary: '#888888',
252
+ secondary: '#5b5b5b',
253
253
  },
254
254
  } as const;
@@ -3,4 +3,5 @@ export { default as formatThousands } from './formatThousands';
3
3
  export { default as getFlattenedColorValue } from './getFlattenedColorValue';
4
4
  export { default as getStyleValue } from './getStyleValue';
5
5
  export { default as hexWithOpacity } from './hexWithOpacity';
6
+ export { default as isEqual } from './isEqual';
6
7
  export * from './styleUtils';
@@ -0,0 +1,30 @@
1
+ const isEqual = (a: any, b: any): boolean => {
2
+ if (a === b) return true;
3
+
4
+ if (typeof a !== typeof b) return false;
5
+
6
+ if (typeof a !== 'object' || a === null || b === null) return false;
7
+
8
+ if (Array.isArray(a) !== Array.isArray(b)) return false;
9
+
10
+ if (Array.isArray(a)) {
11
+ if (a.length !== b.length) return false;
12
+ for (let i = 0; i < a.length; i++) {
13
+ if (!isEqual(a[i], b[i])) return false;
14
+ }
15
+ return true;
16
+ }
17
+
18
+ const keysA = Object.keys(a);
19
+ const keysB = Object.keys(b);
20
+
21
+ if (keysA.length !== keysB.length) return false;
22
+
23
+ for (const key of keysA) {
24
+ if (!keysB.includes(key) || !isEqual(a[key], b[key])) return false;
25
+ }
26
+
27
+ return true;
28
+ };
29
+
30
+ export default isEqual;
Binary file
@@ -1,126 +0,0 @@
1
- import { TickSmallIcon } from '@utilitywarehouse/hearth-react-native-icons';
2
- import { useState } from 'react';
3
- import {
4
- Badge,
5
- BodyText,
6
- Box,
7
- Heading,
8
- Radio,
9
- RadioGroup,
10
- RadioIcon,
11
- RadioIndicator,
12
- type RadioProps as NativeUIRadioProps,
13
- } from '../../src';
14
-
15
- import { TextProps, ViewProps } from 'react-native';
16
- import { StyleSheet } from 'react-native-unistyles';
17
-
18
- interface RadioProps {
19
- currentValue: string;
20
- }
21
-
22
- const styles = StyleSheet.create(({ colorMode, color, borderRadius, borderWidth, space }) => ({
23
- radio: {
24
- borderWidth: borderWidth[2],
25
- borderColor: colorMode === 'light' ? color.grey[500] : color.grey[700],
26
- borderRadius: borderRadius.xl,
27
- padding: space[200],
28
- variants: {
29
- checked: {
30
- true: {
31
- borderColor: colorMode === 'light' ? color.green[500] : color.green[700],
32
- },
33
- },
34
- },
35
- },
36
- indicator: {
37
- variants: {
38
- checked: {
39
- true: {
40
- backgroundColor: colorMode === 'light' ? color.green[500] : color.green[700],
41
- borderColor: colorMode === 'light' ? color.green[500] : color.green[700],
42
- },
43
- },
44
- },
45
- },
46
- heading: {
47
- marginBottom: space[100],
48
- },
49
- badge: {
50
- marginRight: space[200],
51
- alignSelf: 'flex-end',
52
- },
53
- }));
54
-
55
- const CustomRadio = ({
56
- children,
57
- currentValue,
58
- ...props
59
- }: RadioProps &
60
- Omit<
61
- NativeUIRadioProps,
62
- 'label' | 'helperText' | 'helperIcon' | 'invalidText' | 'validText' | 'showValidationIcon'
63
- >) => {
64
- styles.useVariants({ checked: currentValue === props.value });
65
- return (
66
- <Radio style={styles.radio} {...props}>
67
- <Box flexDirection="row" flex={1}>
68
- <Box pr="200" flex={1}>
69
- {children}
70
- </Box>
71
- <RadioIndicator style={styles.indicator}>
72
- <RadioIcon as={TickSmallIcon} color="white" />
73
- </RadioIndicator>
74
- </Box>
75
- </Radio>
76
- );
77
- };
78
-
79
- const BulletListItem = ({ children }: { children: TextProps['children'] }) => (
80
- <BodyText>
81
- {'\u2022'} {children}
82
- </BodyText>
83
- );
84
-
85
- const BulletList = ({ children }: { children: ViewProps['children'] }) => (
86
- <Box pl="200" gap="100">
87
- {children}
88
- </Box>
89
- );
90
-
91
- const AdvancedRadioExample = () => {
92
- const [value, setValue] = useState('Option 1');
93
-
94
- const handleChange = (val: string) => setValue(val);
95
-
96
- return (
97
- <RadioGroup onChange={handleChange} value={value} gap="200">
98
- <Box>
99
- <Badge colorScheme={value === 'Option 1' ? 'green' : 'grey'} flatBase style={styles.badge}>
100
- Recommended
101
- </Badge>
102
- <CustomRadio value="Option 1" currentValue={value}>
103
- <Heading size="md" style={styles.heading}>
104
- Instant bank transfer
105
- </Heading>
106
- <BulletList>
107
- <BulletListItem>Receive your money instantly</BulletListItem>
108
- <BulletListItem>No fees</BulletListItem>
109
- <BulletListItem>Available 24/7</BulletListItem>
110
- </BulletList>
111
- </CustomRadio>
112
- </Box>
113
- <CustomRadio value="Option 2" currentValue={value}>
114
- <Heading size="md" style={styles.heading}>
115
- Debit card payment
116
- </Heading>
117
- <BulletList>
118
- <BulletListItem>£0.35 fee</BulletListItem>
119
- <BulletListItem>Available 24/7</BulletListItem>
120
- </BulletList>
121
- </CustomRadio>
122
- </RadioGroup>
123
- );
124
- };
125
-
126
- export default AdvancedRadioExample;