@ledgerhq/lumen-ui-rnative 0.0.44 → 0.0.45

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 (333) hide show
  1. package/.storybook/Decorator.tsx +78 -13
  2. package/.storybook/docs/getting-started/ThemeProvider.mdx +1 -1
  3. package/.storybook/docs/style-system/lx.mdx +144 -0
  4. package/.storybook/docs/style-system/useCreate.mdx +95 -0
  5. package/.storybook/docs/style-system/useTheme.mdx +52 -0
  6. package/.storybook/preview-head.html +2 -2
  7. package/.storybook/{preview.ts → preview.tsx} +6 -1
  8. package/dist/package.json +2 -3
  9. package/dist/src/lib/Components/AddressInput/AddressInput.js +1 -1
  10. package/dist/src/lib/Components/AddressInput/AddressInput.stories.d.ts +7 -1
  11. package/dist/src/lib/Components/AddressInput/AddressInput.stories.d.ts.map +1 -1
  12. package/dist/src/lib/Components/AddressInput/AddressInput.stories.js +98 -9
  13. package/dist/src/lib/Components/AmountInput/AmountInput.d.ts.map +1 -1
  14. package/dist/src/lib/Components/AmountInput/AmountInput.js +3 -3
  15. package/dist/src/lib/Components/AmountInput/AmountInput.stories.d.ts +10 -1
  16. package/dist/src/lib/Components/AmountInput/AmountInput.stories.d.ts.map +1 -1
  17. package/dist/src/lib/Components/AmountInput/AmountInput.stories.js +162 -9
  18. package/dist/src/lib/Components/BaseInput/BaseInput.d.ts.map +1 -1
  19. package/dist/src/lib/Components/BaseInput/BaseInput.js +2 -19
  20. package/dist/src/lib/Components/BottomSheet/BottomSheet.js +1 -1
  21. package/dist/src/lib/Components/BottomSheet/BottomSheet.stories.js +8 -8
  22. package/dist/src/lib/Components/Button/BaseButton.d.ts +3 -3
  23. package/dist/src/lib/Components/Button/BaseButton.d.ts.map +1 -1
  24. package/dist/src/lib/Components/Button/BaseButton.js +99 -119
  25. package/dist/src/lib/Components/Button/Button.d.ts +4 -26
  26. package/dist/src/lib/Components/Button/Button.d.ts.map +1 -1
  27. package/dist/src/lib/Components/Button/Button.js +2 -2
  28. package/dist/src/lib/Components/Button/Button.stories.d.ts +1 -1
  29. package/dist/src/lib/Components/Button/Button.stories.d.ts.map +1 -1
  30. package/dist/src/lib/Components/Button/Button.stories.js +25 -48
  31. package/dist/src/lib/Components/Button/index.d.ts +1 -1
  32. package/dist/src/lib/Components/Button/index.d.ts.map +1 -1
  33. package/dist/src/lib/Components/Button/index.js +1 -1
  34. package/dist/src/lib/Components/Button/{BaseButton.types.d.ts → types.d.ts} +15 -10
  35. package/dist/src/lib/Components/Button/types.d.ts.map +1 -0
  36. package/dist/src/lib/Components/CardButton/CardButton.d.ts +4 -3
  37. package/dist/src/lib/Components/CardButton/CardButton.d.ts.map +1 -1
  38. package/dist/src/lib/Components/CardButton/CardButton.js +65 -71
  39. package/dist/src/lib/Components/CardButton/CardButton.stories.d.ts.map +1 -1
  40. package/dist/src/lib/Components/CardButton/CardButton.stories.js +28 -15
  41. package/dist/src/lib/Components/CardButton/index.d.ts +1 -1
  42. package/dist/src/lib/Components/CardButton/index.d.ts.map +1 -1
  43. package/dist/src/lib/Components/CardButton/index.js +1 -1
  44. package/dist/src/lib/Components/CardButton/{CardButton.types.d.ts → types.d.ts} +5 -4
  45. package/dist/src/lib/Components/CardButton/types.d.ts.map +1 -0
  46. package/dist/src/lib/Components/Icon/Icon.d.ts +6 -3
  47. package/dist/src/lib/Components/Icon/Icon.d.ts.map +1 -1
  48. package/dist/src/lib/Components/Icon/Icon.js +24 -25
  49. package/dist/src/lib/Components/Icon/Icon.stories.d.ts +2 -2
  50. package/dist/src/lib/Components/Icon/Icon.stories.d.ts.map +1 -1
  51. package/dist/src/lib/Components/Icon/Icon.stories.js +73 -19
  52. package/dist/src/lib/Components/Icon/createIcon.d.ts +1 -1
  53. package/dist/src/lib/Components/Icon/createIcon.d.ts.map +1 -1
  54. package/dist/src/lib/Components/Icon/createIcon.js +1 -2
  55. package/dist/src/lib/Components/Icon/index.d.ts +1 -1
  56. package/dist/src/lib/Components/Icon/index.d.ts.map +1 -1
  57. package/dist/src/lib/Components/Icon/index.js +1 -1
  58. package/dist/src/lib/Components/Icon/{Icon.types.d.ts → types.d.ts} +7 -4
  59. package/dist/src/lib/Components/Icon/types.d.ts.map +1 -0
  60. package/dist/src/lib/Components/IconButton/IconButton.d.ts +2 -19
  61. package/dist/src/lib/Components/IconButton/IconButton.d.ts.map +1 -1
  62. package/dist/src/lib/Components/IconButton/IconButton.stories.d.ts.map +1 -1
  63. package/dist/src/lib/Components/IconButton/IconButton.stories.js +9 -11
  64. package/dist/src/lib/Components/IconButton/index.d.ts +1 -0
  65. package/dist/src/lib/Components/IconButton/index.d.ts.map +1 -1
  66. package/dist/src/lib/Components/IconButton/index.js +1 -0
  67. package/dist/src/lib/Components/IconButton/types.d.ts +12 -0
  68. package/dist/src/lib/Components/IconButton/types.d.ts.map +1 -0
  69. package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts +2 -2
  70. package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts.map +1 -1
  71. package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.figma.js +1 -1
  72. package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.js +34 -34
  73. package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.d.ts +1 -1
  74. package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.d.ts.map +1 -1
  75. package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.js +22 -9
  76. package/dist/src/lib/Components/InteractiveIcon/types.d.ts +3 -7
  77. package/dist/src/lib/Components/InteractiveIcon/types.d.ts.map +1 -1
  78. package/dist/src/lib/Components/Link/Link.d.ts +7 -77
  79. package/dist/src/lib/Components/Link/Link.d.ts.map +1 -1
  80. package/dist/src/lib/Components/Link/Link.js +59 -75
  81. package/dist/src/lib/Components/Link/Link.stories.d.ts.map +1 -1
  82. package/dist/src/lib/Components/Link/Link.stories.js +34 -11
  83. package/dist/src/lib/Components/Link/index.d.ts +1 -0
  84. package/dist/src/lib/Components/Link/index.d.ts.map +1 -1
  85. package/dist/src/lib/Components/Link/index.js +1 -0
  86. package/dist/src/lib/Components/Link/types.d.ts +43 -0
  87. package/dist/src/lib/Components/Link/types.d.ts.map +1 -0
  88. package/dist/src/lib/Components/Link/types.js +1 -0
  89. package/dist/src/lib/Components/Search/Search.stories.d.ts +6 -1
  90. package/dist/src/lib/Components/Search/Search.stories.d.ts.map +1 -1
  91. package/dist/src/lib/Components/Search/Search.stories.js +71 -9
  92. package/dist/src/lib/Components/Select/Select.d.ts.map +1 -1
  93. package/dist/src/lib/Components/Select/Select.js +1 -17
  94. package/dist/src/lib/Components/Spinner/Spinner.d.ts +13 -16
  95. package/dist/src/lib/Components/Spinner/Spinner.d.ts.map +1 -1
  96. package/dist/src/lib/Components/Spinner/Spinner.js +33 -5
  97. package/dist/src/lib/Components/Spinner/Spinner.stories.d.ts.map +1 -1
  98. package/dist/src/lib/Components/Spinner/Spinner.stories.js +1 -1
  99. package/dist/src/lib/Components/Spinner/index.d.ts +1 -0
  100. package/dist/src/lib/Components/Spinner/index.d.ts.map +1 -1
  101. package/dist/src/lib/Components/Spinner/index.js +1 -0
  102. package/dist/src/lib/Components/Spinner/types.d.ts +15 -0
  103. package/dist/src/lib/Components/Spinner/types.d.ts.map +1 -0
  104. package/dist/src/lib/Components/Spinner/types.js +1 -0
  105. package/dist/src/lib/Components/Tag/Tag.d.ts +2 -1
  106. package/dist/src/lib/Components/Tag/Tag.d.ts.map +1 -1
  107. package/dist/src/lib/Components/Tag/Tag.js +15 -4
  108. package/dist/src/lib/Components/Tag/Tag.stories.js +1 -1
  109. package/dist/src/lib/Components/Tag/Tag.types.d.ts +7 -1
  110. package/dist/src/lib/Components/Tag/Tag.types.d.ts.map +1 -1
  111. package/dist/src/lib/Components/TextInput/TextInput.stories.d.ts +8 -1
  112. package/dist/src/lib/Components/TextInput/TextInput.stories.d.ts.map +1 -1
  113. package/dist/src/lib/Components/TextInput/TextInput.stories.js +104 -9
  114. package/dist/src/lib/Components/Tile/Tile.js +2 -2
  115. package/dist/src/lib/Components/Tooltip/Tooltip.stories.js +2 -2
  116. package/dist/src/lib/Components/Utility/Box/Box.d.ts +39 -0
  117. package/dist/src/lib/Components/Utility/Box/Box.d.ts.map +1 -0
  118. package/dist/src/lib/Components/{Box → Utility/Box}/Box.js +10 -11
  119. package/dist/src/lib/Components/Utility/Box/Box.stories.d.ts.map +1 -0
  120. package/dist/src/lib/Components/{Box → Utility/Box}/Box.stories.js +13 -12
  121. package/dist/src/lib/Components/Utility/Box/index.d.ts +2 -0
  122. package/dist/src/lib/Components/Utility/Box/index.d.ts.map +1 -0
  123. package/dist/src/lib/Components/Utility/Pressable/Pressable.d.ts +34 -0
  124. package/dist/src/lib/Components/Utility/Pressable/Pressable.d.ts.map +1 -0
  125. package/dist/src/lib/Components/Utility/Pressable/Pressable.js +33 -0
  126. package/dist/src/lib/Components/Utility/Pressable/Pressable.stories.d.ts +7 -0
  127. package/dist/src/lib/Components/Utility/Pressable/Pressable.stories.d.ts.map +1 -0
  128. package/dist/src/lib/Components/Utility/Pressable/Pressable.stories.js +47 -0
  129. package/dist/src/lib/Components/Utility/Pressable/index.d.ts +3 -0
  130. package/dist/src/lib/Components/Utility/Pressable/index.d.ts.map +1 -0
  131. package/dist/src/lib/Components/Utility/Pressable/index.js +1 -0
  132. package/dist/src/lib/Components/Utility/Pressable/types.d.ts +3 -0
  133. package/dist/src/lib/Components/Utility/Pressable/types.d.ts.map +1 -0
  134. package/dist/src/lib/Components/Utility/Pressable/types.js +1 -0
  135. package/dist/src/lib/Components/Utility/Text/Text.d.ts +40 -0
  136. package/dist/src/lib/Components/Utility/Text/Text.d.ts.map +1 -0
  137. package/dist/src/lib/Components/{Text → Utility/Text}/Text.js +13 -9
  138. package/dist/src/lib/Components/Utility/Text/Text.stories.d.ts.map +1 -0
  139. package/dist/src/lib/Components/{Text → Utility/Text}/Text.stories.js +3 -3
  140. package/dist/src/lib/Components/Utility/Text/index.d.ts.map +1 -0
  141. package/dist/src/lib/Components/Utility/index.d.ts +4 -0
  142. package/dist/src/lib/Components/Utility/index.d.ts.map +1 -0
  143. package/dist/src/lib/Components/Utility/index.js +3 -0
  144. package/dist/src/lib/Components/index.d.ts +1 -3
  145. package/dist/src/lib/Components/index.d.ts.map +1 -1
  146. package/dist/src/lib/Components/index.js +1 -3
  147. package/dist/src/lib/utils/components/InjectStylesIntoChildren.d.ts +6 -5
  148. package/dist/src/lib/utils/components/InjectStylesIntoChildren.d.ts.map +1 -1
  149. package/dist/src/lib/utils/components/InjectStylesIntoChildren.js +6 -6
  150. package/dist/src/styles/LumenStyleSheet.d.ts +1 -1
  151. package/dist/src/styles/LumenStyleSheet.d.ts.map +1 -1
  152. package/dist/src/styles/Provider/createStylesheetTheme.d.ts +0 -1
  153. package/dist/src/styles/Provider/createStylesheetTheme.d.ts.map +1 -1
  154. package/dist/src/styles/Provider/createStylesheetTheme.js +0 -1
  155. package/dist/src/styles/create/useCreate.d.ts +2 -1
  156. package/dist/src/styles/create/useCreate.d.ts.map +1 -1
  157. package/dist/src/styles/create/useCreate.js +5 -5
  158. package/dist/src/styles/factories/areLxPropsEqual.d.ts +3 -0
  159. package/dist/src/styles/factories/areLxPropsEqual.d.ts.map +1 -0
  160. package/dist/src/styles/factories/areLxPropsEqual.js +15 -0
  161. package/dist/src/styles/factories/createStyledPressable.d.ts +26 -0
  162. package/dist/src/styles/factories/createStyledPressable.d.ts.map +1 -0
  163. package/dist/src/styles/factories/createStyledPressable.js +61 -0
  164. package/dist/src/styles/factories/createStyledText.d.ts +15 -26
  165. package/dist/src/styles/factories/createStyledText.d.ts.map +1 -1
  166. package/dist/src/styles/factories/createStyledText.js +13 -29
  167. package/dist/src/styles/factories/createStyledView.d.ts +7 -27
  168. package/dist/src/styles/factories/createStyledView.d.ts.map +1 -1
  169. package/dist/src/styles/factories/createStyledView.js +10 -30
  170. package/dist/src/styles/factories/index.d.ts +4 -0
  171. package/dist/src/styles/factories/index.d.ts.map +1 -0
  172. package/dist/src/styles/factories/index.js +3 -0
  173. package/dist/src/styles/index.d.ts +2 -3
  174. package/dist/src/styles/index.d.ts.map +1 -1
  175. package/dist/src/styles/index.js +2 -3
  176. package/dist/src/styles/resolveStyle/resolveConfig.d.ts +7 -7
  177. package/dist/src/styles/resolveStyle/resolveConfig.d.ts.map +1 -1
  178. package/dist/src/styles/resolveStyle/resolveConfig.js +9 -9
  179. package/dist/src/styles/resolveStyle/resolveStyle.d.ts +6 -20
  180. package/dist/src/styles/resolveStyle/resolveStyle.d.ts.map +1 -1
  181. package/dist/src/styles/resolveStyle/resolveStyle.js +4 -29
  182. package/dist/src/styles/types/create.types.d.ts +1 -1
  183. package/dist/src/styles/types/create.types.d.ts.map +1 -1
  184. package/dist/src/styles/types/styled.types.d.ts +72 -50
  185. package/dist/src/styles/types/styled.types.d.ts.map +1 -1
  186. package/dist/src/styles/types/utility.types.d.ts.map +1 -1
  187. package/dist/src/styles/utils/index.d.ts +2 -0
  188. package/dist/src/styles/utils/index.d.ts.map +1 -0
  189. package/dist/src/styles/utils/index.js +1 -0
  190. package/dist/src/styles/utils/mergeStyles.d.ts +16 -0
  191. package/dist/src/styles/utils/mergeStyles.d.ts.map +1 -0
  192. package/dist/src/styles/utils/mergeStyles.js +20 -0
  193. package/package.json +3 -4
  194. package/src/lib/Components/AddressInput/AddressInput.mdx +15 -4
  195. package/src/lib/Components/AddressInput/AddressInput.stories.tsx +133 -17
  196. package/src/lib/Components/AddressInput/AddressInput.tsx +1 -1
  197. package/src/lib/Components/AmountInput/AmountInput.mdx +20 -1
  198. package/src/lib/Components/AmountInput/AmountInput.stories.tsx +180 -17
  199. package/src/lib/Components/AmountInput/AmountInput.tsx +24 -15
  200. package/src/lib/Components/Banner/Banner.test.tsx +48 -15
  201. package/src/lib/Components/BaseInput/BaseInput.tsx +6 -35
  202. package/src/lib/Components/BottomSheet/BottomSheet.stories.tsx +8 -8
  203. package/src/lib/Components/BottomSheet/BottomSheet.tsx +1 -1
  204. package/src/lib/Components/Button/BaseButton.test.tsx +149 -0
  205. package/src/lib/Components/Button/BaseButton.tsx +193 -148
  206. package/src/lib/Components/Button/Button.mdx +34 -31
  207. package/src/lib/Components/Button/Button.stories.tsx +37 -58
  208. package/src/lib/Components/Button/Button.tsx +4 -11
  209. package/src/lib/Components/Button/index.ts +1 -1
  210. package/src/lib/Components/Button/{BaseButton.types.ts → types.ts} +14 -8
  211. package/src/lib/Components/CardButton/CardButton.mdx +15 -25
  212. package/src/lib/Components/CardButton/CardButton.stories.tsx +48 -22
  213. package/src/lib/Components/CardButton/CardButton.test.tsx +141 -0
  214. package/src/lib/Components/CardButton/CardButton.tsx +142 -108
  215. package/src/lib/Components/CardButton/index.ts +1 -1
  216. package/src/lib/Components/CardButton/{CardButton.types.ts → types.ts} +4 -3
  217. package/src/lib/Components/Checkbox/Checkbox.mdx +1 -1
  218. package/src/lib/Components/Checkbox/Checkbox.test.tsx +42 -17
  219. package/src/lib/Components/Icon/Icon.stories.tsx +143 -73
  220. package/src/lib/Components/Icon/Icon.test.tsx +84 -0
  221. package/src/lib/Components/Icon/Icon.tsx +32 -28
  222. package/src/lib/Components/Icon/createIcon.ts +2 -3
  223. package/src/lib/Components/Icon/index.ts +1 -1
  224. package/src/lib/Components/Icon/{Icon.types.ts → types.ts} +4 -3
  225. package/src/lib/Components/IconButton/IconButton.mdx +13 -10
  226. package/src/lib/Components/IconButton/IconButton.stories.tsx +12 -14
  227. package/src/lib/Components/IconButton/IconButton.test.tsx +141 -0
  228. package/src/lib/Components/IconButton/IconButton.tsx +3 -13
  229. package/src/lib/Components/IconButton/index.ts +1 -0
  230. package/src/lib/Components/IconButton/types.ts +12 -0
  231. package/src/lib/Components/InteractiveIcon/InteractiveIcon.figma.tsx +1 -1
  232. package/src/lib/Components/InteractiveIcon/InteractiveIcon.mdx +25 -27
  233. package/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.tsx +82 -43
  234. package/src/lib/Components/InteractiveIcon/InteractiveIcon.test.tsx +30 -19
  235. package/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx +78 -45
  236. package/src/lib/Components/InteractiveIcon/types.ts +4 -7
  237. package/src/lib/Components/Link/Link.mdx +8 -18
  238. package/src/lib/Components/Link/Link.stories.tsx +56 -25
  239. package/src/lib/Components/Link/Link.test.tsx +141 -51
  240. package/src/lib/Components/Link/Link.tsx +128 -150
  241. package/src/lib/Components/Link/index.ts +1 -0
  242. package/src/lib/Components/Link/types.ts +44 -0
  243. package/src/lib/Components/Search/Search.mdx +14 -1
  244. package/src/lib/Components/Search/Search.stories.tsx +94 -15
  245. package/src/lib/Components/Select/Select.test.tsx +8 -4
  246. package/src/lib/Components/Select/Select.tsx +4 -31
  247. package/src/lib/Components/Spinner/Spinner.stories.tsx +1 -5
  248. package/src/lib/Components/Spinner/Spinner.tsx +60 -34
  249. package/src/lib/Components/Spinner/index.ts +1 -0
  250. package/src/lib/Components/Spinner/types.ts +15 -0
  251. package/src/lib/Components/Switch/Switch.mdx +1 -1
  252. package/src/lib/Components/Tag/Tag.stories.tsx +2 -2
  253. package/src/lib/Components/Tag/Tag.tsx +22 -6
  254. package/src/lib/Components/Tag/Tag.types.ts +7 -8
  255. package/src/lib/Components/TextInput/TextInput.mdx +24 -4
  256. package/src/lib/Components/TextInput/TextInput.stories.tsx +131 -15
  257. package/src/lib/Components/Tile/Tile.test.tsx +100 -63
  258. package/src/lib/Components/Tile/Tile.tsx +2 -2
  259. package/src/lib/Components/Tooltip/Tooltip.stories.tsx +2 -2
  260. package/src/lib/Components/Tooltip/Tooltip.test.tsx +8 -4
  261. package/src/lib/Components/{Box → Utility/Box}/Box.mdx +15 -13
  262. package/src/lib/Components/{Box → Utility/Box}/Box.stories.tsx +13 -11
  263. package/src/lib/Components/{Box → Utility/Box}/Box.tsx +11 -12
  264. package/src/lib/Components/Utility/Box/index.ts +1 -0
  265. package/src/lib/Components/Utility/Pressable/Pressable.mdx +103 -0
  266. package/src/lib/Components/Utility/Pressable/Pressable.stories.tsx +51 -0
  267. package/src/lib/Components/Utility/Pressable/Pressable.test.tsx +221 -0
  268. package/src/lib/Components/Utility/Pressable/Pressable.tsx +34 -0
  269. package/src/lib/Components/Utility/Pressable/index.ts +2 -0
  270. package/src/lib/Components/Utility/Pressable/types.ts +3 -0
  271. package/src/lib/Components/{Text → Utility/Text}/Text.mdx +15 -7
  272. package/src/lib/Components/{Text → Utility/Text}/Text.stories.tsx +3 -3
  273. package/src/lib/Components/Utility/Text/Text.tsx +39 -0
  274. package/src/lib/Components/Utility/index.ts +3 -0
  275. package/src/lib/Components/index.ts +1 -3
  276. package/src/lib/utils/components/InjectStylesIntoChildren.tsx +23 -14
  277. package/src/styles/Provider/createStylesheetTheme.ts +0 -1
  278. package/src/styles/create/useCreate.ts +8 -4
  279. package/src/styles/factories/areLxPropsEqual.ts +32 -0
  280. package/src/styles/factories/createStyledPressable.test.tsx +253 -0
  281. package/src/styles/factories/createStyledPressable.tsx +97 -0
  282. package/src/styles/factories/createStyledText.test.tsx +28 -20
  283. package/src/styles/factories/createStyledText.tsx +29 -49
  284. package/src/styles/factories/createStyledView.test.tsx +22 -16
  285. package/src/styles/factories/createStyledView.tsx +19 -53
  286. package/src/styles/factories/index.ts +3 -0
  287. package/src/styles/index.ts +2 -3
  288. package/src/styles/resolveStyle/resolveConfig.ts +16 -15
  289. package/src/styles/resolveStyle/resolveStyle.test.ts +13 -141
  290. package/src/styles/resolveStyle/resolveStyle.ts +10 -60
  291. package/src/styles/types/create.types.ts +1 -1
  292. package/src/styles/types/styled.types.ts +73 -105
  293. package/src/styles/types/utility.types.ts +1 -0
  294. package/src/styles/utils/index.ts +1 -0
  295. package/src/styles/utils/mergeStyles.test.ts +45 -0
  296. package/src/styles/utils/mergeStyles.ts +25 -0
  297. package/.storybook/docs/getting-started/StyleSystem.mdx +0 -133
  298. package/dist/src/lib/Components/Box/Box.d.ts +0 -592
  299. package/dist/src/lib/Components/Box/Box.d.ts.map +0 -1
  300. package/dist/src/lib/Components/Box/Box.stories.d.ts.map +0 -1
  301. package/dist/src/lib/Components/Box/Box.types.d.ts +0 -3
  302. package/dist/src/lib/Components/Box/Box.types.d.ts.map +0 -1
  303. package/dist/src/lib/Components/Box/index.d.ts +0 -3
  304. package/dist/src/lib/Components/Box/index.d.ts.map +0 -1
  305. package/dist/src/lib/Components/Button/BaseButton.types.d.ts.map +0 -1
  306. package/dist/src/lib/Components/CardButton/CardButton.types.d.ts.map +0 -1
  307. package/dist/src/lib/Components/Icon/Icon.types.d.ts.map +0 -1
  308. package/dist/src/lib/Components/Text/Text.d.ts +0 -602
  309. package/dist/src/lib/Components/Text/Text.d.ts.map +0 -1
  310. package/dist/src/lib/Components/Text/Text.stories.d.ts.map +0 -1
  311. package/dist/src/lib/Components/Text/index.d.ts.map +0 -1
  312. package/dist/src/lib/Components/_ToRemove/ToRemove.d.ts +0 -9
  313. package/dist/src/lib/Components/_ToRemove/ToRemove.d.ts.map +0 -1
  314. package/dist/src/lib/Components/_ToRemove/ToRemove.js +0 -43
  315. package/dist/src/styles/utils/styleVarianceAuthority.d.ts +0 -30
  316. package/dist/src/styles/utils/styleVarianceAuthority.d.ts.map +0 -1
  317. package/dist/src/styles/utils/styleVarianceAuthority.js +0 -97
  318. package/src/lib/Components/Box/Box.types.ts +0 -3
  319. package/src/lib/Components/Box/index.ts +0 -2
  320. package/src/lib/Components/Text/Text.tsx +0 -35
  321. package/src/lib/Components/_ToRemove/ToRemove.tsx +0 -65
  322. package/src/styles/utils/styleVarianceAuthority.test.ts +0 -302
  323. package/src/styles/utils/styleVarianceAuthority.ts +0 -154
  324. /package/dist/src/lib/Components/{Box/Box.types.js → Button/types.js} +0 -0
  325. /package/dist/src/lib/Components/{Button/BaseButton.types.js → CardButton/types.js} +0 -0
  326. /package/dist/src/lib/Components/{CardButton/CardButton.types.js → Icon/types.js} +0 -0
  327. /package/dist/src/lib/Components/{Icon/Icon.types.js → IconButton/types.js} +0 -0
  328. /package/dist/src/lib/Components/{Box → Utility/Box}/Box.stories.d.ts +0 -0
  329. /package/dist/src/lib/Components/{Box → Utility/Box}/index.js +0 -0
  330. /package/dist/src/lib/Components/{Text → Utility/Text}/Text.stories.d.ts +0 -0
  331. /package/dist/src/lib/Components/{Text → Utility/Text}/index.d.ts +0 -0
  332. /package/dist/src/lib/Components/{Text → Utility/Text}/index.js +0 -0
  333. /package/src/lib/Components/{Text → Utility/Text}/index.ts +0 -0
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Banner } from '../Banner';
2
+ import { useState } from 'react';
3
+ import { View } from 'react-native';
3
4
  import { Search } from './Search';
