@codeleap/web 5.8.21 → 6.0.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 (344) hide show
  1. package/dist/components/ActionIcon/index.d.ts +1 -1
  2. package/dist/components/ActionIcon/index.js +1 -1
  3. package/dist/components/ActionIcon/index.js.map +1 -1
  4. package/dist/components/ActivityIndicator/index.d.ts +9 -2
  5. package/dist/components/ActivityIndicator/index.js +8 -16
  6. package/dist/components/ActivityIndicator/index.js.map +1 -1
  7. package/dist/components/Badge/index.d.ts +1 -1
  8. package/dist/components/Badge/index.js +1 -1
  9. package/dist/components/Badge/index.js.map +1 -1
  10. package/dist/components/Badge/types.d.ts +1 -2
  11. package/dist/components/Button/index.d.ts +1 -1
  12. package/dist/components/Button/index.js +1 -1
  13. package/dist/components/Button/index.js.map +1 -1
  14. package/dist/components/Carousel/index.d.ts +5 -0
  15. package/dist/components/Carousel/index.js +168 -0
  16. package/dist/components/Carousel/index.js.map +1 -0
  17. package/dist/components/Carousel/styles.d.ts +3 -0
  18. package/dist/components/Carousel/styles.js.map +1 -0
  19. package/dist/components/Carousel/types.d.ts +34 -0
  20. package/dist/components/{Grid → Carousel}/types.js.map +1 -1
  21. package/dist/components/Checkbox/index.d.ts +1 -1
  22. package/dist/components/Checkbox/index.js +2 -2
  23. package/dist/components/Checkbox/index.js.map +1 -1
  24. package/dist/components/Collapse/index.d.ts +1 -1
  25. package/dist/components/Collapse/index.js +3 -3
  26. package/dist/components/Collapse/index.js.map +1 -1
  27. package/dist/components/Collapse/types.d.ts +1 -2
  28. package/dist/components/ColorPicker/index.d.ts +1 -1
  29. package/dist/components/ColorPicker/index.js +4 -4
  30. package/dist/components/ColorPicker/index.js.map +1 -1
  31. package/dist/components/ColorPicker/types.d.ts +3 -3
  32. package/dist/components/CropPicker/index.d.ts +9 -2
  33. package/dist/components/CropPicker/index.js +6 -6
  34. package/dist/components/CropPicker/index.js.map +1 -1
  35. package/dist/components/CropPicker/types.d.ts +3 -1
  36. package/dist/components/DatePicker/components/DayContent.js +1 -1
  37. package/dist/components/DatePicker/components/DayContent.js.map +1 -1
  38. package/dist/components/DatePicker/components/Header.js +1 -1
  39. package/dist/components/DatePicker/components/Header.js.map +1 -1
  40. package/dist/components/DatePicker/components/OuterInput.js +2 -12
  41. package/dist/components/DatePicker/components/OuterInput.js.map +1 -1
  42. package/dist/components/DatePicker/components/YearContent.js +1 -1
  43. package/dist/components/DatePicker/components/YearContent.js.map +1 -1
  44. package/dist/components/DatePicker/index.d.ts +1 -1
  45. package/dist/components/DatePicker/index.js +12 -13
  46. package/dist/components/DatePicker/index.js.map +1 -1
  47. package/dist/components/DatePicker/types.d.ts +8 -6
  48. package/dist/components/Drawer/index.d.ts +1 -1
  49. package/dist/components/Drawer/index.js +2 -2
  50. package/dist/components/Drawer/index.js.map +1 -1
  51. package/dist/components/Dropzone/index.d.ts +9 -2
  52. package/dist/components/Dropzone/index.js +7 -6
  53. package/dist/components/Dropzone/index.js.map +1 -1
  54. package/dist/components/Dropzone/types.d.ts +3 -2
  55. package/dist/components/EmptyPlaceholder/index.d.ts +1 -1
  56. package/dist/components/EmptyPlaceholder/index.js +3 -3
  57. package/dist/components/EmptyPlaceholder/index.js.map +1 -1
  58. package/dist/components/EmptyPlaceholder/types.d.ts +2 -2
  59. package/dist/components/FileInput/index.d.ts +5 -9
  60. package/dist/components/FileInput/index.js +6 -5
  61. package/dist/components/FileInput/index.js.map +1 -1
  62. package/dist/components/FileInput/types.d.ts +2 -0
  63. package/dist/components/Icon/index.d.ts +1 -1
  64. package/dist/components/Icon/index.js.map +1 -1
  65. package/dist/components/InputBase/index.js +2 -2
  66. package/dist/components/InputBase/index.js.map +1 -1
  67. package/dist/components/InputBase/types.d.ts +0 -1
  68. package/dist/components/InputBase/useInputBase.d.ts +2 -3
  69. package/dist/components/InputBase/useInputBase.js +2 -3
  70. package/dist/components/InputBase/useInputBase.js.map +1 -1
  71. package/dist/components/InputBase/useInputBasePartialStyles.js +1 -2
  72. package/dist/components/InputBase/useInputBasePartialStyles.js.map +1 -1
  73. package/dist/components/InputBase/utils.d.ts +1 -1
  74. package/dist/components/InputBase/utils.js +3 -3
  75. package/dist/components/InputBase/utils.js.map +1 -1
  76. package/dist/components/List/index.d.ts +2 -3
  77. package/dist/components/List/index.js +87 -40
  78. package/dist/components/List/index.js.map +1 -1
  79. package/dist/components/List/styles.d.ts +2 -4
  80. package/dist/components/List/types.d.ts +10 -52
  81. package/dist/components/LoadingOverlay/index.d.ts +1 -1
  82. package/dist/components/LoadingOverlay/index.js +1 -1
  83. package/dist/components/LoadingOverlay/index.js.map +1 -1
  84. package/dist/components/MaskedTextInput/index.d.ts +7 -0
  85. package/dist/components/MaskedTextInput/index.js +69 -0
  86. package/dist/components/MaskedTextInput/index.js.map +1 -0
  87. package/dist/components/MaskedTextInput/mask.d.ts +8 -0
  88. package/dist/components/MaskedTextInput/mask.js +37 -0
  89. package/dist/components/MaskedTextInput/mask.js.map +1 -0
  90. package/dist/components/MaskedTextInput/types.d.ts +10 -0
  91. package/dist/components/MaskedTextInput/types.js.map +1 -0
  92. package/dist/components/Modal/index.d.ts +1 -1
  93. package/dist/components/Modal/index.js +6 -6
  94. package/dist/components/Modal/index.js.map +1 -1
  95. package/dist/components/NumberIncrement/index.d.ts +1 -1
  96. package/dist/components/NumberIncrement/index.js +1 -3
  97. package/dist/components/NumberIncrement/index.js.map +1 -1
  98. package/dist/components/NumberIncrement/useNumberIncrement.d.ts +4 -4
  99. package/dist/components/NumberIncrement/useNumberIncrement.js +1 -2
  100. package/dist/components/NumberIncrement/useNumberIncrement.js.map +1 -1
  101. package/dist/components/Overlay/index.d.ts +1 -1
  102. package/dist/components/PaginationButtons/index.d.ts +1 -1
  103. package/dist/components/PaginationButtons/index.js +2 -2
  104. package/dist/components/PaginationButtons/index.js.map +1 -1
  105. package/dist/components/PaginationButtons/types.d.ts +1 -2
  106. package/dist/components/PaginationIndicator/index.d.ts +2 -3
  107. package/dist/components/PaginationIndicator/index.js +2 -2
  108. package/dist/components/PaginationIndicator/index.js.map +1 -1
  109. package/dist/components/PaginationIndicator/types.d.ts +3 -3
  110. package/dist/components/Progress/Bar/index.d.ts +1 -1
  111. package/dist/components/Progress/Bar/index.js +1 -1
  112. package/dist/components/Progress/Bar/index.js.map +1 -1
  113. package/dist/components/Progress/Bar/types.d.ts +2 -3
  114. package/dist/components/Progress/Circle/index.d.ts +1 -1
  115. package/dist/components/Progress/Circle/index.js +2 -2
  116. package/dist/components/Progress/Circle/index.js.map +1 -1
  117. package/dist/components/Progress/Circle/types.d.ts +1 -2
  118. package/dist/components/Progress/index.d.ts +0 -1
  119. package/dist/components/Progress/utils.js +1 -2
  120. package/dist/components/Progress/utils.js.map +1 -1
  121. package/dist/components/RadioInput/index.d.ts +1 -1
  122. package/dist/components/RadioInput/index.js +2 -2
  123. package/dist/components/RadioInput/index.js.map +1 -1
  124. package/dist/components/SearchInput/index.js.map +1 -1
  125. package/dist/components/SectionFilters/index.d.ts +1 -1
  126. package/dist/components/SectionFilters/index.js +4 -4
  127. package/dist/components/SectionFilters/index.js.map +1 -1
  128. package/dist/components/SectionFilters/types.d.ts +1 -2
  129. package/dist/components/SegmentedControl/index.d.ts +1 -1
  130. package/dist/components/SegmentedControl/index.js +12 -21
  131. package/dist/components/SegmentedControl/index.js.map +1 -1
  132. package/dist/components/SegmentedControl/types.d.ts +2 -2
  133. package/dist/components/Select/index.js +5 -5
  134. package/dist/components/Select/index.js.map +1 -1
  135. package/dist/components/Select/styles.js +1 -2
  136. package/dist/components/Select/styles.js.map +1 -1
  137. package/dist/components/Select/types.d.ts +6 -6
  138. package/dist/components/Slider/index.d.ts +1 -1
  139. package/dist/components/Slider/index.js +3 -3
  140. package/dist/components/Slider/index.js.map +1 -1
  141. package/dist/components/Switch/index.d.ts +1 -1
  142. package/dist/components/Switch/index.js +2 -2
  143. package/dist/components/Switch/index.js.map +1 -1
  144. package/dist/components/Tag/index.d.ts +1 -1
  145. package/dist/components/Tag/index.js +1 -1
  146. package/dist/components/Tag/index.js.map +1 -1
  147. package/dist/components/Text/index.d.ts +10 -2
  148. package/dist/components/Text/index.js +12 -20
  149. package/dist/components/Text/index.js.map +1 -1
  150. package/dist/components/Text/types.d.ts +3 -2
  151. package/dist/components/TextEditor/index.d.ts +1 -1
  152. package/dist/components/TextEditor/index.js +21 -9
  153. package/dist/components/TextEditor/index.js.map +1 -1
  154. package/dist/components/TextEditor/types.d.ts +4 -5
  155. package/dist/components/TextInput/index.d.ts +9 -3
  156. package/dist/components/TextInput/index.js +14 -30
  157. package/dist/components/TextInput/index.js.map +1 -1
  158. package/dist/components/TextInput/types.d.ts +4 -40
  159. package/dist/components/TextInput/useTextInput.d.ts +2 -6
  160. package/dist/components/TextInput/useTextInput.js +7 -16
  161. package/dist/components/TextInput/useTextInput.js.map +1 -1
  162. package/dist/components/Tooltip/index.d.ts +1 -1
  163. package/dist/components/Tooltip/index.js +1 -1
  164. package/dist/components/Tooltip/index.js.map +1 -1
  165. package/dist/components/Tooltip/types.d.ts +1 -1
  166. package/dist/components/Touchable/index.d.ts +10 -2
  167. package/dist/components/Touchable/index.js +9 -19
  168. package/dist/components/Touchable/index.js.map +1 -1
  169. package/dist/components/Touchable/types.d.ts +2 -1
  170. package/dist/components/View/index.d.ts +10 -2
  171. package/dist/components/View/index.js +7 -7
  172. package/dist/components/View/index.js.map +1 -1
  173. package/dist/components/View/types.d.ts +2 -2
  174. package/dist/components/VirtualList/context.d.ts +3 -0
  175. package/dist/components/VirtualList/context.js +93 -0
  176. package/dist/components/VirtualList/context.js.map +1 -0
  177. package/dist/components/VirtualList/index.d.ts +5 -0
  178. package/dist/components/VirtualList/index.js +14 -0
  179. package/dist/components/VirtualList/index.js.map +1 -0
  180. package/dist/components/VirtualList/list.d.ts +3 -0
  181. package/dist/components/VirtualList/list.js +102 -0
  182. package/dist/components/VirtualList/list.js.map +1 -0
  183. package/dist/components/VirtualList/types.d.ts +33 -0
  184. package/dist/components/{Pager/styles.js → VirtualList/types.js} +1 -1
  185. package/dist/components/VirtualList/types.js.map +1 -0
  186. package/dist/components/components.d.ts +4 -2
  187. package/dist/components/components.js +4 -2
  188. package/dist/components/components.js.map +1 -1
  189. package/dist/lib/ListMasonry.js +3 -3
  190. package/dist/lib/ListMasonry.js.map +1 -1
  191. package/dist/lib/WebStyleRegistry.js.map +1 -1
  192. package/dist/lib/hooks/index.d.ts +0 -1
  193. package/dist/lib/hooks/index.js +0 -1
  194. package/dist/lib/hooks/index.js.map +1 -1
  195. package/dist/lib/hooks/useAnimatedStyle.d.ts +8 -4
  196. package/dist/lib/hooks/useAnimatedStyle.js.map +1 -1
  197. package/dist/lib/hooks/useAnimatedVariantStyles.d.ts +3 -3
  198. package/dist/lib/hooks/useAnimatedVariantStyles.js +1 -2
  199. package/dist/lib/hooks/useAnimatedVariantStyles.js.map +1 -1
  200. package/dist/lib/hooks/useBreakpointMatch.js +1 -2
  201. package/dist/lib/hooks/useBreakpointMatch.js.map +1 -1
  202. package/dist/lib/hooks/useClick.js +1 -2
  203. package/dist/lib/hooks/useClick.js.map +1 -1
  204. package/dist/lib/hooks/useClickOutside.d.ts +1 -2
  205. package/dist/lib/hooks/useClickOutside.js +2 -3
  206. package/dist/lib/hooks/useClickOutside.js.map +1 -1
  207. package/dist/lib/hooks/useCropPicker.d.ts +1 -2
  208. package/dist/lib/hooks/useCropPicker.js +19 -7
  209. package/dist/lib/hooks/useCropPicker.js.map +1 -1
  210. package/dist/lib/hooks/useFileInput.d.ts +1 -2
  211. package/dist/lib/hooks/useKeydown.js +2 -2
  212. package/dist/lib/hooks/useKeydown.js.map +1 -1
  213. package/dist/lib/hooks/useMediaQuery.js +2 -3
  214. package/dist/lib/hooks/useMediaQuery.js.map +1 -1
  215. package/dist/lib/hooks/usePageExitBlocker.js.map +1 -1
  216. package/dist/lib/hooks/usePagination.js +1 -2
  217. package/dist/lib/hooks/usePagination.js.map +1 -1
  218. package/dist/lib/hooks/usePopState.js.map +1 -1
  219. package/dist/lib/hooks/useRefresh.d.ts +1 -1
  220. package/dist/lib/hooks/useRefresh.js.map +1 -1
  221. package/dist/lib/hooks/useScrollEffect.js +1 -2
  222. package/dist/lib/hooks/useScrollEffect.js.map +1 -1
  223. package/dist/lib/hooks/useSearchParams.d.ts +0 -1
  224. package/dist/lib/hooks/useSearchParams.js +1 -2
  225. package/dist/lib/hooks/useSearchParams.js.map +1 -1
  226. package/dist/lib/hooks/useStaticAnimationStyles.js +1 -2
  227. package/dist/lib/hooks/useStaticAnimationStyles.js.map +1 -1
  228. package/dist/lib/hooks/useWindowSize.js +1 -2
  229. package/dist/lib/hooks/useWindowSize.js.map +1 -1
  230. package/dist/lib/tools/localStorage.js.map +1 -1
  231. package/dist/lib/tools/mediaQuery.js +3 -4
  232. package/dist/lib/tools/mediaQuery.js.map +1 -1
  233. package/dist/lib/tools/modal.js +3 -3
  234. package/dist/lib/tools/modal.js.map +1 -1
  235. package/dist/lib/utils/pollyfils/scroll.js.map +1 -1
  236. package/dist/lib/utils/stopPropagation.js +1 -2
  237. package/dist/lib/utils/stopPropagation.js.map +1 -1
  238. package/dist/lib/utils/test.js.map +1 -1
  239. package/dist/types/utility.d.ts +2 -2
  240. package/package.json +39 -39
  241. package/package.json.bak +24 -24
  242. package/src/components/ActionIcon/index.tsx +1 -1
  243. package/src/components/ActivityIndicator/index.tsx +3 -4
  244. package/src/components/Badge/types.ts +1 -1
  245. package/src/components/Carousel/index.tsx +230 -0
  246. package/src/components/{Pager → Carousel}/styles.ts +2 -2
  247. package/src/components/Carousel/types.ts +41 -0
  248. package/src/components/Checkbox/index.tsx +1 -1
  249. package/src/components/Collapse/index.tsx +1 -1
  250. package/src/components/Collapse/types.ts +1 -1
  251. package/src/components/ColorPicker/types.ts +3 -3
  252. package/src/components/CropPicker/index.tsx +4 -3
  253. package/src/components/CropPicker/types.ts +3 -1
  254. package/src/components/DatePicker/components/OuterInput.tsx +3 -12
  255. package/src/components/DatePicker/index.tsx +18 -10
  256. package/src/components/DatePicker/types.ts +8 -5
  257. package/src/components/Dropzone/index.tsx +3 -2
  258. package/src/components/Dropzone/types.ts +3 -1
  259. package/src/components/EmptyPlaceholder/types.ts +2 -2
  260. package/src/components/FileInput/index.tsx +4 -3
  261. package/src/components/FileInput/types.ts +2 -0
  262. package/src/components/InputBase/useInputBase.ts +1 -1
  263. package/src/components/InputBase/utils.ts +1 -1
  264. package/src/components/List/index.tsx +56 -78
  265. package/src/components/List/styles.ts +2 -10
  266. package/src/components/List/types.ts +10 -52
  267. package/src/components/MaskedTextInput/index.tsx +58 -0
  268. package/src/components/MaskedTextInput/mask.ts +41 -0
  269. package/src/components/MaskedTextInput/types.ts +18 -0
  270. package/src/components/NumberIncrement/index.tsx +1 -3
  271. package/src/components/PaginationButtons/types.ts +1 -1
  272. package/src/components/PaginationIndicator/types.ts +2 -2
  273. package/src/components/Progress/Bar/types.ts +2 -2
  274. package/src/components/Progress/Circle/types.ts +1 -1
  275. package/src/components/SectionFilters/types.ts +1 -1
  276. package/src/components/SegmentedControl/index.tsx +6 -5
  277. package/src/components/SegmentedControl/types.ts +2 -2
  278. package/src/components/Select/index.tsx +3 -3
  279. package/src/components/Select/types.ts +6 -6
  280. package/src/components/Switch/index.tsx +1 -1
  281. package/src/components/Text/index.tsx +4 -3
  282. package/src/components/Text/types.ts +3 -2
  283. package/src/components/TextEditor/index.tsx +20 -18
  284. package/src/components/TextEditor/types.ts +5 -5
  285. package/src/components/TextInput/index.tsx +14 -34
  286. package/src/components/TextInput/types.ts +5 -57
  287. package/src/components/TextInput/useTextInput.ts +10 -19
  288. package/src/components/Tooltip/types.ts +1 -1
  289. package/src/components/Touchable/index.tsx +4 -4
  290. package/src/components/Touchable/types.ts +2 -1
  291. package/src/components/View/index.tsx +6 -5
  292. package/src/components/View/types.ts +3 -3
  293. package/src/components/VirtualList/context.tsx +93 -0
  294. package/src/components/VirtualList/index.tsx +11 -0
  295. package/src/components/VirtualList/list.tsx +85 -0
  296. package/src/components/VirtualList/types.ts +38 -0
  297. package/src/components/components.ts +4 -2
  298. package/src/lib/hooks/index.ts +0 -1
  299. package/src/lib/hooks/useAnimatedStyle.ts +11 -7
  300. package/src/lib/hooks/useAnimatedVariantStyles.ts +2 -2
  301. package/src/lib/hooks/useClickOutside.ts +1 -1
  302. package/src/lib/hooks/useMediaQuery.ts +1 -1
  303. package/src/types/utility.ts +2 -2
  304. package/dist/components/Grid/index.d.ts +0 -13
  305. package/dist/components/Grid/index.js +0 -94
  306. package/dist/components/Grid/index.js.map +0 -1
  307. package/dist/components/Grid/styles.d.ts +0 -2
  308. package/dist/components/Grid/styles.js.map +0 -1
  309. package/dist/components/Grid/types.d.ts +0 -9
  310. package/dist/components/List/ListLayout.d.ts +0 -2
  311. package/dist/components/List/ListLayout.js +0 -39
  312. package/dist/components/List/ListLayout.js.map +0 -1
  313. package/dist/components/Pager/index.d.ts +0 -7
  314. package/dist/components/Pager/index.js +0 -118
  315. package/dist/components/Pager/index.js.map +0 -1
  316. package/dist/components/Pager/styles.d.ts +0 -3
  317. package/dist/components/Pager/styles.js.map +0 -1
  318. package/dist/components/Pager/types.d.ts +0 -27
  319. package/dist/components/Pager/types.js.map +0 -1
  320. package/dist/components/TextInput/mask.d.ts +0 -5
  321. package/dist/components/TextInput/mask.js +0 -110
  322. package/dist/components/TextInput/mask.js.map +0 -1
  323. package/dist/lib/deprecated/OSAlert.d.ts +0 -38
  324. package/dist/lib/deprecated/OSAlert.js +0 -139
  325. package/dist/lib/deprecated/OSAlert.js.map +0 -1
  326. package/dist/lib/deprecated/index.d.ts +0 -1
  327. package/dist/lib/deprecated/index.js +0 -22
  328. package/dist/lib/deprecated/index.js.map +0 -1
  329. package/dist/lib/hooks/useInfiniteScroll.d.ts +0 -22
  330. package/dist/lib/hooks/useInfiniteScroll.js +0 -98
  331. package/dist/lib/hooks/useInfiniteScroll.js.map +0 -1
  332. package/src/components/Grid/index.tsx +0 -126
  333. package/src/components/Grid/styles.ts +0 -3
  334. package/src/components/Grid/types.ts +0 -13
  335. package/src/components/List/ListLayout.tsx +0 -87
  336. package/src/components/Pager/index.tsx +0 -156
  337. package/src/components/Pager/types.ts +0 -35
  338. package/src/components/TextInput/mask.tsx +0 -117
  339. package/src/lib/deprecated/OSAlert.tsx +0 -200
  340. package/src/lib/deprecated/index.ts +0 -6
  341. package/src/lib/hooks/useInfiniteScroll.ts +0 -77
  342. /package/dist/components/{Grid → Carousel}/styles.js +0 -0
  343. /package/dist/components/{Grid → Carousel}/types.js +0 -0
  344. /package/dist/components/{Pager → MaskedTextInput}/types.js +0 -0
