@codeleap/mobile 2.4.7 → 3.0.2

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 (450) hide show
  1. package/mobile-packages.code-workspace +27 -0
  2. package/package.json +25 -33
  3. package/src/components/ActionIcon/index.tsx +16 -6
  4. package/src/components/ActionIcon/styles.ts +3 -90
  5. package/src/components/ActivityIndicator/index.tsx +28 -9
  6. package/src/components/ActivityIndicator/styles.ts +2 -59
  7. package/src/components/Autocomplete/index.tsx +235 -0
  8. package/src/components/Autocomplete/styles.ts +18 -0
  9. package/src/components/Autocomplete/types.ts +75 -0
  10. package/src/components/Avatar/index.tsx +126 -0
  11. package/src/components/Avatar/styles.ts +22 -0
  12. package/src/components/AvatarGroup/index.tsx +76 -0
  13. package/src/components/AvatarGroup/styles.ts +11 -0
  14. package/src/components/Backdrop/index.tsx +14 -13
  15. package/src/components/Backdrop/styles.ts +3 -24
  16. package/src/components/Badge/index.tsx +134 -0
  17. package/src/components/Badge/styles.ts +14 -0
  18. package/src/components/Button/index.tsx +39 -49
  19. package/src/components/Button/styles.ts +6 -107
  20. package/src/components/Calendar/index.tsx +3 -3
  21. package/src/components/Calendar/style.ts +2 -31
  22. package/src/components/Checkbox/index.tsx +137 -74
  23. package/src/components/Checkbox/styles.ts +13 -73
  24. package/src/components/ContentView/index.tsx +2 -2
  25. package/src/components/ContentView/styles.ts +1 -17
  26. package/src/components/DatePickerModal/index.tsx +240 -0
  27. package/src/components/DatePickerModal/styles.ts +15 -0
  28. package/src/components/DatePickerModal/types.ts +55 -0
  29. package/src/components/Drawer/index.tsx +2 -2
  30. package/src/components/Drawer/styles.ts +4 -39
  31. package/src/components/EmptyPlaceholder/index.tsx +3 -3
  32. package/src/components/EmptyPlaceholder/styles.ts +2 -47
  33. package/src/components/FileInput/styles.ts +1 -8
  34. package/src/components/Grid/index.tsx +76 -72
  35. package/src/components/Grid/styles.ts +4 -7
  36. package/src/components/Icon/index.tsx +46 -8
  37. package/src/components/Icon/styles.ts +3 -51
  38. package/src/components/Image/index.tsx +18 -22
  39. package/src/components/Image/styles.ts +1 -14
  40. package/src/components/ImageView/Spotlight.tsx +4 -2
  41. package/src/components/ImageView/component.tsx +0 -3
  42. package/src/components/InputBase/index.tsx +101 -0
  43. package/src/components/InputBase/styles.ts +135 -0
  44. package/src/components/InputBase/types.ts +28 -0
  45. package/src/components/InputBase/utils.ts +42 -0
  46. package/src/components/InputLabel/index.tsx +3 -3
  47. package/src/components/InputLabel/styles.ts +2 -14
  48. package/src/components/List/PaginationIndicator.tsx +4 -21
  49. package/src/components/List/index.tsx +84 -46
  50. package/src/components/List/styles.ts +8 -20
  51. package/src/components/LoadingOverlay/index.tsx +45 -45
  52. package/src/components/LoadingOverlay/styles.ts +5 -27
  53. package/src/components/Modal/index.tsx +56 -32
  54. package/src/components/Modal/styles.ts +3 -114
  55. package/src/components/NumberIncrement/index.tsx +318 -0
  56. package/src/components/NumberIncrement/styles.ts +14 -0
  57. package/src/components/NumberIncrement/types.ts +44 -0
  58. package/src/components/NumberIncrement/utils.ts +27 -0
  59. package/src/components/Pager/index.tsx +120 -67
  60. package/src/components/Pager/styles.ts +2 -69
  61. package/src/components/RadioInput/index.tsx +145 -68
  62. package/src/components/RadioInput/styles.ts +8 -61
  63. package/src/components/RefreshControl/index.tsx +28 -0
  64. package/src/components/RefreshControl/styles.ts +7 -0
  65. package/src/components/Scroll/index.tsx +22 -37
  66. package/src/components/Scroll/styles.ts +2 -16
  67. package/src/components/Sections/index.tsx +116 -54
  68. package/src/components/Sections/styles.ts +7 -0
  69. package/src/components/SegmentedControl/Option.tsx +51 -0
  70. package/src/components/SegmentedControl/index.tsx +51 -67
  71. package/src/components/SegmentedControl/styles.ts +7 -63
  72. package/src/components/Select/index.tsx +264 -93
  73. package/src/components/Select/styles.ts +11 -131
  74. package/src/components/Select/types.ts +47 -11
  75. package/src/components/Slider/index.tsx +151 -94
  76. package/src/components/Slider/styles.ts +7 -72
  77. package/src/components/Slider/types.ts +18 -20
  78. package/src/components/Switch/index.tsx +115 -63
  79. package/src/components/Switch/styles.ts +13 -30
  80. package/src/components/Text/index.tsx +14 -31
  81. package/src/components/Text/styles.ts +2 -41
  82. package/src/components/TextInput/index.tsx +237 -259
  83. package/src/components/TextInput/styles.ts +6 -120
  84. package/src/components/Touchable/index.tsx +74 -27
  85. package/src/components/Touchable/styles.ts +1 -12
  86. package/src/components/View/index.tsx +11 -26
  87. package/src/components/View/styles.ts +1 -17
  88. package/src/components/components.ts +9 -5
  89. package/src/components/defaultStyles.ts +74 -61
  90. package/src/index.ts +0 -1
  91. package/src/modules/PressableRipple/index.ts +5 -0
  92. package/src/modules/PressableRipple/ripple.js +258 -0
  93. package/src/modules/PressableRipple/styles.js +22 -0
  94. package/src/modules/PressableRipple/type.ts +17 -0
  95. package/src/modules/textInputMask.tsx +13 -0
  96. package/src/types/index.ts +5 -0
  97. package/src/types/utility.ts +2 -2
  98. package/src/utils/KeyboardAware/index.ts +0 -13
  99. package/src/utils/KeyboardAware/keyboardHooks.ts +69 -79
  100. package/src/utils/hooks.ts +63 -36
  101. package/src/utils/index.ts +1 -0
  102. package/src/utils/locale.ts +7 -0
  103. package/src/utils/theme.ts +1 -21
  104. package/dist/components/ActionIcon/index.d.ts +0 -13
  105. package/dist/components/ActionIcon/index.js +0 -51
  106. package/dist/components/ActionIcon/index.js.map +0 -1
  107. package/dist/components/ActionIcon/styles.d.ts +0 -65
  108. package/dist/components/ActionIcon/styles.js +0 -61
  109. package/dist/components/ActionIcon/styles.js.map +0 -1
  110. package/dist/components/ActivityIndicator/index.d.ts +0 -15
  111. package/dist/components/ActivityIndicator/index.js +0 -55
  112. package/dist/components/ActivityIndicator/index.js.map +0 -1
  113. package/dist/components/ActivityIndicator/styles.d.ts +0 -59
  114. package/dist/components/ActivityIndicator/styles.js +0 -52
  115. package/dist/components/ActivityIndicator/styles.js.map +0 -1
  116. package/dist/components/Animated.d.ts +0 -15
  117. package/dist/components/Animated.js +0 -55
  118. package/dist/components/Animated.js.map +0 -1
  119. package/dist/components/AutoComplete/index.d.ts +0 -34
  120. package/dist/components/AutoComplete/index.js +0 -126
  121. package/dist/components/AutoComplete/index.js.map +0 -1
  122. package/dist/components/AutoComplete/styles.d.ts +0 -57
  123. package/dist/components/AutoComplete/styles.js +0 -89
  124. package/dist/components/AutoComplete/styles.js.map +0 -1
  125. package/dist/components/Backdrop/index.d.ts +0 -14
  126. package/dist/components/Backdrop/index.js +0 -59
  127. package/dist/components/Backdrop/index.js.map +0 -1
  128. package/dist/components/Backdrop/styles.d.ts +0 -53
  129. package/dist/components/Backdrop/styles.js +0 -28
  130. package/dist/components/Backdrop/styles.js.map +0 -1
  131. package/dist/components/Button/index.d.ts +0 -246
  132. package/dist/components/Button/index.js +0 -115
  133. package/dist/components/Button/index.js.map +0 -1
  134. package/dist/components/Button/styles.d.ts +0 -65
  135. package/dist/components/Button/styles.js +0 -61
  136. package/dist/components/Button/styles.js.map +0 -1
  137. package/dist/components/Calendar/index.d.ts +0 -15
  138. package/dist/components/Calendar/index.js +0 -76
  139. package/dist/components/Calendar/index.js.map +0 -1
  140. package/dist/components/Calendar/style.d.ts +0 -4
  141. package/dist/components/Calendar/style.js +0 -36
  142. package/dist/components/Calendar/style.js.map +0 -1
  143. package/dist/components/Calendar/types.d.ts +0 -95
  144. package/dist/components/Calendar/types.js +0 -3
  145. package/dist/components/Calendar/types.js.map +0 -1
  146. package/dist/components/Checkbox/index.d.ts +0 -15
  147. package/dist/components/Checkbox/index.js +0 -81
  148. package/dist/components/Checkbox/index.js.map +0 -1
  149. package/dist/components/Checkbox/styles.d.ts +0 -56
  150. package/dist/components/Checkbox/styles.js +0 -53
  151. package/dist/components/Checkbox/styles.js.map +0 -1
  152. package/dist/components/ContentView/index.d.ts +0 -12
  153. package/dist/components/ContentView/index.js +0 -62
  154. package/dist/components/ContentView/index.js.map +0 -1
  155. package/dist/components/ContentView/styles.d.ts +0 -53
  156. package/dist/components/ContentView/styles.js +0 -26
  157. package/dist/components/ContentView/styles.js.map +0 -1
  158. package/dist/components/Drawer/index.d.ts +0 -7
  159. package/dist/components/Drawer/index.js +0 -66
  160. package/dist/components/Drawer/index.js.map +0 -1
  161. package/dist/components/Drawer/styles.d.ts +0 -56
  162. package/dist/components/Drawer/styles.js +0 -39
  163. package/dist/components/Drawer/styles.js.map +0 -1
  164. package/dist/components/EmptyPlaceholder/index.d.ts +0 -25
  165. package/dist/components/EmptyPlaceholder/index.js +0 -88
  166. package/dist/components/EmptyPlaceholder/index.js.map +0 -1
  167. package/dist/components/EmptyPlaceholder/styles.d.ts +0 -55
  168. package/dist/components/EmptyPlaceholder/styles.js +0 -30
  169. package/dist/components/EmptyPlaceholder/styles.js.map +0 -1
  170. package/dist/components/FileInput/index.d.ts +0 -24
  171. package/dist/components/FileInput/index.js +0 -179
  172. package/dist/components/FileInput/index.js.map +0 -1
  173. package/dist/components/FileInput/styles.d.ts +0 -53
  174. package/dist/components/FileInput/styles.js +0 -19
  175. package/dist/components/FileInput/styles.js.map +0 -1
  176. package/dist/components/Grid/index.d.ts +0 -32
  177. package/dist/components/Grid/index.js +0 -80
  178. package/dist/components/Grid/index.js.map +0 -1
  179. package/dist/components/Grid/styles.d.ts +0 -54
  180. package/dist/components/Grid/styles.js +0 -19
  181. package/dist/components/Grid/styles.js.map +0 -1
  182. package/dist/components/Icon/index.d.ts +0 -14
  183. package/dist/components/Icon/index.js +0 -75
  184. package/dist/components/Icon/index.js.map +0 -1
  185. package/dist/components/Icon/styles.d.ts +0 -61
  186. package/dist/components/Icon/styles.js +0 -49
  187. package/dist/components/Icon/styles.js.map +0 -1
  188. package/dist/components/Image/index.d.ts +0 -25
  189. package/dist/components/Image/index.js +0 -130
  190. package/dist/components/Image/index.js.map +0 -1
  191. package/dist/components/Image/styles.d.ts +0 -55
  192. package/dist/components/Image/styles.js +0 -25
  193. package/dist/components/Image/styles.js.map +0 -1
  194. package/dist/components/ImageView/Spotlight.d.ts +0 -25
  195. package/dist/components/ImageView/Spotlight.js +0 -150
  196. package/dist/components/ImageView/Spotlight.js.map +0 -1
  197. package/dist/components/ImageView/component.d.ts +0 -5
  198. package/dist/components/ImageView/component.js +0 -50
  199. package/dist/components/ImageView/component.js.map +0 -1
  200. package/dist/components/ImageView/index.d.ts +0 -2
  201. package/dist/components/ImageView/index.js +0 -15
  202. package/dist/components/ImageView/index.js.map +0 -1
  203. package/dist/components/InputLabel/index.d.ts +0 -12
  204. package/dist/components/InputLabel/index.js +0 -58
  205. package/dist/components/InputLabel/index.js.map +0 -1
  206. package/dist/components/InputLabel/styles.d.ts +0 -4
  207. package/dist/components/InputLabel/styles.js +0 -26
  208. package/dist/components/InputLabel/styles.js.map +0 -1
  209. package/dist/components/List/PaginationIndicator.d.ts +0 -67
  210. package/dist/components/List/PaginationIndicator.js +0 -51
  211. package/dist/components/List/PaginationIndicator.js.map +0 -1
  212. package/dist/components/List/index.d.ts +0 -31
  213. package/dist/components/List/index.js +0 -77
  214. package/dist/components/List/index.js.map +0 -1
  215. package/dist/components/List/styles.d.ts +0 -54
  216. package/dist/components/List/styles.js +0 -28
  217. package/dist/components/List/styles.js.map +0 -1
  218. package/dist/components/LoadingOverlay/index.d.ts +0 -11
  219. package/dist/components/LoadingOverlay/index.js +0 -60
  220. package/dist/components/LoadingOverlay/index.js.map +0 -1
  221. package/dist/components/LoadingOverlay/styles.d.ts +0 -7
  222. package/dist/components/LoadingOverlay/styles.js +0 -34
  223. package/dist/components/LoadingOverlay/styles.js.map +0 -1
  224. package/dist/components/Modal/index.d.ts +0 -43
  225. package/dist/components/Modal/index.js +0 -147
  226. package/dist/components/Modal/index.js.map +0 -1
  227. package/dist/components/Modal/styles.d.ts +0 -58
  228. package/dist/components/Modal/styles.js +0 -74
  229. package/dist/components/Modal/styles.js.map +0 -1
  230. package/dist/components/MultiSelect/index.d.ts +0 -6
  231. package/dist/components/MultiSelect/index.js +0 -119
  232. package/dist/components/MultiSelect/index.js.map +0 -1
  233. package/dist/components/MultiSelect/styles.d.ts +0 -7
  234. package/dist/components/MultiSelect/styles.js +0 -84
  235. package/dist/components/MultiSelect/styles.js.map +0 -1
  236. package/dist/components/MultiSelect/types.d.ts +0 -43
  237. package/dist/components/MultiSelect/types.js +0 -3
  238. package/dist/components/MultiSelect/types.js.map +0 -1
  239. package/dist/components/Navigation/Navigation.d.ts +0 -3
  240. package/dist/components/Navigation/Navigation.js +0 -80
  241. package/dist/components/Navigation/Navigation.js.map +0 -1
  242. package/dist/components/Navigation/constants.d.ts +0 -5
  243. package/dist/components/Navigation/constants.js +0 -11
  244. package/dist/components/Navigation/constants.js.map +0 -1
  245. package/dist/components/Navigation/index.d.ts +0 -3
  246. package/dist/components/Navigation/index.js +0 -16
  247. package/dist/components/Navigation/index.js.map +0 -1
  248. package/dist/components/Navigation/types.d.ts +0 -26
  249. package/dist/components/Navigation/types.js +0 -8
  250. package/dist/components/Navigation/types.js.map +0 -1
  251. package/dist/components/Navigation/utils.d.ts +0 -3
  252. package/dist/components/Navigation/utils.js +0 -69
  253. package/dist/components/Navigation/utils.js.map +0 -1
  254. package/dist/components/Pager/index.d.ts +0 -26
  255. package/dist/components/Pager/index.js +0 -84
  256. package/dist/components/Pager/index.js.map +0 -1
  257. package/dist/components/Pager/styles.d.ts +0 -87
  258. package/dist/components/Pager/styles.js +0 -72
  259. package/dist/components/Pager/styles.js.map +0 -1
  260. package/dist/components/RadioInput/index.d.ts +0 -27
  261. package/dist/components/RadioInput/index.js +0 -72
  262. package/dist/components/RadioInput/index.js.map +0 -1
  263. package/dist/components/RadioInput/styles.d.ts +0 -58
  264. package/dist/components/RadioInput/styles.js +0 -50
  265. package/dist/components/RadioInput/styles.js.map +0 -1
  266. package/dist/components/Scroll/index.d.ts +0 -124
  267. package/dist/components/Scroll/index.js +0 -97
  268. package/dist/components/Scroll/index.js.map +0 -1
  269. package/dist/components/Scroll/styles.d.ts +0 -53
  270. package/dist/components/Scroll/styles.js +0 -26
  271. package/dist/components/Scroll/styles.js.map +0 -1
  272. package/dist/components/Sections/index.d.ts +0 -115
  273. package/dist/components/Sections/index.js +0 -76
  274. package/dist/components/Sections/index.js.map +0 -1
  275. package/dist/components/SegmentedControl/index.d.ts +0 -52
  276. package/dist/components/SegmentedControl/index.js +0 -131
  277. package/dist/components/SegmentedControl/index.js.map +0 -1
  278. package/dist/components/SegmentedControl/styles.d.ts +0 -60
  279. package/dist/components/SegmentedControl/styles.js +0 -43
  280. package/dist/components/SegmentedControl/styles.js.map +0 -1
  281. package/dist/components/Select/index.d.ts +0 -16
  282. package/dist/components/Select/index.js +0 -122
  283. package/dist/components/Select/index.js.map +0 -1
  284. package/dist/components/Select/styles.d.ts +0 -60
  285. package/dist/components/Select/styles.js +0 -83
  286. package/dist/components/Select/styles.js.map +0 -1
  287. package/dist/components/Select/types.d.ts +0 -43
  288. package/dist/components/Select/types.js +0 -3
  289. package/dist/components/Select/types.js.map +0 -1
  290. package/dist/components/Slider/Mark.d.ts +0 -3
  291. package/dist/components/Slider/Mark.js +0 -32
  292. package/dist/components/Slider/Mark.js.map +0 -1
  293. package/dist/components/Slider/Thumb.d.ts +0 -7
  294. package/dist/components/Slider/Thumb.js +0 -30
  295. package/dist/components/Slider/Thumb.js.map +0 -1
  296. package/dist/components/Slider/index.d.ts +0 -4
  297. package/dist/components/Slider/index.js +0 -99
  298. package/dist/components/Slider/index.js.map +0 -1
  299. package/dist/components/Slider/styles.d.ts +0 -54
  300. package/dist/components/Slider/styles.js +0 -61
  301. package/dist/components/Slider/styles.js.map +0 -1
  302. package/dist/components/Slider/types.d.ts +0 -26
  303. package/dist/components/Slider/types.js +0 -3
  304. package/dist/components/Slider/types.js.map +0 -1
  305. package/dist/components/Switch/index.d.ts +0 -14
  306. package/dist/components/Switch/index.js +0 -81
  307. package/dist/components/Switch/index.js.map +0 -1
  308. package/dist/components/Switch/styles.d.ts +0 -55
  309. package/dist/components/Switch/styles.js +0 -34
  310. package/dist/components/Switch/styles.js.map +0 -1
  311. package/dist/components/Text/index.d.ts +0 -25
  312. package/dist/components/Text/index.js +0 -121
  313. package/dist/components/Text/index.js.map +0 -1
  314. package/dist/components/Text/styles.d.ts +0 -70
  315. package/dist/components/Text/styles.js +0 -34
  316. package/dist/components/Text/styles.js.map +0 -1
  317. package/dist/components/TextInput/index.d.ts +0 -181
  318. package/dist/components/TextInput/index.js +0 -213
  319. package/dist/components/TextInput/index.js.map +0 -1
  320. package/dist/components/TextInput/styles.d.ts +0 -63
  321. package/dist/components/TextInput/styles.js +0 -65
  322. package/dist/components/TextInput/styles.js.map +0 -1
  323. package/dist/components/Touchable/index.d.ts +0 -22
  324. package/dist/components/Touchable/index.js +0 -165
  325. package/dist/components/Touchable/index.js.map +0 -1
  326. package/dist/components/Touchable/styles.d.ts +0 -58
  327. package/dist/components/Touchable/styles.js +0 -24
  328. package/dist/components/Touchable/styles.js.map +0 -1
  329. package/dist/components/View/index.d.ts +0 -25
  330. package/dist/components/View/index.js +0 -107
  331. package/dist/components/View/index.js.map +0 -1
  332. package/dist/components/View/styles.d.ts +0 -54
  333. package/dist/components/View/styles.js +0 -29
  334. package/dist/components/View/styles.js.map +0 -1
  335. package/dist/components/components.d.ts +0 -37
  336. package/dist/components/components.js +0 -50
  337. package/dist/components/components.js.map +0 -1
  338. package/dist/components/defaultStyles.d.ts +0 -1468
  339. package/dist/components/defaultStyles.js +0 -67
  340. package/dist/components/defaultStyles.js.map +0 -1
  341. package/dist/index.d.ts +0 -7
  342. package/dist/index.js +0 -39
  343. package/dist/index.js.map +0 -1
  344. package/dist/modules/documentPicker.d.ts +0 -3
  345. package/dist/modules/documentPicker.js +0 -12
  346. package/dist/modules/documentPicker.js.map +0 -1
  347. package/dist/modules/fastImage.d.ts +0 -1
  348. package/dist/modules/fastImage.js +0 -10
  349. package/dist/modules/fastImage.js.map +0 -1
  350. package/dist/modules/reactNavigation.d.ts +0 -5
  351. package/dist/modules/reactNavigation.js +0 -26
  352. package/dist/modules/reactNavigation.js.map +0 -1
  353. package/dist/modules/rnDeviceInfo.d.ts +0 -2
  354. package/dist/modules/rnDeviceInfo.js +0 -10
  355. package/dist/modules/rnDeviceInfo.js.map +0 -1
  356. package/dist/modules/textInputMask.d.ts +0 -10
  357. package/dist/modules/textInputMask.js +0 -19
  358. package/dist/modules/textInputMask.js.map +0 -1
  359. package/dist/modules/types/fileTypes.d.ts +0 -138
  360. package/dist/modules/types/fileTypes.js +0 -3
  361. package/dist/modules/types/fileTypes.js.map +0 -1
  362. package/dist/modules/types/textInputMask.d.ts +0 -7
  363. package/dist/modules/types/textInputMask.js +0 -3
  364. package/dist/modules/types/textInputMask.js.map +0 -1
  365. package/dist/types/index.d.ts +0 -1
  366. package/dist/types/index.js +0 -14
  367. package/dist/types/index.js.map +0 -1
  368. package/dist/types/utility.d.ts +0 -14
  369. package/dist/types/utility.js +0 -3
  370. package/dist/types/utility.js.map +0 -1
  371. package/dist/utils/KeyboardAware/context.d.ts +0 -13
  372. package/dist/utils/KeyboardAware/context.js +0 -63
  373. package/dist/utils/KeyboardAware/context.js.map +0 -1
  374. package/dist/utils/KeyboardAware/index.d.ts +0 -8
  375. package/dist/utils/KeyboardAware/index.js +0 -29
  376. package/dist/utils/KeyboardAware/index.js.map +0 -1
  377. package/dist/utils/KeyboardAware/keyboardHooks.d.ts +0 -26
  378. package/dist/utils/KeyboardAware/keyboardHooks.js +0 -87
  379. package/dist/utils/KeyboardAware/keyboardHooks.js.map +0 -1
  380. package/dist/utils/KeyboardAware/lib/KeyboardAwareFlatList.d.ts +0 -3
  381. package/dist/utils/KeyboardAware/lib/KeyboardAwareFlatList.js +0 -9
  382. package/dist/utils/KeyboardAware/lib/KeyboardAwareFlatList.js.map +0 -1
  383. package/dist/utils/KeyboardAware/lib/KeyboardAwareHOC.d.ts +0 -67
  384. package/dist/utils/KeyboardAware/lib/KeyboardAwareHOC.js +0 -439
  385. package/dist/utils/KeyboardAware/lib/KeyboardAwareHOC.js.map +0 -1
  386. package/dist/utils/KeyboardAware/lib/KeyboardAwareInterface.d.ts +0 -7
  387. package/dist/utils/KeyboardAware/lib/KeyboardAwareInterface.js +0 -4
  388. package/dist/utils/KeyboardAware/lib/KeyboardAwareInterface.js.map +0 -1
  389. package/dist/utils/KeyboardAware/lib/KeyboardAwareScrollView.d.ts +0 -3
  390. package/dist/utils/KeyboardAware/lib/KeyboardAwareScrollView.js +0 -10
  391. package/dist/utils/KeyboardAware/lib/KeyboardAwareScrollView.js.map +0 -1
  392. package/dist/utils/KeyboardAware/lib/KeyboardAwareSectionList.d.ts +0 -3
  393. package/dist/utils/KeyboardAware/lib/KeyboardAwareSectionList.js +0 -10
  394. package/dist/utils/KeyboardAware/lib/KeyboardAwareSectionList.js.map +0 -1
  395. package/dist/utils/KeyboardAware/types.d.ts +0 -1
  396. package/dist/utils/KeyboardAware/types.js +0 -7
  397. package/dist/utils/KeyboardAware/types.js.map +0 -1
  398. package/dist/utils/ModalManager/components.d.ts +0 -20
  399. package/dist/utils/ModalManager/components.js +0 -114
  400. package/dist/utils/ModalManager/components.js.map +0 -1
  401. package/dist/utils/ModalManager/context.d.ts +0 -48
  402. package/dist/utils/ModalManager/context.js +0 -201
  403. package/dist/utils/ModalManager/context.js.map +0 -1
  404. package/dist/utils/ModalManager/index.d.ts +0 -11
  405. package/dist/utils/ModalManager/index.js +0 -13
  406. package/dist/utils/ModalManager/index.js.map +0 -1
  407. package/dist/utils/OSAlert.d.ts +0 -32
  408. package/dist/utils/OSAlert.js +0 -143
  409. package/dist/utils/OSAlert.js.map +0 -1
  410. package/dist/utils/PermissionManager/context.d.ts +0 -53
  411. package/dist/utils/PermissionManager/context.js +0 -320
  412. package/dist/utils/PermissionManager/context.js.map +0 -1
  413. package/dist/utils/PermissionManager/index.d.ts +0 -4
  414. package/dist/utils/PermissionManager/index.js +0 -9
  415. package/dist/utils/PermissionManager/index.js.map +0 -1
  416. package/dist/utils/PermissionManager/types.d.ts +0 -13
  417. package/dist/utils/PermissionManager/types.js +0 -3
  418. package/dist/utils/PermissionManager/types.js.map +0 -1
  419. package/dist/utils/hooks.d.ts +0 -61
  420. package/dist/utils/hooks.js +0 -233
  421. package/dist/utils/hooks.js.map +0 -1
  422. package/dist/utils/index.d.ts +0 -10
  423. package/dist/utils/index.js +0 -36
  424. package/dist/utils/index.js.map +0 -1
  425. package/dist/utils/input.d.ts +0 -35
  426. package/dist/utils/input.js +0 -49
  427. package/dist/utils/input.js.map +0 -1
  428. package/dist/utils/misc.d.ts +0 -6
  429. package/dist/utils/misc.js +0 -87
  430. package/dist/utils/misc.js.map +0 -1
  431. package/dist/utils/notifications.d.ts +0 -34
  432. package/dist/utils/notifications.js +0 -268
  433. package/dist/utils/notifications.js.map +0 -1
  434. package/dist/utils/theme.d.ts +0 -42
  435. package/dist/utils/theme.js +0 -50
  436. package/dist/utils/theme.js.map +0 -1
  437. package/src/components/Animated.tsx +0 -34
  438. package/src/components/AutoComplete/index.tsx +0 -167
  439. package/src/components/AutoComplete/styles.ts +0 -150
  440. package/src/components/MultiSelect/index.tsx +0 -148
  441. package/src/components/MultiSelect/styles.ts +0 -131
  442. package/src/components/MultiSelect/types.ts +0 -51
  443. package/src/components/Slider/Mark.tsx +0 -46
  444. package/src/components/Slider/Thumb.tsx +0 -29
  445. package/src/modules/textInputMask.ts +0 -11
  446. package/src/utils/KeyboardAware/lib/KeyboardAwareFlatList.ts +0 -4
  447. package/src/utils/KeyboardAware/lib/KeyboardAwareHOC.tsx +0 -592
  448. package/src/utils/KeyboardAware/lib/KeyboardAwareInterface.ts +0 -13
  449. package/src/utils/KeyboardAware/lib/KeyboardAwareScrollView.ts +0 -6
  450. package/src/utils/KeyboardAware/lib/KeyboardAwareSectionList.ts +0 -6
