@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,49 @@
1
+ import { Animated, Pressable } from 'react-native';
2
+ import styled from 'styled-components/native';
3
+ const TEXT_PRIMARY = '#2C2C2C';
4
+ const TEXT_SECONDARY = '#738295';
5
+ /* ── Outer card ────────────────────────────────────────────────────── */
6
+ export const Card = styled.View `
7
+ background-color: #ffffff;
8
+ border-radius: 24px;
9
+ overflow: hidden;
10
+ `;
11
+ /* ── Header row ────────────────────────────────────────────────────── */
12
+ export const Header = styled(Pressable) `
13
+ flex-direction: row;
14
+ align-items: center;
15
+ padding: 16px;
16
+ gap: 8px;
17
+ opacity: ${({ $disabled }) => ($disabled ? 0.5 : 1)};
18
+ `;
19
+ export const HeaderLeading = styled.View `
20
+ flex: 1;
21
+ justify-content: center;
22
+ padding-bottom: 2px;
23
+ `;
24
+ export const TitleText = styled.Text `
25
+ font-size: 17px;
26
+ font-weight: 400;
27
+ line-height: 22px;
28
+ letter-spacing: -0.43px;
29
+ color: ${TEXT_PRIMARY};
30
+ `;
31
+ export const SubtitleText = styled.Text `
32
+ font-size: 13px;
33
+ font-weight: 400;
34
+ line-height: 18px;
35
+ letter-spacing: -0.08px;
36
+ color: ${TEXT_SECONDARY};
37
+ `;
38
+ /* ── Collapsible content ───────────────────────────────────────────── */
39
+ export const ContentClip = styled(Animated.View) `
40
+ overflow: hidden;
41
+ `;
42
+ export const ContentPadding = styled.View `
43
+ padding: 0px 16px 16px;
44
+ `;
45
+ export const ContentBackground = styled.View `
46
+ background-color: #eff4f7;
47
+ border-radius: 12px;
48
+ overflow: hidden;
49
+ `;
@@ -0,0 +1,36 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { StyleProp, ViewStyle } from 'react-native';
3
+ export interface ToggleSectionProps {
4
+ /** Primary label displayed in the header row */
5
+ title: string;
6
+ /** Secondary label below the title */
7
+ subtitle?: string;
8
+ /** Whether the switch is on (controlled) */
9
+ value: boolean;
10
+ /** Called with the new boolean when the switch is toggled */
11
+ onValueChange: (value: boolean) => void;
12
+ /**
13
+ * Controls when the content area is revealed.
14
+ *
15
+ * - `'on'` — content visible when switch is ON (default)
16
+ * - `'off'` — content visible when switch is OFF
17
+ *
18
+ * @default 'on'
19
+ */
20
+ visibleWhen?: 'on' | 'off';
21
+ /** Content rendered inside the collapsible area */
22
+ children?: ReactNode;
23
+ /** Disables the switch and dims the header */
24
+ disabled?: boolean;
25
+ /** Style applied to the outer card container */
26
+ style?: StyleProp<ViewStyle>;
27
+ /** Forwarded as testID to the root View */
28
+ testID?: string;
29
+ /** Track colour when on. @default '#B2F549' */
30
+ activeTrackColor?: string;
31
+ /** Track colour when off. @default '#738295' */
32
+ inactiveTrackColor?: string;
33
+ /** Knob colour. @default '#FFFFFF' */
34
+ thumbColor?: string;
35
+ }
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ToggleSection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "fonts",
3
+ "path": "react-lucky-components/src/assets/fonts",
4
+ "description": "Folder containing related project files for this area.",
5
+ "generatedAt": "2026-03-02T00:41:04.011Z",
6
+ "scope": {
7
+ "recursive": true,
8
+ "excludedDirectories": [
9
+ "node_modules",
10
+ "Pods",
11
+ "dist",
12
+ "storybook-static",
13
+ "build",
14
+ "coverage",
15
+ ".git",
16
+ ".next",
17
+ ".expo",
18
+ ".turbo",
19
+ ".gradle",
20
+ "DerivedData"
21
+ ]
22
+ },
23
+ "entries": [
24
+ {
25
+ "name": "sf-pro-display",
26
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display",
27
+ "type": "directory",
28
+ "lastModified": "2026-03-02T00:40:38.000Z",
29
+ "itemCount": 10,
30
+ "recursiveMapping": true,
31
+ "description": "Folder containing related project files for this area."
32
+ },
33
+ {
34
+ "name": "map.json",
35
+ "path": "react-lucky-components/src/assets/fonts/map.json",
36
+ "type": "file",
37
+ "extension": ".json",
38
+ "generated": true,
39
+ "description": "Directory map generated by Codex for this folder."
40
+ },
41
+ {
42
+ "name": "SB Sans Text.ttf",
43
+ "path": "react-lucky-components/src/assets/fonts/SB Sans Text.ttf",
44
+ "type": "file",
45
+ "lastModified": "2026-02-18T19:23:34.101Z",
46
+ "extension": ".ttf",
47
+ "sizeBytes": 95260,
48
+ "description": "Font asset used for app/web typography."
49
+ }
50
+ ]
51
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "name": "sf-pro-display",
3
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display",
4
+ "description": "Folder containing related project files for this area.",
5
+ "generatedAt": "2026-03-02T00:41:04.011Z",
6
+ "scope": {
7
+ "recursive": true,
8
+ "excludedDirectories": [
9
+ "node_modules",
10
+ "Pods",
11
+ "dist",
12
+ "storybook-static",
13
+ "build",
14
+ "coverage",
15
+ ".git",
16
+ ".next",
17
+ ".expo",
18
+ ".turbo",
19
+ ".gradle",
20
+ "DerivedData"
21
+ ]
22
+ },
23
+ "entries": [
24
+ {
25
+ "name": "map.json",
26
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/map.json",
27
+ "type": "file",
28
+ "extension": ".json",
29
+ "generated": true,
30
+ "description": "Directory map generated by Codex for this folder."
31
+ },
32
+ {
33
+ "name": "SFPRODISPLAYBLACKITALIC.OTF",
34
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYBLACKITALIC.OTF",
35
+ "type": "file",
36
+ "lastModified": "2026-02-19T19:54:42.362Z",
37
+ "extension": ".otf",
38
+ "sizeBytes": 146416,
39
+ "description": "Font asset used for app/web typography."
40
+ },
41
+ {
42
+ "name": "SFPRODISPLAYBOLD.OTF",
43
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYBOLD.OTF",
44
+ "type": "file",
45
+ "lastModified": "2026-02-19T19:54:42.363Z",
46
+ "extension": ".otf",
47
+ "sizeBytes": 334728,
48
+ "description": "Font asset used for app/web typography."
49
+ },
50
+ {
51
+ "name": "SFPRODISPLAYHEAVYITALIC.OTF",
52
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYHEAVYITALIC.OTF",
53
+ "type": "file",
54
+ "lastModified": "2026-02-19T19:54:42.364Z",
55
+ "extension": ".otf",
56
+ "sizeBytes": 159628,
57
+ "description": "Font asset used for app/web typography."
58
+ },
59
+ {
60
+ "name": "SFPRODISPLAYLIGHTITALIC.OTF",
61
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYLIGHTITALIC.OTF",
62
+ "type": "file",
63
+ "lastModified": "2026-02-19T19:54:42.365Z",
64
+ "extension": ".otf",
65
+ "sizeBytes": 158892,
66
+ "description": "Font asset used for app/web typography."
67
+ },
68
+ {
69
+ "name": "SFPRODISPLAYMEDIUM.OTF",
70
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYMEDIUM.OTF",
71
+ "type": "file",
72
+ "lastModified": "2026-02-19T19:54:42.366Z",
73
+ "extension": ".otf",
74
+ "sizeBytes": 335512,
75
+ "description": "Font asset used for app/web typography."
76
+ },
77
+ {
78
+ "name": "SFPRODISPLAYREGULAR.otf",
79
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYREGULAR.otf",
80
+ "type": "file",
81
+ "lastModified": "2026-02-19T19:54:42.368Z",
82
+ "extension": ".otf",
83
+ "sizeBytes": 298944,
84
+ "description": "Font asset used for app/web typography."
85
+ },
86
+ {
87
+ "name": "SFPRODISPLAYSEMIBOLDITALIC.OTF",
88
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYSEMIBOLDITALIC.OTF",
89
+ "type": "file",
90
+ "lastModified": "2026-02-19T19:54:42.369Z",
91
+ "extension": ".otf",
92
+ "sizeBytes": 159876,
93
+ "description": "Font asset used for app/web typography."
94
+ },
95
+ {
96
+ "name": "SFPRODISPLAYTHINITALIC.OTF",
97
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYTHINITALIC.OTF",
98
+ "type": "file",
99
+ "lastModified": "2026-02-19T19:54:42.374Z",
100
+ "extension": ".otf",
101
+ "sizeBytes": 157916,
102
+ "description": "Font asset used for app/web typography."
103
+ },
104
+ {
105
+ "name": "SFPRODISPLAYULTRALIGHTITALIC.OTF",
106
+ "path": "react-lucky-components/src/assets/fonts/sf-pro-display/SFPRODISPLAYULTRALIGHTITALIC.OTF",
107
+ "type": "file",
108
+ "lastModified": "2026-02-19T19:54:42.376Z",
109
+ "extension": ".otf",
110
+ "sizeBytes": 156760,
111
+ "description": "Font asset used for app/web typography."
112
+ }
113
+ ]
114
+ }
@@ -0,0 +1,6 @@
1
+ export declare const fontMap: {
2
+ readonly 'SB Sans Text': number;
3
+ readonly 'SF Pro Display Medium': number;
4
+ readonly 'SF Pro Display Regular': number;
5
+ };
6
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO;;;;CAIV,CAAC"}
package/dist/fonts.js ADDED
@@ -0,0 +1,8 @@
1
+ import sbSansText from './assets/fonts/SB Sans Text.ttf';
2
+ import sfProDisplayMedium from './assets/fonts/sf-pro-display/SFPRODISPLAYMEDIUM.OTF';
3
+ import sfProDisplayRegular from './assets/fonts/sf-pro-display/SFPRODISPLAYREGULAR.otf';
4
+ export const fontMap = {
5
+ 'SB Sans Text': sbSansText,
6
+ 'SF Pro Display Medium': sfProDisplayMedium,
7
+ 'SF Pro Display Regular': sfProDisplayRegular,
8
+ };
@@ -0,0 +1,38 @@
1
+ export { ListCell } from './ListCell/ListCell';
2
+ export type { ListCellProps } from './ListCell';
3
+ export { Avatar } from './Avatar';
4
+ export type { AvatarProps } from './Avatar';
5
+ export { Tabs, GroupTabIcon, ActivityTabIcon, AccountTabIcon } from './Tabs';
6
+ export type { TabsProps, TabItem, TabIcon } from './Tabs';
7
+ export { useFloatingTabBarScrollPadding } from './Tabs';
8
+ export { Picker } from './Picker';
9
+ export type { PickerProps, PickerItem } from './Picker';
10
+ export { Input } from './Input';
11
+ export type { InputProps } from './Input';
12
+ export { BigInput } from './BigInput';
13
+ export type { BigInputProps } from './BigInput';
14
+ export { Select } from './Select';
15
+ export type { SelectProps } from './Select';
16
+ export { DatePicker } from './DatePicker';
17
+ export type { DatePickerProps, DatePickerMode, DatePickerValue, DateRangeValue } from './DatePicker';
18
+ export { DimmedScrollView } from './DimmedScrollView';
19
+ export type { DimmedScrollViewProps } from './DimmedScrollView';
20
+ export { FadingEdge } from './FadingEdge';
21
+ export type { FadingEdgeProps } from './FadingEdge';
22
+ export { Button } from './Button';
23
+ export type { ButtonProps, ButtonVariant } from './Button';
24
+ export { Badge } from './Badge';
25
+ export type { BadgeProps, BadgeVariant } from './Badge';
26
+ export { ToggleSection } from './ToggleSection';
27
+ export type { ToggleSectionProps } from './ToggleSection';
28
+ export { CardStack, CardStackDots } from './CardStack';
29
+ export type { CardStackProps, CardStackDotsProps, CardStackDotsPosition, } from './CardStack';
30
+ export { Icon, iconNames } from './Icon';
31
+ export type { IconName, IconProps } from './Icon';
32
+ export { SegmentedTabs } from './SegmentedTabs';
33
+ export type { SegmentedTabsProps, SegmentedTab } from './SegmentedTabs';
34
+ export { Alert } from './Alert';
35
+ export type { AlertProps } from './Alert';
36
+ export { colors, typography } from './theme';
37
+ export { fontMap } from './fonts';
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7E,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAErG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ export { ListCell } from './ListCell/ListCell';
2
+ export { Avatar } from './Avatar';
3
+ export { Tabs, GroupTabIcon, ActivityTabIcon, AccountTabIcon } from './Tabs';
4
+ export { useFloatingTabBarScrollPadding } from './Tabs';
5
+ export { Picker } from './Picker';
6
+ export { Input } from './Input';
7
+ export { BigInput } from './BigInput';
8
+ export { Select } from './Select';
9
+ export { DatePicker } from './DatePicker';
10
+ export { DimmedScrollView } from './DimmedScrollView';
11
+ export { FadingEdge } from './FadingEdge';
12
+ export { Button } from './Button';
13
+ export { Badge } from './Badge';
14
+ export { ToggleSection } from './ToggleSection';
15
+ export { CardStack, CardStackDots } from './CardStack';
16
+ export { Icon, iconNames } from './Icon';
17
+ export { SegmentedTabs } from './SegmentedTabs';
18
+ export { Alert } from './Alert';
19
+ export { colors, typography } from './theme';
20
+ export { fontMap } from './fonts';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Default theme tokens used by components.
3
+ * Consumers can override colors via component props (e.g. activeTintColor, inactiveTrackColor).
4
+ */
5
+ export declare const colors: {
6
+ readonly primary: "#007AFF";
7
+ readonly white: "#FFFFFF";
8
+ readonly error: "#FF3B30";
9
+ readonly gray300: "#D1D1D6";
10
+ readonly gray400: "#738295";
11
+ };
12
+ export declare const typography: {
13
+ readonly fontWeight: {
14
+ readonly medium: "500";
15
+ readonly semibold: "600";
16
+ readonly bold: "700";
17
+ };
18
+ };
19
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,MAAM;;;;;;CAMT,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC"}
package/dist/theme.js ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Default theme tokens used by components.
3
+ * Consumers can override colors via component props (e.g. activeTintColor, inactiveTrackColor).
4
+ */
5
+ export const colors = {
6
+ primary: '#007AFF',
7
+ white: '#FFFFFF',
8
+ error: '#FF3B30',
9
+ gray300: '#D1D1D6',
10
+ gray400: '#738295',
11
+ };
12
+ export const typography = {
13
+ fontWeight: {
14
+ medium: '500',
15
+ semibold: '600',
16
+ bold: '700',
17
+ },
18
+ };
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@demlanide/react-lucky-components",
3
+ "url": "https://github.com/demlanide/react-lucky-components",
4
+ "version": "0.1.0",
5
+ "description": "Styled React Native components: Switch, Tabs (floating glass tab bar), and tab icons",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "react-native": "dist/index.js",
9
+ "exports": {
10
+ ".": {
11
+ "react-native": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "type-check": "tsc --noEmit",
23
+ "build": "tsc -p tsconfig.build.json && npm run copy-assets",
24
+ "copy-assets": "node scripts/copy-assets.mjs",
25
+ "clean": "rm -rf dist",
26
+ "prepublishOnly": "npm run clean && npm run build",
27
+ "storybook": "storybook dev -p 6006",
28
+ "build-storybook": "storybook build"
29
+ },
30
+ "peerDependencies": {
31
+ "@react-navigation/bottom-tabs": ">=6.0.0",
32
+ "expo-blur": "*",
33
+ "react": ">=18.0.0",
34
+ "react-native": ">=0.70.0",
35
+ "react-native-gesture-handler": ">=2.0.0",
36
+ "react-native-reanimated": ">=3.0.0",
37
+ "react-native-safe-area-context": ">=4.0.0",
38
+ "react-native-svg": ">=13.0.0"
39
+ },
40
+ "devDependencies": {
41
+ "@react-navigation/bottom-tabs": "^7.0.0",
42
+ "@react-navigation/native": "^7.0.0",
43
+ "@storybook/react-native-web-vite": "^10.2.8",
44
+ "@types/react": "^18.0.0",
45
+ "expo-blur": "~14.0.0",
46
+ "react": "^18.2.0",
47
+ "react-dom": "^18.2.0",
48
+ "react-native": "^0.76.0",
49
+ "react-native-gesture-handler": "^2.30.0",
50
+ "react-native-reanimated": "~3.16.0",
51
+ "react-native-safe-area-context": "^5.0.0",
52
+ "react-native-screens": "^4.0.0",
53
+ "react-native-svg": "^15.0.0",
54
+ "react-native-web": "^0.19.13",
55
+ "storybook": "^10.2.8",
56
+ "typescript": "~5.3.0",
57
+ "vite": "^7.3.1"
58
+ },
59
+ "keywords": [
60
+ "react-native",
61
+ "components",
62
+ "tabs",
63
+ "switch",
64
+ "expo"
65
+ ],
66
+ "license": "MIT",
67
+ "repository": {
68
+ "type": "git",
69
+ "url": "https://github.com/your-org/react-native-components.git"
70
+ },
71
+ "dependencies": {
72
+ "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
73
+ "expo-image-picker": "^17.0.10",
74
+ "styled-components": "^6.3.9"
75
+ }
76
+ }