@bacon-pos/ui 0.1.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 (614) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +236 -0
  3. package/lib/commonjs/components/Avatar/Avatar.js +96 -0
  4. package/lib/commonjs/components/Avatar/Avatar.js.map +1 -0
  5. package/lib/commonjs/components/Avatar/Avatar.stories.js +87 -0
  6. package/lib/commonjs/components/Avatar/Avatar.stories.js.map +1 -0
  7. package/lib/commonjs/components/Avatar/Avatar.test.js +63 -0
  8. package/lib/commonjs/components/Avatar/Avatar.test.js.map +1 -0
  9. package/lib/commonjs/components/Avatar/index.js +13 -0
  10. package/lib/commonjs/components/Avatar/index.js.map +1 -0
  11. package/lib/commonjs/components/Button/Button.js +201 -0
  12. package/lib/commonjs/components/Button/Button.js.map +1 -0
  13. package/lib/commonjs/components/Button/Button.stories.js +139 -0
  14. package/lib/commonjs/components/Button/Button.stories.js.map +1 -0
  15. package/lib/commonjs/components/Button/Button.test.js +64 -0
  16. package/lib/commonjs/components/Button/Button.test.js.map +1 -0
  17. package/lib/commonjs/components/Button/index.js +13 -0
  18. package/lib/commonjs/components/Button/index.js.map +1 -0
  19. package/lib/commonjs/components/Card/Card.js +129 -0
  20. package/lib/commonjs/components/Card/Card.js.map +1 -0
  21. package/lib/commonjs/components/Card/Card.stories.js +87 -0
  22. package/lib/commonjs/components/Card/Card.stories.js.map +1 -0
  23. package/lib/commonjs/components/Card/Card.test.js +51 -0
  24. package/lib/commonjs/components/Card/Card.test.js.map +1 -0
  25. package/lib/commonjs/components/Card/index.js +13 -0
  26. package/lib/commonjs/components/Card/index.js.map +1 -0
  27. package/lib/commonjs/components/Checkbox/Checkbox.js +75 -0
  28. package/lib/commonjs/components/Checkbox/Checkbox.js.map +1 -0
  29. package/lib/commonjs/components/Checkbox/Checkbox.stories.js +69 -0
  30. package/lib/commonjs/components/Checkbox/Checkbox.stories.js.map +1 -0
  31. package/lib/commonjs/components/Checkbox/Checkbox.test.js +62 -0
  32. package/lib/commonjs/components/Checkbox/Checkbox.test.js.map +1 -0
  33. package/lib/commonjs/components/Checkbox/index.js +13 -0
  34. package/lib/commonjs/components/Checkbox/index.js.map +1 -0
  35. package/lib/commonjs/components/Chip/Chip.js +119 -0
  36. package/lib/commonjs/components/Chip/Chip.js.map +1 -0
  37. package/lib/commonjs/components/Chip/Chip.stories.js +112 -0
  38. package/lib/commonjs/components/Chip/Chip.stories.js.map +1 -0
  39. package/lib/commonjs/components/Chip/Chip.test.js +63 -0
  40. package/lib/commonjs/components/Chip/Chip.test.js.map +1 -0
  41. package/lib/commonjs/components/Chip/ChipGroup.js +54 -0
  42. package/lib/commonjs/components/Chip/ChipGroup.js.map +1 -0
  43. package/lib/commonjs/components/Chip/ChipGroup.stories.js +78 -0
  44. package/lib/commonjs/components/Chip/ChipGroup.stories.js.map +1 -0
  45. package/lib/commonjs/components/Chip/ChipGroup.test.js +70 -0
  46. package/lib/commonjs/components/Chip/ChipGroup.test.js.map +1 -0
  47. package/lib/commonjs/components/Chip/index.js +20 -0
  48. package/lib/commonjs/components/Chip/index.js.map +1 -0
  49. package/lib/commonjs/components/CodeInput/CodeInput.js +163 -0
  50. package/lib/commonjs/components/CodeInput/CodeInput.js.map +1 -0
  51. package/lib/commonjs/components/CodeInput/CodeInput.stories.js +98 -0
  52. package/lib/commonjs/components/CodeInput/CodeInput.stories.js.map +1 -0
  53. package/lib/commonjs/components/CodeInput/CodeInput.test.js +74 -0
  54. package/lib/commonjs/components/CodeInput/CodeInput.test.js.map +1 -0
  55. package/lib/commonjs/components/CodeInput/index.js +13 -0
  56. package/lib/commonjs/components/CodeInput/index.js.map +1 -0
  57. package/lib/commonjs/components/Icon/Icon.js +32 -0
  58. package/lib/commonjs/components/Icon/Icon.js.map +1 -0
  59. package/lib/commonjs/components/Icon/Icon.stories.js +94 -0
  60. package/lib/commonjs/components/Icon/Icon.stories.js.map +1 -0
  61. package/lib/commonjs/components/Icon/Icon.test.js +38 -0
  62. package/lib/commonjs/components/Icon/Icon.test.js.map +1 -0
  63. package/lib/commonjs/components/Icon/icons.generated.js +179 -0
  64. package/lib/commonjs/components/Icon/icons.generated.js.map +1 -0
  65. package/lib/commonjs/components/Icon/index.js +20 -0
  66. package/lib/commonjs/components/Icon/index.js.map +1 -0
  67. package/lib/commonjs/components/IconButton/IconButton.js +139 -0
  68. package/lib/commonjs/components/IconButton/IconButton.js.map +1 -0
  69. package/lib/commonjs/components/IconButton/IconButton.stories.js +119 -0
  70. package/lib/commonjs/components/IconButton/IconButton.stories.js.map +1 -0
  71. package/lib/commonjs/components/IconButton/IconButton.test.js +55 -0
  72. package/lib/commonjs/components/IconButton/IconButton.test.js.map +1 -0
  73. package/lib/commonjs/components/IconButton/index.js +13 -0
  74. package/lib/commonjs/components/IconButton/index.js.map +1 -0
  75. package/lib/commonjs/components/Input/Input.js +176 -0
  76. package/lib/commonjs/components/Input/Input.js.map +1 -0
  77. package/lib/commonjs/components/Input/Input.stories.js +116 -0
  78. package/lib/commonjs/components/Input/Input.stories.js.map +1 -0
  79. package/lib/commonjs/components/Input/Input.test.js +103 -0
  80. package/lib/commonjs/components/Input/Input.test.js.map +1 -0
  81. package/lib/commonjs/components/Input/index.js +13 -0
  82. package/lib/commonjs/components/Input/index.js.map +1 -0
  83. package/lib/commonjs/components/LinkButton/LinkButton.js +95 -0
  84. package/lib/commonjs/components/LinkButton/LinkButton.js.map +1 -0
  85. package/lib/commonjs/components/LinkButton/LinkButton.stories.js +91 -0
  86. package/lib/commonjs/components/LinkButton/LinkButton.stories.js.map +1 -0
  87. package/lib/commonjs/components/LinkButton/LinkButton.test.js +61 -0
  88. package/lib/commonjs/components/LinkButton/LinkButton.test.js.map +1 -0
  89. package/lib/commonjs/components/LinkButton/index.js +13 -0
  90. package/lib/commonjs/components/LinkButton/index.js.map +1 -0
  91. package/lib/commonjs/components/ProductCard/ProductCard.js +167 -0
  92. package/lib/commonjs/components/ProductCard/ProductCard.js.map +1 -0
  93. package/lib/commonjs/components/ProductCard/ProductCard.stories.js +118 -0
  94. package/lib/commonjs/components/ProductCard/ProductCard.stories.js.map +1 -0
  95. package/lib/commonjs/components/ProductCard/ProductCard.test.js +69 -0
  96. package/lib/commonjs/components/ProductCard/ProductCard.test.js.map +1 -0
  97. package/lib/commonjs/components/ProductCard/index.js +13 -0
  98. package/lib/commonjs/components/ProductCard/index.js.map +1 -0
  99. package/lib/commonjs/components/QuantityStepper/QuantityStepper.js +135 -0
  100. package/lib/commonjs/components/QuantityStepper/QuantityStepper.js.map +1 -0
  101. package/lib/commonjs/components/QuantityStepper/QuantityStepper.stories.js +90 -0
  102. package/lib/commonjs/components/QuantityStepper/QuantityStepper.stories.js.map +1 -0
  103. package/lib/commonjs/components/QuantityStepper/QuantityStepper.test.js +100 -0
  104. package/lib/commonjs/components/QuantityStepper/QuantityStepper.test.js.map +1 -0
  105. package/lib/commonjs/components/QuantityStepper/index.js +13 -0
  106. package/lib/commonjs/components/QuantityStepper/index.js.map +1 -0
  107. package/lib/commonjs/components/Radio/Radio.js +59 -0
  108. package/lib/commonjs/components/Radio/Radio.js.map +1 -0
  109. package/lib/commonjs/components/Radio/Radio.stories.js +60 -0
  110. package/lib/commonjs/components/Radio/Radio.stories.js.map +1 -0
  111. package/lib/commonjs/components/Radio/Radio.test.js +46 -0
  112. package/lib/commonjs/components/Radio/Radio.test.js.map +1 -0
  113. package/lib/commonjs/components/Radio/index.js +13 -0
  114. package/lib/commonjs/components/Radio/index.js.map +1 -0
  115. package/lib/commonjs/components/Surface/Surface.js +84 -0
  116. package/lib/commonjs/components/Surface/Surface.js.map +1 -0
  117. package/lib/commonjs/components/Surface/Surface.stories.js +97 -0
  118. package/lib/commonjs/components/Surface/Surface.stories.js.map +1 -0
  119. package/lib/commonjs/components/Surface/Surface.test.js +58 -0
  120. package/lib/commonjs/components/Surface/Surface.test.js.map +1 -0
  121. package/lib/commonjs/components/Surface/index.js +13 -0
  122. package/lib/commonjs/components/Surface/index.js.map +1 -0
  123. package/lib/commonjs/components/Switch/Switch.js +109 -0
  124. package/lib/commonjs/components/Switch/Switch.js.map +1 -0
  125. package/lib/commonjs/components/Switch/Switch.stories.js +89 -0
  126. package/lib/commonjs/components/Switch/Switch.stories.js.map +1 -0
  127. package/lib/commonjs/components/Switch/Switch.test.js +46 -0
  128. package/lib/commonjs/components/Switch/Switch.test.js.map +1 -0
  129. package/lib/commonjs/components/Switch/index.js +13 -0
  130. package/lib/commonjs/components/Switch/index.js.map +1 -0
  131. package/lib/commonjs/components/Text/Text.js +39 -0
  132. package/lib/commonjs/components/Text/Text.js.map +1 -0
  133. package/lib/commonjs/components/Text/Text.stories.js +47 -0
  134. package/lib/commonjs/components/Text/Text.stories.js.map +1 -0
  135. package/lib/commonjs/components/Text/index.js +13 -0
  136. package/lib/commonjs/components/Text/index.js.map +1 -0
  137. package/lib/commonjs/components/_internal/Labeled.js +50 -0
  138. package/lib/commonjs/components/_internal/Labeled.js.map +1 -0
  139. package/lib/commonjs/components/brand/Flag.js +45 -0
  140. package/lib/commonjs/components/brand/Flag.js.map +1 -0
  141. package/lib/commonjs/components/brand/Flag.stories.js +59 -0
  142. package/lib/commonjs/components/brand/Flag.stories.js.map +1 -0
  143. package/lib/commonjs/components/brand/Logo.js +30 -0
  144. package/lib/commonjs/components/brand/Logo.js.map +1 -0
  145. package/lib/commonjs/components/brand/Logo.stories.js +59 -0
  146. package/lib/commonjs/components/brand/Logo.stories.js.map +1 -0
  147. package/lib/commonjs/components/brand/brand.test.js +39 -0
  148. package/lib/commonjs/components/brand/brand.test.js.map +1 -0
  149. package/lib/commonjs/components/brand/generated/FlagBr.js +95 -0
  150. package/lib/commonjs/components/brand/generated/FlagBr.js.map +1 -0
  151. package/lib/commonjs/components/brand/generated/FlagUs.js +82 -0
  152. package/lib/commonjs/components/brand/generated/FlagUs.js.map +1 -0
  153. package/lib/commonjs/components/brand/generated/Mastercard.js +42 -0
  154. package/lib/commonjs/components/brand/generated/Mastercard.js.map +1 -0
  155. package/lib/commonjs/components/brand/generated/Visa.js +99 -0
  156. package/lib/commonjs/components/brand/generated/Visa.js.map +1 -0
  157. package/lib/commonjs/components/brand/index.js +27 -0
  158. package/lib/commonjs/components/brand/index.js.map +1 -0
  159. package/lib/commonjs/components/brand/registry.js +36 -0
  160. package/lib/commonjs/components/brand/registry.js.map +1 -0
  161. package/lib/commonjs/components/index.js +193 -0
  162. package/lib/commonjs/components/index.js.map +1 -0
  163. package/lib/commonjs/index.js +28 -0
  164. package/lib/commonjs/index.js.map +1 -0
  165. package/lib/commonjs/package.json +1 -0
  166. package/lib/commonjs/theme/ThemeProvider.js +52 -0
  167. package/lib/commonjs/theme/ThemeProvider.js.map +1 -0
  168. package/lib/commonjs/theme/ThemeProvider.test.js +65 -0
  169. package/lib/commonjs/theme/ThemeProvider.test.js.map +1 -0
  170. package/lib/commonjs/theme/index.js +101 -0
  171. package/lib/commonjs/theme/index.js.map +1 -0
  172. package/lib/commonjs/theme/palette.js +94 -0
  173. package/lib/commonjs/theme/palette.js.map +1 -0
  174. package/lib/commonjs/theme/spacing.js +39 -0
  175. package/lib/commonjs/theme/spacing.js.map +1 -0
  176. package/lib/commonjs/theme/themes.js +171 -0
  177. package/lib/commonjs/theme/themes.js.map +1 -0
  178. package/lib/commonjs/theme/typography.js +65 -0
  179. package/lib/commonjs/theme/typography.js.map +1 -0
  180. package/lib/module/components/Avatar/Avatar.js +92 -0
  181. package/lib/module/components/Avatar/Avatar.js.map +1 -0
  182. package/lib/module/components/Avatar/Avatar.stories.js +83 -0
  183. package/lib/module/components/Avatar/Avatar.stories.js.map +1 -0
  184. package/lib/module/components/Avatar/Avatar.test.js +62 -0
  185. package/lib/module/components/Avatar/Avatar.test.js.map +1 -0
  186. package/lib/module/components/Avatar/index.js +4 -0
  187. package/lib/module/components/Avatar/index.js.map +1 -0
  188. package/lib/module/components/Button/Button.js +197 -0
  189. package/lib/module/components/Button/Button.js.map +1 -0
  190. package/lib/module/components/Button/Button.stories.js +135 -0
  191. package/lib/module/components/Button/Button.stories.js.map +1 -0
  192. package/lib/module/components/Button/Button.test.js +63 -0
  193. package/lib/module/components/Button/Button.test.js.map +1 -0
  194. package/lib/module/components/Button/index.js +4 -0
  195. package/lib/module/components/Button/index.js.map +1 -0
  196. package/lib/module/components/Card/Card.js +125 -0
  197. package/lib/module/components/Card/Card.js.map +1 -0
  198. package/lib/module/components/Card/Card.stories.js +83 -0
  199. package/lib/module/components/Card/Card.stories.js.map +1 -0
  200. package/lib/module/components/Card/Card.test.js +50 -0
  201. package/lib/module/components/Card/Card.test.js.map +1 -0
  202. package/lib/module/components/Card/index.js +4 -0
  203. package/lib/module/components/Card/index.js.map +1 -0
  204. package/lib/module/components/Checkbox/Checkbox.js +71 -0
  205. package/lib/module/components/Checkbox/Checkbox.js.map +1 -0
  206. package/lib/module/components/Checkbox/Checkbox.stories.js +65 -0
  207. package/lib/module/components/Checkbox/Checkbox.stories.js.map +1 -0
  208. package/lib/module/components/Checkbox/Checkbox.test.js +61 -0
  209. package/lib/module/components/Checkbox/Checkbox.test.js.map +1 -0
  210. package/lib/module/components/Checkbox/index.js +4 -0
  211. package/lib/module/components/Checkbox/index.js.map +1 -0
  212. package/lib/module/components/Chip/Chip.js +115 -0
  213. package/lib/module/components/Chip/Chip.js.map +1 -0
  214. package/lib/module/components/Chip/Chip.stories.js +108 -0
  215. package/lib/module/components/Chip/Chip.stories.js.map +1 -0
  216. package/lib/module/components/Chip/Chip.test.js +62 -0
  217. package/lib/module/components/Chip/Chip.test.js.map +1 -0
  218. package/lib/module/components/Chip/ChipGroup.js +50 -0
  219. package/lib/module/components/Chip/ChipGroup.js.map +1 -0
  220. package/lib/module/components/Chip/ChipGroup.stories.js +74 -0
  221. package/lib/module/components/Chip/ChipGroup.stories.js.map +1 -0
  222. package/lib/module/components/Chip/ChipGroup.test.js +69 -0
  223. package/lib/module/components/Chip/ChipGroup.test.js.map +1 -0
  224. package/lib/module/components/Chip/index.js +5 -0
  225. package/lib/module/components/Chip/index.js.map +1 -0
  226. package/lib/module/components/CodeInput/CodeInput.js +161 -0
  227. package/lib/module/components/CodeInput/CodeInput.js.map +1 -0
  228. package/lib/module/components/CodeInput/CodeInput.stories.js +94 -0
  229. package/lib/module/components/CodeInput/CodeInput.stories.js.map +1 -0
  230. package/lib/module/components/CodeInput/CodeInput.test.js +73 -0
  231. package/lib/module/components/CodeInput/CodeInput.test.js.map +1 -0
  232. package/lib/module/components/CodeInput/index.js +4 -0
  233. package/lib/module/components/CodeInput/index.js.map +1 -0
  234. package/lib/module/components/Icon/Icon.js +28 -0
  235. package/lib/module/components/Icon/Icon.js.map +1 -0
  236. package/lib/module/components/Icon/Icon.stories.js +90 -0
  237. package/lib/module/components/Icon/Icon.stories.js.map +1 -0
  238. package/lib/module/components/Icon/Icon.test.js +37 -0
  239. package/lib/module/components/Icon/Icon.test.js.map +1 -0
  240. package/lib/module/components/Icon/icons.generated.js +175 -0
  241. package/lib/module/components/Icon/icons.generated.js.map +1 -0
  242. package/lib/module/components/Icon/index.js +5 -0
  243. package/lib/module/components/Icon/index.js.map +1 -0
  244. package/lib/module/components/IconButton/IconButton.js +135 -0
  245. package/lib/module/components/IconButton/IconButton.js.map +1 -0
  246. package/lib/module/components/IconButton/IconButton.stories.js +115 -0
  247. package/lib/module/components/IconButton/IconButton.stories.js.map +1 -0
  248. package/lib/module/components/IconButton/IconButton.test.js +54 -0
  249. package/lib/module/components/IconButton/IconButton.test.js.map +1 -0
  250. package/lib/module/components/IconButton/index.js +4 -0
  251. package/lib/module/components/IconButton/index.js.map +1 -0
  252. package/lib/module/components/Input/Input.js +174 -0
  253. package/lib/module/components/Input/Input.js.map +1 -0
  254. package/lib/module/components/Input/Input.stories.js +112 -0
  255. package/lib/module/components/Input/Input.stories.js.map +1 -0
  256. package/lib/module/components/Input/Input.test.js +103 -0
  257. package/lib/module/components/Input/Input.test.js.map +1 -0
  258. package/lib/module/components/Input/index.js +4 -0
  259. package/lib/module/components/Input/index.js.map +1 -0
  260. package/lib/module/components/LinkButton/LinkButton.js +91 -0
  261. package/lib/module/components/LinkButton/LinkButton.js.map +1 -0
  262. package/lib/module/components/LinkButton/LinkButton.stories.js +87 -0
  263. package/lib/module/components/LinkButton/LinkButton.stories.js.map +1 -0
  264. package/lib/module/components/LinkButton/LinkButton.test.js +60 -0
  265. package/lib/module/components/LinkButton/LinkButton.test.js.map +1 -0
  266. package/lib/module/components/LinkButton/index.js +4 -0
  267. package/lib/module/components/LinkButton/index.js.map +1 -0
  268. package/lib/module/components/ProductCard/ProductCard.js +163 -0
  269. package/lib/module/components/ProductCard/ProductCard.js.map +1 -0
  270. package/lib/module/components/ProductCard/ProductCard.stories.js +114 -0
  271. package/lib/module/components/ProductCard/ProductCard.stories.js.map +1 -0
  272. package/lib/module/components/ProductCard/ProductCard.test.js +68 -0
  273. package/lib/module/components/ProductCard/ProductCard.test.js.map +1 -0
  274. package/lib/module/components/ProductCard/index.js +4 -0
  275. package/lib/module/components/ProductCard/index.js.map +1 -0
  276. package/lib/module/components/QuantityStepper/QuantityStepper.js +131 -0
  277. package/lib/module/components/QuantityStepper/QuantityStepper.js.map +1 -0
  278. package/lib/module/components/QuantityStepper/QuantityStepper.stories.js +86 -0
  279. package/lib/module/components/QuantityStepper/QuantityStepper.stories.js.map +1 -0
  280. package/lib/module/components/QuantityStepper/QuantityStepper.test.js +99 -0
  281. package/lib/module/components/QuantityStepper/QuantityStepper.test.js.map +1 -0
  282. package/lib/module/components/QuantityStepper/index.js +4 -0
  283. package/lib/module/components/QuantityStepper/index.js.map +1 -0
  284. package/lib/module/components/Radio/Radio.js +55 -0
  285. package/lib/module/components/Radio/Radio.js.map +1 -0
  286. package/lib/module/components/Radio/Radio.stories.js +56 -0
  287. package/lib/module/components/Radio/Radio.stories.js.map +1 -0
  288. package/lib/module/components/Radio/Radio.test.js +45 -0
  289. package/lib/module/components/Radio/Radio.test.js.map +1 -0
  290. package/lib/module/components/Radio/index.js +4 -0
  291. package/lib/module/components/Radio/index.js.map +1 -0
  292. package/lib/module/components/Surface/Surface.js +80 -0
  293. package/lib/module/components/Surface/Surface.js.map +1 -0
  294. package/lib/module/components/Surface/Surface.stories.js +93 -0
  295. package/lib/module/components/Surface/Surface.stories.js.map +1 -0
  296. package/lib/module/components/Surface/Surface.test.js +57 -0
  297. package/lib/module/components/Surface/Surface.test.js.map +1 -0
  298. package/lib/module/components/Surface/index.js +4 -0
  299. package/lib/module/components/Surface/index.js.map +1 -0
  300. package/lib/module/components/Switch/Switch.js +105 -0
  301. package/lib/module/components/Switch/Switch.js.map +1 -0
  302. package/lib/module/components/Switch/Switch.stories.js +85 -0
  303. package/lib/module/components/Switch/Switch.stories.js.map +1 -0
  304. package/lib/module/components/Switch/Switch.test.js +45 -0
  305. package/lib/module/components/Switch/Switch.test.js.map +1 -0
  306. package/lib/module/components/Switch/index.js +4 -0
  307. package/lib/module/components/Switch/index.js.map +1 -0
  308. package/lib/module/components/Text/Text.js +35 -0
  309. package/lib/module/components/Text/Text.js.map +1 -0
  310. package/lib/module/components/Text/Text.stories.js +43 -0
  311. package/lib/module/components/Text/Text.stories.js.map +1 -0
  312. package/lib/module/components/Text/index.js +4 -0
  313. package/lib/module/components/Text/index.js.map +1 -0
  314. package/lib/module/components/_internal/Labeled.js +46 -0
  315. package/lib/module/components/_internal/Labeled.js.map +1 -0
  316. package/lib/module/components/brand/Flag.js +41 -0
  317. package/lib/module/components/brand/Flag.js.map +1 -0
  318. package/lib/module/components/brand/Flag.stories.js +55 -0
  319. package/lib/module/components/brand/Flag.stories.js.map +1 -0
  320. package/lib/module/components/brand/Logo.js +26 -0
  321. package/lib/module/components/brand/Logo.js.map +1 -0
  322. package/lib/module/components/brand/Logo.stories.js +55 -0
  323. package/lib/module/components/brand/Logo.stories.js.map +1 -0
  324. package/lib/module/components/brand/brand.test.js +38 -0
  325. package/lib/module/components/brand/brand.test.js.map +1 -0
  326. package/lib/module/components/brand/generated/FlagBr.js +90 -0
  327. package/lib/module/components/brand/generated/FlagBr.js.map +1 -0
  328. package/lib/module/components/brand/generated/FlagUs.js +76 -0
  329. package/lib/module/components/brand/generated/FlagUs.js.map +1 -0
  330. package/lib/module/components/brand/generated/Mastercard.js +37 -0
  331. package/lib/module/components/brand/generated/Mastercard.js.map +1 -0
  332. package/lib/module/components/brand/generated/Visa.js +94 -0
  333. package/lib/module/components/brand/generated/Visa.js.map +1 -0
  334. package/lib/module/components/brand/index.js +6 -0
  335. package/lib/module/components/brand/index.js.map +1 -0
  336. package/lib/module/components/brand/registry.js +31 -0
  337. package/lib/module/components/brand/registry.js.map +1 -0
  338. package/lib/module/components/index.js +20 -0
  339. package/lib/module/components/index.js.map +1 -0
  340. package/lib/module/index.js +10 -0
  341. package/lib/module/index.js.map +1 -0
  342. package/lib/module/package.json +1 -0
  343. package/lib/module/theme/ThemeProvider.js +46 -0
  344. package/lib/module/theme/ThemeProvider.js.map +1 -0
  345. package/lib/module/theme/ThemeProvider.test.js +64 -0
  346. package/lib/module/theme/ThemeProvider.test.js.map +1 -0
  347. package/lib/module/theme/index.js +8 -0
  348. package/lib/module/theme/index.js.map +1 -0
  349. package/lib/module/theme/palette.js +90 -0
  350. package/lib/module/theme/palette.js.map +1 -0
  351. package/lib/module/theme/spacing.js +34 -0
  352. package/lib/module/theme/spacing.js.map +1 -0
  353. package/lib/module/theme/themes.js +166 -0
  354. package/lib/module/theme/themes.js.map +1 -0
  355. package/lib/module/theme/typography.js +61 -0
  356. package/lib/module/theme/typography.js.map +1 -0
  357. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +31 -0
  358. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/components/Avatar/index.d.ts +2 -0
  360. package/lib/typescript/commonjs/components/Avatar/index.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/components/Button/Button.d.ts +40 -0
  362. package/lib/typescript/commonjs/components/Button/Button.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/components/Button/index.d.ts +2 -0
  364. package/lib/typescript/commonjs/components/Button/index.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/components/Card/Card.d.ts +32 -0
  366. package/lib/typescript/commonjs/components/Card/Card.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/components/Card/index.d.ts +2 -0
  368. package/lib/typescript/commonjs/components/Card/index.d.ts.map +1 -0
  369. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +25 -0
  370. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts.map +1 -0
  371. package/lib/typescript/commonjs/components/Checkbox/index.d.ts +2 -0
  372. package/lib/typescript/commonjs/components/Checkbox/index.d.ts.map +1 -0
  373. package/lib/typescript/commonjs/components/Chip/Chip.d.ts +40 -0
  374. package/lib/typescript/commonjs/components/Chip/Chip.d.ts.map +1 -0
  375. package/lib/typescript/commonjs/components/Chip/ChipGroup.d.ts +49 -0
  376. package/lib/typescript/commonjs/components/Chip/ChipGroup.d.ts.map +1 -0
  377. package/lib/typescript/commonjs/components/Chip/index.d.ts +3 -0
  378. package/lib/typescript/commonjs/components/Chip/index.d.ts.map +1 -0
  379. package/lib/typescript/commonjs/components/CodeInput/CodeInput.d.ts +41 -0
  380. package/lib/typescript/commonjs/components/CodeInput/CodeInput.d.ts.map +1 -0
  381. package/lib/typescript/commonjs/components/CodeInput/index.d.ts +2 -0
  382. package/lib/typescript/commonjs/components/CodeInput/index.d.ts.map +1 -0
  383. package/lib/typescript/commonjs/components/Icon/Icon.d.ts +19 -0
  384. package/lib/typescript/commonjs/components/Icon/Icon.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/components/Icon/icons.generated.d.ts +171 -0
  386. package/lib/typescript/commonjs/components/Icon/icons.generated.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/components/Icon/index.d.ts +3 -0
  388. package/lib/typescript/commonjs/components/Icon/index.d.ts.map +1 -0
  389. package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts +34 -0
  390. package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts.map +1 -0
  391. package/lib/typescript/commonjs/components/IconButton/index.d.ts +2 -0
  392. package/lib/typescript/commonjs/components/IconButton/index.d.ts.map +1 -0
  393. package/lib/typescript/commonjs/components/Input/Input.d.ts +38 -0
  394. package/lib/typescript/commonjs/components/Input/Input.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/components/Input/index.d.ts +2 -0
  396. package/lib/typescript/commonjs/components/Input/index.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/components/LinkButton/LinkButton.d.ts +31 -0
  398. package/lib/typescript/commonjs/components/LinkButton/LinkButton.d.ts.map +1 -0
  399. package/lib/typescript/commonjs/components/LinkButton/index.d.ts +2 -0
  400. package/lib/typescript/commonjs/components/LinkButton/index.d.ts.map +1 -0
  401. package/lib/typescript/commonjs/components/ProductCard/ProductCard.d.ts +31 -0
  402. package/lib/typescript/commonjs/components/ProductCard/ProductCard.d.ts.map +1 -0
  403. package/lib/typescript/commonjs/components/ProductCard/index.d.ts +2 -0
  404. package/lib/typescript/commonjs/components/ProductCard/index.d.ts.map +1 -0
  405. package/lib/typescript/commonjs/components/QuantityStepper/QuantityStepper.d.ts +36 -0
  406. package/lib/typescript/commonjs/components/QuantityStepper/QuantityStepper.d.ts.map +1 -0
  407. package/lib/typescript/commonjs/components/QuantityStepper/index.d.ts +2 -0
  408. package/lib/typescript/commonjs/components/QuantityStepper/index.d.ts.map +1 -0
  409. package/lib/typescript/commonjs/components/Radio/Radio.d.ts +23 -0
  410. package/lib/typescript/commonjs/components/Radio/Radio.d.ts.map +1 -0
  411. package/lib/typescript/commonjs/components/Radio/index.d.ts +2 -0
  412. package/lib/typescript/commonjs/components/Radio/index.d.ts.map +1 -0
  413. package/lib/typescript/commonjs/components/Surface/Surface.d.ts +31 -0
  414. package/lib/typescript/commonjs/components/Surface/Surface.d.ts.map +1 -0
  415. package/lib/typescript/commonjs/components/Surface/index.d.ts +2 -0
  416. package/lib/typescript/commonjs/components/Surface/index.d.ts.map +1 -0
  417. package/lib/typescript/commonjs/components/Switch/Switch.d.ts +26 -0
  418. package/lib/typescript/commonjs/components/Switch/Switch.d.ts.map +1 -0
  419. package/lib/typescript/commonjs/components/Switch/index.d.ts +2 -0
  420. package/lib/typescript/commonjs/components/Switch/index.d.ts.map +1 -0
  421. package/lib/typescript/commonjs/components/Text/Text.d.ts +21 -0
  422. package/lib/typescript/commonjs/components/Text/Text.d.ts.map +1 -0
  423. package/lib/typescript/commonjs/components/Text/index.d.ts +2 -0
  424. package/lib/typescript/commonjs/components/Text/index.d.ts.map +1 -0
  425. package/lib/typescript/commonjs/components/_internal/Labeled.d.ts +27 -0
  426. package/lib/typescript/commonjs/components/_internal/Labeled.d.ts.map +1 -0
  427. package/lib/typescript/commonjs/components/brand/Flag.d.ts +14 -0
  428. package/lib/typescript/commonjs/components/brand/Flag.d.ts.map +1 -0
  429. package/lib/typescript/commonjs/components/brand/Logo.d.ts +15 -0
  430. package/lib/typescript/commonjs/components/brand/Logo.d.ts.map +1 -0
  431. package/lib/typescript/commonjs/components/brand/generated/FlagBr.d.ts +4 -0
  432. package/lib/typescript/commonjs/components/brand/generated/FlagBr.d.ts.map +1 -0
  433. package/lib/typescript/commonjs/components/brand/generated/FlagUs.d.ts +4 -0
  434. package/lib/typescript/commonjs/components/brand/generated/FlagUs.d.ts.map +1 -0
  435. package/lib/typescript/commonjs/components/brand/generated/Mastercard.d.ts +4 -0
  436. package/lib/typescript/commonjs/components/brand/generated/Mastercard.d.ts.map +1 -0
  437. package/lib/typescript/commonjs/components/brand/generated/Visa.d.ts +4 -0
  438. package/lib/typescript/commonjs/components/brand/generated/Visa.d.ts.map +1 -0
  439. package/lib/typescript/commonjs/components/brand/index.d.ts +4 -0
  440. package/lib/typescript/commonjs/components/brand/index.d.ts.map +1 -0
  441. package/lib/typescript/commonjs/components/brand/registry.d.ts +33 -0
  442. package/lib/typescript/commonjs/components/brand/registry.d.ts.map +1 -0
  443. package/lib/typescript/commonjs/components/index.d.ts +19 -0
  444. package/lib/typescript/commonjs/components/index.d.ts.map +1 -0
  445. package/lib/typescript/commonjs/index.d.ts +8 -0
  446. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  447. package/lib/typescript/commonjs/package.json +1 -0
  448. package/lib/typescript/commonjs/theme/ThemeProvider.d.ts +29 -0
  449. package/lib/typescript/commonjs/theme/ThemeProvider.d.ts.map +1 -0
  450. package/lib/typescript/commonjs/theme/index.d.ts +6 -0
  451. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -0
  452. package/lib/typescript/commonjs/theme/palette.d.ts +89 -0
  453. package/lib/typescript/commonjs/theme/palette.d.ts.map +1 -0
  454. package/lib/typescript/commonjs/theme/spacing.d.ts +34 -0
  455. package/lib/typescript/commonjs/theme/spacing.d.ts.map +1 -0
  456. package/lib/typescript/commonjs/theme/themes.d.ts +93 -0
  457. package/lib/typescript/commonjs/theme/themes.d.ts.map +1 -0
  458. package/lib/typescript/commonjs/theme/typography.d.ts +60 -0
  459. package/lib/typescript/commonjs/theme/typography.d.ts.map +1 -0
  460. package/lib/typescript/module/components/Avatar/Avatar.d.ts +31 -0
  461. package/lib/typescript/module/components/Avatar/Avatar.d.ts.map +1 -0
  462. package/lib/typescript/module/components/Avatar/index.d.ts +2 -0
  463. package/lib/typescript/module/components/Avatar/index.d.ts.map +1 -0
  464. package/lib/typescript/module/components/Button/Button.d.ts +40 -0
  465. package/lib/typescript/module/components/Button/Button.d.ts.map +1 -0
  466. package/lib/typescript/module/components/Button/index.d.ts +2 -0
  467. package/lib/typescript/module/components/Button/index.d.ts.map +1 -0
  468. package/lib/typescript/module/components/Card/Card.d.ts +32 -0
  469. package/lib/typescript/module/components/Card/Card.d.ts.map +1 -0
  470. package/lib/typescript/module/components/Card/index.d.ts +2 -0
  471. package/lib/typescript/module/components/Card/index.d.ts.map +1 -0
  472. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +25 -0
  473. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts.map +1 -0
  474. package/lib/typescript/module/components/Checkbox/index.d.ts +2 -0
  475. package/lib/typescript/module/components/Checkbox/index.d.ts.map +1 -0
  476. package/lib/typescript/module/components/Chip/Chip.d.ts +40 -0
  477. package/lib/typescript/module/components/Chip/Chip.d.ts.map +1 -0
  478. package/lib/typescript/module/components/Chip/ChipGroup.d.ts +49 -0
  479. package/lib/typescript/module/components/Chip/ChipGroup.d.ts.map +1 -0
  480. package/lib/typescript/module/components/Chip/index.d.ts +3 -0
  481. package/lib/typescript/module/components/Chip/index.d.ts.map +1 -0
  482. package/lib/typescript/module/components/CodeInput/CodeInput.d.ts +41 -0
  483. package/lib/typescript/module/components/CodeInput/CodeInput.d.ts.map +1 -0
  484. package/lib/typescript/module/components/CodeInput/index.d.ts +2 -0
  485. package/lib/typescript/module/components/CodeInput/index.d.ts.map +1 -0
  486. package/lib/typescript/module/components/Icon/Icon.d.ts +19 -0
  487. package/lib/typescript/module/components/Icon/Icon.d.ts.map +1 -0
  488. package/lib/typescript/module/components/Icon/icons.generated.d.ts +171 -0
  489. package/lib/typescript/module/components/Icon/icons.generated.d.ts.map +1 -0
  490. package/lib/typescript/module/components/Icon/index.d.ts +3 -0
  491. package/lib/typescript/module/components/Icon/index.d.ts.map +1 -0
  492. package/lib/typescript/module/components/IconButton/IconButton.d.ts +34 -0
  493. package/lib/typescript/module/components/IconButton/IconButton.d.ts.map +1 -0
  494. package/lib/typescript/module/components/IconButton/index.d.ts +2 -0
  495. package/lib/typescript/module/components/IconButton/index.d.ts.map +1 -0
  496. package/lib/typescript/module/components/Input/Input.d.ts +38 -0
  497. package/lib/typescript/module/components/Input/Input.d.ts.map +1 -0
  498. package/lib/typescript/module/components/Input/index.d.ts +2 -0
  499. package/lib/typescript/module/components/Input/index.d.ts.map +1 -0
  500. package/lib/typescript/module/components/LinkButton/LinkButton.d.ts +31 -0
  501. package/lib/typescript/module/components/LinkButton/LinkButton.d.ts.map +1 -0
  502. package/lib/typescript/module/components/LinkButton/index.d.ts +2 -0
  503. package/lib/typescript/module/components/LinkButton/index.d.ts.map +1 -0
  504. package/lib/typescript/module/components/ProductCard/ProductCard.d.ts +31 -0
  505. package/lib/typescript/module/components/ProductCard/ProductCard.d.ts.map +1 -0
  506. package/lib/typescript/module/components/ProductCard/index.d.ts +2 -0
  507. package/lib/typescript/module/components/ProductCard/index.d.ts.map +1 -0
  508. package/lib/typescript/module/components/QuantityStepper/QuantityStepper.d.ts +36 -0
  509. package/lib/typescript/module/components/QuantityStepper/QuantityStepper.d.ts.map +1 -0
  510. package/lib/typescript/module/components/QuantityStepper/index.d.ts +2 -0
  511. package/lib/typescript/module/components/QuantityStepper/index.d.ts.map +1 -0
  512. package/lib/typescript/module/components/Radio/Radio.d.ts +23 -0
  513. package/lib/typescript/module/components/Radio/Radio.d.ts.map +1 -0
  514. package/lib/typescript/module/components/Radio/index.d.ts +2 -0
  515. package/lib/typescript/module/components/Radio/index.d.ts.map +1 -0
  516. package/lib/typescript/module/components/Surface/Surface.d.ts +31 -0
  517. package/lib/typescript/module/components/Surface/Surface.d.ts.map +1 -0
  518. package/lib/typescript/module/components/Surface/index.d.ts +2 -0
  519. package/lib/typescript/module/components/Surface/index.d.ts.map +1 -0
  520. package/lib/typescript/module/components/Switch/Switch.d.ts +26 -0
  521. package/lib/typescript/module/components/Switch/Switch.d.ts.map +1 -0
  522. package/lib/typescript/module/components/Switch/index.d.ts +2 -0
  523. package/lib/typescript/module/components/Switch/index.d.ts.map +1 -0
  524. package/lib/typescript/module/components/Text/Text.d.ts +21 -0
  525. package/lib/typescript/module/components/Text/Text.d.ts.map +1 -0
  526. package/lib/typescript/module/components/Text/index.d.ts +2 -0
  527. package/lib/typescript/module/components/Text/index.d.ts.map +1 -0
  528. package/lib/typescript/module/components/_internal/Labeled.d.ts +27 -0
  529. package/lib/typescript/module/components/_internal/Labeled.d.ts.map +1 -0
  530. package/lib/typescript/module/components/brand/Flag.d.ts +14 -0
  531. package/lib/typescript/module/components/brand/Flag.d.ts.map +1 -0
  532. package/lib/typescript/module/components/brand/Logo.d.ts +15 -0
  533. package/lib/typescript/module/components/brand/Logo.d.ts.map +1 -0
  534. package/lib/typescript/module/components/brand/generated/FlagBr.d.ts +4 -0
  535. package/lib/typescript/module/components/brand/generated/FlagBr.d.ts.map +1 -0
  536. package/lib/typescript/module/components/brand/generated/FlagUs.d.ts +4 -0
  537. package/lib/typescript/module/components/brand/generated/FlagUs.d.ts.map +1 -0
  538. package/lib/typescript/module/components/brand/generated/Mastercard.d.ts +4 -0
  539. package/lib/typescript/module/components/brand/generated/Mastercard.d.ts.map +1 -0
  540. package/lib/typescript/module/components/brand/generated/Visa.d.ts +4 -0
  541. package/lib/typescript/module/components/brand/generated/Visa.d.ts.map +1 -0
  542. package/lib/typescript/module/components/brand/index.d.ts +4 -0
  543. package/lib/typescript/module/components/brand/index.d.ts.map +1 -0
  544. package/lib/typescript/module/components/brand/registry.d.ts +33 -0
  545. package/lib/typescript/module/components/brand/registry.d.ts.map +1 -0
  546. package/lib/typescript/module/components/index.d.ts +19 -0
  547. package/lib/typescript/module/components/index.d.ts.map +1 -0
  548. package/lib/typescript/module/index.d.ts +8 -0
  549. package/lib/typescript/module/index.d.ts.map +1 -0
  550. package/lib/typescript/module/package.json +1 -0
  551. package/lib/typescript/module/theme/ThemeProvider.d.ts +29 -0
  552. package/lib/typescript/module/theme/ThemeProvider.d.ts.map +1 -0
  553. package/lib/typescript/module/theme/index.d.ts +6 -0
  554. package/lib/typescript/module/theme/index.d.ts.map +1 -0
  555. package/lib/typescript/module/theme/palette.d.ts +89 -0
  556. package/lib/typescript/module/theme/palette.d.ts.map +1 -0
  557. package/lib/typescript/module/theme/spacing.d.ts +34 -0
  558. package/lib/typescript/module/theme/spacing.d.ts.map +1 -0
  559. package/lib/typescript/module/theme/themes.d.ts +93 -0
  560. package/lib/typescript/module/theme/themes.d.ts.map +1 -0
  561. package/lib/typescript/module/theme/typography.d.ts +60 -0
  562. package/lib/typescript/module/theme/typography.d.ts.map +1 -0
  563. package/package.json +116 -0
  564. package/src/components/Avatar/Avatar.tsx +111 -0
  565. package/src/components/Avatar/index.ts +1 -0
  566. package/src/components/Button/Button.tsx +216 -0
  567. package/src/components/Button/index.ts +6 -0
  568. package/src/components/Card/Card.tsx +145 -0
  569. package/src/components/Card/index.ts +1 -0
  570. package/src/components/Checkbox/Checkbox.tsx +86 -0
  571. package/src/components/Checkbox/index.ts +1 -0
  572. package/src/components/Chip/Chip.tsx +126 -0
  573. package/src/components/Chip/ChipGroup.tsx +88 -0
  574. package/src/components/Chip/index.ts +2 -0
  575. package/src/components/CodeInput/CodeInput.tsx +200 -0
  576. package/src/components/CodeInput/index.ts +1 -0
  577. package/src/components/Icon/Icon.tsx +32 -0
  578. package/src/components/Icon/icons.generated.ts +174 -0
  579. package/src/components/Icon/index.ts +2 -0
  580. package/src/components/IconButton/IconButton.tsx +156 -0
  581. package/src/components/IconButton/index.ts +7 -0
  582. package/src/components/Input/Input.tsx +230 -0
  583. package/src/components/Input/index.ts +1 -0
  584. package/src/components/LinkButton/LinkButton.tsx +118 -0
  585. package/src/components/LinkButton/index.ts +6 -0
  586. package/src/components/ProductCard/ProductCard.tsx +176 -0
  587. package/src/components/ProductCard/index.ts +1 -0
  588. package/src/components/QuantityStepper/QuantityStepper.tsx +162 -0
  589. package/src/components/QuantityStepper/index.ts +5 -0
  590. package/src/components/Radio/Radio.tsx +76 -0
  591. package/src/components/Radio/index.ts +1 -0
  592. package/src/components/Surface/Surface.tsx +99 -0
  593. package/src/components/Surface/index.ts +6 -0
  594. package/src/components/Switch/Switch.tsx +110 -0
  595. package/src/components/Switch/index.ts +1 -0
  596. package/src/components/Text/Text.tsx +51 -0
  597. package/src/components/Text/index.ts +1 -0
  598. package/src/components/_internal/Labeled.tsx +72 -0
  599. package/src/components/brand/Flag.tsx +41 -0
  600. package/src/components/brand/Logo.tsx +23 -0
  601. package/src/components/brand/generated/FlagBr.tsx +8 -0
  602. package/src/components/brand/generated/FlagUs.tsx +7 -0
  603. package/src/components/brand/generated/Mastercard.tsx +4 -0
  604. package/src/components/brand/generated/Visa.tsx +4 -0
  605. package/src/components/brand/index.ts +3 -0
  606. package/src/components/brand/registry.ts +27 -0
  607. package/src/components/index.ts +19 -0
  608. package/src/index.tsx +7 -0
  609. package/src/theme/ThemeProvider.tsx +66 -0
  610. package/src/theme/index.ts +31 -0
  611. package/src/theme/palette.ts +89 -0
  612. package/src/theme/spacing.ts +37 -0
  613. package/src/theme/themes.ts +248 -0
  614. package/src/theme/typography.ts +37 -0
