@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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Bacon POS
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,236 @@
1
+ # @bacon-pos/ui
2
+
3
+ Bacon POS design system — a scalable **React Native** component library, built
4
+ from the Figma design system and published to npm. Works with Expo (SDK 53+)
5
+ and bare React Native.
6
+
7
+ - **Zero-config for consumers** — ships compiled JS + type definitions. No babel
8
+ or metro changes required in the app.
9
+ - **Token-driven** — colors, typography, spacing and radii come straight from
10
+ Figma. Components read semantic tokens, so light/dark and custom brand themes
11
+ just work.
12
+ - **Versioned with [changesets](https://github.com/changesets/changesets)** —
13
+ every added component ships as a new semver release.
14
+
15
+ ---
16
+
17
+ ## Installation (in the app)
18
+
19
+ ```bash
20
+ npx expo install @bacon-pos/ui react-native-svg
21
+ # peer deps react + react-native are already in an Expo app
22
+ ```
23
+
24
+ > **Requires the New Architecture** (default in Expo SDK 53). The `Input` focus
25
+ > ring uses RN's `boxShadow` (colored spread), which renders on iOS, Android and
26
+ > web only under the New Architecture. Border colors still work everywhere.
27
+
28
+ Wrap your app in the `ThemeProvider` once:
29
+
30
+ ```tsx
31
+ import { ThemeProvider } from '@bacon-pos/ui';
32
+
33
+ export default function App() {
34
+ return (
35
+ <ThemeProvider mode="light">
36
+ {/* ...your navigation / screens */}
37
+ </ThemeProvider>
38
+ );
39
+ }
40
+ ```
41
+
42
+ Use components anywhere below it:
43
+
44
+ ```tsx
45
+ import { Button, Text, Icon } from '@bacon-pos/ui';
46
+
47
+ <Text variant="h2" weight="semibold">Checkout</Text>
48
+ <Button label="Place order" variant="default" onPress={pay} />
49
+ <Button
50
+ label="Search"
51
+ variant="secondary"
52
+ leftIcon={<Icon name="search" size={20} />}
53
+ />
54
+
55
+ // Icon on top — only for shape="square"
56
+ <Button
57
+ label="Make a sale"
58
+ shape="square"
59
+ topIcon={<Icon name="plus" size={24} color="#121416" />}
60
+ />
61
+ ```
62
+
63
+ `Button` and `LinkButton` accept `leftIcon` / `rightIcon`. The square `Button`
64
+ additionally accepts `topIcon` (vertical stack). `IconButton` is icon-only.
65
+
66
+ ### Icons
67
+
68
+ Icons are themeable SVGs (`react-native-svg`). Tint with `color` (a text token
69
+ or any color string) and size with `size`:
70
+
71
+ ```tsx
72
+ <Icon name="check" size={24} color="#008C57" />
73
+ <Icon name="trash" color="secondary" />
74
+ ```
75
+
76
+ **Adding icons** — export the SVG from Figma, drop it into `assets/icons/<kebab-name>.svg`,
77
+ then run:
78
+
79
+ ```bash
80
+ pnpm gen:icons
81
+ ```
82
+
83
+ This regenerates `src/components/Icon/icons.generated.ts` and the `IconName`
84
+ union (autocomplete). Each icon is stored as a normalized SVG string and rendered
85
+ via `react-native-svg`'s `SvgXml`, so stroke icons, compound fills and circles
86
+ all render faithfully; colors are rewritten to `currentColor` so `color` tints them.
87
+
88
+ **Multicolor brand assets** (card logos, flags) live separately as `Logo` and
89
+ `Flag`. They are pre-compiled to real `react-native-svg` components with SVGR
90
+ (`assets/graphics/` → `pnpm gen:graphics`), because gradients / clip-paths /
91
+ masks don't render reliably through runtime `SvgXml`. Their brand colors are
92
+ preserved (not tinted).
93
+
94
+ ### Fonts (Inter)
95
+
96
+ The type scale uses **Inter**. Load it in the app (fonts can't be bundled from a
97
+ library reliably); if not loaded, RN falls back to the system font.
98
+
99
+ ```bash
100
+ npx expo install @expo-google-fonts/inter expo-font
101
+ ```
102
+
103
+ ```tsx
104
+ import {
105
+ useFonts,
106
+ Inter_400Regular,
107
+ Inter_500Medium,
108
+ Inter_600SemiBold,
109
+ } from '@expo-google-fonts/inter';
110
+
111
+ const [loaded] = useFonts({
112
+ 'Inter-Regular': Inter_400Regular,
113
+ 'Inter-Medium': Inter_500Medium,
114
+ 'Inter-SemiBold': Inter_600SemiBold,
115
+ });
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Theming
121
+
122
+ Access the active theme anywhere with `useTheme()`:
123
+
124
+ ```tsx
125
+ import { useTheme } from '@bacon-pos/ui';
126
+
127
+ const theme = useTheme();
128
+ // theme.colors.brand.primary, theme.spacing.lg, theme.radii.md, ...
129
+ ```
130
+
131
+ Custom brand theme:
132
+
133
+ ```tsx
134
+ import { ThemeProvider, lightTheme, type Theme } from '@bacon-pos/ui';
135
+
136
+ const brand: Theme = {
137
+ ...lightTheme,
138
+ colors: { ...lightTheme.colors, brand: { ...lightTheme.colors.brand, primary: '#123456' } },
139
+ };
140
+
141
+ <ThemeProvider theme={brand}>{children}</ThemeProvider>;
142
+ ```
143
+
144
+ Exposed tokens: `palette`, `typography`, `fontFamily`, `fontWeight`, `spacing`,
145
+ `radii`, `space(n)`, `lightTheme`, `darkTheme`, `textStyle(theme, variant, weight)`.
146
+
147
+ ### Typography (global by default, overridable)
148
+
149
+ The Figma type scale (Inter — Display / H1–H3 / Body / Caption) ships in the
150
+ theme, so **every component uses it automatically**. You don't wire anything up.
151
+
152
+ Override it in one place with `overrides` (deep-merged onto the base theme,
153
+ applies to every current and future component):
154
+
155
+ ```tsx
156
+ <ThemeProvider
157
+ overrides={{
158
+ fontFamily: { regular: 'Poppins-Regular', medium: 'Poppins-Medium' },
159
+ typography: { h1: { fontSize: 30, lineHeight: 38 } },
160
+ }}
161
+ >
162
+ {children}
163
+ </ThemeProvider>
164
+ ```
165
+
166
+ Override for a single instance with the `style` prop:
167
+
168
+ ```tsx
169
+ <Text variant="h1" style={{ fontSize: 28, letterSpacing: 0.5 }}>Title</Text>
170
+ ```
171
+
172
+ Building a component that renders text without `<Text>`? Use the helper so it
173
+ honors global overrides too:
174
+
175
+ ```tsx
176
+ import { useTheme, textStyle } from '@bacon-pos/ui';
177
+
178
+ const theme = useTheme();
179
+ const style = textStyle(theme, 'bodyMedium', 'medium'); // full TextStyle
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Local development
185
+
186
+ ```bash
187
+ pnpm install
188
+ pnpm storybook # component explorer at http://localhost:6006
189
+ pnpm test # unit tests (Jest + RN Testing Library)
190
+ pnpm typecheck # tsc --noEmit
191
+ pnpm build # compile to lib/ via react-native-builder-bob
192
+ ```
193
+
194
+ ### Adding a component
195
+
196
+ 1. Create `src/components/<Name>/` with `<Name>.tsx`, `<Name>.stories.tsx`,
197
+ `<Name>.test.tsx`, and `index.ts`.
198
+ 2. Read tokens from `useTheme()` — never hardcode colors or spacing.
199
+ 3. Re-export it from `src/components/index.ts`.
200
+ 4. Add a changeset (see below).
201
+
202
+ ---
203
+
204
+ ## Releasing a new version
205
+
206
+ 1. Record what changed:
207
+ ```bash
208
+ pnpm changeset
209
+ ```
210
+ Choose **patch** (fixes), **minor** (new components / props) or **major**
211
+ (breaking changes) and write a summary.
212
+ 2. Apply the version bump + changelog:
213
+ ```bash
214
+ pnpm version
215
+ ```
216
+ 3. Publish to npm (requires `npm login` or an `NPM_TOKEN`):
217
+ ```bash
218
+ pnpm release
219
+ ```
220
+
221
+ > **Never commit npm tokens.** Use `npm login`, or set `NPM_TOKEN` as an
222
+ > environment variable / CI secret. `.npmrc` is gitignored.
223
+
224
+ ---
225
+
226
+ ## Roadmap
227
+
228
+ Built from the Figma design system (colors, typography, ~150 icons, inputs,
229
+ etc.). Current components: `Button`, `IconButton`, `LinkButton`, `Input`, `Card`,
230
+ `ProductCard`, `Surface`, `Text`, `Icon` (167 icons — 24px outline + fill + 20px
231
+ optical set), plus multicolor `Logo` (Visa/Mastercard) and `Flag` (US/BR) brand
232
+ assets, `QuantityStepper`, `CodeInput` (PIN), `Chip` + `ChipGroup` (single/multi
233
+ select), `Avatar` (photo or initials), and form controls `Checkbox`, `Radio`,
234
+ `Switch` (each standalone or with a positionable `label`). The Figma
235
+ "loader" is an animated ring, not an icon — use RN's `ActivityIndicator`
236
+ (Button/LinkButton already do).
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Avatar = Avatar;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _index = require("../../theme/index.js");
10
+ var _Text = require("../Text/Text.js");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ const SIZES = {
13
+ sm: {
14
+ diameter: 32,
15
+ text: 'bodySmall'
16
+ },
17
+ md: {
18
+ diameter: 40,
19
+ text: 'bodyMedium'
20
+ },
21
+ lg: {
22
+ diameter: 56,
23
+ text: 'h3'
24
+ }
25
+ };
26
+ function getInitials(name, explicit, count) {
27
+ if (explicit) return explicit.slice(0, count).toUpperCase();
28
+ if (!name) return '';
29
+ const words = name.trim().split(/\s+/).filter(Boolean);
30
+ const first = words[0];
31
+ if (!first) return '';
32
+ if (count === 1) return first.charAt(0).toUpperCase();
33
+ const second = words[1];
34
+ if (second) return (first.charAt(0) + second.charAt(0)).toUpperCase();
35
+ return first.slice(0, 2).toUpperCase();
36
+ }
37
+
38
+ /**
39
+ * Avatar — circular user image with an initials fallback. Shows the photo when
40
+ * `source` loads; otherwise shows 1–2 uppercase initials on a lighter background.
41
+ * Sizes: sm / md / lg.
42
+ */
43
+ function Avatar({
44
+ source,
45
+ name,
46
+ initials,
47
+ initialsCount = 2,
48
+ size = 'md',
49
+ diameter,
50
+ color,
51
+ backgroundColor,
52
+ style,
53
+ accessibilityLabel
54
+ }) {
55
+ const theme = (0, _index.useTheme)();
56
+ const cfg = SIZES[size];
57
+ const [errored, setErrored] = (0, _react.useState)(false);
58
+ const showImage = source != null && !errored;
59
+ const d = diameter ?? cfg.diameter;
60
+ const bg = backgroundColor ?? theme.colors.background.muted;
61
+ const fg = color ?? theme.colors.text.secondary;
62
+ // With a custom diameter, scale the initials to fit; otherwise use the preset.
63
+ const initialsStyle = diameter ? {
64
+ fontSize: Math.round(d * 0.4),
65
+ lineHeight: Math.round(d * 0.5)
66
+ } : undefined;
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
68
+ accessibilityRole: "image",
69
+ accessibilityLabel: accessibilityLabel ?? name,
70
+ style: [{
71
+ width: d,
72
+ height: d,
73
+ borderRadius: d / 2,
74
+ overflow: 'hidden',
75
+ alignItems: 'center',
76
+ justifyContent: 'center',
77
+ backgroundColor: showImage ? theme.colors.background.default : bg
78
+ }, style],
79
+ children: showImage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
80
+ source: source,
81
+ resizeMode: "cover",
82
+ onError: () => setErrored(true),
83
+ style: {
84
+ width: '100%',
85
+ height: '100%'
86
+ }
87
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
88
+ variant: cfg.text,
89
+ weight: "semibold",
90
+ color: fg,
91
+ style: initialsStyle,
92
+ children: getInitials(name, initials, initialsCount)
93
+ })
94
+ });
95
+ }
96
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_index","_Text","_jsxRuntime","SIZES","sm","diameter","text","md","lg","getInitials","name","explicit","count","slice","toUpperCase","words","trim","split","filter","Boolean","first","charAt","second","Avatar","source","initials","initialsCount","size","color","backgroundColor","style","accessibilityLabel","theme","useTheme","cfg","errored","setErrored","useState","showImage","d","bg","colors","background","muted","fg","secondary","initialsStyle","fontSize","Math","round","lineHeight","undefined","jsx","View","accessibilityRole","width","height","borderRadius","overflow","alignItems","justifyContent","default","children","Image","resizeMode","onError","Text","variant","weight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.WithPhoto = exports.Sizes = exports.InitialsTwo = exports.InitialsOne = exports.CustomDiameter = exports.CustomColor = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _Avatar = require("./Avatar.js");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ const PHOTO = {
11
+ uri: 'https://i.pravatar.cc/150?img=5'
12
+ };
13
+ const meta = {
14
+ title: 'Components/Avatar',
15
+ component: _Avatar.Avatar,
16
+ args: {
17
+ name: 'Ada Lovelace',
18
+ size: 'md'
19
+ },
20
+ argTypes: {
21
+ size: {
22
+ control: 'inline-radio',
23
+ options: ['sm', 'md', 'lg']
24
+ },
25
+ initialsCount: {
26
+ control: 'inline-radio',
27
+ options: [1, 2]
28
+ }
29
+ }
30
+ };
31
+ var _default = exports.default = meta;
32
+ const WithPhoto = exports.WithPhoto = {
33
+ args: {
34
+ source: PHOTO
35
+ }
36
+ };
37
+ const InitialsTwo = exports.InitialsTwo = {
38
+ args: {
39
+ initialsCount: 2
40
+ }
41
+ };
42
+ const InitialsOne = exports.InitialsOne = {
43
+ args: {
44
+ initialsCount: 1
45
+ }
46
+ };
47
+ const CustomColor = exports.CustomColor = {
48
+ args: {
49
+ color: '#7D0013',
50
+ backgroundColor: '#FAE6E9'
51
+ }
52
+ };
53
+ const CustomDiameter = exports.CustomDiameter = {
54
+ args: {
55
+ diameter: 80,
56
+ size: 'sm'
57
+ }
58
+ };
59
+ const Sizes = exports.Sizes = {
60
+ render: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
61
+ style: {
62
+ flexDirection: 'row',
63
+ alignItems: 'center',
64
+ gap: 16
65
+ },
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
67
+ name: "Ada Lovelace",
68
+ size: "sm"
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
70
+ name: "Ada Lovelace",
71
+ size: "md"
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
73
+ name: "Ada Lovelace",
74
+ size: "lg"
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
76
+ source: PHOTO,
77
+ size: "sm"
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
79
+ source: PHOTO,
80
+ size: "md"
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
82
+ source: PHOTO,
83
+ size: "lg"
84
+ })]
85
+ })
86
+ };
87
+ //# sourceMappingURL=Avatar.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_Avatar","_jsxRuntime","PHOTO","uri","meta","title","component","Avatar","args","name","size","argTypes","control","options","initialsCount","_default","exports","default","WithPhoto","source","InitialsTwo","InitialsOne","CustomColor","color","backgroundColor","CustomDiameter","diameter","Sizes","render","jsxs","View","style","flexDirection","alignItems","gap","children","jsx"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/Avatar.stories.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAAkC,IAAAE,WAAA,GAAAF,OAAA;AAElC,MAAMG,KAAK,GAAG;EAAEC,GAAG,EAAE;AAAkC,CAAC;AAExD,MAAMC,IAAI,GAAG;EACXC,KAAK,EAAE,mBAAmB;EAC1BC,SAAS,EAAEC,cAAM;EACjBC,IAAI,EAAE;IAAEC,IAAI,EAAE,cAAc;IAAEC,IAAI,EAAE;EAAK,CAAC;EAC1CC,QAAQ,EAAE;IACRD,IAAI,EAAE;MAAEE,OAAO,EAAE,cAAc;MAAEC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI;IAAE,CAAC;IAC9DC,aAAa,EAAE;MAAEF,OAAO,EAAE,cAAc;MAAEC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;IAAE;EAC5D;AACF,CAA+B;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEjBb,IAAI;AAGZ,MAAMc,SAAgB,GAAAF,OAAA,CAAAE,SAAA,GAAG;EAAEV,IAAI,EAAE;IAAEW,MAAM,EAAEjB;EAAM;AAAE,CAAC;AACpD,MAAMkB,WAAkB,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEZ,IAAI,EAAE;IAAEM,aAAa,EAAE;EAAE;AAAE,CAAC;AACzD,MAAMO,WAAkB,GAAAL,OAAA,CAAAK,WAAA,GAAG;EAAEb,IAAI,EAAE;IAAEM,aAAa,EAAE;EAAE;AAAE,CAAC;AACzD,MAAMQ,WAAkB,GAAAN,OAAA,CAAAM,WAAA,GAAG;EAChCd,IAAI,EAAE;IAAEe,KAAK,EAAE,SAAS;IAAEC,eAAe,EAAE;EAAU;AACvD,CAAC;AACM,MAAMC,cAAqB,GAAAT,OAAA,CAAAS,cAAA,GAAG;EACnCjB,IAAI,EAAE;IAAEkB,QAAQ,EAAE,EAAE;IAAEhB,IAAI,EAAE;EAAK;AACnC,CAAC;AAEM,MAAMiB,KAAY,GAAAX,OAAA,CAAAW,KAAA,GAAG;EAC1BC,MAAM,EAAEA,CAAA,kBACN,IAAA3B,WAAA,CAAA4B,IAAA,EAAC/B,YAAA,CAAAgC,IAAI;IAACC,KAAK,EAAE;MAAEC,aAAa,EAAE,KAAK;MAAEC,UAAU,EAAE,QAAQ;MAAEC,GAAG,EAAE;IAAG,CAAE;IAAAC,QAAA,gBACnE,IAAAlC,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACE,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC;IAAI,CAAE,CAAC,eACxC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACE,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC;IAAI,CAAE,CAAC,eACxC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACE,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC;IAAI,CAAE,CAAC,eACxC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACY,MAAM,EAAEjB,KAAM;MAACQ,IAAI,EAAC;IAAI,CAAE,CAAC,eACnC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACY,MAAM,EAAEjB,KAAM;MAACQ,IAAI,EAAC;IAAI,CAAE,CAAC,eACnC,IAAAT,WAAA,CAAAmC,GAAA,EAACpC,OAAA,CAAAO,MAAM;MAACY,MAAM,EAAEjB,KAAM;MAACQ,IAAI,EAAC;IAAI,CAAE,CAAC;EAAA,CAC/B;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+ var _reactNative = require("react-native");
5
+ var _reactNative2 = require("@testing-library/react-native");
6
+ var _Avatar = require("./Avatar.js");
7
+ var _index = require("../../theme/index.js");
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function renderWithTheme(ui) {
11
+ return (0, _reactNative2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ThemeProvider, {
12
+ children: ui
13
+ }));
14
+ }
15
+ describe('Avatar', () => {
16
+ it('derives two uppercase initials from a full name', () => {
17
+ renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
18
+ name: "ada lovelace"
19
+ }));
20
+ expect(_reactNative2.screen.getByText('AL')).toBeTruthy();
21
+ });
22
+ it('shows a single initial when initialsCount is 1', () => {
23
+ renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
24
+ name: "Ada Lovelace",
25
+ initialsCount: 1
26
+ }));
27
+ expect(_reactNative2.screen.getByText('A')).toBeTruthy();
28
+ });
29
+ it('uses the first two letters for a single-word name', () => {
30
+ renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
31
+ name: "Ada",
32
+ initialsCount: 2
33
+ }));
34
+ expect(_reactNative2.screen.getByText('AD')).toBeTruthy();
35
+ });
36
+ it('respects explicit initials', () => {
37
+ renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
38
+ initials: "xy"
39
+ }));
40
+ expect(_reactNative2.screen.getByText('XY')).toBeTruthy();
41
+ });
42
+ it('renders the image (no initials) when a source is given', () => {
43
+ renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
44
+ name: "Ada Lovelace",
45
+ source: {
46
+ uri: 'x'
47
+ }
48
+ }));
49
+ expect(_reactNative2.screen.queryByText('AL')).toBeNull();
50
+ });
51
+ it('uses a custom diameter over the size preset', () => {
52
+ renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
53
+ name: "Ada Lovelace",
54
+ size: "sm",
55
+ diameter: 72
56
+ }));
57
+ const flat = _reactNative.StyleSheet.flatten(_reactNative2.screen.getByLabelText('Ada Lovelace').props.style);
58
+ expect(flat.width).toBe(72);
59
+ expect(flat.height).toBe(72);
60
+ expect(flat.borderRadius).toBe(36);
61
+ });
62
+ });
63
+ //# sourceMappingURL=Avatar.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_Avatar","_index","_jsxRuntime","e","__esModule","default","renderWithTheme","ui","render","jsx","ThemeProvider","children","describe","it","Avatar","name","expect","screen","getByText","toBeTruthy","initialsCount","initials","source","uri","queryByText","toBeNull","size","diameter","flat","StyleSheet","flatten","getByLabelText","props","style","width","toBe","height","borderRadius"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/Avatar.test.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Avatar", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Avatar.Avatar;
10
+ }
11
+ });
12
+ var _Avatar = require("./Avatar.js");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Avatar","require"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Avatar/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA","ignoreList":[]}