@@ -1,8 +1,9 @@
1
1
  import { createDefaultVariantFactory, includePresets, StylesOf } from '@codeleap/common'
2
+ import { BadgeComposition } from '../Badge'
2
3
  import { InputLabelComposition } from '../InputLabel'
3
4
  import { TouchableStylesGen } from '../Touchable'
4
5
 
5
- export type SegmentedControlStates = 'selected'
6
+ export type SegmentedControlStates = 'selected' | 'disabled'
6
7
 
7
8
  export type SegmentedControlComposition =
8
9
  'selectedBubble' |
@@ -12,10 +13,13 @@ export type SegmentedControlComposition =
12
13
  'scrollContent' |
13
14
  'text' |
14
15
  `text:${SegmentedControlStates}` |
16
+ 'icon' |
15
17
  'button' |
16
18
  'buttonFeedback' |
17
19
  `button:${SegmentedControlStates}` |
18
- `label${Capitalize<InputLabelComposition>}`
20
+ `selectedBubble:${SegmentedControlStates}` |
21
+ `label${Capitalize<InputLabelComposition>}` |
22
+ `badge${Capitalize<BadgeComposition>}`
19
23
 
20
24
  export type SegmentedControlStylesGen<TCSS = any> =
21
25
  StylesOf<
@@ -29,64 +33,4 @@ SegmentedControlComposition,
29
33
  SegmentedControlStylesGen
