@demlanide/react-lucky-components 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 (340) hide show
  1. package/README.md +184 -0
  2. package/dist/Alert/Alert.d.ts +3 -0
  3. package/dist/Alert/Alert.d.ts.map +1 -0
  4. package/dist/Alert/Alert.js +7 -0
  5. package/dist/Alert/constants.d.ts +38 -0
  6. package/dist/Alert/constants.d.ts.map +1 -0
  7. package/dist/Alert/constants.js +34 -0
  8. package/dist/Alert/index.d.ts +3 -0
  9. package/dist/Alert/index.d.ts.map +1 -0
  10. package/dist/Alert/index.js +1 -0
  11. package/dist/Alert/styles.d.ts +11 -0
  12. package/dist/Alert/styles.d.ts.map +1 -0
  13. package/dist/Alert/styles.js +49 -0
  14. package/dist/Alert/types.d.ts +20 -0
  15. package/dist/Alert/types.d.ts.map +1 -0
  16. package/dist/Alert/types.js +1 -0
  17. package/dist/Avatar/Avatar.d.ts +3 -0
  18. package/dist/Avatar/Avatar.d.ts.map +1 -0
  19. package/dist/Avatar/Avatar.js +33 -0
  20. package/dist/Avatar/Shapes/.map.json +42 -0
  21. package/dist/Avatar/Shapes/romb.png +0 -0
  22. package/dist/Avatar/consts.d.ts +21 -0
  23. package/dist/Avatar/consts.d.ts.map +1 -0
  24. package/dist/Avatar/consts.js +20 -0
  25. package/dist/Avatar/index.d.ts +3 -0
  26. package/dist/Avatar/index.d.ts.map +1 -0
  27. package/dist/Avatar/index.js +1 -0
  28. package/dist/Avatar/styles.d.ts +27 -0
  29. package/dist/Avatar/styles.d.ts.map +1 -0
  30. package/dist/Avatar/styles.js +83 -0
  31. package/dist/Avatar/types.d.ts +31 -0
  32. package/dist/Avatar/types.d.ts.map +1 -0
  33. package/dist/Avatar/types.js +1 -0
  34. package/dist/Avatar/utilities.d.ts +8 -0
  35. package/dist/Avatar/utilities.d.ts.map +1 -0
  36. package/dist/Avatar/utilities.js +66 -0
  37. package/dist/Badge/Badge.d.ts +3 -0
  38. package/dist/Badge/Badge.d.ts.map +1 -0
  39. package/dist/Badge/Badge.js +8 -0
  40. package/dist/Badge/constants.d.ts +20 -0
  41. package/dist/Badge/constants.d.ts.map +1 -0
  42. package/dist/Badge/constants.js +32 -0
  43. package/dist/Badge/index.d.ts +3 -0
  44. package/dist/Badge/index.d.ts.map +1 -0
  45. package/dist/Badge/index.js +1 -0
  46. package/dist/Badge/styles.d.ts +10 -0
  47. package/dist/Badge/styles.d.ts.map +1 -0
  48. package/dist/Badge/styles.js +28 -0
  49. package/dist/Badge/types.d.ts +18 -0
  50. package/dist/Badge/types.d.ts.map +1 -0
  51. package/dist/Badge/types.js +1 -0
  52. package/dist/BigInput/BigInput.d.ts +3 -0
  53. package/dist/BigInput/BigInput.d.ts.map +1 -0
  54. package/dist/BigInput/BigInput.js +46 -0
  55. package/dist/BigInput/constants.d.ts +32 -0
  56. package/dist/BigInput/constants.d.ts.map +1 -0
  57. package/dist/BigInput/constants.js +31 -0
  58. package/dist/BigInput/index.d.ts +3 -0
  59. package/dist/BigInput/index.d.ts.map +1 -0
  60. package/dist/BigInput/index.js +1 -0
  61. package/dist/BigInput/styles.d.ts +14 -0
  62. package/dist/BigInput/styles.d.ts.map +1 -0
  63. package/dist/BigInput/styles.js +80 -0
  64. package/dist/BigInput/types.d.ts +23 -0
  65. package/dist/BigInput/types.d.ts.map +1 -0
  66. package/dist/BigInput/types.js +1 -0
  67. package/dist/Button/Button.d.ts +3 -0
  68. package/dist/Button/Button.d.ts.map +1 -0
  69. package/dist/Button/Button.js +7 -0
  70. package/dist/Button/constants.d.ts +23 -0
  71. package/dist/Button/constants.d.ts.map +1 -0
  72. package/dist/Button/constants.js +28 -0
  73. package/dist/Button/index.d.ts +3 -0
  74. package/dist/Button/index.d.ts.map +1 -0
  75. package/dist/Button/index.js +1 -0
  76. package/dist/Button/styles.d.ts +13 -0
  77. package/dist/Button/styles.d.ts.map +1 -0
  78. package/dist/Button/styles.js +34 -0
  79. package/dist/Button/types.d.ts +20 -0
  80. package/dist/Button/types.d.ts.map +1 -0
  81. package/dist/Button/types.js +1 -0
  82. package/dist/CardStack/BehindCard.d.ts +12 -0
  83. package/dist/CardStack/BehindCard.d.ts.map +1 -0
  84. package/dist/CardStack/BehindCard.js +18 -0
  85. package/dist/CardStack/CardStack.d.ts +3 -0
  86. package/dist/CardStack/CardStack.d.ts.map +1 -0
  87. package/dist/CardStack/CardStack.js +77 -0
  88. package/dist/CardStack/CardStackDots.d.ts +3 -0
  89. package/dist/CardStack/CardStackDots.d.ts.map +1 -0
  90. package/dist/CardStack/CardStackDots.js +121 -0
  91. package/dist/CardStack/StackCard.d.ts +27 -0
  92. package/dist/CardStack/StackCard.d.ts.map +1 -0
  93. package/dist/CardStack/StackCard.js +45 -0
  94. package/dist/CardStack/constants.d.ts +32 -0
  95. package/dist/CardStack/constants.d.ts.map +1 -0
  96. package/dist/CardStack/constants.js +31 -0
  97. package/dist/CardStack/index.d.ts +4 -0
  98. package/dist/CardStack/index.d.ts.map +1 -0
  99. package/dist/CardStack/index.js +2 -0
  100. package/dist/CardStack/types.d.ts +39 -0
  101. package/dist/CardStack/types.d.ts.map +1 -0
  102. package/dist/CardStack/types.js +1 -0
  103. package/dist/CardStack/useSwipeGesture.d.ts +18 -0
  104. package/dist/CardStack/useSwipeGesture.d.ts.map +1 -0
  105. package/dist/CardStack/useSwipeGesture.js +70 -0
  106. package/dist/DatePicker/CalendarModal.d.ts +15 -0
  107. package/dist/DatePicker/CalendarModal.d.ts.map +1 -0
  108. package/dist/DatePicker/CalendarModal.js +129 -0
  109. package/dist/DatePicker/DatePicker.d.ts +3 -0
  110. package/dist/DatePicker/DatePicker.d.ts.map +1 -0
  111. package/dist/DatePicker/DatePicker.js +57 -0
  112. package/dist/DatePicker/DayCell.d.ts +14 -0
  113. package/dist/DatePicker/DayCell.d.ts.map +1 -0
  114. package/dist/DatePicker/DayCell.js +16 -0
  115. package/dist/DatePicker/constants.d.ts +46 -0
  116. package/dist/DatePicker/constants.d.ts.map +1 -0
  117. package/dist/DatePicker/constants.js +51 -0
  118. package/dist/DatePicker/icons.d.ts +4 -0
  119. package/dist/DatePicker/icons.d.ts.map +1 -0
  120. package/dist/DatePicker/icons.js +12 -0
  121. package/dist/DatePicker/index.d.ts +3 -0
  122. package/dist/DatePicker/index.d.ts.map +1 -0
  123. package/dist/DatePicker/index.js +1 -0
  124. package/dist/DatePicker/styles.d.ts +40 -0
  125. package/dist/DatePicker/styles.d.ts.map +1 -0
  126. package/dist/DatePicker/styles.js +134 -0
  127. package/dist/DatePicker/types.d.ts +39 -0
  128. package/dist/DatePicker/types.d.ts.map +1 -0
  129. package/dist/DatePicker/types.js +1 -0
  130. package/dist/DatePicker/utils.d.ts +15 -0
  131. package/dist/DatePicker/utils.d.ts.map +1 -0
  132. package/dist/DatePicker/utils.js +133 -0
  133. package/dist/DimmedScrollView/DimmedScrollView.d.ts +5 -0
  134. package/dist/DimmedScrollView/DimmedScrollView.d.ts.map +1 -0
  135. package/dist/DimmedScrollView/DimmedScrollView.js +18 -0
  136. package/dist/DimmedScrollView/index.d.ts +3 -0
  137. package/dist/DimmedScrollView/index.d.ts.map +1 -0
  138. package/dist/DimmedScrollView/index.js +1 -0
  139. package/dist/DimmedScrollView/styles.d.ts +15 -0
  140. package/dist/DimmedScrollView/styles.d.ts.map +1 -0
  141. package/dist/DimmedScrollView/styles.js +32 -0
  142. package/dist/DimmedScrollView/types.d.ts +20 -0
  143. package/dist/DimmedScrollView/types.d.ts.map +1 -0
  144. package/dist/DimmedScrollView/types.js +1 -0
  145. package/dist/FadingEdge/FadingEdge.d.ts +3 -0
  146. package/dist/FadingEdge/FadingEdge.d.ts.map +1 -0
  147. package/dist/FadingEdge/FadingEdge.js +30 -0
  148. package/dist/FadingEdge/index.d.ts +3 -0
  149. package/dist/FadingEdge/index.d.ts.map +1 -0
  150. package/dist/FadingEdge/index.js +1 -0
  151. package/dist/FadingEdge/types.d.ts +14 -0
  152. package/dist/FadingEdge/types.d.ts.map +1 -0
  153. package/dist/FadingEdge/types.js +1 -0
  154. package/dist/Icon/Icon.d.ts +6 -0
  155. package/dist/Icon/Icon.d.ts.map +1 -0
  156. package/dist/Icon/Icon.js +16 -0
  157. package/dist/Icon/defaults.d.ts +7 -0
  158. package/dist/Icon/defaults.d.ts.map +1 -0
  159. package/dist/Icon/defaults.js +80 -0
  160. package/dist/Icon/icons/navigation.d.ts +10 -0
  161. package/dist/Icon/icons/navigation.d.ts.map +1 -0
  162. package/dist/Icon/icons/navigation.js +10 -0
  163. package/dist/Icon/icons/system.d.ts +29 -0
  164. package/dist/Icon/icons/system.d.ts.map +1 -0
  165. package/dist/Icon/icons/system.js +29 -0
  166. package/dist/Icon/icons/tabs.d.ts +6 -0
  167. package/dist/Icon/icons/tabs.d.ts.map +1 -0
  168. package/dist/Icon/icons/tabs.js +6 -0
  169. package/dist/Icon/index.d.ts +3 -0
  170. package/dist/Icon/index.d.ts.map +1 -0
  171. package/dist/Icon/index.js +1 -0
  172. package/dist/Icon/registry.d.ts +3 -0
  173. package/dist/Icon/registry.d.ts.map +1 -0
  174. package/dist/Icon/registry.js +43 -0
  175. package/dist/Icon/types.d.ts +20 -0
  176. package/dist/Icon/types.d.ts.map +1 -0
  177. package/dist/Icon/types.js +40 -0
  178. package/dist/Input/Input.d.ts +5 -0
  179. package/dist/Input/Input.d.ts.map +1 -0
  180. package/dist/Input/Input.js +64 -0
  181. package/dist/Input/constants.d.ts +56 -0
  182. package/dist/Input/constants.d.ts.map +1 -0
  183. package/dist/Input/constants.js +61 -0
  184. package/dist/Input/index.d.ts +3 -0
  185. package/dist/Input/index.d.ts.map +1 -0
  186. package/dist/Input/index.js +1 -0
  187. package/dist/Input/styles.d.ts +23 -0
  188. package/dist/Input/styles.d.ts.map +1 -0
  189. package/dist/Input/styles.js +99 -0
  190. package/dist/Input/types.d.ts +21 -0
  191. package/dist/Input/types.d.ts.map +1 -0
  192. package/dist/Input/types.js +1 -0
  193. package/dist/ListCell/CheckMark.d.ts +10 -0
  194. package/dist/ListCell/CheckMark.d.ts.map +1 -0
  195. package/dist/ListCell/CheckMark.js +12 -0
  196. package/dist/ListCell/Chevron.d.ts +14 -0
  197. package/dist/ListCell/Chevron.d.ts.map +1 -0
  198. package/dist/ListCell/Chevron.js +22 -0
  199. package/dist/ListCell/ListCell.d.ts +3 -0
  200. package/dist/ListCell/ListCell.d.ts.map +1 -0
  201. package/dist/ListCell/ListCell.js +120 -0
  202. package/dist/ListCell/PickerModal.d.ts +13 -0
  203. package/dist/ListCell/PickerModal.d.ts.map +1 -0
  204. package/dist/ListCell/PickerModal.js +8 -0
  205. package/dist/ListCell/RadioButton.d.ts +10 -0
  206. package/dist/ListCell/RadioButton.d.ts.map +1 -0
  207. package/dist/ListCell/RadioButton.js +12 -0
  208. package/dist/ListCell/SwitchTrack.d.ts +19 -0
  209. package/dist/ListCell/SwitchTrack.d.ts.map +1 -0
  210. package/dist/ListCell/SwitchTrack.js +8 -0
  211. package/dist/ListCell/constants.d.ts +30 -0
  212. package/dist/ListCell/constants.d.ts.map +1 -0
  213. package/dist/ListCell/constants.js +35 -0
  214. package/dist/ListCell/index.d.ts +3 -0
  215. package/dist/ListCell/index.d.ts.map +1 -0
  216. package/dist/ListCell/index.js +1 -0
  217. package/dist/ListCell/styles.d.ts +28 -0
  218. package/dist/ListCell/styles.d.ts.map +1 -0
  219. package/dist/ListCell/styles.js +111 -0
  220. package/dist/ListCell/types.d.ts +68 -0
  221. package/dist/ListCell/types.d.ts.map +1 -0
  222. package/dist/ListCell/types.js +1 -0
  223. package/dist/ListCell/useSwitchAnimation.d.ts +12 -0
  224. package/dist/ListCell/useSwitchAnimation.d.ts.map +1 -0
  225. package/dist/ListCell/useSwitchAnimation.js +31 -0
  226. package/dist/ListCell/utilities.d.ts +24 -0
  227. package/dist/ListCell/utilities.d.ts.map +1 -0
  228. package/dist/ListCell/utilities.js +29 -0
  229. package/dist/Picker/Picker.d.ts +3 -0
  230. package/dist/Picker/Picker.d.ts.map +1 -0
  231. package/dist/Picker/Picker.js +76 -0
  232. package/dist/Picker/PickerHeader.d.ts +7 -0
  233. package/dist/Picker/PickerHeader.d.ts.map +1 -0
  234. package/dist/Picker/PickerHeader.js +6 -0
  235. package/dist/Picker/PickerRow.d.ts +9 -0
  236. package/dist/Picker/PickerRow.d.ts.map +1 -0
  237. package/dist/Picker/PickerRow.js +9 -0
  238. package/dist/Picker/SearchField.d.ts +8 -0
  239. package/dist/Picker/SearchField.d.ts.map +1 -0
  240. package/dist/Picker/SearchField.js +8 -0
  241. package/dist/Picker/constants.d.ts +24 -0
  242. package/dist/Picker/constants.d.ts.map +1 -0
  243. package/dist/Picker/constants.js +29 -0
  244. package/dist/Picker/icons.d.ts +3 -0
  245. package/dist/Picker/icons.d.ts.map +1 -0
  246. package/dist/Picker/icons.js +9 -0
  247. package/dist/Picker/index.d.ts +3 -0
  248. package/dist/Picker/index.d.ts.map +1 -0
  249. package/dist/Picker/index.js +1 -0
  250. package/dist/Picker/styles.d.ts +34 -0
  251. package/dist/Picker/styles.d.ts.map +1 -0
  252. package/dist/Picker/styles.js +192 -0
  253. package/dist/Picker/types.d.ts +40 -0
  254. package/dist/Picker/types.d.ts.map +1 -0
  255. package/dist/Picker/types.js +1 -0
  256. package/dist/Picker/useFilteredItems.d.ts +3 -0
  257. package/dist/Picker/useFilteredItems.d.ts.map +1 -0
  258. package/dist/Picker/useFilteredItems.js +18 -0
  259. package/dist/SegmentedTabs/SegmentedTabs.d.ts +3 -0
  260. package/dist/SegmentedTabs/SegmentedTabs.d.ts.map +1 -0
  261. package/dist/SegmentedTabs/SegmentedTabs.js +70 -0
  262. package/dist/SegmentedTabs/index.d.ts +3 -0
  263. package/dist/SegmentedTabs/index.d.ts.map +1 -0
  264. package/dist/SegmentedTabs/index.js +1 -0
  265. package/dist/SegmentedTabs/types.d.ts +10 -0
  266. package/dist/SegmentedTabs/types.d.ts.map +1 -0
  267. package/dist/SegmentedTabs/types.js +1 -0
  268. package/dist/Select/Select.d.ts +3 -0
  269. package/dist/Select/Select.d.ts.map +1 -0
  270. package/dist/Select/Select.js +60 -0
  271. package/dist/Select/index.d.ts +3 -0
  272. package/dist/Select/index.d.ts.map +1 -0
  273. package/dist/Select/index.js +1 -0
  274. package/dist/Select/styles.d.ts +8 -0
  275. package/dist/Select/styles.d.ts.map +1 -0
  276. package/dist/Select/styles.js +36 -0
  277. package/dist/Select/types.d.ts +37 -0
  278. package/dist/Select/types.d.ts.map +1 -0
  279. package/dist/Select/types.js +1 -0
  280. package/dist/Tabs/FloatingTabBar.d.ts +9 -0
  281. package/dist/Tabs/FloatingTabBar.d.ts.map +1 -0
  282. package/dist/Tabs/FloatingTabBar.js +55 -0
  283. package/dist/Tabs/Tabs.d.ts +21 -0
  284. package/dist/Tabs/Tabs.d.ts.map +1 -0
  285. package/dist/Tabs/Tabs.js +29 -0
  286. package/dist/Tabs/constants.d.ts +35 -0
  287. package/dist/Tabs/constants.d.ts.map +1 -0
  288. package/dist/Tabs/constants.js +36 -0
  289. package/dist/Tabs/icons.d.ts +16 -0
  290. package/dist/Tabs/icons.d.ts.map +1 -0
  291. package/dist/Tabs/icons.js +8 -0
  292. package/dist/Tabs/index.d.ts +6 -0
  293. package/dist/Tabs/index.d.ts.map +1 -0
  294. package/dist/Tabs/index.js +4 -0
  295. package/dist/Tabs/styles.d.ts +224 -0
  296. package/dist/Tabs/styles.d.ts.map +1 -0
  297. package/dist/Tabs/styles.js +121 -0
  298. package/dist/Tabs/types.d.ts +61 -0
  299. package/dist/Tabs/types.d.ts.map +1 -0
  300. package/dist/Tabs/types.js +4 -0
  301. package/dist/Tabs/useFloatingTabBarScrollPadding.d.ts +7 -0
  302. package/dist/Tabs/useFloatingTabBarScrollPadding.d.ts.map +1 -0
  303. package/dist/Tabs/useFloatingTabBarScrollPadding.js +11 -0
  304. package/dist/Tabs/utilities.d.ts +7 -0
  305. package/dist/Tabs/utilities.d.ts.map +1 -0
  306. package/dist/Tabs/utilities.js +18 -0
  307. package/dist/ToggleSection/ToggleSection.d.ts +3 -0
  308. package/dist/ToggleSection/ToggleSection.d.ts.map +1 -0
  309. package/dist/ToggleSection/ToggleSection.js +18 -0
  310. package/dist/ToggleSection/index.d.ts +3 -0
  311. package/dist/ToggleSection/index.d.ts.map +1 -0
  312. package/dist/ToggleSection/index.js +1 -0
  313. package/dist/ToggleSection/styles.d.ts +15 -0
  314. package/dist/ToggleSection/styles.d.ts.map +1 -0
  315. package/dist/ToggleSection/styles.js +49 -0
  316. package/dist/ToggleSection/types.d.ts +36 -0
  317. package/dist/ToggleSection/types.d.ts.map +1 -0
  318. package/dist/ToggleSection/types.js +1 -0
  319. package/dist/assets/fonts/.map.json +51 -0
  320. package/dist/assets/fonts/SB Sans Text.ttf +0 -0
  321. package/dist/assets/fonts/sf-pro-display/.map.json +114 -0
  322. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYBLACKITALIC.OTF +0 -0
  323. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYBOLD.OTF +0 -0
  324. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYHEAVYITALIC.OTF +0 -0
  325. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYLIGHTITALIC.OTF +0 -0
  326. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYMEDIUM.OTF +0 -0
  327. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYREGULAR.otf +0 -0
  328. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYSEMIBOLDITALIC.OTF +0 -0
  329. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYTHINITALIC.OTF +0 -0
  330. package/dist/assets/fonts/sf-pro-display/SFPRODISPLAYULTRALIGHTITALIC.OTF +0 -0
  331. package/dist/fonts.d.ts +6 -0
  332. package/dist/fonts.d.ts.map +1 -0
  333. package/dist/fonts.js +8 -0
  334. package/dist/index.d.ts +38 -0
  335. package/dist/index.d.ts.map +1 -0
  336. package/dist/index.js +20 -0
  337. package/dist/theme.d.ts +19 -0
  338. package/dist/theme.d.ts.map +1 -0
  339. package/dist/theme.js +18 -0
  340. package/package.json +76 -0