@@ -0,0 +1,7 @@
1
+ import Svg, { G, Rect, Mask, Path, Defs, LinearGradient, Stop } from "react-native-svg";
2
+ /* SVGR has dropped some elements not supported by react-native-svg: filter */
3
+ import type { SvgProps } from "react-native-svg";
4
+ const FlagUs = (props: SvgProps) => <Svg viewBox="0 0 33.5997 23.9998" fill="none" {...props}><G id="US"><Rect id="Mask" x={0.0000243634} width={33.5997} height={23.9998} rx={1.71429} fill="white" /><Mask id="mask0_8024_16523" style={{
5
+ maskType: "luminance"
6
+ }} maskUnits="userSpaceOnUse" x={0} y={0} width={34} height={24}><Rect id="Mask_2" x={0.0000243634} width={33.5997} height={23.9998} rx={1.71429} fill="white" /></Mask><G mask="url(#mask0_8024_16523)"><Path id="Rectangle 511" d="M33.5996 24H2.43634e-05V22.3994H33.5996V24ZM33.5996 20.7998H2.43634e-05V19.2002H33.5996V20.7998ZM33.5996 17.5996H2.43634e-05V16H33.5996V17.5996ZM33.5996 14.3994H2.43634e-05V12.7998H33.5996V14.3994ZM33.5996 11.2002H2.43634e-05V9.59961H33.5996V11.2002ZM33.5996 8H2.43634e-05V6.40039H33.5996V8ZM33.5996 4.7998H2.43634e-05V3.2002H33.5996V4.7998ZM33.5996 1.59961H2.43634e-05V0H33.5996V1.59961Z" fill="#D02F44" /><Rect id="Rectangle 511_2" x={0.0000243634} width={14.3999} height={11.1999} fill="#46467F" /><G id="Oval 43" filter="url(#filter0_d_8024_16523)"><Path d="M2.39984 8.00027C2.84166 8.00027 3.19964 8.35825 3.19964 8.80007C3.19957 9.24183 2.84162 9.59988 2.39984 9.59988C1.95815 9.59978 1.60011 9.24177 1.60003 8.80007C1.60003 8.35831 1.9581 8.00037 2.39984 8.00027ZM5.60003 8.00027C6.04186 8.00027 6.39984 8.35825 6.39984 8.80007C6.39976 9.24183 6.04181 9.59988 5.60003 9.59988C5.15829 9.59984 4.8003 9.24181 4.80023 8.80007C4.80023 8.35827 5.15824 8.00031 5.60003 8.00027ZM8.80023 8.00027C9.24195 8.0004 9.60003 8.35833 9.60003 8.80007C9.59996 9.24175 9.2419 9.59975 8.80023 9.59988C8.35845 9.59988 8.0005 9.24183 8.00043 8.80007C8.00043 8.35825 8.35841 8.00027 8.80023 8.00027ZM12.0004 8.00027C12.4421 8.00049 12.8002 8.35839 12.8002 8.80007C12.8002 9.2417 12.442 9.59966 12.0004 9.59988C11.5586 9.59988 11.1997 9.24183 11.1996 8.80007C11.1996 8.35825 11.5586 8.00027 12.0004 8.00027ZM4.00043 6.39968C4.44194 6.39993 4.80007 6.75796 4.80023 7.19949C4.80023 7.64116 4.44204 8.00002 4.00043 8.00027C3.5586 8.00027 3.19964 7.64131 3.19964 7.19949C3.19981 6.7578 3.5587 6.39968 4.00043 6.39968ZM7.19964 6.39968C7.64137 6.39968 8.00026 6.7578 8.00043 7.19949C8.00043 7.64131 7.64147 8.00027 7.19964 8.00027C6.75798 8.00008 6.39984 7.6412 6.39984 7.19949C6.4 6.75792 6.75808 6.39987 7.19964 6.39968ZM10.3998 6.39968C10.8416 6.39968 11.1995 6.7578 11.1996 7.19949C11.1996 7.64131 10.8417 8.00027 10.3998 8.00027C9.95803 8.00025 9.60003 7.6413 9.60003 7.19949C9.6002 6.75781 9.95813 6.3997 10.3998 6.39968ZM2.39984 4.80007C2.84165 4.80007 3.19962 5.15807 3.19964 5.59988C3.19964 6.0417 2.84166 6.39968 2.39984 6.39968C1.9581 6.39958 1.60003 6.04164 1.60003 5.59988C1.60005 5.15813 1.95811 4.80017 2.39984 4.80007ZM5.60003 4.80007C6.04185 4.80007 6.39982 5.15807 6.39984 5.59988C6.39984 6.0417 6.04186 6.39968 5.60003 6.39968C5.15824 6.39964 4.80023 6.04168 4.80023 5.59988C4.80025 5.15809 5.15826 4.80011 5.60003 4.80007ZM8.80023 4.80007C9.24193 4.8002 9.60001 5.15815 9.60003 5.59988C9.60003 6.04162 9.24195 6.39955 8.80023 6.39968C8.35841 6.39968 8.00043 6.0417 8.00043 5.59988C8.00044 5.15807 8.35842 4.80007 8.80023 4.80007ZM12.0004 4.80007C12.442 4.80029 12.8002 5.15821 12.8002 5.59988C12.8002 6.04156 12.4421 6.39946 12.0004 6.39968C11.5586 6.39968 11.1996 6.0417 11.1996 5.59988C11.1997 5.15807 11.5586 4.80007 12.0004 4.80007ZM4.00043 3.19949C4.44188 3.19974 4.79997 3.55784 4.80023 3.99929C4.80023 4.44096 4.44204 4.79982 4.00043 4.80007C3.5586 4.80007 3.19964 4.44112 3.19964 3.99929C3.1999 3.55769 3.55876 3.19949 4.00043 3.19949ZM7.19964 3.19949C7.64131 3.19949 8.00017 3.55769 8.00043 3.99929C8.00043 4.44112 7.64147 4.80007 7.19964 4.80007C6.75798 4.79989 6.39984 4.441 6.39984 3.99929C6.4001 3.5578 6.75814 3.19967 7.19964 3.19949ZM10.3998 3.19949C10.8415 3.19949 11.1994 3.55769 11.1996 3.99929C11.1996 4.44112 10.8417 4.80007 10.3998 4.80007C9.95803 4.80006 9.60003 4.4411 9.60003 3.99929C9.60029 3.5577 9.95819 3.1995 10.3998 3.19949ZM2.39984 1.59988C2.8416 1.59988 3.19954 1.95794 3.19964 2.39968C3.19964 2.84151 2.84166 3.19949 2.39984 3.19949C1.9581 3.19938 1.60003 2.84144 1.60003 2.39968C1.60014 1.95801 1.95816 1.59998 2.39984 1.59988ZM5.60003 1.59988C6.04179 1.59988 6.39972 1.95796 6.39984 2.39968C6.39984 2.84151 6.04186 3.19949 5.60003 3.19949C5.15824 3.19945 4.80023 2.84148 4.80023 2.39968C4.80034 1.95798 5.15831 1.59992 5.60003 1.59988ZM8.80023 1.59988C9.24187 1.6 9.59992 1.95803 9.60003 2.39968C9.60003 2.84143 9.24195 3.19936 8.80023 3.19949C8.35841 3.19949 8.00043 2.84151 8.00043 2.39968C8.00054 1.95796 8.35848 1.59988 8.80023 1.59988ZM12.0004 1.59988C12.442 1.6001 12.8001 1.95809 12.8002 2.39968C12.8002 2.84137 12.4421 3.19926 12.0004 3.19949C11.5586 3.19949 11.1996 2.84151 11.1996 2.39968C11.1998 1.95796 11.5587 1.59988 12.0004 1.59988Z" fill="url(#paint0_linear_8024_16523)" /></G></G></G><Defs><LinearGradient id="paint0_linear_8024_16523" x1={1.60003} y1={1.59988} x2={1.60003} y2={9.59988} gradientUnits="userSpaceOnUse"><Stop stopColor="white" /><Stop offset={1} stopColor="#F0F0F0" /></LinearGradient></Defs></Svg>;
7
+ export default FlagUs;
@@ -0,0 +1,4 @@
1
+ import Svg, { G, Path, Defs, ClipPath, Rect } from "react-native-svg";
2
+ import type { SvgProps } from "react-native-svg";
3
+ const Mastercard = (props: SvgProps) => <Svg viewBox="0 0 64 39.5537" fill="none" {...props}><G id="Logo" clipPath="url(#clip0_8024_16507)"><Path id="Right" d="M64 19.7768C64 30.709 55.1554 39.5537 44.2232 39.5537C39.6086 39.5537 35.3786 37.9605 32.0275 35.3236C36.6421 31.6979 39.5537 26.0944 39.5537 19.7768C39.5537 13.4592 36.5872 7.85581 32.0275 4.23006C35.3786 1.59315 39.6086 7.62939e-06 44.2232 7.62939e-06C55.1554 7.62939e-06 64 8.89958 64 19.7768Z" fill="#F79E1B" /><Path id="Middle" d="M32.0275 4.23005C32.0275 4.23005 32.0275 4.23005 32.0275 4.23005C36.5872 7.8558 39.5537 13.4592 39.5537 19.7768C39.5537 26.0944 36.6421 31.6979 32.0275 35.3236L31.9724 35.3236C27.4128 31.7528 24.4464 26.0945 24.4464 19.7769C24.4464 13.4594 27.4129 7.85592 31.9725 4.23017C31.9725 4.23013 31.9726 4.23021 31.9725 4.23017L32.0275 4.23005Z" fill="#FF5F00" /><Path id="Left" d="M24.4464 19.7769C24.4464 13.4594 27.4129 7.85592 31.9725 4.23017C28.6215 1.59326 24.3914 0.00012207 19.7768 0.00012207C8.84464 0.00012207 0 8.84476 0 19.7769C0 30.7091 8.84464 39.5538 19.7768 39.5538C24.3914 39.5538 28.6215 37.9607 31.9725 35.3237C27.4129 31.7529 24.4464 26.0945 24.4464 19.7769Z" fill="#EB001B" /></G><Defs><ClipPath id="clip0_8024_16507"><Rect width={64} height={39.5537} fill="white" /></ClipPath></Defs></Svg>;
4
+ export default Mastercard;
@@ -0,0 +1,4 @@
1
+ import Svg, { G, Path, Defs, LinearGradient, Stop, ClipPath, Rect } from "react-native-svg";
2
+ import type { SvgProps } from "react-native-svg";
3
+ const Visa = (props: SvgProps) => <Svg viewBox="0 0 74 23.9492" fill="none" {...props}><G id="Logo" clipPath="url(#clip0_8024_16511)"><G id="Shape"><Path d="M53.7973 0.987003C52.6149 0.517917 50.7395 -1.06803e-05 48.4207 -1.06803e-05C42.5009 -1.06803e-05 38.3322 3.15673 38.3066 7.66991C38.2575 10.9997 41.2913 12.8492 43.5603 13.9594C45.8795 15.094 46.6679 15.8345 46.6679 16.8457C46.6443 18.3989 44.7939 19.1148 43.068 19.1148C40.6747 19.1148 39.3923 18.7457 37.4435 17.8816L36.6542 17.5112L35.8153 22.7154C37.2213 23.3559 39.8116 23.9243 42.5009 23.9492C48.7907 23.9492 52.8857 20.8413 52.9342 16.0318C52.9581 13.3927 51.3561 11.3705 47.9024 9.71802C45.8058 8.65725 44.5218 7.94198 44.5218 6.85663C44.5464 5.86995 45.6078 4.85933 47.9745 4.85933C49.9233 4.80983 51.3552 5.27826 52.4398 5.74702L52.982 5.9932L53.7973 0.987003Z" fill="url(#paint0_linear_8024_16511)" /><Path d="M32.0666 23.6037H26.0721L29.8215 0.420231H35.8157L32.0666 23.6037Z" fill="url(#paint1_linear_8024_16511)" /><Path fillRule="evenodd" clipRule="evenodd" d="M69.1639 0.420231H64.5272C63.0973 0.420231 62.011 0.839162 61.3941 2.34377L52.49 23.6034H58.7798C58.7798 23.6034 59.8154 20.742 60.0379 20.1257H67.7344C67.9065 20.9397 68.4496 23.6034 68.4496 23.6034H74L69.1639 0.420231ZM61.7645 15.3906C62.2581 14.0588 64.1577 8.90408 64.1577 8.90408C64.1478 8.92392 64.225 8.70976 64.3402 8.39041L64.3416 8.38651L64.3425 8.38394C64.5146 7.90693 64.77 7.19891 64.9464 6.68453L65.3654 8.68215C65.3654 8.68215 66.5005 14.2315 66.747 15.3906H61.7645Z" fill="url(#paint2_linear_8024_16511)" /><Path d="M21.0652 0.420231L15.1946 16.2292L14.5531 13.0229L14.5525 13.0209L12.4565 2.36902C12.1113 0.888333 11.0505 0.469073 9.74326 0.420231H0.098668L0 0.88866C2.35228 1.49018 4.45618 2.35698 6.29963 3.43472L11.6425 23.5791H17.9816L27.4039 0.420231H21.0652Z" fill="url(#paint3_linear_8024_16511)" /></G></G><Defs><LinearGradient id="paint0_linear_8024_16511" x1={-4.75714e-8} y1={12.025} x2={74} y2={12.025} gradientUnits="userSpaceOnUse"><Stop stopColor="#222357" /><Stop offset={1} stopColor="#254AA5" /></LinearGradient><LinearGradient id="paint1_linear_8024_16511" x1={-4.75714e-8} y1={12.025} x2={74} y2={12.025} gradientUnits="userSpaceOnUse"><Stop stopColor="#222357" /><Stop offset={1} stopColor="#254AA5" /></LinearGradient><LinearGradient id="paint2_linear_8024_16511" x1={-4.75714e-8} y1={12.025} x2={74} y2={12.025} gradientUnits="userSpaceOnUse"><Stop stopColor="#222357" /><Stop offset={1} stopColor="#254AA5" /></LinearGradient><LinearGradient id="paint3_linear_8024_16511" x1={-4.75714e-8} y1={12.025} x2={74} y2={12.025} gradientUnits="userSpaceOnUse"><Stop stopColor="#222357" /><Stop offset={1} stopColor="#254AA5" /></LinearGradient><ClipPath id="clip0_8024_16511"><Rect width={74} height={23.9492} fill="white" /></ClipPath></Defs></Svg>;
4
+ export default Visa;
@@ -0,0 +1,3 @@
1
+ export { Logo, type LogoProps, type LogoName } from './Logo';
2
+ export { Flag, type FlagProps, type FlagCountry } from './Flag';
3
+ export { graphics, type GraphicName, type Graphic } from './registry';
@@ -0,0 +1,27 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { SvgProps } from 'react-native-svg';
3
+ import Visa from './generated/Visa';
4
+ import Mastercard from './generated/Mastercard';
5
+ import FlagUs from './generated/FlagUs';
6
+ import FlagBr from './generated/FlagBr';
7
+
8
+ export interface Graphic {
9
+ Component: ComponentType<SvgProps>;
10
+ /** width / height of the artwork, for aspect-correct sizing. */
11
+ aspect: number;
12
+ }
13
+
14
+ /**
15
+ * Multicolor brand assets as real react-native-svg components (generated by
16
+ * SVGR — see `pnpm gen:graphics`). Unlike icons these are NOT rendered via
17
+ * SvgXml, because runtime XML parsing does not reliably render gradients,
18
+ * clip-paths and masks across dev/build and native/web.
19
+ */
20
+ export const graphics = {
21
+ visa: { Component: Visa, aspect: 74 / 23.949 },
22
+ mastercard: { Component: Mastercard, aspect: 64 / 39.5537 },
23
+ 'flag-us': { Component: FlagUs, aspect: 33.5997 / 23.9998 },
24
+ 'flag-br': { Component: FlagBr, aspect: 33.5997 / 23.9998 },
25
+ } satisfies Record<string, Graphic>;
26
+
27
+ export type GraphicName = keyof typeof graphics;
@@ -0,0 +1,19 @@
1
+ export * from './Avatar';
2
+ export * from './brand';
3
+ export * from './Button';
4
+ export * from './Card';
5
+ export * from './Checkbox';
6
+ export * from './Chip';
7
+ export * from './CodeInput';
8
+ export * from './Icon';
9
+ export * from './IconButton';
10
+ export * from './Input';
11
+ export * from './LinkButton';
12
+ export * from './ProductCard';
13
+ export * from './QuantityStepper';
14
+ export * from './Radio';
15
+ export * from './Surface';
16
+ export * from './Switch';
17
+ export * from './Text';
18
+
19
+ export type { LabelPosition } from './_internal/Labeled';
package/src/index.tsx ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @bacon-pos/ui — Bacon POS design system for React Native.
3
+ *
4
+ * Public entry point. Everything importable from the package is re-exported here.
5
+ */
6
+ export * from './theme';
7
+ export * from './components';
@@ -0,0 +1,66 @@
1
+ import React, { createContext, useContext, useMemo } from 'react';
2
+ import { lightTheme, darkTheme, type Theme } from './themes';
3
+
4
+ const ThemeContext = createContext<Theme>(lightTheme);
5
+
6
+ /** Recursive partial — lets you override just the theme keys you care about. */
7
+ export type DeepPartial<T> = {
8
+ [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
9
+ };
10
+
11
+ function isPlainObject(value: unknown): value is Record<string, unknown> {
12
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
13
+ }
14
+
15
+ function deepMerge<T>(base: T, override?: DeepPartial<T>): T {
16
+ if (!override) return base;
17
+ const result = { ...base } as Record<string, unknown>;
18
+ for (const key of Object.keys(override)) {
19
+ const baseValue = (base as Record<string, unknown>)[key];
20
+ const overrideValue = (override as Record<string, unknown>)[key];
21
+ result[key] =
22
+ isPlainObject(baseValue) && isPlainObject(overrideValue)
23
+ ? deepMerge(baseValue, overrideValue as DeepPartial<typeof baseValue>)
24
+ : overrideValue;
25
+ }
26
+ return result as T;
27
+ }
28
+
29
+ export interface ThemeProviderProps {
30
+ /** Selects a built-in theme. Ignored when `theme` is provided. Defaults to 'light'. */
31
+ mode?: 'light' | 'dark';
32
+ /** Provide a fully custom theme object to replace the built-ins. */
33
+ theme?: Theme;
34
+ /**
35
+ * Deep-merge partial overrides onto the base theme. Applies globally to every
36
+ * component (current and future), so you can inject a custom typography scale,
37
+ * font family, or brand colors in one place:
38
+ *
39
+ * ```tsx
40
+ * <ThemeProvider overrides={{ fontFamily: { regular: 'Poppins-Regular' } }}>
41
+ * ```
42
+ */
43
+ overrides?: DeepPartial<Theme>;
44
+ children: React.ReactNode;
45
+ }
46
+
47
+ export function ThemeProvider({
48
+ mode = 'light',
49
+ theme,
50
+ overrides,
51
+ children,
52
+ }: ThemeProviderProps) {
53
+ const value = useMemo<Theme>(() => {
54
+ const base = theme ?? (mode === 'dark' ? darkTheme : lightTheme);
55
+ return overrides ? deepMerge(base, overrides) : base;
56
+ }, [mode, theme, overrides]);
57
+
58
+ return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;
59
+ }
60
+
61
+ /** Access the active theme from any component rendered inside a ThemeProvider. */
62
+ export function useTheme(): Theme {
63
+ return useContext(ThemeContext);
64
+ }
65
+
66
+ export { ThemeContext };
@@ -0,0 +1,31 @@
1
+ export { palette, type Palette } from './palette';
2
+ export {
3
+ spacing,
4
+ radii,
5
+ space,
6
+ SPACING_BASE,
7
+ type SpacingToken,
8
+ type RadiusToken,
9
+ } from './spacing';
10
+ export {
11
+ typography,
12
+ fontFamily,
13
+ fontWeight,
14
+ type TypographyVariant,
15
+ type FontWeightToken,
16
+ } from './typography';
17
+ export {
18
+ lightTheme,
19
+ darkTheme,
20
+ themes,
21
+ textStyle,
22
+ type Theme,
23
+ type SemanticColors,
24
+ } from './themes';
25
+ export {
26
+ ThemeProvider,
27
+ useTheme,
28
+ ThemeContext,
29
+ type ThemeProviderProps,
30
+ type DeepPartial,
31
+ } from './ThemeProvider';
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Primitive color palette — extracted from the Bacon POS Figma design system.
3
+ * These are raw values; consume them through the semantic `theme.colors` API
4
+ * (see `themes.ts`) rather than referencing palette steps directly in components.
5
+ */
6
+ export const palette = {
7
+ primary: {
8
+ 50: '#FFE6EB',
9
+ 100: '#FFCCD8',
10
+ 200: '#FF99B0',
11
+ 300: '#FF6689',
12
+ 400: '#FF3361',
13
+ 500: '#FF003A',
14
+ 600: '#CC002E',
15
+ 700: '#990023',
16
+ 800: '#660017',
17
+ 900: '#33000C',
18
+ 950: '#190006',
19
+ },
20
+ accent: {
21
+ 50: '#FAFFE6',
22
+ 100: '#F4FFCC',
23
+ 200: '#E9FF99',
24
+ 300: '#DFFF66',
25
+ 400: '#D4FF33',
26
+ 500: '#C9FF00',
27
+ 600: '#A1CC00',
28
+ 700: '#799900',
29
+ 800: '#506600',
30
+ 900: '#283300',
31
+ 950: '#141900',
32
+ },
33
+ neutral: {
34
+ 50: '#F9FAFB',
35
+ 100: '#F2F4F7',
36
+ 200: '#E5E7EB',
37
+ 300: '#D1D5DB',
38
+ 400: '#9CA3AF',
39
+ 500: '#6B7280',
40
+ 600: '#4B5563',
41
+ 700: '#374151',
42
+ 800: '#292D32',
43
+ 900: '#121416',
44
+ 950: '#101214',
45
+ },
46
+ success: {
47
+ 50: '#E6F4EE',
48
+ 100: '#CCE8DD',
49
+ 200: '#99D1BC',
50
+ 300: '#66BA9A',
51
+ 400: '#33A379',
52
+ 500: '#008C57',
53
+ 600: '#007046',
54
+ 700: '#005434',
55
+ 800: '#003823',
56
+ 900: '#001C11',
57
+ 950: '#000E09',
58
+ },
59
+ warning: {
60
+ 50: '#FEF5E7',
61
+ 100: '#FDECD0',
62
+ 200: '#FBD9A1',
63
+ 300: '#F8C571',
64
+ 400: '#F6B242',
65
+ 500: '#F49F13',
66
+ 600: '#C37F0F',
67
+ 700: '#925F0B',
68
+ 800: '#624008',
69
+ 900: '#312004',
70
+ 950: '#181002',
71
+ },
72
+ error: {
73
+ 50: '#FAE6E9',
74
+ 100: '#F6CCD2',
75
+ 200: '#EC99A5',
76
+ 300: '#E36679',
77
+ 400: '#D9334C',
78
+ 500: '#D0001F',
79
+ 600: '#A60019',
80
+ 700: '#7D0013',
81
+ 800: '#53000C',
82
+ 900: '#2A0006',
83
+ 950: '#150003',
84
+ },
85
+ black: '#000000',
86
+ white: '#FFFFFF',
87
+ } as const;
88
+
89
+ export type Palette = typeof palette;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Spacing scale — base unit 4px (Figma spacing tokens: 1=4, 2=8, 2.5=10, 4=16...).
3
+ * Use `space(n)` for arbitrary multiples of the base unit, or the named `spacing`
4
+ * tokens for consistent component padding/margins.
5
+ */
6
+ export const SPACING_BASE = 4;
7
+
8
+ export const space = (multiplier: number): number => multiplier * SPACING_BASE;
9
+
10
+ export const spacing = {
11
+ none: 0,
12
+ xxs: 2,
13
+ xs: 4,
14
+ sm: 8,
15
+ md: 12,
16
+ lg: 16,
17
+ xl: 24,
18
+ '2xl': 32,
19
+ '3xl': 40,
20
+ '4xl': 48,
21
+ '5xl': 64,
22
+ } as const;
23
+
24
+ export const radii = {
25
+ none: 0,
26
+ sm: 4,
27
+ md: 8,
28
+ lg: 12,
29
+ xl: 16,
30
+ '2xl': 24,
31
+ '3xl': 32,
32
+ pill: 9999,
33
+ full: 9999,
34
+ } as const;
35
+
36
+ export type SpacingToken = keyof typeof spacing;
37
+ export type RadiusToken = keyof typeof radii;
@@ -0,0 +1,248 @@
1
+ import type { TextStyle } from 'react-native';
2
+ import { palette } from './palette';
3
+ import { spacing, radii } from './spacing';
4
+ import {
5
+ typography,
6
+ fontFamily,
7
+ fontWeight,
8
+ type TypographyVariant,
9
+ type FontWeightToken,
10
+ } from './typography';
11
+
12
+ /**
13
+ * Semantic color contract. Components read from this — never from `palette`
14
+ * directly — so light/dark and future brand themes stay swappable.
15
+ */
16
+ export interface SemanticColors {
17
+ background: {
18
+ default: string;
19
+ subtle: string;
20
+ muted: string;
21
+ inverse: string;
22
+ };
23
+ text: {
24
+ primary: string;
25
+ secondary: string;
26
+ tertiary: string;
27
+ inverse: string;
28
+ disabled: string;
29
+ };
30
+ border: {
31
+ default: string;
32
+ subtle: string;
33
+ strong: string;
34
+ focus: string;
35
+ };
36
+ brand: {
37
+ primary: string;
38
+ primaryHover: string;
39
+ primaryActive: string;
40
+ onPrimary: string;
41
+ accent: string;
42
+ accentSubtle: string;
43
+ onAccent: string;
44
+ };
45
+ feedback: {
46
+ success: string;
47
+ successSubtle: string;
48
+ warning: string;
49
+ warningSubtle: string;
50
+ error: string;
51
+ errorSubtle: string;
52
+ onFeedback: string;
53
+ };
54
+ /** Interactive control fills (buttons). Mirrors Figma `action/*` tokens. */
55
+ action: {
56
+ primary: string;
57
+ primaryForeground: string;
58
+ secondary: string;
59
+ secondaryForeground: string;
60
+ inverse: string;
61
+ inverseForeground: string;
62
+ };
63
+ /** Stateful control fills (success / destructive buttons). Mirrors Figma `state/*`. */
64
+ state: {
65
+ success: string;
66
+ successForeground: string;
67
+ successSubtle: string;
68
+ successSubtleForeground: string;
69
+ destructiveSubtle: string;
70
+ destructiveSubtleForeground: string;
71
+ };
72
+ /** Disabled control tokens. Mirrors Figma `disabled/*`. */
73
+ disabled: {
74
+ foreground: string;
75
+ background: string;
76
+ backgroundStrong: string;
77
+ border: string;
78
+ };
79
+ }
80
+
81
+ export interface Theme {
82
+ mode: 'light' | 'dark';
83
+ colors: SemanticColors;
84
+ spacing: typeof spacing;
85
+ radii: typeof radii;
86
+ typography: typeof typography;
87
+ fontFamily: typeof fontFamily;
88
+ fontWeight: typeof fontWeight;
89
+ }
90
+
91
+ const shared = {
92
+ spacing,
93
+ radii,
94
+ typography,
95
+ fontFamily,
96
+ fontWeight,
97
+ } as const;
98
+
99
+ export const lightTheme: Theme = {
100
+ mode: 'light',
101
+ colors: {
102
+ background: {
103
+ default: palette.white,
104
+ subtle: palette.neutral[50],
105
+ muted: palette.neutral[100],
106
+ inverse: palette.neutral[900],
107
+ },
108
+ text: {
109
+ primary: palette.neutral[900],
110
+ secondary: palette.neutral[600],
111
+ tertiary: palette.neutral[400],
112
+ inverse: palette.white,
113
+ disabled: palette.neutral[300],
114
+ },
115
+ border: {
116
+ default: palette.neutral[200],
117
+ subtle: palette.neutral[100],
118
+ strong: palette.neutral[300],
119
+ focus: palette.accent[500],
120
+ },
121
+ brand: {
122
+ primary: palette.primary[500],
123
+ primaryHover: palette.primary[600],
124
+ primaryActive: palette.primary[700],
125
+ onPrimary: palette.white,
126
+ accent: palette.accent[500],
127
+ accentSubtle: palette.accent[50],
128
+ onAccent: palette.neutral[900],
129
+ },
130
+ feedback: {
131
+ success: palette.success[500],
132
+ successSubtle: palette.success[50],
133
+ warning: palette.warning[500],
134
+ warningSubtle: palette.warning[50],
135
+ error: palette.error[500],
136
+ errorSubtle: palette.error[50],
137
+ onFeedback: palette.white,
138
+ },
139
+ action: {
140
+ primary: palette.accent[500],
141
+ primaryForeground: palette.neutral[900],
142
+ secondary: palette.neutral[50],
143
+ secondaryForeground: palette.neutral[800],
144
+ inverse: palette.neutral[900],
145
+ inverseForeground: palette.neutral[50],
146
+ },
147
+ state: {
148
+ success: palette.success[500],
149
+ successForeground: palette.white,
150
+ successSubtle: palette.success[50],
151
+ successSubtleForeground: palette.success[500],
152
+ destructiveSubtle: palette.error[50],
153
+ destructiveSubtleForeground: palette.error[500],
154
+ },
155
+ disabled: {
156
+ foreground: palette.neutral[400],
157
+ background: palette.neutral[100],
158
+ backgroundStrong: palette.neutral[200],
159
+ border: palette.neutral[200],
160
+ },
161
+ },
162
+ ...shared,
163
+ };
164
+
165
+ export const darkTheme: Theme = {
166
+ mode: 'dark',
167
+ colors: {
168
+ background: {
169
+ default: palette.neutral[950],
170
+ subtle: palette.neutral[900],
171
+ muted: palette.neutral[800],
172
+ inverse: palette.neutral[50],
173
+ },
174
+ text: {
175
+ primary: palette.neutral[50],
176
+ secondary: palette.neutral[300],
177
+ tertiary: palette.neutral[400],
178
+ inverse: palette.neutral[900],
179
+ disabled: palette.neutral[600],
180
+ },
181
+ border: {
182
+ default: palette.neutral[700],
183
+ subtle: palette.neutral[800],
184
+ strong: palette.neutral[600],
185
+ focus: palette.accent[500],
186
+ },
187
+ brand: {
188
+ primary: palette.primary[500],
189
+ primaryHover: palette.primary[400],
190
+ primaryActive: palette.primary[300],
191
+ onPrimary: palette.white,
192
+ accent: palette.accent[500],
193
+ accentSubtle: palette.accent[950],
194
+ onAccent: palette.neutral[900],
195
+ },
196
+ feedback: {
197
+ success: palette.success[400],
198
+ successSubtle: palette.success[950],
199
+ warning: palette.warning[400],
200
+ warningSubtle: palette.warning[950],
201
+ error: palette.error[400],
202
+ errorSubtle: palette.error[950],
203
+ onFeedback: palette.neutral[950],
204
+ },
205
+ action: {
206
+ primary: palette.accent[500],
207
+ primaryForeground: palette.neutral[900],
208
+ secondary: palette.neutral[800],
209
+ secondaryForeground: palette.neutral[50],
210
+ inverse: palette.neutral[50],
211
+ inverseForeground: palette.neutral[900],
212
+ },
213
+ state: {
214
+ success: palette.success[400],
215
+ successForeground: palette.neutral[950],
216
+ successSubtle: palette.success[950],
217
+ successSubtleForeground: palette.success[400],
218
+ destructiveSubtle: palette.error[950],
219
+ destructiveSubtleForeground: palette.error[400],
220
+ },
221
+ disabled: {
222
+ foreground: palette.neutral[600],
223
+ background: palette.neutral[800],
224
+ backgroundStrong: palette.neutral[700],
225
+ border: palette.neutral[700],
226
+ },
227
+ },
228
+ ...shared,
229
+ };
230
+
231
+ export const themes = { light: lightTheme, dark: darkTheme } as const;
232
+
233
+ /**
234
+ * Compose a complete text style from the active theme's type scale, font family
235
+ * and weight. Use this in any component that renders text without the <Text>
236
+ * component (e.g. inputs), so it always honors global typography overrides.
237
+ */
238
+ export function textStyle(
239
+ theme: Theme,
240
+ variant: TypographyVariant,
241
+ weight: FontWeightToken = 'regular',
242
+ ): TextStyle {
243
+ return {
244
+ ...theme.typography[variant],
245
+ fontFamily: theme.fontFamily[weight],
246
+ fontWeight: theme.fontWeight[weight],
247
+ };
248
+ }
@@ -0,0 +1,37 @@
1
+ import type { TextStyle } from 'react-native';
2
+
3
+ /**
4
+ * Font families map to the Inter font weights used in the design system.
5
+ * Consumers must load these fonts (e.g. via `expo-font` / `@expo-google-fonts/inter`).
6
+ * If a family is not registered, React Native falls back to the system font.
7
+ */
8
+ export const fontFamily = {
9
+ regular: 'Inter-Regular',
10
+ medium: 'Inter-Medium',
11
+ semibold: 'Inter-SemiBold',
12
+ } as const;
13
+
14
+ export const fontWeight = {
15
+ regular: '400',
16
+ medium: '500',
17
+ semibold: '600',
18
+ } as const satisfies Record<string, TextStyle['fontWeight']>;
19
+
20
+ /**
21
+ * Type scale — Figma "Typography" page (Inter).
22
+ * Each entry is a partial TextStyle you can spread onto a <Text> component.
23
+ */
24
+ export const typography = {
25
+ displayLarge: { fontSize: 56, lineHeight: 64 },
26
+ displayRegular: { fontSize: 48, lineHeight: 56 },
27
+ h1: { fontSize: 32, lineHeight: 40 },
28
+ h2: { fontSize: 24, lineHeight: 32 },
29
+ h3: { fontSize: 20, lineHeight: 28 },
30
+ bodyLarge: { fontSize: 18, lineHeight: 26 },
31
+ bodyMedium: { fontSize: 16, lineHeight: 24 },
32
+ bodySmall: { fontSize: 14, lineHeight: 22 },
33
+ caption: { fontSize: 12, lineHeight: 18 },
34
+ } as const satisfies Record<string, Pick<TextStyle, 'fontSize' | 'lineHeight'>>;
35
+
36
+ export type TypographyVariant = keyof typeof typography;
37
+ export type FontWeightToken = keyof typeof fontWeight;