@@ -1,87 +0,0 @@
1
- import React from 'react'
2
- import { View } from '../View'
3
- import { ListLayoutProps, ListRefreshControlComponent } from './types'
4
- import { mergeStyles } from '@codeleap/styles'
5
- import { ActivityIndicator } from '../ActivityIndicator'
6
- import { ListParts } from './styles'
7
- import { TypeGuards } from '@codeleap/types'
8
- import { motion } from 'framer-motion'
9
-
10
- const DefaultRefreshIndicator = (props: ListRefreshControlComponent) => {
11
- const {
12
- refreshing,
13
- styles,
14
- refreshPosition,
15
- refreshControlProps,
16
- debugName,
17
- refreshSize,
18
- refreshControlIndicatorProps,
19
- } = props
20
-
21
- return (
22
- <motion.div
23
- initial={false}
24
- animate={{
25
- opacity: refreshing ? 1 : 0,
26
- top: refreshing ? refreshPosition : 0,
27
- }}
28
- {...refreshControlProps}
29
- style={styles?.refreshControl}
30
- >
31
- <ActivityIndicator
32
- debugName={debugName + 'refresh-indicator'}
33
- size={refreshSize}
34
- {...refreshControlIndicatorProps}
35
- style={styles.refreshControlIndicator}
36
- />
37
- </motion.div>
38
- )
39
- }
40
-
41
- export const ListLayout = (props: ListLayoutProps) => {
42
- const {
43
- ListEmptyComponent,
44
- ListFooterComponent,
45
- ListHeaderComponent,
46
- refresh,
47
- ListRefreshControlComponent = DefaultRefreshIndicator,
48
- styles,
49
- isEmpty,
50
- isLoading,
51
- placeholder = {},
52
- children,
53
- debugName,
54
- isFetching,
55
- isFetchingNextPage,
56
- ListLoadingIndicatorComponent,
57
- scrollableRef,
58
- showFooter = true,
59
- wrapperProps,
60
- } = props
61
-
62
- const getKeyStyle = (key: ListParts) => mergeStyles([
63
- styles[key],
64
- isLoading ? styles[`${key}:loading`] : null,
65
- isEmpty ? styles[`${key}:empty`] : null,
66
- ])
67
-
68
- const showIndicator = (isFetching || isFetchingNextPage) && !TypeGuards.isNil(ListLoadingIndicatorComponent)
69
-
70
- return (
71
- <View style={getKeyStyle('wrapper')} ref={scrollableRef} {...wrapperProps}>
72
- {!!ListHeaderComponent ? <ListHeaderComponent /> : null}
73
-
74
- {isEmpty ? <ListEmptyComponent debugName={debugName} {...placeholder} /> : null}
75
-
76
- <View style={[getKeyStyle('innerWrapper'), isEmpty && { display: 'none' }]}>
77
- {(!ListRefreshControlComponent || !refresh) ? null : <ListRefreshControlComponent {...props} styles={styles} />}
78
-
79
- {children}
80
- </View>
81
-
82
- {showIndicator ? <ListLoadingIndicatorComponent /> : null}
83
-
84
- {(!!ListFooterComponent && showFooter) ? <ListFooterComponent {...props} /> : null}
85
- </View>
86
- )
87
- }
@@ -1,156 +0,0 @@
1
- import { onUpdate } from '@codeleap/hooks'
2
- import Slider from 'react-slick'
3
- import React, { forwardRef, useCallback, useImperativeHandle, useRef } from 'react'
4
- import { View } from '../View'
5
- import { Touchable } from '../Touchable'
6
- import { DotsProps, PagerProps, PagerRef } from './types'
7
- import { AnyRecord, IJSX, StyledComponentProps, StyledComponentWithProps } from '@codeleap/styles'
8
- import { WebStyleRegistry } from '../../lib/WebStyleRegistry'
9
- import { useStylesFor } from '../../lib/hooks/useStylesFor'
10
-
11
- import 'slick-carousel/slick/slick.css'
12
- import 'slick-carousel/slick/slick-theme.css'
13
-
14
- export * from './styles'
15
- export * from './types'
16
-
17
- const Dots = (params: DotsProps) => {
18
- const { page, childArray, onPress, styles, dotsDisabled } = params
19
-
20
- return (
21
- <View style={styles.dots}>
22
- {childArray.map((_, index) => {
23
- const isSelected = index === page
24
-
25
- const style = [
26
- styles.dot,
27
- isSelected && styles['dot:selected'],
28
- dotsDisabled && styles['dot:disabled'],
29
- ]
30
-
31
- return (
32
- <Touchable
33
- key={index}
34
- onPress={() => onPress?.(index)}
35
- style={style}
36
- disabled={dotsDisabled}
37
- debugName='dots'
38
- />
39
- )
40
- })}
41
- </View>
42
- )
43
- }
44
-
45
- export const Pager = forwardRef<PagerRef, PagerProps>((props, ref) => {
46
- const sliderRef = useRef<Slider>()
47
-
48
- const {
49
- style,
50
- children,
51
- renderPageWrapper: PageWrapper,
52
- page,
53
- dots,
54
- dotsDisabled,
55
- infinite,
56
- disableSwipe,
57
- onChange,
58
- footer,
59
- dotsProps,
60
- pageWrapperProps,
61
- ...rest
62
- } = {
63
- ...Pager.defaultProps,
64
- ...props,
65
- }
66
-
67
- const styles = useStylesFor(Pager.styleRegistryName, style)
68
-
69
- const childArray = React.Children.toArray(children)
70
-
71
- const goTo = useCallback(
72
- (page: number) => {
73
- if (sliderRef.current) sliderRef.current.slickGoTo(page)
74
- },
75
- [sliderRef?.current],
76
- )
77
-
78
- useImperativeHandle(ref, () => ({
79
- goTo,
80
- ...sliderRef.current,
81
- }), [!!sliderRef?.current])
82
-
83
- onUpdate(() => {
84
- goTo(page)
85
- }, [page])
86
-
87
- return (
88
- <View style={styles.wrapper}>
89
- <Slider
90
- adaptiveHeight={true}
91
- {...rest}
92
- arrows={false}
93
- ref={sliderRef}
94
- dots={false}
95
- swipe={!disableSwipe}
96
- infinite={infinite}
97
- accessibility={false}
98
- afterChange={onChange}
99
- >
100
- {childArray.map((child, index) => {
101
- return (
102
- // @ts-expect-error @verify
103
- <PageWrapper
104
- key={index}
105
- style={styles.pageWrapper}
106
- {...pageWrapperProps}
107
- >
108
- {child}
109
- </PageWrapper>
110
- )
111
- })}
112
- </Slider>
113
-
114
- <View style={styles.footerWrapper}>
115
- {footer}
116
-
117
- {dots ? (
118
- <Dots
119
- page={page}
120
- onPress={onChange}
121
- childArray={childArray}
122
- styles={styles}
123
- dotsDisabled={dotsDisabled}
124
- {...dotsProps}
125
- />
126
- ) : null}
127
- </View>
128
- </View>
129
- )
130
- }) as StyledComponentWithProps<PagerProps>
131
-
132
- Pager.styleRegistryName = 'Pager'
133
-
134
- Pager.elements = [
135
- 'wrapper',
136
- 'dot',
137
- 'dots',
138
- 'pageWrapper',
139
- 'footerWrapper',
140
- ]
141
-
142
- Pager.rootElement = 'wrapper'
143
-
144
- Pager.withVariantTypes = <S extends AnyRecord>(styles: S) => {
145
- return Pager as (props: StyledComponentProps<PagerProps, typeof styles>) => IJSX
146
- }
147
-
148
- Pager.defaultProps = {
149
- dots: false,
150
- dotsDisabled: false,
151
- infinite: false,
152
- disableSwipe: false,
153
- renderPageWrapper: View,
154
- } as Partial<PagerProps>
155
-
156
- WebStyleRegistry.registerComponent(Pager)
@@ -1,35 +0,0 @@
1
- import { StylesOf } from '@codeleap/types'
2
- import { Settings } from 'react-slick'
3
- import { PagerComposition } from './styles'
4
- import React, { ReactNode, ReactElement } from 'react'
5
- import { ViewProps } from '../View'
6
- import { ComponentCommonProps } from '../../types'
7
- import { StyledProp } from '@codeleap/styles'
8
-
9
- export type PagerRef = {
10
- goTo: (page: number) => void
11
- }
12
-
13
- export type PagerProps =
14
- Omit<Settings, 'style'> &
15
- ComponentCommonProps &
16
- {
17
- style?: StyledProp<PagerComposition>
18
- page?: number
19
- children: ReactNode
20
- onChange?: (page: number) => void
21
- renderPageWrapper?: React.FC
22
- footer?: ReactElement
23
- dotsProps?: DotsProps
24
- pageWrapperProps?: ViewProps
25
- dotsDisabled?: boolean
26
- disableSwipe?: boolean
27
- }
28
-
29
- export type DotsProps =
30
- Pick<PagerProps, 'page' | 'dotsDisabled'> &
31
- {
32
- childArray: ReactNode[]
33
- onPress?: (index: number) => void
34
- styles: StylesOf<PagerComposition>
35
- }
@@ -1,117 +0,0 @@
1
- import { TypeGuards } from '@codeleap/types'
2
- import { FormatChar, InputMaskProps, MaskProps, TextInputMaskTypeProp } from './types'
3
-
4
- export const getMaskInputProps = ({ masking }: InputMaskProps): MaskProps & { notSaveFormatted: boolean } => {
5
- const {
6
- type = 'custom',
7
- options = {},
8
- } = masking
9
-
10
- const maskType = masking?.options?.maskType ?? 'INTERNATIONAL'
11
- const phoneType = maskType === 'INTERNATIONAL' ? 'cel-phone' : 'cel-phone-brl'
12
-
13
- const presetProps = masking?.type === 'cel-phone' ? maskPreset[phoneType] : maskPreset[type]
14
-
15
- const isObfuscated = options?.obfuscated === true && {
16
- type: 'password',
17
- }
18
-
19
- const notSaveFormatted = (TypeGuards.isBoolean(masking?.saveFormatted) && masking?.saveFormatted === false)
20
-
21
- const props = {
22
- ...presetProps,
23
- ...options,
24
- ...isObfuscated,
25
- notSaveFormatted,
26
- beforeMaskedValueChange: masking?.onChangeMask,
27
- }
28
-
29
- const defaultGetRawValue = (value: string) => {
30
- return String(value)?.replace(/\D/g, '')
31
- }
32
-
33
- return {
34
- ...props,
35
- validator: notSaveFormatted ? null : props?.validator,
36
- getRawValue: props?.getRawValue ?? defaultGetRawValue,
37
- }
38
- }
39
-
40
- const format: Record<string, FormatChar> = {
41
- number: "['0123456789']",
42
- }
43
-
44
- const validatorRegExp = (value: string | number, regex: RegExp, error: string) => {
45
- const isValid = regex.test(String(value))
46
-
47
- return {
48
- valid: isValid,
49
- message: error,
50
- }
51
- }
52
-
53
- export const maskPreset: Record<TextInputMaskTypeProp | 'cel-phone-brl', MaskProps> = {
54
- 'credit-card': {
55
- mask: '9999 9999 9999 9999',
56
- placeholder: 'xxxx xxxx xxxx xxxx',
57
- formatChars: {
58
- '9': format.number,
59
- },
60
- validator: (value: string) => {
61
- return validatorRegExp(value, /^\d{4}\s?\d{4}\s?\d{4}\s?\d{4}$/, 'Invalid information')
62
- },
63
- },
64
- 'cpf': {
65
- mask: '999.999.999-99',
66
- placeholder: 'xxx.xxx.xxx-xx',
67
- formatChars: {
68
- '9': format.number,
69
- },
70
- validator: (value: string) => {
71
- return validatorRegExp(value, /^\d{3}\.\d{3}\.\d{3}-\d{2}$/, 'Invalid CPF')
72
- },
73
- },
74
- 'cnpj': {
75
- mask: '99.999.999/9999-99',
76
- placeholder: 'xx.xxx.xxx/xxxx-xx',
77
- formatChars: {
78
- '9': format.number,
79
- },
80
- validator: (value: string) => {
81
- return validatorRegExp(value, /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/, 'Invalid CNPJ')
82
- },
83
- },
84
- 'zip-code': {
85
- mask: '99999-999',
86
- placeholder: 'xxxxx-xxx',
87
- formatChars: {
88
- '9': format.number,
89
- },
90
- validator: (value: string) => {
91
- return validatorRegExp(value, /^\d{5}-\d{3}$/, 'Invalid zip code')
92
- },
93
- },
94
- 'cel-phone': {
95
- mask: '+999 999 999 999',
96
- placeholder: '+xxx xxx xxx xxx',
97
- maskType: 'INTERNATIONAL',
98
- formatChars: {
99
- '9': format.number,
100
- },
101
- validator: (value: string) => {
102
- return validatorRegExp(value, /^\+\d{3}\s\d{3}\s\d{3}\s\d{3}$/, 'Invalid phone')
103
- },
104
- },
105
- 'cel-phone-brl': {
106
- mask: '(99) 99999-9999',
107
- placeholder: '(xx) xxxxx-xxxx',
108
- maskType: 'BRL',
109
- formatChars: {
110
- '9': format.number,
111
- },
112
- validator: (value: string) => {
113
- return validatorRegExp(value, /^\(?\d{2}\)?\s?9?\d{4}-\d{4}$/, 'Invalid phone')
114
- },
115
- },
116
- 'custom': {},
117
- }
@@ -1,200 +0,0 @@
1
- import React from 'react'
2
- import { onMount, onUpdate, useBooleanToggle, usePrevious } from '@codeleap/hooks'
3
- import { AnyFunction } from '@codeleap/types'
4
- import ReactDOM from 'react-dom'
5
- import { v4 as uuid } from 'uuid'
6
-
7
- type AlertButton = {
8
- text: string
9
- onPress: AnyFunction
10
- variants?: any[]
11
- }
12
-
13
- type OSAlertArgs = {
14
- title: string
15
- body?: string
16
- options?: AlertButton[]
17
- onDismiss?: AnyFunction
18
- onAction?: AnyFunction
19
- type?: Exclude<GlobalAlertType, 'custom'> | string
20
- }
21
- type AlertEvent = AlertButton['onPress']
22
-
23
- type NamedEvents<E extends string> = Partial<Record<E, AlertEvent>>
24
-
25
- export type GlobalAlertType = 'info' | 'error' | 'warn' | 'ask' | 'custom'
26
-
27
- export type GlobalAlertComponentProps = {
28
- args: OSAlertArgs
29
- removeSelf: AnyFunction
30
- type: GlobalAlertType
31
- id: string
32
- }
33
-
34
- export function useGlobalAlertComponent(props: GlobalAlertComponentProps) {
35
- const [visible, toggle] = useBooleanToggle(false)
36
-
37
- const previousVisible = usePrevious(visible)
38
-
39
- onMount(() => {
40
- toggle()
41
- })
42
-
43
- onUpdate(() => {
44
- if (!visible && previousVisible) {
45
- setTimeout(props.removeSelf, 1000)
46
- }
47
- }, [visible])
48
-
49
- return {
50
- visible,
51
- toggle,
52
- }
53
- }
54
-
55
- function RenderModal(props: GlobalAlertComponentProps) {
56
-
57
- return null
58
- }
59
-
60
- const MODAL_ID = '__CODELEAP_MODAL__'
61
-
62
- function OSAlert(props: OSAlertArgs & { type: GlobalAlertType }) {
63
- if (!document) return
64
-
65
- const modalId = MODAL_ID + '_' + uuid()
66
-
67
- const modalsRootDiv = document.getElementById(MODAL_ID)
68
-
69
- let modalDiv = document.getElementById(modalId)
70
-
71
- const remove = () => {
72
- ReactDOM.unmountComponentAtNode(modalDiv)
73
- }
74
-
75
- if (!modalDiv) {
76
- modalDiv = document.createElement('div')
77
-
78
- modalDiv.setAttribute('id', MODAL_ID)
79
-
80
- modalsRootDiv.appendChild(modalDiv)
81
-
82
- }
83
-
84
- ReactDOM.render(<>
85
-
86
- <OSAlert.Component
87
- removeSelf={remove}
88
- args={props}
89
- type={props.type}
90
- id={modalId}
91
- />
92
-
93
- </>, modalDiv)
94
-
95
- }
96
- OSAlert.Component = RenderModal
97
-
98
- export function CreateOSAlert(Component) {
99
-
100
- OSAlert.Component = Component
101
-
102
- function ask({ title, body, options }: OSAlertArgs) {
103
- if (!title) {
104
- title = 'Quick quetion'
105
- }
106
- OSAlert({
107
- title,
108
- body,
109
- options,
110
- type: 'ask',
111
- onAction: null,
112
- onDismiss: null,
113
- })
114
- }
115
-
116
- function OSError(args: OSAlertArgs & NamedEvents<'onDismiss'>) {
117
- let {
118
- title,
119
- body,
120
- } = args
121
-
122
- if (!title) {
123
- title = 'Whoops!'
124
- }
125
- if (!body) {
126
- body = 'Something went wrong'
127
- }
128
- OSAlert({
129
- title,
130
-
131
- body,
132
- type: 'error',
133
- onAction: args.onDismiss,
134
- onDismiss: args.onDismiss,
135
- })
136
- }
137
-
138
- function warn(args: OSAlertArgs & NamedEvents<'onReject' | 'onAccept'>) {
139
- const {
140
- title = 'Hang on',
141
- body = 'Are you sure?',
142
- onAccept,
143
- onReject = () => null,
144
- } = args
145
-
146
- OSAlert({
147
-
148
- title,
149
- body,
150
- type: 'warn',
151
- onAction: onAccept,
152
- onDismiss: onReject,
153
-
154
- })
155
- }
156
-
157
- function info(args: OSAlertArgs & NamedEvents<'onDismiss'>) {
158
-
159
- const {
160
- title = 'FYI',
161
- body,
162
- onDismiss = () => null,
163
- } = args
164
-
165
- OSAlert({
166
- title,
167
- body,
168
- type: 'info',
169
- onDismiss,
170
- })
171
- }
172
-
173
- function custom(args: OSAlertArgs & {type: string}) {
174
- const {
175
- title = 'Hang on',
176
- body = 'Are you sure?',
177
- type,
178
- ...rest
179
- } = args
180
-
181
- OSAlert({
182
- title,
183
- body,
184
- type: type as GlobalAlertType,
185
- ...rest,
186
- })
187
- }
188
-
189
- return {
190
- ask,
191
- warn,
192
- info,
193
- error: OSError,
194
- custom,
195
- }
196
- }
197
-
198
- export const AlertOutlet = () => {
199
- return <div id={MODAL_ID} />
200
- }
@@ -1,6 +0,0 @@
1
- // @Deprecated module
2
- // All things here are discontinued and will be removed over time.
3
- // They are no longer updated and are only here because other projects
4
- // still use them and it is important not to affect their functioning.
5
-
6
- export * from './OSAlert'
@@ -1,77 +0,0 @@
1
- import React from 'react'
2
- import { AnyFunction, TypeGuards } from '@codeleap/types'
3
- import { LoadMoreItemsCallback, UseInfiniteLoaderOptions, useInfiniteLoader } from 'masonic'
4
- import { ListProps } from '../../components/List'
5
- import { GridProps } from '../../components/Grid'
6
- import { useRefresh } from './useRefresh'
7
-
8
- export type UseInfiniteScrollArgs<Item extends Element = any> = {
9
- threshold?: number
10
- onLoadMore?: AnyFunction
11
- loadMoreOptions?: Partial<UseInfiniteLoaderOptions<Item>>
12
- }
13
-
14
- export type UseInfiniteScrollProps<Item extends Element = any> =
15
- Partial<ListProps> &
16
- Partial<GridProps> &
17
- UseInfiniteScrollArgs<Item>
18
-
19
- export type UseInfiniteScrollReturn<Item extends Element = any> = {
20
- onLoadMore: LoadMoreItemsCallback<Item>
21
- isRefresh: boolean
22
- layoutProps: {
23
- isEmpty: boolean
24
- refreshing: boolean
25
- scrollableRef: React.MutableRefObject<undefined>
26
- }
27
- onRefreshItems: AnyFunction
28
- }
29
-
30
- export function useInfiniteScroll<Item extends Element = any>(props: UseInfiniteScrollProps<Item>): UseInfiniteScrollReturn<Item> {
31
- const {
32
- onRefresh,
33
- data,
34
- hasNextPage,
35
- refresh: refreshEnabled,
36
- fetchNextPage,
37
- refreshThreshold,
38
- refreshDebounce,
39
- loadMoreOptions = {},
40
- onLoadMore,
41
- threshold = 16,
42
- } = props
43
-
44
- const infiniteLoader = useInfiniteLoader(
45
- async (args) => {
46
- if (hasNextPage) await fetchNextPage?.()
47
- if (TypeGuards.isFunction(onLoadMore)) await onLoadMore?.(args)
48
- },
49
- {
50
- isItemLoaded: (index, items) => !!items?.[index],
51
- threshold: threshold,
52
- ...loadMoreOptions,
53
- },
54
- )
55
-
56
- const refreshHookReturn = useRefresh(
57
- onRefresh,
58
- {
59
- threshold: refreshThreshold,
60
- debounce: refreshDebounce,
61
- enabled: refreshEnabled,
62
- },
63
- )
64
-
65
- const isEmpty = React.useMemo(() => (!data || !data?.length), [data?.length])
66
-
67
- return {
68
- onLoadMore: infiniteLoader,
69
- isRefresh: refreshHookReturn.refresh,
70
- layoutProps: {
71
- scrollableRef: refreshHookReturn.scrollableRef,
72
- refreshing: refreshHookReturn.refresh,
73
- isEmpty,
74
- },
75
- onRefreshItems: refreshHookReturn.refresher,
76
- }
77
- }
File without changes
File without changes