30
34
  >()
31
35
 
32
- const presets = includePresets((style) => createSegmentedControlStyle(() => ({ wrapper: style })))
33
-
34
- export const SegmentedControlStyles = {
35
- ...presets,
36
- default: createSegmentedControlStyle((theme) => {
37
-
38
- return {
39
- buttonFeedback: {
40
- type: 'opacity',
41
- value: 0.5,
42
- },
43
- text: {
44
- color: theme.colors.text,
45
- },
46
- 'text:selected': {
47
- color: theme.colors.white,
48
- },
49
- wrapper: {
50
- height: 'auto',
51
- },
52
- scroll: {
53
- height: theme.values.buttons.default.height,
54
- maxHeight: theme.values.buttons.default.height,
55
- },
56
- scrollContent: {
57
- ...theme.presets.row,
58
- ...theme.presets.alignStretch,
59
- height: theme.values.buttons.default.height,
60
-
61
- },
62
- button: {
63
- backgroundColor: 'transparent',
64
- ...theme.presets.alignCenter,
65
- ...theme.presets.justifyCenter,
66
-
67
- borderRadius: theme.borderRadius.medium,
68
- ...theme.spacing.padding(1),
69
- minHeight: '100%',
70
-
71
- },
72
- selectedBubble: {
73
- position: 'absolute',
74
- zIndex: -1,
75
- ...theme.spacing.padding(2),
76
- top: 0,
77
- bottom: 0,
78
- borderRadius: theme.borderRadius.medium,
79
- backgroundColor: theme.colors.primary,
80
- },
81
- innerWrapper: {
82
- borderRadius: theme.borderRadius.medium,
83
- backgroundColor: theme.colors.backgroundSecondary,
84
- ...theme.presets.row,
85
- position: 'relative',
86
- height: theme.values.buttons.default.height,
87
- },
88
-
89
- }
90
-
91
- }),
92
- }
36
+ export const SegmentedControlPresets = includePresets((style) => createSegmentedControlStyle(() => ({ wrapper: style })))
@@ -1,120 +1,265 @@
1
1
  import { IconPlaceholder,
2
- getNestedStylesByKey,
3
2
  useDefaultComponentStyle,
4
- TypeGuards } from '@codeleap/common'
3
+ TypeGuards,
4
+ useNestedStylesByKey,
5
+ FormTypes,
6
+ onMount,
7
+ onUpdate,
8
+ usePrevious,
9
+ useSearch,
10
+ useBooleanToggle,
11
+ } from '@codeleap/common'
5
12
  import React, { useCallback, useMemo } from 'react'