4
5
  const meta = {
5
6
  component: Search,
@@ -13,15 +14,76 @@ const meta = {
13
14
  },
14
15
  },
15
16
  },
17
+ argTypes: {
18
+ placeholder: {
19
+ control: 'text',
20
+ description: 'Placeholder text when input is empty',
21
+ },
22
+ errorMessage: {
23
+ control: 'text',
24
+ description: 'Error message to display below input',
25
+ },
26
+ editable: {
27
+ control: 'boolean',
28
+ description: 'Whether the input is editable',
29
+ },
30
+ hideClearButton: {
31
+ control: 'boolean',
32
+ description: 'Hide the clear button',
33
+ },
34
+ },
16
35
  };
17
36
  export default meta;
18
- export const WebPreviewWarning = {
19
- render: () => (_jsx(Banner, { appearance: 'warning', title: 'Unsupported previews on web', description: 'For this component, previewing stories is currently only supported on mobile. Reanimated causes compatibility issues with the web preview, so for now, please test on-device. We plan to add screenshots or embed Expo Snack in the future.' })),
20
- parameters: {
21
- docs: {
22
- description: {
23
- story: '⚠️ This component requires testing on a physical device or emulator due to Reanimated compatibility issues with web previews.',
24
- },
25
- },
37
+ const SearchStory = (args) => {
38
+ const [query, setQuery] = useState(args.initialValue ?? '');
39
+ return (_jsx(View, { className: 'flex min-h-400 items-center justify-center p-24', children: _jsx(View, { className: 'w-full max-w-320', children: _jsx(Search, { ...args, value: query, onChangeText: setQuery, onClear: args.onClear }) }) }));
40
+ };
41
+ export const Base = {
42
+ render: (args) => _jsx(SearchStory, { ...args }),
43
+ args: {
44
+ placeholder: 'Search products',
45
+ editable: true,
46
+ hideClearButton: false,
47
+ },
48
+ };
49
+ export const WithContent = {
50
+ render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Search text' }),
51
+ args: {
52
+ placeholder: 'Search products',
53
+ editable: true,
54
+ hideClearButton: false,
55
+ },
56
+ };
57
+ export const WithError = {
58
+ render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Invalid search' }),
59
+ args: {
60
+ placeholder: 'Search products',
61
+ errorMessage: 'Search term is invalid',
62
+ editable: true,
63
+ hideClearButton: false,
64
+ },
65
+ };
66
+ export const DisabledSearch = {
67
+ render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Disabled search' }),
68
+ args: {
69
+ placeholder: 'Search products',
70
+ editable: false,
71
+ hideClearButton: false,
72
+ },
73
+ };
74
+ export const WithHiddenClearButton = {
75
+ render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Search text' }),
76
+ args: {
77
+ placeholder: 'Search products',
78
+ editable: true,
79
+ hideClearButton: true,
80
+ },
81
+ };
82
+ export const WithClearCallback = {
83
+ render: (args) => (_jsx(SearchStory, { ...args, initialValue: 'Click clear to see callback', onClear: () => alert('Search cleared!') })),
84
+ args: {
85
+ placeholder: 'Search products',
86
+ editable: true,
87
+ hideClearButton: false,
26
88
  },
27
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAYvE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8DxC,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA6GtD,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAsBA,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAUlD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgBlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAUxD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAU1D,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAOvE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8DxC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyFtD,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAsBA,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAUlD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgBlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAUxD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAU1D,CAAC"}
@@ -2,7 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from '@ledgerhq/lumen-utils-shared';
3
3
  import React, { useState, useEffect, useCallback, useId } from 'react';
4
4
  import { View, Text, Pressable } from 'react-native';
5
- import Animated, { useAnimatedStyle, useSharedValue, withTiming, } from 'react-native-reanimated';
6
5
  import { ChevronDown } from '../../Symbols';
7
6
  import { useControllableState, extractTextFromChildren } from '../../utils';
8
7
  import { SlotPressable } from '../Slot';
@@ -67,7 +66,6 @@ export const Select = ({ children, open: controlledOpen, defaultOpen = false, on
67
66
  return (_jsx(SelectContextProvider, { selectId: selectId, open: internalOpen ?? false, setOpen: setOpen, value: internalValue, onValueChange: handleValueChange, disabled: disabled, items: items, setItems: setItems, children: children }));
68
67
  };
69
68
  Select.displayName = 'Select';
70
- const AnimatedLabel = Animated.createAnimatedComponent(Animated.Text);
71
69
  export const SelectTrigger = ({ children, className, label, labelClassName, asChild = false, disabled: triggerDisabled, ...props }) => {
72
70
  const { selectId, setOpen, items, value, disabled: contextDisabled, label: contextLabel, onValueChange, } = useSelectSafeContext({
73
71
  consumerName: 'SelectTrigger',
@@ -100,22 +98,8 @@ export const SelectTrigger = ({ children, className, label, labelClassName, asCh
100
98
  ]);
101
99
  const hasValue = value !== undefined && value !== '';
102
100
  const isFloatingLabel = hasValue;
103
- const labelFontSize = useSharedValue(hasValue ? 10 : 14);
104
- const labelTop = useSharedValue(hasValue ? 10 : 16);
105
- const animatedLabelStyle = useAnimatedStyle(() => ({
106
- fontSize: labelFontSize.value,
107
- top: labelTop.value,
108
- }), []);
109
- useEffect(() => {
110
- labelFontSize.value = withTiming(isFloatingLabel ? 10 : 14, {
111
- duration: 200,
112
- });
113
- labelTop.value = withTiming(isFloatingLabel ? 10 : 16, {
114
- duration: 200,
115
- });
116
- }, [isFloatingLabel, labelFontSize, labelTop]);
117
101
  const Comp = asChild ? SlotPressable : Pressable;
118
- return (_jsxs(Comp, { disabled: disabled, onPress: handlePress, className: cn(triggerStyles, disabled && 'opacity-50', className), ...props, children: [finalLabel && (_jsx(AnimatedLabel, { className: cn('absolute left-16 text-muted w-full', disabled && 'text-disabled', labelClassName), style: animatedLabelStyle, numberOfLines: 1, children: finalLabel })), _jsx(View, { className: cn('flex-1', finalLabel && hasValue && 'pt-16 pb-2', finalLabel && !hasValue && 'py-0'), children: children }), _jsx(ChevronDown, { size: 20, className: cn('text-muted ml-8', disabled && 'text-disabled') })] }));
102
+ return (_jsxs(Comp, { disabled: disabled, onPress: handlePress, className: cn(triggerStyles, disabled && 'opacity-50', className), ...props, children: [finalLabel && (_jsx(Text, { className: cn('absolute left-16 text-muted w-full transition-all duration-200', isFloatingLabel ? 'top-6 body-4' : 'top-14 body-2', disabled && 'text-disabled', labelClassName), numberOfLines: 1, children: finalLabel })), _jsx(View, { className: cn('flex-1', finalLabel && hasValue && 'pt-16 pb-2', finalLabel && !hasValue && 'py-0'), children: children }), _jsx(ChevronDown, { size: 20, className: cn('text-muted ml-8', disabled && 'text-disabled') })] }));
119
103
  };
120
104
  SelectTrigger.displayName = 'SelectTrigger';
121
105
  /**
@@ -1,23 +1,20 @@
1
- import Svg, { type SvgProps } from 'react-native-svg';
2
- import { IconSize } from '../../Components/Icon/Icon.types';
3
- export type SpinnerProps = SvgProps & {
4
- /**
5
- * The size of the spinner icon in pixels.
6
- * @default 16
7
- */
8
- size?: IconSize;
9
- };
1
+ import { View } from 'react-native';
10
2
  /**
11
3
  * A basic spinner component for loading states.
12
4
  *
13
5
  * @example
14
6
  * <Spinner />
7
+ *
8
+ * @example
9
+ * // With custom color
10
+ * <Spinner color={theme.colors.text.base} />
11
+ *
12
+ * @example
13
+ * // With lx props for layout
14
+ * <Spinner lx={{ marginTop: 's8' }} />
15
15
  */
16
- export declare const Spinner: import("react").ForwardRefExoticComponent<SvgProps & {
17
- /**
18
- * The size of the spinner icon in pixels.
19
- * @default 16
20
- */
21
- size?: IconSize;
22
- } & import("react").RefAttributes<Svg>>;
16
+ export declare const Spinner: import("react").ForwardRefExoticComponent<{
17
+ size?: import("../Icon").IconSize;
18
+ color?: string;
19
+ } & Omit<import("../../../styles").StyledViewProps, "children"> & import("react").RefAttributes<View>>;
23
20
  //# sourceMappingURL=Spinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.tsx"],"names":[],"mappings":"AAGA,OAAO,GAAG,EAAE,EAAQ,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IACpC;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAblB;;;OAGG;WACI,QAAQ;uCAkChB,CAAC"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,IAAI,EAAE,MAAM,cAAc,CAAC;AAQtD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO;;;sGA+CnB,CAAC"}
@@ -1,16 +1,44 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '@ledgerhq/lumen-utils-shared';
3
- import { forwardRef } from 'react';
4
- import { View } from 'react-native';
2
+ import { forwardRef, useEffect, useRef } from 'react';
3
+ import { Animated, Easing } from 'react-native';
5
4
  import Svg, { Path } from 'react-native-svg';
6
5
  import { useCommonTranslation } from '../../../i18n';
6
+ import { LumenStyleSheet } from '../../../styles';
7
+ import { RuntimeConstants } from '../../utils';
8
+ import { Box } from '../Utility';
7
9
  /**
8
10
  * A basic spinner component for loading states.
9
11
  *
10
12
  * @example
11
13
  * <Spinner />
14
+ *
15
+ * @example
16
+ * // With custom color
17
+ * <Spinner color={theme.colors.text.base} />
18
+ *
19
+ * @example
20
+ * // With lx props for layout
21
+ * <Spinner lx={{ marginTop: 's8' }} />
12
22
  */
13
- export const Spinner = forwardRef(({ className, size = 16, ...props }, ref) => {
23
+ export const Spinner = forwardRef(({ lx, style, size = 16, color, ...props }, ref) => {
14
24
  const { t } = useCommonTranslation();
15
- return (_jsx(View, { className: 'shrink-0 animate-spin', children: _jsx(Svg, { className: cn('text-base', className), width: size, height: size, viewBox: '0 0 16 16', fill: 'none', accessibilityLabel: t('components.spinner.loadingAriaLabel'), ref: ref, ...props, children: _jsx(Path, { d: 'M8 1.5C11.5899 1.5 14.5 4.41015 14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8', stroke: 'currentColor', strokeWidth: '1.5', strokeLinecap: 'round' }) }) }));
25
+ const { theme } = LumenStyleSheet.useTheme();
26
+ const spinValue = useRef(new Animated.Value(0)).current;
27
+ const strokeColor = color ?? theme.colors.text.base;
28
+ useEffect(() => {
29
+ const animation = Animated.loop(Animated.timing(spinValue, {
30
+ toValue: 1,
31
+ duration: 1000,
32
+ easing: Easing.linear,
33
+ useNativeDriver: RuntimeConstants.isNative,
34
+ }));
35
+ animation.start();
36
+ return () => animation.stop();
37
+ }, [spinValue]);
38
+ const spin = spinValue.interpolate({
39
+ inputRange: [0, 1],
40
+ outputRange: ['0deg', '360deg'],
41
+ });
42
+ return (_jsx(Box, { ref: ref, lx: { flexShrink: 0, ...lx }, style: style, ...props, children: _jsx(Animated.View, { style: { transform: [{ rotate: spin }] }, children: _jsx(Svg, { width: size, height: size, viewBox: '0 0 16 16', fill: 'none', accessibilityLabel: t('components.spinner.loadingAriaLabel'), children: _jsx(Path, { d: 'M8 1.5C11.5899 1.5 14.5 4.41015 14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8', stroke: strokeColor, strokeWidth: '1.5', strokeLinecap: 'round' }) }) }) }));
16
43
  });
44
+ Spinner.displayName = 'Spinner';
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAY9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,KASlB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAsCnB,CAAC"}
1
+ {"version":3,"file":"Spinner.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAY9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,KAKlB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAsCnB,CAAC"}
@@ -18,7 +18,7 @@ export const Base = {
18
18
  args: {
19
19
  size: 40,
20
20
  },
21
- render: ({ size }) => (_jsx("div", { className: 'flex items-center justify-center', children: _jsx(Spinner, { size: size }) })),
21
+ render: (args) => _jsx(Spinner, { ...args }),
22
22
  };
23
23
  export const Sizes = {
24
24
  argTypes: {
@@ -1,2 +1,3 @@
1
1
  export * from './Spinner';
2
+ export * from './types';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -1 +1,2 @@
1
1
  export * from './Spinner';
2
+ export * from './types';
@@ -0,0 +1,15 @@
1
+ import { StyledViewProps } from '../../../styles';
2
+ import { IconSize } from '../Icon';
3
+ export type SpinnerProps = {
4
+ /**
5
+ * The size of the spinner icon in pixels.
6
+ * @default 16
7
+ */
8
+ size?: IconSize;
9
+ /**
10
+ * The color of the spinner stroke.
11
+ * @default text.base color.
12
+ */
13
+ color?: string;
14
+ } & Omit<StyledViewProps, 'children'>;
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -2,12 +2,13 @@ import React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import { IconSize } from '../Icon';
4
4
  export declare const Tag: React.ForwardRefExoticComponent<{
5
- appearance?: "base" | "gray" | "accent" | "success" | "error" | "warning" | "disabled";
5
+ appearance?: "base" | "gray" | "accent" | "success" | "error" | "warning";
6
6
  icon?: React.ComponentType<{
7
7
  size?: IconSize;
8
8
  className?: string;
9
9
  }>;
10
10
  label: string;
11
11
  size?: "sm" | "lg";
12
+ disabled?: boolean;
12
13
  } & import("react-native").ViewProps & React.RefAttributes<View>>;
13
14
  //# sourceMappingURL=Tag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAQ,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA2CnC,eAAO,MAAM,GAAG;;;YApCR,CAAC;iBACG,CAAC;;;;iEA6DZ,CAAC"}
1
+ {"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAQ,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkDnC,eAAO,MAAM,GAAG;;;YA7CkC,CAAC;iBAAqB,CAAC;;;;;iEAgFxE,CAAC"}
@@ -13,16 +13,20 @@ const tagVariants = {
13
13
  success: 'bg-success',
14
14
  error: 'bg-error',
15
15
  warning: 'bg-warning',
16
- disabled: 'bg-disabled',
17
16
  },
18
17
  size: {
19
18
  lg: 'h-24 px-8 py-4 body-3',
20
19
  sm: 'h-20 px-4 py-2 body-4',
21
20
  },
21
+ disabled: {
22
+ true: 'bg-disabled',
23
+ false: '',
24
+ },
22
25
  },
23
26
  defaultVariants: {
24
27
  appearance: 'accent',
25
28
  size: 'lg',
29
+ disabled: false,
26
30
  },
27
31
  }),
28
32
  inner: cva('', {
@@ -34,18 +38,25 @@ const tagVariants = {
34
38
  success: 'text-success',
35
39
  error: 'text-error',
36
40
  warning: 'text-warning',
37
- disabled: 'text-disabled',
41
+ },
42
+ disabled: {
43
+ true: 'text-disabled',
44
+ false: '',
38
45
  },
39
46
  },
40
47
  }),
41
48
  };
42
- export const Tag = React.forwardRef(({ className, appearance, size, icon, label, ...props }, ref) => {
49
+ export const Tag = React.forwardRef(({ className, appearance, size, icon, label, disabled, ...props }, ref) => {
43
50
  const iconSizeMap = {
44
51
  lg: 16,
45
52
  sm: 12,
46
53
  };
47
54
  const calculatedIconSize = size ? iconSizeMap[size] : 16;
48
55
  const IconComponent = icon;
49
- return (_jsxs(View, { className: cn(className, tagVariants.root({ appearance, size })), ref: ref, ...props, children: [IconComponent && (_jsx(IconComponent, { size: calculatedIconSize, className: tagVariants.inner({ appearance, className: 'shrink-0' }) })), _jsx(Text, { className: tagVariants.inner({ appearance }), children: label })] }));
56
+ return (_jsxs(View, { className: cn(className, tagVariants.root({ appearance, size, disabled })), ref: ref, ...props, children: [IconComponent && (_jsx(IconComponent, { size: calculatedIconSize, className: tagVariants.inner({
57
+ appearance,
58
+ disabled,
59
+ className: 'shrink-0',
60
+ }) })), _jsx(Text, { className: tagVariants.inner({ appearance, disabled }), children: label })] }));
50
61
  });
51
62
  Tag.displayName = 'Tag';
@@ -35,7 +35,7 @@ export const Default = {
35
35
  render: (args) => _jsx(Tag, { ...args, icon: args.icon ? Check : undefined }),
36
36
  };
37
37
  export const Showcase = {
38
- render: () => (_jsxs(View, { className: 'flex flex-col gap-16', children: [_jsxs(View, { className: 'flex flex-row gap-4', children: [_jsx(Tag, { appearance: 'base', label: 'Base' }), _jsx(Tag, { appearance: 'gray', label: 'Gray' }), _jsx(Tag, { appearance: 'accent', label: 'Accent' }), _jsx(Tag, { appearance: 'success', label: 'Success' }), _jsx(Tag, { appearance: 'error', label: 'Error' }), _jsx(Tag, { appearance: 'warning', label: 'Warning' }), _jsx(Tag, { appearance: 'disabled', label: 'Disabled' })] }), _jsxs(View, { className: 'flex flex-row gap-4', children: [_jsx(Tag, { appearance: 'base', label: 'Base', icon: Check }), _jsx(Tag, { appearance: 'gray', label: 'Gray', icon: Check }), _jsx(Tag, { appearance: 'accent', label: 'Accent', icon: Check }), _jsx(Tag, { appearance: 'success', label: 'Success', icon: Check }), _jsx(Tag, { appearance: 'error', label: 'Error', icon: Check }), _jsx(Tag, { appearance: 'warning', label: 'Warning', icon: Check }), _jsx(Tag, { appearance: 'disabled', label: 'Disabled', icon: Check })] })] })),
38
+ render: () => (_jsxs(View, { className: 'flex flex-col gap-16', children: [_jsxs(View, { className: 'flex flex-row gap-4', children: [_jsx(Tag, { appearance: 'base', label: 'Base' }), _jsx(Tag, { appearance: 'gray', label: 'Gray' }), _jsx(Tag, { appearance: 'accent', label: 'Accent' }), _jsx(Tag, { appearance: 'success', label: 'Success' }), _jsx(Tag, { appearance: 'error', label: 'Error' }), _jsx(Tag, { appearance: 'warning', label: 'Warning' }), _jsx(Tag, { label: 'Disabled', disabled: true })] }), _jsxs(View, { className: 'flex flex-row gap-4', children: [_jsx(Tag, { appearance: 'base', label: 'Base', icon: Check }), _jsx(Tag, { appearance: 'gray', label: 'Gray', icon: Check }), _jsx(Tag, { appearance: 'accent', label: 'Accent', icon: Check }), _jsx(Tag, { appearance: 'success', label: 'Success', icon: Check }), _jsx(Tag, { appearance: 'error', label: 'Error', icon: Check }), _jsx(Tag, { appearance: 'warning', label: 'Warning', icon: Check }), _jsx(Tag, { label: 'Disabled', icon: Check, disabled: true })] })] })),
39
39
  };
40
40
  export const SizesShowcase = {
41
41
  render: () => (_jsxs(View, { className: 'flex flex-row items-center gap-4', children: [_jsx(Tag, { size: 'lg', label: 'Large Tag' }), _jsx(Tag, { size: 'sm', label: 'Small Tag' })] })),
@@ -5,7 +5,7 @@ export type TagProps = {
5
5
  /**
6
6
  * The appearance of the tag.
7
7
  */
8
- appearance?: 'base' | 'gray' | 'accent' | 'success' | 'error' | 'warning' | 'disabled';
8
+ appearance?: 'base' | 'gray' | 'accent' | 'success' | 'error' | 'warning';
9
9
  /**
10
10
  * The icon of the tag.
11
11
  */
@@ -21,5 +21,11 @@ export type TagProps = {
21
21
  * The size of the tag.
22
22
  */
23
23
  size?: 'sm' | 'lg';
24
+ /**
25
+ * When `true`, prevents the user from interacting with the tag.
26
+ *
27
+ * @default false
28
+ */
29
+ disabled?: boolean;
24
30
  } & ViewProps;
25
31
  //# sourceMappingURL=Tag.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,UAAU,CAAC,EACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"Tag.types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1E;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,SAAS,CAAC"}
@@ -3,5 +3,12 @@ import { TextInput } from './TextInput';
3
3
  declare const meta: Meta<typeof TextInput>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof TextInput>;
6
- export declare const WebPreviewWarning: Story;
6
+ export declare const Base: Story;
7
+ export declare const WithContent: Story;
8
+ export declare const WithError: Story;
9
+ export declare const DisabledTextInput: Story;
10
+ export declare const WithHiddenClearButton: Story;
11
+ export declare const WithClearCallback: Story;
12
+ export declare const EmailKeyboard: Story;
13
+ export declare const PhoneKeyboard: Story;
7
14
  //# sourceMappingURL=TextInput.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/TextInput/TextInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAYhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAExC,eAAO,MAAM,iBAAiB,EAAE,KAgB/B,CAAC"}
1
+ {"version":3,"file":"TextInput.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/TextInput/TextInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAE7D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAuChC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAmBxC,eAAO,MAAM,IAAI,EAAE,KAQlB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAQzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KASvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAQ/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAUnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAc/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Banner } from '../Banner';
2
+ import { useState } from 'react';
3
+ import { View } from 'react-native';
3
4
  import { TextInput } from './TextInput';
4
5
  const meta = {
5
6
  component: TextInput,
@@ -13,15 +14,109 @@ const meta = {
13
14
  },
14
15
  },
15
16
  },
17
+ argTypes: {
18
+ label: {
19
+ control: 'text',
20
+ description: 'Floating label text',
21
+ },
22
+ placeholder: {
23
+ control: 'text',
24
+ description: 'Placeholder text when input is empty',
25
+ },
26
+ errorMessage: {
27
+ control: 'text',
28
+ description: 'Error message to display below input',
29
+ },
30
+ editable: {
31
+ control: 'boolean',
32
+ description: 'Whether the input is editable',
33
+ },
34
+ hideClearButton: {
35
+ control: 'boolean',
36
+ description: 'Hide the clear button',
37
+ },
38
+ keyboardType: {
39
+ control: 'select',
40
+ options: ['default', 'email-address', 'numeric', 'phone-pad', 'url'],
41
+ description: 'Keyboard type for input',
42
+ },
43
+ },
16
44
  };
17
45
  export default meta;
18
- export const WebPreviewWarning = {
19
- render: () => (_jsx(Banner, { appearance: 'warning', title: 'Unsupported previews on web', description: 'For this component, previewing stories is currently only supported on mobile. Reanimated causes compatibility issues with the web preview, so for now, please test on-device. We plan to add screenshots or embed Expo Snack in the future.' })),
20
- parameters: {
21
- docs: {
22
- description: {
23
- story: '⚠️ This component requires testing on a physical device or emulator due to Reanimated compatibility issues with web previews.',
24
- },
25
- },
46
+ const TextInputStory = (args) => {
47
+ const [value, setValue] = useState(args.initialValue ?? '');
48
+ return (_jsx(View, { className: 'flex min-h-400 items-center justify-center p-24', children: _jsx(View, { className: 'w-full max-w-320', children: _jsx(TextInput, { ...args, value: value, onChangeText: setValue, onClear: args.onClear }) }) }));
49
+ };
50
+ export const Base = {
51
+ render: (args) => _jsx(TextInputStory, { ...args }),
52
+ args: {
53
+ label: 'Username',
54
+ editable: true,
55
+ hideClearButton: false,
56
+ keyboardType: 'default',
57
+ },
58
+ };
59
+ export const WithContent = {
60
+ render: (args) => _jsx(TextInputStory, { ...args, initialValue: 'johndoe' }),
61
+ args: {
62
+ label: 'Username',
63
+ editable: true,
64
+ hideClearButton: false,
65
+ keyboardType: 'default',
66
+ },
67
+ };
68
+ export const WithError = {
69
+ render: (args) => _jsx(TextInputStory, { ...args, initialValue: 'ab' }),
70
+ args: {
71
+ label: 'Username',
72
+ errorMessage: 'Username must be at least 3 characters',
73
+ editable: true,
74
+ hideClearButton: false,
75
+ keyboardType: 'default',
76
+ },
77
+ };
78
+ export const DisabledTextInput = {
79
+ render: (args) => _jsx(TextInputStory, { ...args, initialValue: 'johndoe' }),
80
+ args: {
81
+ label: 'Username',
82
+ editable: false,
83
+ hideClearButton: false,
84
+ keyboardType: 'default',
85
+ },
86
+ };
87
+ export const WithHiddenClearButton = {
88
+ render: (args) => (_jsx(TextInputStory, { ...args, initialValue: 'Content with hidden clear' })),
89
+ args: {
90
+ label: 'Label',
91
+ editable: true,
92
+ hideClearButton: true,
93
+ keyboardType: 'default',
94
+ },
95
+ };
96
+ export const WithClearCallback = {
97
+ render: (args) => (_jsx(TextInputStory, { ...args, initialValue: 'Click clear to see callback', onClear: () => alert('Input cleared!') })),
98
+ args: {
99
+ label: 'Label',
100
+ editable: true,
101
+ hideClearButton: false,
102
+ keyboardType: 'default',
103
+ },
104
+ };
105
+ export const EmailKeyboard = {
106
+ render: (args) => _jsx(TextInputStory, { ...args }),
107
+ args: {
108
+ label: 'Email',
109
+ editable: true,
110
+ hideClearButton: false,
111
+ keyboardType: 'email-address',
112
+ },
113
+ };
114
+ export const PhoneKeyboard = {
115
+ render: (args) => _jsx(TextInputStory, { ...args }),
116
+ args: {
117
+ label: 'Phone Number',
118
+ editable: true,
119
+ hideClearButton: false,
120
+ keyboardType: 'phone-pad',
26
121
  },
27
122
  };
@@ -38,7 +38,7 @@ const tileVariants = {
38
38
  disabled: false,
39
39
  },
40
40
  }),
41
- title: cva('body-3-semi-bold w-full truncate text-center', {
41
+ title: cva('w-full truncate text-center body-3-semi-bold', {
42
42
  variants: {
43
43
  disabled: {
44
44
  true: 'text-disabled',
@@ -49,7 +49,7 @@ const tileVariants = {
49
49
  disabled: false,
50
50
  },
51
51
  }),
52
- description: cva('body-3 w-full overflow-hidden truncate text-center', {
52
+ description: cva('w-full overflow-hidden truncate text-center body-3', {
53
53
  variants: {
54
54
  disabled: {
55
55
  true: 'text-disabled',
@@ -15,10 +15,10 @@ export const Base = {
15
15
  render: () => (_jsxs(_Fragment, { children: [_jsx(View, { className: 'flex min-h-400 items-center justify-center p-24', children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { children: "Press me" }) }), _jsx(TooltipContent, { title: 'My tooltip title', content: _jsx(Text, { children: "This is a helpful tooltip" }) })] }) }), _jsx(GlobalTooltipBottomSheet, {})] })),
16
16
  };
17
17
  export const WithCustomContent = {
18
- render: () => (_jsxs(_Fragment, { children: [_jsx(View, { className: 'flex min-h-400 items-center justify-center p-24', children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { children: "Press me" }) }), _jsx(TooltipContent, { title: 'My tooltip title', content: _jsxs(View, { className: 'flex items-start gap-12', children: [_jsx(Text, { className: 'text-muted', children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." }), _jsx(Button, { size: 'xs', appearance: 'accent', children: "Custom tooltip action" })] }) })] }) }), _jsx(GlobalTooltipBottomSheet, {})] })),
18
+ render: () => (_jsxs(_Fragment, { children: [_jsx(View, { className: 'flex min-h-400 items-center justify-center p-24', children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { children: "Press me" }) }), _jsx(TooltipContent, { title: 'My tooltip title', content: _jsxs(View, { className: 'flex items-start gap-12', children: [_jsx(Text, { className: 'text-muted', children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." }), _jsx(Button, { size: 'sm', appearance: 'accent', children: "Custom tooltip action" })] }) })] }) }), _jsx(GlobalTooltipBottomSheet, {})] })),
19
19
  };
20
20
  export const WithMultipleTooltips = {
21
- render: () => (_jsxs(_Fragment, { children: [_jsxs(View, { className: 'flex min-h-400 flex-row items-center justify-center gap-16 p-24', children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { children: "Tooltip 1" }) }), _jsx(TooltipContent, { title: 'First', content: _jsx(Text, { children: "First tooltip content" }) })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { children: "Tooltip 2" }) }), _jsx(TooltipContent, { title: 'Second', content: _jsx(Text, { children: "Second tooltip content" }) })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(InteractiveIcon, { iconType: 'filled', "aria-label": 'Info', children: _jsx(Information, {}) }) }), _jsx(TooltipContent, { title: 'Third', content: _jsx(Text, { children: "Third tooltip content" }) })] })] }), _jsx(GlobalTooltipBottomSheet, {})] })),
21
+ render: () => (_jsxs(_Fragment, { children: [_jsxs(View, { className: 'flex min-h-400 flex-row items-center justify-center gap-16 p-24', children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { children: "Tooltip 1" }) }), _jsx(TooltipContent, { title: 'First', content: _jsx(Text, { children: "First tooltip content" }) })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { children: "Tooltip 2" }) }), _jsx(TooltipContent, { title: 'Second', content: _jsx(Text, { children: "Second tooltip content" }) })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(InteractiveIcon, { iconType: 'filled', accessibilityLabel: 'Info', children: _jsx(Information, {}) }) }), _jsx(TooltipContent, { title: 'Third', content: _jsx(Text, { children: "Third tooltip content" }) })] })] }), _jsx(GlobalTooltipBottomSheet, {})] })),
22
22
  };
23
23
  export const WithChangeCallback = {
24
24
  render: () => {
@@ -0,0 +1,39 @@
1
+ import { View } from 'react-native';
2
+ import { type StyledViewProps } from '../../../../styles';
3
+ /**
4
+ * Box - A layout primitive component with token-constrained style props.
5
+ *
6
+ * Box is a View wrapper that accepts design token-based style props directly,
7
+ * providing type-safe styling with autocomplete for spacing, sizes, colors, etc.
8
+ *
9
+ * @see {@link https://ldls.vercel.app/?path=/docs/layout-box--docs Storybook}
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { Box } from '@ledgerhq/lumen-ui-rnative';
14
+ *
15
+ * // Basic usage with token props
16
+ * <Box lx={{ width: 's400', marginTop: 's4', gap: 's12', alignItems: 'center' }}>
17
+ * <Text>Content</Text>
18
+ * </Box>
19
+ *
20
+ * // With background and border
21
+ * <Box
22
+ * lx={{
23
+ * padding: 's16',
24
+ * backgroundColor: 'surface',
25
+ * borderRadius: 'md',
26
+ * borderColor: 'muted',
27
+ * borderWidth: 1
28
+ * }}
29
+ * >
30
+ * <Text>Card content</Text>
31
+ * </Box>
32
+ *
33
+ * // style prop for complete override
34
+ * <Box lx={{ marginTop: 's4' }} style={{ width: 127 }} />
35
+ * ```
36
+ */
37
+ export declare const Box: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("../../../../styles").LumenViewStyleLX & import("react-native").ViewProps & import("react").RefAttributes<View>>>;
38
+ export type BoxProps = StyledViewProps;
39
+ //# sourceMappingURL=Box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/Components/Utility/Box/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,GAAG,wMAAyB,CAAC;AAE1C,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC"}