@@ -0,0 +1,31 @@
1
+ import { ImageSourcePropType, StyleProp, ViewStyle } from 'react-native';
2
+ export type AvatarShape = 'romb';
3
+ export interface AvatarProps {
4
+ /** Avatar image source. When omitted, initials are shown. */
5
+ imageSource?: ImageSourcePropType;
6
+ /** Name used to derive initials and accessibility label. */
7
+ name?: string;
8
+ /** Email address to display below the name. */
9
+ email?: string;
10
+ /** Avatar diameter in pixels. */
11
+ size?: number;
12
+ /** Optional container style override. */
13
+ style?: StyleProp<ViewStyle>;
14
+ /** Fallback background color when no image is provided. */
15
+ backgroundColor?: string;
16
+ /** Fallback initials text color when no image is provided. */
17
+ textColor?: string;
18
+ /** Fallback secondary text color when no image is provided. */
19
+ secondaryTextColor?: string;
20
+ /** Decorative shape treatment around avatar. */
21
+ shapes?: AvatarShape;
22
+ /** Called when the user taps the edit badge. Use this to open gallery/camera and then pass the selected image to your API. */
23
+ onPhotoChange?: (imageUri: string) => void;
24
+ /** Forwarded to root container. */
25
+ testID?: string;
26
+ /** Custom accessibility label. */
27
+ accessibilityLabel?: string;
28
+ /** Whether to hide the name and email details. */
29
+ noDetails?: boolean;
30
+ }
31
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Avatar/types.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,SAAS,EACT,SAAS,EACZ,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8HAA8H;IAC9H,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare function getAvatarInitials(name?: string | null): string;
2
+ export declare function EditPhotoIcon({ size, color }: {
3
+ size?: number;
4
+ color?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare const pickFromGallery: (onPhotoSelected: (imageUri: string) => void) => Promise<void>;
7
+ export declare const takePhoto: (onPhotoSelected: (imageUri: string) => void) => Promise<void>;
8
+ //# sourceMappingURL=utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/Avatar/utilities.tsx"],"names":[],"mappings":"AAKA,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAW1D;AAEL,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,KAAmC,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAElH;AAED,eAAO,MAAM,eAAe,+BAAsC,MAAM,KAAK,IAAI,kBAyBhF,CAAC;AAEF,eAAO,MAAM,SAAS,+BAAsC,MAAM,KAAK,IAAI,kBAyB1E,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AVATAR_COLORS, DEFAULT_EDIT_PHOTO_COPY, FALLBACK_INITIALS } from "./consts";
3
+ import { Alert } from "react-native";
4
+ import * as ImagePicker from 'expo-image-picker';
5
+ import { Icon } from '../Icon';
6
+ export function getAvatarInitials(name) {
7
+ if (name == null || name.trim().length === 0) {
8
+ return FALLBACK_INITIALS;
9
+ }
10
+ const parts = name.trim().split(/\s+/);
11
+ if (parts.length === 1) {
12
+ return parts[0].charAt(0).toUpperCase();
13
+ }
14
+ return `${parts[0].charAt(0)}${parts[parts.length - 1].charAt(0)}`.toUpperCase();
15
+ }
16
+ export function EditPhotoIcon({ size = 20, color = AVATAR_COLORS.editBadgeIcon }) {
17
+ return _jsx(Icon, { name: "edit-photo", size: size, color: color });
18
+ }
19
+ export const pickFromGallery = async (onPhotoSelected) => {
20
+ if (!onPhotoSelected)
21
+ return;
22
+ try {
23
+ const { status } = await ImagePicker.requestMediaLibraryPermissionsAsync();
24
+ if (status !== 'granted') {
25
+ Alert.alert('Permission required', DEFAULT_EDIT_PHOTO_COPY.permissionLibrary, [{ text: 'OK' }]);
26
+ return;
27
+ }
28
+ const result = await ImagePicker.launchImageLibraryAsync({
29
+ mediaTypes: ImagePicker.MediaTypeOptions.Images,
30
+ allowsEditing: true,
31
+ aspect: [1, 1],
32
+ quality: 0.8,
33
+ });
34
+ if (!result.canceled && result.assets?.[0]?.uri) {
35
+ onPhotoSelected(result.assets[0].uri);
36
+ }
37
+ }
38
+ catch (err) {
39
+ console.error('[Avatar] Failed to pick image:', err);
40
+ Alert.alert(DEFAULT_EDIT_PHOTO_COPY.alertTitle, DEFAULT_EDIT_PHOTO_COPY.errorSelect);
41
+ }
42
+ };
43
+ export const takePhoto = async (onPhotoSelected) => {
44
+ if (!onPhotoSelected)
45
+ return;
46
+ try {
47
+ const { status } = await ImagePicker.requestCameraPermissionsAsync();
48
+ if (status !== 'granted') {
49
+ Alert.alert('Permission required', DEFAULT_EDIT_PHOTO_COPY.permissionCamera, [{ text: 'OK' }]);
50
+ return;
51
+ }
52
+ const result = await ImagePicker.launchCameraAsync({
53
+ mediaTypes: ImagePicker.MediaTypeOptions.Images,
54
+ allowsEditing: true,
55
+ aspect: [1, 1],
56
+ quality: 0.8,
57
+ });
58
+ if (!result.canceled && result.assets?.[0]?.uri) {
59
+ onPhotoSelected?.(result.assets[0].uri);
60
+ }
61
+ }
62
+ catch (err) {
63
+ console.error('[Avatar] Failed to take photo:', err);
64
+ Alert.alert(DEFAULT_EDIT_PHOTO_COPY.alertTitle, DEFAULT_EDIT_PHOTO_COPY.errorCapture);
65
+ }
66
+ };
@@ -0,0 +1,3 @@
1
+ import type { BadgeProps } from './types';
2
+ export declare function Badge({ children, variant, iconLeft, iconRight, style, textStyle, }: BadgeProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/Badge/Badge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAA+B,EAC/B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAS,GACV,EAAE,UAAU,2CAiBZ"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { DEFAULT_BADGE_VARIANT } from './constants';
3
+ import { BadgeContainer, BadgeLabel, IconWrap } from './styles';
4
+ export function Badge({ children, variant = DEFAULT_BADGE_VARIANT, iconLeft, iconRight, style, textStyle, }) {
5
+ const isTextLabel = typeof children === 'string' || typeof children === 'number';
6
+ const hasIcons = iconLeft != null || iconRight != null;
7
+ return (_jsxs(BadgeContainer, { "$variant": variant, "$hasIcons": hasIcons, style: style, children: [iconLeft != null && _jsx(IconWrap, { children: iconLeft }), isTextLabel ? (_jsx(BadgeLabel, { "$variant": variant, style: textStyle, numberOfLines: 1, children: children })) : (children), iconRight != null && _jsx(IconWrap, { children: iconRight })] }));
8
+ }
@@ -0,0 +1,20 @@
1
+ import type { BadgeVariant } from './types';
2
+ export declare const DEFAULT_BADGE_VARIANT: BadgeVariant;
3
+ export declare const BADGE_VARIANT_COLORS: Record<BadgeVariant, {
4
+ backgroundColor: string;
5
+ textColor: string;
6
+ }>;
7
+ export declare const BADGE_TOKENS: {
8
+ readonly borderRadius: 44;
9
+ readonly paddingVertical: 4;
10
+ readonly paddingHorizontal: 12;
11
+ readonly gap: 8;
12
+ readonly iconSize: 24;
13
+ readonly typography: {
14
+ readonly fontFamily: "SF Pro";
15
+ readonly fontSize: 13;
16
+ readonly fontWeight: "500";
17
+ readonly lineHeight: 16;
18
+ };
19
+ };
20
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/Badge/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,qBAAqB,EAAE,YAAwB,CAAC;AAE7D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,YAAY,EACZ;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB,CAkBF,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYf,CAAC"}
@@ -0,0 +1,32 @@
1
+ export const DEFAULT_BADGE_VARIANT = 'primary';
2
+ export const BADGE_VARIANT_COLORS = {
3
+ primary: {
4
+ backgroundColor: '#1692FF',
5
+ textColor: '#FFFFFF',
6
+ },
7
+ invers: {
8
+ backgroundColor: '#FFFFFF',
9
+ textColor: '#2C2C2C',
10
+ },
11
+ positive: {
12
+ backgroundColor: '#B2F549',
13
+ textColor: '#2C2C2C',
14
+ },
15
+ negative: {
16
+ backgroundColor: '#FF3B30',
17
+ textColor: '#FFFFFF',
18
+ },
19
+ };
20
+ export const BADGE_TOKENS = {
21
+ borderRadius: 44,
22
+ paddingVertical: 4,
23
+ paddingHorizontal: 12,
24
+ gap: 8,
25
+ iconSize: 24,
26
+ typography: {
27
+ fontFamily: 'SF Pro',
28
+ fontSize: 13,
29
+ fontWeight: '500',
30
+ lineHeight: 16,
31
+ },
32
+ };
@@ -0,0 +1,3 @@
1
+ export { Badge } from './Badge';
2
+ export type { BadgeProps, BadgeVariant } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export { Badge } from './Badge';
@@ -0,0 +1,10 @@
1
+ import type { BadgeVariant } from './types';
2
+ export declare const BadgeContainer: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").Substitute<import("react-native").ViewProps, {
3
+ $variant: BadgeVariant;
4
+ $hasIcons: boolean;
5
+ }>>;
6
+ export declare const IconWrap: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").ViewProps, never>>;
7
+ export declare const BadgeLabel: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").Substitute<import("react-native").TextProps, {
8
+ $variant: BadgeVariant;
9
+ }>>;
10
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/Badge/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,cAAc;cACf,YAAY;eACX,OAAO;GAYnB,CAAC;AAEF,eAAO,MAAM,QAAQ,+KAMpB,CAAC;AAEF,eAAO,MAAM,UAAU;cAA2B,YAAY;GAO7D,CAAC"}
@@ -0,0 +1,28 @@
1
+ import styled from 'styled-components/native';
2
+ import { BADGE_TOKENS, BADGE_VARIANT_COLORS } from './constants';
3
+ export const BadgeContainer = styled.View `
4
+ flex-direction: row;
5
+ align-items: center;
6
+ align-self: flex-start;
7
+ flex-shrink: 0;
8
+ flex-grow: 0;
9
+ padding: ${BADGE_TOKENS.paddingVertical}px ${BADGE_TOKENS.paddingHorizontal}px;
10
+ border-radius: ${BADGE_TOKENS.borderRadius}px;
11
+ gap: ${({ $hasIcons }) => ($hasIcons ? BADGE_TOKENS.gap : 0)}px;
12
+ background-color: ${({ $variant }) => BADGE_VARIANT_COLORS[$variant].backgroundColor};
13
+ `;
14
+ export const IconWrap = styled.View `
15
+ align-items: center;
16
+ justify-content: center;
17
+ width: ${BADGE_TOKENS.iconSize}px;
18
+ height: ${BADGE_TOKENS.iconSize}px;
19
+ overflow: hidden;
20
+ `;
21
+ export const BadgeLabel = styled.Text `
22
+ font-family: ${BADGE_TOKENS.typography.fontFamily};
23
+ font-size: ${BADGE_TOKENS.typography.fontSize}px;
24
+ font-weight: ${BADGE_TOKENS.typography.fontWeight};
25
+ line-height: ${BADGE_TOKENS.typography.lineHeight}px;
26
+ text-align: center;
27
+ color: ${({ $variant }) => BADGE_VARIANT_COLORS[$variant].textColor};
28
+ `;
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
3
+ export type BadgeVariant = 'primary' | 'invers' | 'positive' | 'negative';
4
+ export interface BadgeProps {
5
+ /** Badge text or custom content */
6
+ children: ReactNode;
7
+ /** Visual style variant */
8
+ variant?: BadgeVariant;
9
+ /** Element rendered before the label */
10
+ iconLeft?: ReactNode;
11
+ /** Element rendered after the label */
12
+ iconRight?: ReactNode;
13
+ /** Optional container style overrides */
14
+ style?: StyleProp<ViewStyle>;
15
+ /** Optional text style overrides for the label */
16
+ textStyle?: StyleProp<TextStyle>;
17
+ }
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Badge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,QAAQ,EAAE,SAAS,CAAC;IACpB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uCAAuC;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,kDAAkD;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAClC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { BigInputProps } from './types';
2
+ export declare function BigInput({ title, isNumeral, value, defaultValue, editable, detail, detailChangeList, onDetailChange, detailPickerTitle, onChangeText, placeholderTextColor, containerStyle, inputStyle, underlineStyle, ...textInputProps }: BigInputProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=BigInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigInput.d.ts","sourceRoot":"","sources":["../../src/BigInput/BigInput.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,EACvB,KAAsB,EACtB,SAAiB,EACjB,KAAK,EACL,YAAY,EACZ,QAAe,EACf,MAAM,EACN,gBAAqB,EACrB,cAAc,EACd,iBAAmC,EACnC,YAAY,EACZ,oBAA6D,EAC7D,cAAc,EACd,UAAU,EACV,cAAc,EACd,GAAG,cAAc,EAClB,EAAE,aAAa,2CAmHf"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
+ import { Keyboard, Modal } from 'react-native';
4
+ import { Icon } from '../Icon';
5
+ import { Picker } from '../Picker/Picker';
6
+ import { BIG_INPUT_TOKENS } from './constants';
7
+ import { Container, DetailPickerContainer, DetailPickerOverlay, DetailPickerSheetBackdrop, DetailText, DetailTrigger, Title, Underline, ValueInput, ValueRow, } from './styles';
8
+ export function BigInput({ title = 'Enter amount', isNumeral = false, value, defaultValue, editable = true, detail, detailChangeList = [], onDetailChange, detailPickerTitle = 'Select detail', onChangeText, placeholderTextColor = BIG_INPUT_TOKENS.inputPlaceholderColor, containerStyle, inputStyle, underlineStyle, ...textInputProps }) {
9
+ const [detailPickerVisible, setDetailPickerVisible] = useState(false);
10
+ const [uncontrolledDetail, setUncontrolledDetail] = useState(detail ?? '');
11
+ const isValueControlled = value !== undefined;
12
+ const isDetailControlled = detail !== undefined;
13
+ const currentDetail = isDetailControlled ? (detail ?? '') : uncontrolledDetail;
14
+ const hasDetailOptions = detailChangeList.length > 0;
15
+ useEffect(() => {
16
+ if (isDetailControlled || currentDetail.length > 0 || detailChangeList.length === 0)
17
+ return;
18
+ setUncontrolledDetail(detailChangeList[0]?.value ?? '');
19
+ }, [currentDetail.length, detailChangeList, isDetailControlled]);
20
+ const matchedDetailOption = useMemo(() => {
21
+ if (!hasDetailOptions || currentDetail.length === 0)
22
+ return undefined;
23
+ return detailChangeList.find((item) => item.value === currentDetail || item.label === currentDetail);
24
+ }, [currentDetail, detailChangeList, hasDetailOptions]);
25
+ const detailLabel = matchedDetailOption?.value ?? currentDetail;
26
+ const selectedDetailValue = matchedDetailOption?.value ?? detailChangeList[0]?.value;
27
+ const handleChangeText = useCallback((text) => {
28
+ onChangeText?.(text);
29
+ }, [onChangeText]);
30
+ const openDetailPicker = useCallback(() => {
31
+ if (!hasDetailOptions || !editable)
32
+ return;
33
+ Keyboard.dismiss();
34
+ setDetailPickerVisible(true);
35
+ }, [editable, hasDetailOptions]);
36
+ const closeDetailPicker = useCallback(() => {
37
+ setDetailPickerVisible(false);
38
+ }, []);
39
+ const handleDetailValueChange = useCallback((nextValue) => {
40
+ if (!isDetailControlled)
41
+ setUncontrolledDetail(nextValue);
42
+ onDetailChange?.(nextValue);
43
+ setDetailPickerVisible(false);
44
+ }, [isDetailControlled, onDetailChange]);
45
+ return (_jsxs(_Fragment, { children: [_jsxs(Container, { style: containerStyle, children: [title.length > 0 && _jsx(Title, { children: title }), _jsxs(ValueRow, { children: [_jsx(ValueInput, { ...textInputProps, value: isValueControlled ? value : undefined, defaultValue: isValueControlled ? undefined : defaultValue, editable: editable, onChangeText: handleChangeText, keyboardType: isNumeral ? (textInputProps.keyboardType ?? 'decimal-pad') : textInputProps.keyboardType, placeholder: textInputProps.placeholder ?? '', placeholderTextColor: placeholderTextColor, style: [inputStyle] }), detailLabel.length > 0 && (_jsxs(DetailTrigger, { onPress: openDetailPicker, disabled: !hasDetailOptions || !editable, accessibilityRole: hasDetailOptions ? 'button' : undefined, accessibilityState: { disabled: !hasDetailOptions || !editable }, "$disabled": !hasDetailOptions || !editable, children: [_jsx(DetailText, { children: detailLabel }), hasDetailOptions && (_jsx(Icon, { name: "chevron-solid-down", size: BIG_INPUT_TOKENS.detailIconSize, color: BIG_INPUT_TOKENS.detailIconColor }))] }))] }), _jsx(Underline, { style: underlineStyle })] }), hasDetailOptions && (_jsx(Modal, { visible: detailPickerVisible, animationType: "slide", transparent: true, onRequestClose: closeDetailPicker, children: _jsxs(DetailPickerSheetBackdrop, { children: [_jsx(DetailPickerOverlay, { onPress: closeDetailPicker }), _jsx(DetailPickerContainer, { children: _jsx(Picker, { items: detailChangeList, selectedValue: selectedDetailValue, onValueChange: handleDetailValueChange, title: detailPickerTitle, onBack: closeDetailPicker, searchable: detailChangeList.length > 8, grabber: true, fitContent: true }) })] }) }))] }));
46
+ }
@@ -0,0 +1,32 @@
1
+ export declare const BIG_INPUT_TOKENS: {
2
+ readonly titleColor: "#6F7F95";
3
+ readonly titleFontFamily: "SF Pro Display Regular";
4
+ readonly titleFontSize: 26;
5
+ readonly titleFontWeight: "400";
6
+ readonly titleLineHeight: 32;
7
+ readonly titleLetterSpacing: 0.2;
8
+ readonly valueColor: "#1C1C1E";
9
+ readonly valueFontFamily: "SB Sans Text";
10
+ readonly valueFontSize: 80;
11
+ readonly valueFontWeight: "700";
12
+ readonly valueLineHeight: 88;
13
+ readonly valueLetterSpacing: -2;
14
+ readonly detailColor: "#1C1C1E";
15
+ readonly detailFontFamily: "SB Sans Text";
16
+ readonly detailFontSize: 80;
17
+ readonly detailFontWeight: "700";
18
+ readonly detailLineHeight: 88;
19
+ readonly detailLetterSpacing: -2;
20
+ readonly detailGap: 4;
21
+ readonly detailIconSize: 24;
22
+ readonly detailIconColor: "#2C2C2E";
23
+ readonly underlineColor: "rgba(255, 255, 255, 0.55)";
24
+ readonly underlineHeight: 2;
25
+ readonly minInputWidth: 72;
26
+ readonly maxInputWidth: 280;
27
+ readonly widthPerCharacter: 42;
28
+ readonly inputPlaceholderColor: "#8E8E93";
29
+ readonly topPadding: 8;
30
+ readonly bottomPadding: 10;
31
+ };
32
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/BigInput/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCnB,CAAC"}
@@ -0,0 +1,31 @@
1
+ export const BIG_INPUT_TOKENS = {
2
+ titleColor: '#6F7F95',
3
+ titleFontFamily: 'SF Pro Display Regular',
4
+ titleFontSize: 26,
5
+ titleFontWeight: '400',
6
+ titleLineHeight: 32,
7
+ titleLetterSpacing: 0.2,
8
+ valueColor: '#1C1C1E',
9
+ valueFontFamily: 'SB Sans Text',
10
+ valueFontSize: 80,
11
+ valueFontWeight: '700',
12
+ valueLineHeight: 88,
13
+ valueLetterSpacing: -2,
14
+ detailColor: '#1C1C1E',
15
+ detailFontFamily: 'SB Sans Text',
16
+ detailFontSize: 80,
17
+ detailFontWeight: '700',
18
+ detailLineHeight: 88,
19
+ detailLetterSpacing: -2,
20
+ detailGap: 4,
21
+ detailIconSize: 24,
22
+ detailIconColor: '#2C2C2E',
23
+ underlineColor: 'rgba(255, 255, 255, 0.55)',
24
+ underlineHeight: 2,
25
+ minInputWidth: 72,
26
+ maxInputWidth: 280,
27
+ widthPerCharacter: 42,
28
+ inputPlaceholderColor: '#8E8E93',
29
+ topPadding: 8,
30
+ bottomPadding: 10,
31
+ };
@@ -0,0 +1,3 @@
1
+ export { BigInput } from './BigInput';
2
+ export type { BigInputProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/BigInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export { BigInput } from './BigInput';
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ export declare const Container: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").ViewProps, never>>;
3
+ export declare const Title: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").TextProps, never>>;
4
+ export declare const ValueRow: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").ViewProps, never>>;
5
+ export declare const ValueInput: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").TextInputProps, never>>;
6
+ export declare const DetailTrigger: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").Substitute<import("react-native").PressableProps & import("react").RefAttributes<import("react-native").View>, {
7
+ $disabled: boolean;
8
+ }>>;
9
+ export declare const DetailText: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").TextProps, never>>;
10
+ export declare const Underline: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").ViewProps, never>>;
11
+ export declare const DetailPickerSheetBackdrop: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").ViewProps, never>>;
12
+ export declare const DetailPickerOverlay: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").PressableProps & import("react").RefAttributes<import("react-native").View>, never>>;
13
+ export declare const DetailPickerContainer: import("styled-components/native/dist/types").IStyledComponentBase<"native", import("styled-components/native/dist/types").FastOmit<import("react-native").ViewProps, never>>;
14
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/BigInput/styles.ts"],"names":[],"mappings":";AAGA,eAAO,MAAM,SAAS,+KAMrB,CAAC;AAEF,eAAO,MAAM,KAAK,+KAWjB,CAAC;AAEF,eAAO,MAAM,QAAQ,+KAMpB,CAAC;AAEF,eAAO,MAAM,UAAU,oLAWtB,CAAC;AAEF,eAAO,MAAM,aAAa;eAAiC,OAAO;GAMjE,CAAC;AAEF,eAAO,MAAM,UAAU,+KAOtB,CAAC;AAEF,eAAO,MAAM,SAAS,+KAMrB,CAAC;AAEF,eAAO,MAAM,yBAAyB,+KAGrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,iPAO/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,+KAKjC,CAAC"}
@@ -0,0 +1,80 @@
1
+ import styled from 'styled-components/native';
2
+ import { BIG_INPUT_TOKENS } from './constants';
3
+ export const Container = styled.View `
4
+ width: 100%;
5
+ align-items: center;
6
+ justify-content: center;
7
+ padding-top: ${BIG_INPUT_TOKENS.topPadding}px;
8
+ padding-bottom: ${BIG_INPUT_TOKENS.bottomPadding}px;
9
+ `;
10
+ export const Title = styled.Text `
11
+ margin-bottom: 12px;
12
+ color: #738295;
13
+ text-align: center;
14
+
15
+ font-family: "SB Sans Text";
16
+ font-size: 16px;
17
+ font-style: normal;
18
+ font-weight: 500;
19
+ line-height: 20px;
20
+ letter-spacing: -0.32px;
21
+ `;
22
+ export const ValueRow = styled.View `
23
+ flex-direction: row;
24
+ align-items: center;
25
+ justify-content: center;
26
+ min-height: 40px;
27
+ margin-bottom: 2px;
28
+ `;
29
+ export const ValueInput = styled.TextInput `
30
+ font-family: 'SF Pro';
31
+ font-size: 34px;
32
+ font-weight: 700;
33
+ line-height: 40px;
34
+ letter-spacing: 0.4;
35
+ color: #2C2C2C;
36
+ text-align: right;
37
+ padding-right: 10px;
38
+ padding-vertical: 0;
39
+ margin: 0;
40
+ `;
41
+ export const DetailTrigger = styled.Pressable `
42
+ flex-direction: row;
43
+ align-items: center;
44
+ min-height: 40px;
45
+ gap: ${BIG_INPUT_TOKENS.detailGap}px;
46
+ opacity: ${({ $disabled }) => ($disabled ? 0.9 : 1)};
47
+ `;
48
+ export const DetailText = styled.Text `
49
+ font-family: 'SF Pro';
50
+ font-size: 34px;
51
+ font-weight: 700;
52
+ line-height: 40px;
53
+ letter-spacing: -2px;
54
+ color: #1C1C1E;
55
+ `;
56
+ export const Underline = styled.View `
57
+ margin-top: 10px;
58
+ width: 84%;
59
+ height: ${BIG_INPUT_TOKENS.underlineHeight}px;
60
+ border-radius: ${BIG_INPUT_TOKENS.underlineHeight}px;
61
+ background-color: ${BIG_INPUT_TOKENS.underlineColor};
62
+ `;
63
+ export const DetailPickerSheetBackdrop = styled.View `
64
+ flex: 1;
65
+ justify-content: flex-end;
66
+ `;
67
+ export const DetailPickerOverlay = styled.Pressable `
68
+ position: absolute;
69
+ top: 0;
70
+ left: 0;
71
+ right: 0;
72
+ bottom: 0;
73
+ background-color: rgba(0, 0, 0, 0.4);
74
+ `;
75
+ export const DetailPickerContainer = styled.View `
76
+ background-color: #eff4f7;
77
+ border-top-left-radius: 16px;
78
+ border-top-right-radius: 16px;
79
+ overflow: hidden;
80
+ `;
@@ -0,0 +1,23 @@
1
+ import type { StyleProp, TextInputProps, TextStyle, ViewStyle } from 'react-native';
2
+ import type { PickerItem } from '../Picker/types';
3
+ export interface BigInputProps extends Omit<TextInputProps, 'style'> {
4
+ /** Top label text */
5
+ title?: string;
6
+ /** Applies numeric keyboard defaults and numeric-friendly width behavior */
7
+ isNumeral?: boolean;
8
+ /** Right-side detail value (for example currency symbol/code) */
9
+ detail?: string;
10
+ /** Options for changing detail (for example list of currencies) */
11
+ detailChangeList?: PickerItem[];
12
+ /** Called when detail changes */
13
+ onDetailChange?: (value: string) => void;
14
+ /** Title shown in detail picker sheet */
15
+ detailPickerTitle?: string;
16
+ /** Style for outer container */
17
+ containerStyle?: StyleProp<ViewStyle>;
18
+ /** Style for native TextInput */
19
+ inputStyle?: StyleProp<TextStyle>;
20
+ /** Style for underline */
21
+ underlineStyle?: StyleProp<ViewStyle>;
22
+ }
23
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/BigInput/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAClE,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;IAChC,iCAAiC;IACjC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gCAAgC;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,iCAAiC;IACjC,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,0BAA0B;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACvC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ButtonProps } from './types';
2
+ export declare function Button({ children, variant, disabled, fullWidth, iconLeft, iconRight, style, activeOpacity, textStyle, accessibilityRole, accessibilityState, ...touchableProps }: ButtonProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,OAAgC,EAChC,QAAgB,EAChB,SAAiB,EACjB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,aAA2C,EAC3C,SAAS,EACT,iBAA4B,EAC5B,kBAAkB,EAClB,GAAG,cAAc,EAClB,EAAE,WAAW,2CA4Bb"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { BUTTON_TOKENS, DEFAULT_BUTTON_VARIANT } from './constants';
3
+ import { ButtonContainer, ButtonLabel, ContentRow, IconWrap } from './styles';
4
+ export function Button({ children, variant = DEFAULT_BUTTON_VARIANT, disabled = false, fullWidth = false, iconLeft, iconRight, style, activeOpacity = BUTTON_TOKENS.activeOpacity, textStyle, accessibilityRole = 'button', accessibilityState, ...touchableProps }) {
5
+ const isTextLabel = typeof children === 'string' || typeof children === 'number';
6
+ return (_jsx(ButtonContainer, { ...touchableProps, "$variant": variant, "$isDisabled": disabled, "$fullWidth": fullWidth, disabled: disabled, activeOpacity: activeOpacity, accessibilityRole: accessibilityRole, accessibilityState: { ...(accessibilityState ?? {}), disabled }, style: style, children: _jsxs(ContentRow, { children: [iconLeft != null && _jsx(IconWrap, { children: iconLeft }), isTextLabel ? (_jsx(ButtonLabel, { "$variant": variant, style: textStyle, children: children })) : (children), iconRight != null && _jsx(IconWrap, { children: iconRight })] }) }));
7
+ }
@@ -0,0 +1,23 @@
1
+ import type { ButtonVariant } from './types';
2
+ export declare const DEFAULT_BUTTON_VARIANT: ButtonVariant;
3
+ export declare const BUTTON_VARIANT_COLORS: Record<ButtonVariant, {
4
+ backgroundColor: string;
5
+ disabledBackgroundColor: string;
6
+ textColor: string;
7
+ }>;
8
+ export declare const BUTTON_TOKENS: {
9
+ readonly borderRadius: 44;
10
+ readonly paddingVertical: 12;
11
+ readonly paddingHorizontal: 16;
12
+ readonly minHeight: 44;
13
+ readonly gap: 8;
14
+ readonly activeOpacity: 0.7;
15
+ readonly typography: {
16
+ readonly fontFamily: "SF Pro Display Regular";
17
+ readonly fontSize: 17;
18
+ readonly fontWeight: "600";
19
+ readonly lineHeight: 22;
20
+ readonly letterSpacing: -0.43;
21
+ };
22
+ };
23
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/Button/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,sBAAsB,EAAE,aAAyB,CAAC;AAE/D,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,aAAa,EACb;IACE,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CAYF,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAchB,CAAC"}
@@ -0,0 +1,28 @@
1
+ export const DEFAULT_BUTTON_VARIANT = 'primary';
2
+ export const BUTTON_VARIANT_COLORS = {
3
+ primary: {
4
+ backgroundColor: '#2C2C2C',
5
+ disabledBackgroundColor: '#8A8A8E',
6
+ textColor: '#FFFFFF',
7
+ },
8
+ secondary: {
9
+ backgroundColor: '#FFFFFF',
10
+ disabledBackgroundColor: '#8A8A8E',
11
+ textColor: '#2C2C2C',
12
+ },
13
+ };
14
+ export const BUTTON_TOKENS = {
15
+ borderRadius: 44,
16
+ paddingVertical: 12,
17
+ paddingHorizontal: 16,
18
+ minHeight: 44,
19
+ gap: 8,
20
+ activeOpacity: 0.7,
21
+ typography: {
22
+ fontFamily: 'SF Pro Display Regular',
23
+ fontSize: 17,
24
+ fontWeight: '600',
25
+ lineHeight: 22,
26
+ letterSpacing: -0.43,
27
+ },
28
+ };
@@ -0,0 +1,3 @@
1
+ export { Button } from './Button';
2
+ export type { ButtonProps, ButtonVariant } from './types';
3
+ //# sourceMappingURL=index.d.ts.map