@codeleap/mobile 2.4.7 → 3.1.1

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 +268 -95
  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,267 @@
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>
50
- }
19
+ import { Button } from '../Button'
20
+ export * from './styles'
51
21
 
52
22
  export * from './styles'
53
- export const Select = <T extends string|number = string>(selectProps:CustomSelectProps<T>) => {
23
+
24
+ const defaultFilterFunction = (search: string, options: FormTypes.Options<any>) => {
25
+ return options.filter((option) => {
26
+ if (TypeGuards.isString(option.label)) {
27
+ return option.label.toLowerCase().includes(search.toLowerCase())
28
+ }
29
+
30
+ return option.label === search
31
+ })
32
+ }
33
+
34
+ const OuterInput:ValueBoundSelectProps<any, boolean>['outerInputComponent'] = (props) => {
35
+ const {
36
+ currentValueLabel,
37
+ debugName,
38
+ clearIcon,
39
+ label,
40
+ toggle,
41
+ styles,
42
+ style,
43
+ } = props
44
+
45
+ return <TextInput
46
+ value={TypeGuards.isString(currentValueLabel) ? currentValueLabel : ''}
47
+ rightIcon={clearIcon}
48
+ onPress={() => toggle()}
49
+ label={label}
50
+ debugName={debugName}
51
+ styles={styles}
52
+ style={style}
53
+ innerWrapperProps={{
54
+ rippleDisabled: true,
55
+ }}
56
+
57
+ />
58
+ }
59
+
60
+ const defaultProps:Partial<SelectProps<any, boolean>> = {
61
+ getLabel(option) {
62
+
63
+ if (TypeGuards.isArray(option)) {
64
+
65
+ if (option.length === 0) return null
66
+
67
+ return option.map(o => o.label).join(', ')
68
+
69
+ } else {
70
+ if (!option) return null
71
+ return option?.label
72
+ }
73
+ },
74
+ outerInputComponent: OuterInput,
75
+ searchInputProps: {},
76
+ }
77
+
78
+ export const Select = <T extends string|number = string, Multi extends boolean = false>(selectProps:SelectProps<T, Multi>) => {
79
+ const allProps = {
80
+ ...defaultProps,
81
+ ...selectProps,
82
+ }
54
83
  const {
55
84
  value,
56
85
  onValueChange,
57
86
  label,
58
87
  styles = {},
59
- options,
88
+ options = [],
60
89
  style,
61
90
  variants,
91
+ description,
62
92
  renderItem,
63
- closeOnSelect = true,
64
93
  listProps,
94
+ debugName,
65
95
  placeholder = 'Select',
66
- arrowIconName = 'selectArrow',
67
- clearIconName = 'close',
96
+ arrowIconName = 'chevrons-up-down',
97
+ clearIconName = 'x',
68
98
  clearable = false,
69
- selectedIcon = 'selectMarker',
99
+ selectedIcon = 'check',
70
100
  inputProps = {},
71
101
  hideInput = false,
72
102
  itemProps = {},
73
- ...drawerProps
74
- } = selectProps
103
+ searchable,
104
+ loadOptions,
105
+ multiple = false,
106
+ closeOnSelect = !multiple,
107
+ limit = null,
108
+ defaultOptions = options,
109
+ visible: _visible,
110
+ toggle: _toggle,
111
+ ListHeaderComponent,
112
+ onLoadOptionsError,
113
+ loadOptionsOnMount = defaultOptions.length === 0,
114
+ loadOptionsOnOpen = false,
115
+ filterItems = defaultFilterFunction,
116
+ getLabel,
117
+ searchInputProps,
118
+ outerInputComponent,
119
+ ...modalProps
120
+ } = allProps
121
+
122
+ const isValueArray = TypeGuards.isArray(value) && multiple
123
+
124
+ const {
125
+ loading,
126
+ setLoading,
127
+ labelOptions,
128
+ setLabelOptions,
129
+ filteredOptions,
130
+ load,
131
+ onChangeSearch,
132
+ } = useSearch({
133
+ value,
134
+ multiple,
135
+ options,
136
+ filterItems,
137
+ debugName,
138
+ defaultOptions,
139
+ loadOptions,
140
+ onLoadOptionsError,
141
+ })
142
+
143
+ const [visible, toggle] = TypeGuards.isBoolean(_visible) && !!_toggle ? [_visible, _toggle] : useBooleanToggle(false)
144
+
145
+ const currentValueLabel = useMemo(() => {
146
+ const _options = (multiple ? labelOptions : labelOptions?.[0]) as Multi extends true ? FormTypes.Options<T> : FormTypes.Options<T>[number]
147
+
148
+ const label = getLabel(
149
+ _options,
150
+ ) || placeholder
151
+
152
+ return label
153
+ }, [labelOptions])
154
+
155
+ onMount(() => {
156
+ if (loadOptionsOnMount && !!loadOptions) {
157
+ load()
158
+ }
159
+ })
160
+
161
+ const prevVisible = usePrevious(visible)
162
+
163
+ onUpdate(() => {
164
+ if (visible && !prevVisible && loadOptionsOnOpen && !!loadOptions) {
165
+ load()
166
+ }
167
+ }, [visible, prevVisible])
75
168
 
76
- const variantStyles = useDefaultComponentStyle<'u:Select', typeof SelectStyles>('u:Select', {
169
+ const variantStyles = useDefaultComponentStyle<'u:Select', typeof SelectPresets>('u:Select', {
77
170
  transform: StyleSheet.flatten,
78
171
  rootElement: 'inputWrapper',
79
172
  styles,
80
173
  variants,
81
174
  })
82
175
 
83
- const inputStyles = useMemo(
84
- () => getNestedStylesByKey('input', variantStyles),
85
- [variantStyles],
86
- )
176
+ const itemStyles = useNestedStylesByKey('item', variantStyles)
177
+
178
+ const listStyles = useNestedStylesByKey('list', variantStyles)
179
+
180
+ const inputStyles = useNestedStylesByKey('input', variantStyles)
181
+
182
+ const searchInputStyles = useNestedStylesByKey('searchInput', variantStyles)
183
+
184
+ const currentOptions = searchable ? filteredOptions : defaultOptions
185
+
186
+ const close = () => toggle?.()
187
+
188
+ const select = (selectedValue) => {
189
+
190
+ let newValue = null
191
+
192
+ let newOption = null
193
+ let removedIndex = null
194
+
195
+ if (multiple && isValueArray) {
196
+
197
+ if (value.includes(selectedValue)) {
198
+ removedIndex = value.findIndex(v => v === selectedValue)
87
199
 
88
- const close = () => drawerProps?.toggle?.()
200
+ newValue = value.filter((v, i) => i !== removedIndex)
89
201
 
90
- const select = (value) => {
202
+ } else {
203
+
204
+ if (TypeGuards.isNumber(limit) && value.length >= limit) {
205
+ return
206
+ }
207
+
208
+ newOption = currentOptions.find(o => o.value === selectedValue)
209
+
210
+ newValue = [...value, selectedValue]
211
+ }
212
+
213
+ } else {
214
+ newValue = selectedValue
215
+ newOption = currentOptions.find(o => o.value === selectedValue)
216
+ }
217
+
218
+ onValueChange(newValue)
219
+
220
+ if (isValueArray) {
221
+ if (removedIndex !== null) {
222
+ const newOptions = [...labelOptions]
223
+ newOptions.splice(removedIndex, 1)
224
+ setLabelOptions(newOptions)
225
+ } else {
226
+ setLabelOptions([...labelOptions, newOption])
227
+ }
228
+ } else {
229
+ setLabelOptions([newOption])
230
+ }
91
231
 
92
- onValueChange(value)
93
232
  if (closeOnSelect) {
94
233
  close?.()
95
234
  }
235
+
96
236
  }
97
237
 
98
- const selectedLabel:string = useMemo(() => {
99
- const current = options.find(o => o.value === value)
238
+ const Item = renderItem || Button
100
239
 
101
- const display = current?.label ?? placeholder
240
+ const renderListItem = useCallback(({ item }) => {
102
241
 
103
- return TypeGuards.isString(display) ? display : ''
104
- }, [value, placeholder, options])
105
- const Item = renderItem || SelectItem
242
+ let selected = false
106
243
 
107
- const renderListItem = useCallback(({ item }) => {
244
+ if (multiple && isValueArray) {
245
+ selected = value?.includes(item.value)
246
+ } else {
247
+ selected = value === item.value
248
+ }
108
249
 
109
250
  return <Item
110
- isSelected={value === item.value}
251
+ debugName={`${debugName} item ${item.value}`}
252
+ selected={selected}
253
+ text={item.label}
111
254
  item={item}
112
255
  onPress={() => select(item.value)}
256
+ // @ts-ignore
113
257
  icon={selectedIcon}
114
- styles={variantStyles}
258
+ // @ts-ignore
259
+ rightIcon={selectedIcon}
260
+ styles={itemStyles}
115
261
  {...itemProps}
116
262
  />
117
- }, [value, select])
263
+ }, [value, select, multiple])
264
+
118
265
  const isEmpty = TypeGuards.isNil(value)
119
266
  const showClearIcon = !isEmpty && clearable
120
267
 
@@ -129,57 +276,81 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
129
276
 
130
277
  }
131
278
 
279
+ const searchHeader = searchable ? <SearchInput
280
+ debugName={debugName}
281
+ onTypingChange={(isTyping) => {
282
+ if (searchable && !!loadOptions) {
283
+ setLoading(isTyping)
284
+ }
285
+ }}
286
+ debounce={!!loadOptions ? 800 : null}
287
+ onSearchChange={onChangeSearch}
288
+ styles={searchInputStyles}
289
+ {...searchInputProps}
290
+ /> : null
291
+
292
+ const _ListHeaderComponent = useMemo(() => {
293
+ if (ListHeaderComponent) {
294
+ return <ListHeaderComponent
295
+ searchComponent={searchHeader}
296
+ />
297
+ }
298
+
299
+ return searchHeader
300
+
301
+ }, [searchable, ListHeaderComponent])
302
+
303
+ const Input = outerInputComponent
304
+
132
305
  return <>
133
306
  {
134
307
  !hideInput && (
135
- <TextInput
136
- caretHidden
137
- value={selectedLabel}
138
- rightIcon={{
308
+ // @ts-ignore
309
+ <Input
310
+
311
+ clearIcon={{
139
312
  icon: inputIcon as IconPlaceholder,
140
313
  onPress: onPressInputIcon,
141
- noFeedback: true,
142
314
  }}
143
- editable={false}
144
- touchableWrapper
145
315
  onPress={close}
146
- wrapperProps={{
147
- debugName: 'Select',
316
+ currentValueLabel={currentValueLabel}
148
317
 
149
- }}
150
- pointerEvents={'none'}
151
- label={label}
152
- debugName={'Select input'}
318
+ debugName={`${debugName} select input`}
153
319
  styles={inputStyles}
154
320
  style={style}
321
+ {...allProps}
155
322
  {...inputProps}
323
+ visible={visible}
324
+ toggle={toggle}
156
325
  />
157
326
  )
158
327
  }
159
328
 
160
329
  <ModalManager.Modal
161
330
  title={label}
162
- keyboardAware={{
163
-
164
- enabled: false,
165
- }}
166
- {...drawerProps}
331
+ description={description}
332
+ {...modalProps}
333
+ debugName={`${debugName} modal`}
167
334
  styles={variantStyles}
168
335
  id={null}
336
+ visible={visible}
337
+ toggle={toggle}
338
+
169
339
  >
170
- <List<CustomSelectProps<any>['options']>
171
- data={options}
340
+ <List<SelectProps<any>['options']>
341
+ data={searchable ? filteredOptions : options}
172
342
  scrollEnabled={false}
173
343
  showsHorizontalScrollIndicator={false}
174
- styles={getNestedStylesByKey('list', variantStyles)}
344
+ styles={listStyles}
175
345
  keyExtractor={(i) => i.value}
176
346
  renderItem={renderListItem}
177
- keyboardAware={{
178
- enabled: false,
179
- enableOnAndroid: false,
180
- }}
347
+ fakeEmpty={loading}
181
348
  separators
182
349
  {...listProps}
350
+ ListHeaderComponent={_ListHeaderComponent}
351
+ placeholder={{
352
+ loading,
353
+ }}
183
354
  />
184
355
  </ModalManager.Modal>
185
356
 
@@ -188,3 +359,5 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
188
359
 
189
360
  export * from './styles'
190
361
  export * from './types'
362
+
363
+ 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 })))