6
13
  import { StyleSheet } from 'react-native'
7
14
  import { List } from '../List'
8
- import { Text } from '../Text'
9
- import { TextInput } from '../TextInput'
10
- import { Touchable } from '../Touchable'
11
- import { SelectStyles } from './styles'
12
- import { CustomSelectProps } from './types'
15
+ import { SearchInput, TextInput } from '../TextInput'
16
+ import { SelectPresets } from './styles'
17
+ import { SelectProps, ValueBoundSelectProps } from './types'
13
18
  import { ModalManager } from '../../utils'
14
- import { Icon } from '../Icon'
15
-
16
- export const SelectItem = ({
17
- item,
18
- icon = null,
19
- isSelected,
20
- styles,
21
- onPress,
22
- iconProps = {},
23
- textProps = {},
24
- ...touchableProps
25
- }) => {
26
- return <Touchable
27
- style={[
28
- styles.itemWrapper,
29
- isSelected && styles['itemWrapper:selected'],
30
- ]}
31
- onPress={onPress}
32
- debugName={`Select ${item.value}`}
33
- debounce={null}
34
- {...touchableProps}
35
- >
36
- <Text
37
- text={item.label}
38
- style={[
39
- styles.itemText,
40
- isSelected && styles['itemText:selected'],
41
- ]}
42
- {...textProps}
43
- />
44
- {icon ? <Icon
45
- name={icon}
46
- style={[styles?.itemIcon, isSelected && styles?.['itemIcon:selected']]}
47
- {...iconProps}
48
- /> : null}
49
- </Touchable>
19
+ import { Button } from '../Button'
20
+ export * from './styles'
21
+
22
+ const defaultFilterFunction = (search: string, options: FormTypes.Options<any>) => {
23
+ return options.filter((option) => {
24
+ if (TypeGuards.isString(option.label)) {
25
+ return option.label.toLowerCase().includes(search.toLowerCase())
26
+ }
27
+
28
+ return option.label === search
29
+ })
50
30
  }
51
31
 
52
- export * from './styles'
53
- export const Select = <T extends string|number = string>(selectProps:CustomSelectProps<T>) => {
32
+ const OuterInput:ValueBoundSelectProps<any, boolean>['outerInputComponent'] = (props) => {
33
+ const {
34
+ currentValueLabel,
35
+ debugName,
36
+ clearIcon,
37
+ label,
38
+ toggle,
39
+ styles,
40
+ style,
41
+ } = props
42
+
43
+ return <TextInput
44
+ value={TypeGuards.isString(currentValueLabel) ? currentValueLabel : ''}
45
+ rightIcon={clearIcon}
46
+ onPress={() => toggle()}
47
+ label={label}
48
+ debugName={debugName}
49
+ styles={styles}
50
+ style={style}
51
+ innerWrapperProps={{
52
+ rippleDisabled: true,
53
+ }}
54
+
55
+ />
56
+ }
57
+
58
+ const defaultProps:Partial<SelectProps<any, boolean>> = {
59
+ getLabel(option) {
60
+
61
+ if (TypeGuards.isArray(option)) {
62
+
63
+ if (option.length === 0) return null
64
+
65
+ return option.map(o => o.label).join(', ')
66
+
67
+ } else {
68
+ if (!option) return null
69
+ return option?.label
70
+ }
71
+ },
72
+ outerInputComponent: OuterInput,
73
+ searchInputProps: {},
74
+ }
75
+
76
+ export const Select = <T extends string|number = string, Multi extends boolean = false>(selectProps:SelectProps<T, Multi>) => {
77
+ const allProps = {
78
+ ...defaultProps,
79
+ ...selectProps,
80
+ }
54
81
  const {
55
82
  value,
56
83
  onValueChange,
57
84
  label,
58
85
  styles = {},
59
- options,
86
+ options = [],
60
87
  style,
61
88
  variants,
89
+ description,
62
90
  renderItem,
63
- closeOnSelect = true,
64
91
  listProps,
92
+ debugName,
65
93
  placeholder = 'Select',
66
94
  arrowIconName = 'selectArrow',
67
- clearIconName = 'close',
95
+ clearIconName,
68
96
  clearable = false,
69
97
  selectedIcon = 'selectMarker',
70
98
  inputProps = {},
71
99
  hideInput = false,
72
100
  itemProps = {},
73
- ...drawerProps
74
- } = selectProps
101
+ searchable,
102
+ loadOptions,
103
+ multiple = false,
104
+ closeOnSelect = !multiple,
105
+ limit = null,
106
+ defaultOptions = options,
107
+ visible: _visible,
108
+ toggle: _toggle,
109
+ ListHeaderComponent,
110
+ onLoadOptionsError,
111
+ loadOptionsOnMount = defaultOptions.length === 0,
112
+ loadOptionsOnOpen = false,
113
+ filterItems = defaultFilterFunction,
114
+ getLabel,
115
+ searchInputProps,
116
+ outerInputComponent,
117
+ ...modalProps
118
+ } = allProps
119
+
120
+ const isValueArray = TypeGuards.isArray(value) && multiple
121
+
122
+ const {
123
+ loading,
124
+ setLoading,
125
+ labelOptions,
126
+ setLabelOptions,
127
+ filteredOptions,
128
+ load,
129
+ onChangeSearch,
130
+ } = useSearch({
131
+ value,
132
+ multiple,
133
+ options,
134
+ filterItems,
135
+ debugName,
136
+ defaultOptions,
137
+ loadOptions,
138
+ onLoadOptionsError,
139
+ })
140
+
141
+ const [visible, toggle] = TypeGuards.isBoolean(_visible) && !!_toggle ? [_visible, _toggle] : useBooleanToggle(false)
142
+
143
+ const currentValueLabel = useMemo(() => {
144
+ const _options = (multiple ? labelOptions : labelOptions?.[0]) as Multi extends true ? FormTypes.Options<T> : FormTypes.Options<T>[number]
145
+
146
+ const label = getLabel(
147
+ _options,
148
+ ) || placeholder
149
+
150
+ return label
151
+ }, [labelOptions])
152
+
153
+ onMount(() => {
154
+ if (loadOptionsOnMount && !!loadOptions) {
155
+ load()
156
+ }
157
+ })
158
+
159
+ const prevVisible = usePrevious(visible)
160
+
161
+ onUpdate(() => {
162
+ if (visible && !prevVisible && loadOptionsOnOpen && !!loadOptions) {
163
+ load()
164
+ }
165
+ }, [visible, prevVisible])
75
166
 
76
- const variantStyles = useDefaultComponentStyle<'u:Select', typeof SelectStyles>('u:Select', {
167
+ const variantStyles = useDefaultComponentStyle<'u:Select', typeof SelectPresets>('u:Select', {
77
168
  transform: StyleSheet.flatten,
78
169
  rootElement: 'inputWrapper',
79
170
  styles,
80
171
  variants,
81
172
  })
82
173
 
83
- const inputStyles = useMemo(
84
- () => getNestedStylesByKey('input', variantStyles),
85
- [variantStyles],
86
- )
174
+ const itemStyles = useNestedStylesByKey('item', variantStyles)
87
175
 
88
- const close = () => drawerProps?.toggle?.()
176
+ const listStyles = useNestedStylesByKey('list', variantStyles)
89
177
 
90
- const select = (value) => {
178
+ const inputStyles = useNestedStylesByKey('input', variantStyles)
179
+
180
+ const searchInputStyles = useNestedStylesByKey('searchInput', variantStyles)
181
+
182
+ const currentOptions = searchable ? filteredOptions : defaultOptions
183
+
184
+ const close = () => toggle?.()
185
+
186
+ const select = (selectedValue) => {
187
+
188
+ let newValue = null
189
+
190
+ let newOption = null
191
+ let removedIndex = null
192
+
193
+ if (multiple && isValueArray) {
194
+
195
+ if (value.includes(selectedValue)) {
196
+ removedIndex = value.findIndex(v => v === selectedValue)
197
+
198
+ newValue = value.filter((v, i) => i !== removedIndex)
199
+
200
+ } else {
201
+
202
+ if (TypeGuards.isNumber(limit) && value.length >= limit) {
203
+ return
204
+ }
205
+
206
+ newOption = currentOptions.find(o => o.value === selectedValue)
207
+
208
+ newValue = [...value, selectedValue]
209
+ }
210
+
211
+ } else {
212
+ newValue = selectedValue
213
+ newOption = currentOptions.find(o => o.value === selectedValue)
214
+ }
215
+
216
+ onValueChange(newValue)
217
+
218
+ if (isValueArray) {
219
+ if (removedIndex !== null) {
220
+ const newOptions = [...labelOptions]
221
+ newOptions.splice(removedIndex, 1)
222
+ setLabelOptions(newOptions)
223
+ } else {
224
+ setLabelOptions([...labelOptions, newOption])
225
+ }
226
+ } else {
227
+ setLabelOptions([newOption])
228
+ }
91
229
 
92
- onValueChange(value)
93
230
  if (closeOnSelect) {
94
231
  close?.()
95
232
  }
233
+
96
234
  }
97
235
 
98
- const selectedLabel:string = useMemo(() => {
99
- const current = options.find(o => o.value === value)
236
+ const Item = renderItem || Button
100
237
 
101
- const display = current?.label ?? placeholder
238
+ const renderListItem = useCallback(({ item }) => {
102
239
 
103
- return TypeGuards.isString(display) ? display : ''
104
- }, [value, placeholder, options])
105
- const Item = renderItem || SelectItem
240
+ let selected = false
106
241
 
107
- const renderListItem = useCallback(({ item }) => {
242
+ if (multiple && isValueArray) {
243
+ selected = value?.includes(item.value)
244
+ } else {
245
+ selected = value === item.value
246
+ }
108
247
 
109
248
  return <Item
110
- isSelected={value === item.value}
249
+ debugName={`${debugName} item ${item.value}`}
250
+ selected={selected}
251
+ text={item.label}
111
252
  item={item}
112
253
  onPress={() => select(item.value)}
254
+ // @ts-ignore
113
255
  icon={selectedIcon}
114
- styles={variantStyles}
256
+ // @ts-ignore
257
+ rightIcon={selectedIcon}
258
+ styles={itemStyles}
115
259
  {...itemProps}
116
260
  />
117
- }, [value, select])
261
+ }, [value, select, multiple])
262
+
118
263
  const isEmpty = TypeGuards.isNil(value)
119
264
  const showClearIcon = !isEmpty && clearable
120
265
 
@@ -129,57 +274,81 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
129
274
 
130
275
  }
131
276
 
277
+ const searchHeader = searchable ? <SearchInput
278
+ debugName={debugName}
279
+ onTypingChange={(isTyping) => {
280
+ if (searchable && !!loadOptions) {
281
+ setLoading(isTyping)
282
+ }
283
+ }}
284
+ debounce={!!loadOptions ? 800 : null}
285
+ onSearchChange={onChangeSearch}
286
+ styles={searchInputStyles}
287
+ {...searchInputProps}
288
+ /> : null
289
+
290
+ const _ListHeaderComponent = useMemo(() => {
291
+ if (ListHeaderComponent) {
292
+ return <ListHeaderComponent
293
+ searchComponent={searchHeader}
294
+ />
295
+ }
296
+
297
+ return searchHeader
298
+
299
+ }, [searchable, ListHeaderComponent])
300
+
301
+ const Input = outerInputComponent
302
+
132
303
  return <>
133
304
  {
134
305
  !hideInput && (
135
- <TextInput
136
- caretHidden
137
- value={selectedLabel}
138
- rightIcon={{
306
+ // @ts-ignore
307
+ <Input
308
+
309
+ clearIcon={{
139
310
  icon: inputIcon as IconPlaceholder,
140
311
  onPress: onPressInputIcon,
141
- noFeedback: true,
142
312
  }}
143
- editable={false}
144
- touchableWrapper
145
313
  onPress={close}
146
- wrapperProps={{
147
- debugName: 'Select',
314
+ currentValueLabel={currentValueLabel}
148
315
 
149
- }}
150
- pointerEvents={'none'}
151
- label={label}
152
- debugName={'Select input'}
316
+ debugName={`${debugName} select input`}
153
317
  styles={inputStyles}
154
318
  style={style}
319
+ {...allProps}
155
320
  {...inputProps}
321
+ visible={visible}
322
+ toggle={toggle}
156
323
  />
157
324
  )
158
325
  }
159
326
 
160
327
  <ModalManager.Modal
161
328
  title={label}
162
- keyboardAware={{
163
-
164
- enabled: false,
165
- }}
166
- {...drawerProps}
329
+ description={description}
330
+ {...modalProps}
331
+ debugName={`${debugName} modal`}
167
332
  styles={variantStyles}
168
333
  id={null}
334
+ visible={visible}
335
+ toggle={toggle}
336
+
169
337
  >
170
- <List<CustomSelectProps<any>['options']>
171
- data={options}
338
+ <List<SelectProps<any>['options']>
339
+ data={searchable ? filteredOptions : options}
172
340
  scrollEnabled={false}
173
341
  showsHorizontalScrollIndicator={false}
174
- styles={getNestedStylesByKey('list', variantStyles)}
342
+ styles={listStyles}
175
343
  keyExtractor={(i) => i.value}
176
344
  renderItem={renderListItem}
177
- keyboardAware={{
178
- enabled: false,
179
- enableOnAndroid: false,
180
- }}
345
+ fakeEmpty={loading}
181
346
  separators
182
347
  {...listProps}
348
+ ListHeaderComponent={_ListHeaderComponent}
349
+ placeholder={{
350
+ loading,
351
+ }}
183
352
  />
184
353
  </ModalManager.Modal>
185
354
 
@@ -188,3 +357,5 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
188
357
 
189
358
  export * from './styles'
190
359
  export * from './types'
360
+
361
+ Select.defaultProps = defaultProps
@@ -1,140 +1,20 @@
1
- import { assignTextStyle, createDefaultVariantFactory, TextInputComposition } from '@codeleap/common'
2
- import { DrawerComposition, DrawerStyles } from '../Drawer'
1
+ import { ButtonComposition, createDefaultVariantFactory, includePresets, TextInputComposition } from '@codeleap/common'
3
2
  import { ListComposition } from '../List'
4
3
  import { ModalComposition } from '../Modal'
5
4
  type ItemStates = '' | ':selected'
6
- export type SelectComposition =
7
- ModalComposition |
8
- `input${TextInputComposition}` |
9
- `list${Capitalize<ListComposition>}` |
10
- 'listContent' |
11
- `itemWrapper${ItemStates}` |
12
- `itemText${ItemStates}` |
13
- `itemIcon${ItemStates}`
14
-
15
- const createSelectStyle = createDefaultVariantFactory<SelectComposition>()
16
-
17
- export const SelectStyles = {
18
- ...DrawerStyles,
19
- default: createSelectStyle((theme) => {
20
-
21
- return {
22
- wrapper: {
23
- ...theme.presets.absolute,
24
- // ...theme.presets.whole,
25
- ...theme.presets.fullHeight,
26
- ...theme.presets.fullWidth,
27
- },
28
- 'box:transition': {
29
- scale: {
30
- duration: theme.values.transitions.modal.duration,
31
- type: 'timing',
32
- },
33
- opacity: {
34
- duration: theme.values.transitions.modal.duration,
35
- type: 'timing',
36
- },
37
- },
38
- 'backdrop:transition': {
39
- opacity: {
40
- duration: theme.values.transitions.modal.duration,
41
- type: 'timing',
42
- },
43
- },
44
- backdrop: {
45
- ...theme.presets.absolute,
46
- ...theme.presets.whole,
47
-
48
- backgroundColor: theme.colors.black,
49
5
 
50
- },
51
- backdropTouchable: {
52
- // height: '100%',
53
- ...theme.presets.absolute,
54
- ...theme.presets.whole,
55
6
 
56
- },
57
- 'backdrop:visible': {
58
- opacity: 0.5,
59
- },
60
- 'backdrop:hidden': {
61
- opacity: 0,
62
- },
63
- innerWrapper: {
7
+ type ItemParts = ButtonComposition
64
8
 
65
- },
66
- scroll: {
67
- flex: 1,
68
- // maxHeight: theme.values.height,
69
- },
70
- scrollContent: {
71
- ...theme.presets.alignCenter,
72
- ...theme.presets.justifyCenter,
73
- minHeight: '100%',
74
- ...theme.presets.safeAreaTop(theme.values.innerSpacing.Y),
75
- ...theme.presets.safeAreaBottom(theme.values.innerSpacing.Y),
76
- },
77
- box: {
78
- backgroundColor: theme.colors.background,
79
- width: theme.values.width - theme.spacing.value(theme.values.innerSpacing.X * 2),
80
- borderRadius: theme.borderRadius.modalOuter,
81
- ...theme.spacing.paddingHorizontal(theme.values.innerSpacing.X),
82
- ...theme.spacing.paddingVertical(theme.values.innerSpacing.Y),
83
- },
9
+ type ItemComposition = `${ItemParts}${ItemStates}` | ItemParts
84
10
 
85
- 'box:hidden': {
86
- opacity: 0,
87
- scale: 0.8,
88
-
89
- },
90
- 'box:visible': {
91
- opacity: 1,
92
- scale: 1,
93
- },
94
- header: {
95
- flexDirection: 'row',
96
- ...theme.presets.justifySpaceBetween,
97
- ...theme.presets.alignCenter,
98
- },
99
- closeButtonTouchableWrapper: {
100
- alignSelf: 'center',
101
- ...theme.spacing.marginLeft('auto'),
102
- },
103
- closeButtonIcon: {
104
- color: theme.colors.text,
105
- },
106
- title: {
107
- ...assignTextStyle('h3')(theme).text,
108
- },
109
- listWrapper: {
110
- height: 'auto',
111
- },
112
-
113
- itemWrapper: {
114
- ...theme.presets.row,
115
- ...theme.presets.justifySpaceBetween,
116
- ...theme.presets.alignCenter,
117
- borderRadius: theme.borderRadius.medium,
118
- ...theme.spacing.padding(1),
119
- backgroundColor: theme.colors.backgroundSecondary,
120
- },
121
- 'itemWrapper:selected': {
122
- backgroundColor: theme.colors.primary,
123
- },
124
- 'itemIcon:selected': {
125
- color: theme.colors.backgroundSecondary,
126
- ...theme.sized(2),
127
-
128
- },
129
- 'itemText:selected': {
130
- color: theme.colors.backgroundSecondary,
11
+ export type SelectComposition =
12
+ ModalComposition |
13
+ `input${Capitalize<TextInputComposition>}` |
14
+ `list${Capitalize<ListComposition>}` |
15
+ `item${Capitalize<ItemComposition>}` |
16
+ `searchInput${Capitalize<TextInputComposition>}`
131
17
 
132
- },
133
- itemIcon: {
134
- height: 0,
135
- width: 0,
18
+ const createSelectStyle = createDefaultVariantFactory<SelectComposition>()
136
19
 
137
- },
138
- }
139
- }),
140
- }
20
+ export const SelectPresets = includePresets((style) => createSelectStyle(() => ({ body: style })))