@codeleap/mobile 4.2.8 → 4.2.10

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 (271) hide show
  1. package/dist/Registry.js +28 -53
  2. package/dist/Registry.js.map +1 -1
  3. package/dist/components/ActionIcon/index.js +27 -67
  4. package/dist/components/ActionIcon/index.js.map +1 -1
  5. package/dist/components/ActionIcon/styles.js +1 -2
  6. package/dist/components/ActionIcon/types.js +1 -2
  7. package/dist/components/ActivityIndicator/index.js +22 -62
  8. package/dist/components/ActivityIndicator/index.js.map +1 -1
  9. package/dist/components/ActivityIndicator/styles.js +1 -2
  10. package/dist/components/ActivityIndicator/types.js +1 -2
  11. package/dist/components/Autocomplete/index.js +73 -121
  12. package/dist/components/Autocomplete/index.js.map +1 -1
  13. package/dist/components/Autocomplete/styles.js +1 -2
  14. package/dist/components/Autocomplete/types.js +1 -2
  15. package/dist/components/Avatar/index.js +49 -90
  16. package/dist/components/Avatar/index.js.map +1 -1
  17. package/dist/components/Avatar/styles.js +1 -2
  18. package/dist/components/Avatar/types.js +1 -2
  19. package/dist/components/AvatarGroup/index.js +30 -75
  20. package/dist/components/AvatarGroup/index.js.map +1 -1
  21. package/dist/components/AvatarGroup/styles.js +1 -2
  22. package/dist/components/AvatarGroup/types.js +1 -2
  23. package/dist/components/Backdrop/index.js +26 -66
  24. package/dist/components/Backdrop/index.js.map +1 -1
  25. package/dist/components/Backdrop/styles.js +1 -2
  26. package/dist/components/Backdrop/types.js +1 -2
  27. package/dist/components/Badge/index.js +44 -85
  28. package/dist/components/Badge/index.js.map +1 -1
  29. package/dist/components/Badge/styles.js +1 -2
  30. package/dist/components/Badge/types.js +1 -2
  31. package/dist/components/Button/index.js +49 -98
  32. package/dist/components/Button/index.js.map +1 -1
  33. package/dist/components/Button/styles.js +1 -2
  34. package/dist/components/Button/types.js +1 -2
  35. package/dist/components/Calendar/index.js +27 -68
  36. package/dist/components/Calendar/index.js.map +1 -1
  37. package/dist/components/Calendar/types.d.ts +1 -2
  38. package/dist/components/Calendar/types.js +1 -2
  39. package/dist/components/Checkbox/index.js +52 -85
  40. package/dist/components/Checkbox/index.js.map +1 -1
  41. package/dist/components/Checkbox/styles.js +1 -2
  42. package/dist/components/Checkbox/types.js +1 -2
  43. package/dist/components/DatePickerModal/index.js +61 -113
  44. package/dist/components/DatePickerModal/index.js.map +1 -1
  45. package/dist/components/DatePickerModal/styles.js +1 -2
  46. package/dist/components/DatePickerModal/types.js +1 -2
  47. package/dist/components/EmptyPlaceholder/index.js +40 -69
  48. package/dist/components/EmptyPlaceholder/index.js.map +1 -1
  49. package/dist/components/EmptyPlaceholder/styles.js +1 -2
  50. package/dist/components/EmptyPlaceholder/types.js +1 -2
  51. package/dist/components/FileInput/index.js +112 -178
  52. package/dist/components/FileInput/index.js.map +1 -1
  53. package/dist/components/FileInput/types.js +1 -2
  54. package/dist/components/Grid/index.js +47 -97
  55. package/dist/components/Grid/index.js.map +1 -1
  56. package/dist/components/Grid/styles.js +1 -2
  57. package/dist/components/Grid/types.js +1 -2
  58. package/dist/components/Icon/index.js +34 -75
  59. package/dist/components/Icon/index.js.map +1 -1
  60. package/dist/components/Icon/styles.js +1 -2
  61. package/dist/components/Icon/types.js +1 -2
  62. package/dist/components/Image/index.js +53 -96
  63. package/dist/components/Image/index.js.map +1 -1
  64. package/dist/components/Image/styles.js +1 -2
  65. package/dist/components/Image/types.js +1 -2
  66. package/dist/components/ImageView/Spotlight.js +75 -131
  67. package/dist/components/ImageView/Spotlight.js.map +1 -1
  68. package/dist/components/ImageView/component.js +8 -15
  69. package/dist/components/ImageView/component.js.map +1 -1
  70. package/dist/components/ImageView/index.js +2 -18
  71. package/dist/components/ImageView/index.js.map +1 -1
  72. package/dist/components/InputBase/index.js +35 -75
  73. package/dist/components/InputBase/index.js.map +1 -1
  74. package/dist/components/InputBase/styles.d.ts +3 -3
  75. package/dist/components/InputBase/styles.js +49 -50
  76. package/dist/components/InputBase/styles.js.map +1 -1
  77. package/dist/components/InputBase/types.d.ts +1 -0
  78. package/dist/components/InputBase/types.js +1 -2
  79. package/dist/components/InputBase/utils.js +4 -19
  80. package/dist/components/InputBase/utils.js.map +1 -1
  81. package/dist/components/List/index.js +46 -86
  82. package/dist/components/List/index.js.map +1 -1
  83. package/dist/components/List/styles.js +1 -2
  84. package/dist/components/List/types.js +1 -2
  85. package/dist/components/LoadingOverlay/index.js +28 -66
  86. package/dist/components/LoadingOverlay/index.js.map +1 -1
  87. package/dist/components/LoadingOverlay/styles.js +1 -2
  88. package/dist/components/LoadingOverlay/types.js +1 -2
  89. package/dist/components/Modal/index.js +77 -113
  90. package/dist/components/Modal/index.js.map +1 -1
  91. package/dist/components/Modal/styles.js +1 -2
  92. package/dist/components/Modal/types.js +1 -2
  93. package/dist/components/Navigation/Navigation.js +23 -66
  94. package/dist/components/Navigation/Navigation.js.map +1 -1
  95. package/dist/components/Navigation/constants.js +7 -10
  96. package/dist/components/Navigation/constants.js.map +1 -1
  97. package/dist/components/Navigation/index.js +3 -19
  98. package/dist/components/Navigation/index.js.map +1 -1
  99. package/dist/components/Navigation/types.js +1 -2
  100. package/dist/components/Navigation/utils.js +24 -59
  101. package/dist/components/Navigation/utils.js.map +1 -1
  102. package/dist/components/NumberIncrement/index.js +132 -165
  103. package/dist/components/NumberIncrement/index.js.map +1 -1
  104. package/dist/components/NumberIncrement/styles.js +1 -2
  105. package/dist/components/NumberIncrement/types.d.ts +2 -2
  106. package/dist/components/NumberIncrement/types.js +1 -2
  107. package/dist/components/NumberIncrement/utils.js +8 -12
  108. package/dist/components/NumberIncrement/utils.js.map +1 -1
  109. package/dist/components/Pager/PagerDots.js +17 -54
  110. package/dist/components/Pager/PagerDots.js.map +1 -1
  111. package/dist/components/Pager/index.js +43 -97
  112. package/dist/components/Pager/index.js.map +1 -1
  113. package/dist/components/Pager/styles.js +1 -2
  114. package/dist/components/Pager/types.js +1 -2
  115. package/dist/components/PaginationIndicator/index.js +23 -38
  116. package/dist/components/PaginationIndicator/index.js.map +1 -1
  117. package/dist/components/PaginationIndicator/styles.js +1 -2
  118. package/dist/components/PaginationIndicator/types.js +1 -2
  119. package/dist/components/PlacesAutocomplete/index.js +55 -106
  120. package/dist/components/PlacesAutocomplete/index.js.map +1 -1
  121. package/dist/components/PlacesAutocomplete/styles.js +1 -2
  122. package/dist/components/PlacesAutocomplete/types.js +1 -2
  123. package/dist/components/RadioInput/index.js +46 -84
  124. package/dist/components/RadioInput/index.js.map +1 -1
  125. package/dist/components/RadioInput/styles.js +1 -2
  126. package/dist/components/RadioInput/types.js +1 -2
  127. package/dist/components/RefreshControl/index.js +22 -63
  128. package/dist/components/RefreshControl/index.js.map +1 -1
  129. package/dist/components/RefreshControl/styles.js +1 -2
  130. package/dist/components/RefreshControl/types.js +1 -2
  131. package/dist/components/Scroll/index.js +33 -81
  132. package/dist/components/Scroll/index.js.map +1 -1
  133. package/dist/components/Scroll/styles.js +1 -2
  134. package/dist/components/Scroll/types.js +1 -2
  135. package/dist/components/SearchInput/index.js +22 -69
  136. package/dist/components/SearchInput/index.js.map +1 -1
  137. package/dist/components/SectionFilters/context.d.ts +6 -0
  138. package/dist/components/SectionFilters/context.js +4 -8
  139. package/dist/components/SectionFilters/context.js.map +1 -1
  140. package/dist/components/SectionFilters/index.js +33 -76
  141. package/dist/components/SectionFilters/index.js.map +1 -1
  142. package/dist/components/SectionFilters/types.js +1 -2
  143. package/dist/components/SectionFilters/useSectionFilters.d.ts +3 -0
  144. package/dist/components/SectionFilters/useSectionFilters.js +71 -73
  145. package/dist/components/SectionFilters/useSectionFilters.js.map +1 -1
  146. package/dist/components/Sections/index.d.ts +8 -8
  147. package/dist/components/Sections/index.js +61 -106
  148. package/dist/components/Sections/index.js.map +1 -1
  149. package/dist/components/Sections/styles.d.ts +1 -1
  150. package/dist/components/Sections/styles.js +1 -2
  151. package/dist/components/Sections/types.js +1 -2
  152. package/dist/components/SegmentedControl/Option.js +13 -31
  153. package/dist/components/SegmentedControl/Option.js.map +1 -1
  154. package/dist/components/SegmentedControl/index.js +71 -114
  155. package/dist/components/SegmentedControl/index.js.map +1 -1
  156. package/dist/components/SegmentedControl/styles.js +1 -2
  157. package/dist/components/SegmentedControl/types.js +1 -2
  158. package/dist/components/Select/index.js +94 -157
  159. package/dist/components/Select/index.js.map +1 -1
  160. package/dist/components/Select/styles.js +1 -2
  161. package/dist/components/Select/types.js +1 -2
  162. package/dist/components/Slider/index.js +89 -129
  163. package/dist/components/Slider/index.js.map +1 -1
  164. package/dist/components/Slider/styles.d.ts +0 -6
  165. package/dist/components/Slider/styles.js +1 -2
  166. package/dist/components/Slider/types.js +1 -2
  167. package/dist/components/SortablePhotos/index.js +58 -91
  168. package/dist/components/SortablePhotos/index.js.map +1 -1
  169. package/dist/components/SortablePhotos/styles.js +1 -2
  170. package/dist/components/SortablePhotos/types.js +1 -2
  171. package/dist/components/SortablePhotos/useSortablePhotos.js +93 -157
  172. package/dist/components/SortablePhotos/useSortablePhotos.js.map +1 -1
  173. package/dist/components/Switch/index.js +51 -84
  174. package/dist/components/Switch/index.js.map +1 -1
  175. package/dist/components/Switch/styles.js +1 -2
  176. package/dist/components/Switch/types.js +1 -2
  177. package/dist/components/Text/index.js +40 -88
  178. package/dist/components/Text/index.js.map +1 -1
  179. package/dist/components/Text/styles.js +1 -2
  180. package/dist/components/Text/types.js +1 -2
  181. package/dist/components/TextInput/index.js +83 -131
  182. package/dist/components/TextInput/index.js.map +1 -1
  183. package/dist/components/TextInput/styles.js +1 -2
  184. package/dist/components/TextInput/types.js +1 -2
  185. package/dist/components/Touchable/index.js +69 -122
  186. package/dist/components/Touchable/index.js.map +1 -1
  187. package/dist/components/Touchable/styles.js +1 -2
  188. package/dist/components/Touchable/types.js +1 -2
  189. package/dist/components/View/index.js +19 -51
  190. package/dist/components/View/index.js.map +1 -1
  191. package/dist/components/View/styles.js +1 -2
  192. package/dist/components/View/types.js +1 -2
  193. package/dist/components/components.js +43 -59
  194. package/dist/components/components.js.map +1 -1
  195. package/dist/hooks/index.js +7 -11
  196. package/dist/hooks/index.js.map +1 -1
  197. package/dist/index.js +8 -43
  198. package/dist/index.js.map +1 -1
  199. package/dist/modules/PressableRipple/index.js +2 -8
  200. package/dist/modules/PressableRipple/index.js.map +1 -1
  201. package/dist/modules/PressableRipple/ripple.js +125 -163
  202. package/dist/modules/PressableRipple/ripple.js.map +1 -1
  203. package/dist/modules/PressableRipple/styles.js +9 -20
  204. package/dist/modules/PressableRipple/styles.js.map +1 -1
  205. package/dist/modules/PressableRipple/type.js +1 -2
  206. package/dist/modules/reactNavigation.js +10 -21
  207. package/dist/modules/reactNavigation.js.map +1 -1
  208. package/dist/modules/textInputMask.js +3 -20
  209. package/dist/modules/textInputMask.js.map +1 -1
  210. package/dist/modules/types/textInputMask.js +1 -2
  211. package/dist/types/index.js +1 -17
  212. package/dist/types/index.js.map +1 -1
  213. package/dist/types/utility.js +1 -2
  214. package/dist/utils/KeyboardAware/context.js +5 -14
  215. package/dist/utils/KeyboardAware/context.js.map +1 -1
  216. package/dist/utils/KeyboardAware/index.js +3 -19
  217. package/dist/utils/KeyboardAware/index.js.map +1 -1
  218. package/dist/utils/KeyboardAware/keyboardHooks.js +36 -41
  219. package/dist/utils/KeyboardAware/keyboardHooks.js.map +1 -1
  220. package/dist/utils/KeyboardAware/types.js +1 -2
  221. package/dist/utils/KeyboardAware/types.js.map +1 -1
  222. package/dist/utils/ModalManager/components.js +24 -54
  223. package/dist/utils/ModalManager/components.js.map +1 -1
  224. package/dist/utils/ModalManager/context.js +94 -89
  225. package/dist/utils/ModalManager/context.js.map +1 -1
  226. package/dist/utils/ModalManager/index.js +7 -10
  227. package/dist/utils/ModalManager/index.js.map +1 -1
  228. package/dist/utils/NotificationManager/index.js +115 -245
  229. package/dist/utils/NotificationManager/index.js.map +1 -1
  230. package/dist/utils/NotificationManager/types.js +1 -2
  231. package/dist/utils/OSAlert.js +32 -48
  232. package/dist/utils/OSAlert.js.map +1 -1
  233. package/dist/utils/PermissionManager/context.js +138 -255
  234. package/dist/utils/PermissionManager/context.js.map +1 -1
  235. package/dist/utils/PermissionManager/index.js +2 -8
  236. package/dist/utils/PermissionManager/index.js.map +1 -1
  237. package/dist/utils/PermissionManager/types.js +1 -2
  238. package/dist/utils/StorageManager.js +39 -46
  239. package/dist/utils/StorageManager.js.map +1 -1
  240. package/dist/utils/Subscription.js +30 -54
  241. package/dist/utils/Subscription.js.map +1 -1
  242. package/dist/utils/deprecated/notifications.js +143 -250
  243. package/dist/utils/deprecated/notifications.js.map +1 -1
  244. package/dist/utils/hooks.js +101 -120
  245. package/dist/utils/hooks.js.map +1 -1
  246. package/dist/utils/index.js +14 -43
  247. package/dist/utils/index.js.map +1 -1
  248. package/dist/utils/input.js +15 -19
  249. package/dist/utils/input.js.map +1 -1
  250. package/dist/utils/locale.js +5 -9
  251. package/dist/utils/locale.js.map +1 -1
  252. package/dist/utils/misc.js +25 -40
  253. package/dist/utils/misc.js.map +1 -1
  254. package/dist/utils/theme.js +24 -33
  255. package/dist/utils/theme.js.map +1 -1
  256. package/dist/utils/useQueryListRefresh.js +16 -26
  257. package/dist/utils/useQueryListRefresh.js.map +1 -1
  258. package/package.json +6 -6
  259. package/package.json.bak +2 -2
  260. package/src/components/Calendar/types.ts +3 -3
  261. package/src/components/InputBase/styles.ts +35 -23
  262. package/src/components/InputBase/types.ts +1 -0
  263. package/src/components/NumberIncrement/index.tsx +8 -2
  264. package/src/components/NumberIncrement/types.ts +3 -3
  265. package/src/components/RadioInput/index.tsx +4 -0
  266. package/src/components/SectionFilters/useSectionFilters.tsx +31 -1
  267. package/src/components/Sections/index.tsx +3 -2
  268. package/src/components/Sections/styles.ts +2 -2
  269. package/src/components/Slider/index.tsx +9 -1
  270. package/src/components/Slider/styles.ts +0 -6
  271. package/src/components/TextInput/index.tsx +5 -0
@@ -1,5 +1,5 @@
1
1
  import { deepEqual, TypeGuards } from '@codeleap/common'
2
- import React from 'react'
2
+ import React, { useCallback, useMemo } from 'react'
3
3
 
4
4
  export type TSectionFilterItem = {
5
5
  value?: string | number
@@ -44,6 +44,26 @@ export function useSectionFilters<T = TSectionFilterItem>(props: UseSectionFilte
44
44
  return initialSelectedItems ?? {}
45
45
  })
46
46
 
47
+ const changed = useCallback(() => {
48
+ return Object.entries(selectedItems).some(([sectionIndex, items]) => {
49
+ const initialItems = initialSelectedItems[sectionIndex] ?? []
50
+
51
+ if (!initialItems) {
52
+ return items.length > 0
53
+ }
54
+
55
+ if (items.length !== initialItems.length) {
56
+ return true
57
+ }
58
+
59
+ return items.some((item) => !initialItems.some((i) => areItemsEqual(i, item)))
60
+ })
61
+ }, [selectedItems, initialSelectedItems])
62
+
63
+ const getAllItems = () => {
64
+ return sections?.flatMap((section) => section.data) ?? []
65
+ }
66
+
47
67
  const findItemSection = (item: T) => {
48
68
  if (!sections) {
49
69
  return {
@@ -98,6 +118,13 @@ export function useSectionFilters<T = TSectionFilterItem>(props: UseSectionFilte
98
118
  sectionIndex = 0
99
119
  }
100
120
 
121
+ if (selectionLimit === 1) {
122
+ setSelectedItems({
123
+ [sectionIndex]: [item],
124
+ })
125
+ return
126
+ }
127
+
101
128
  const currentItems = selectedItems[sectionIndex] ?? []
102
129
 
103
130
  const isItemSelected = currentItems.some((i) => areItemsEqual(i, item))
@@ -162,5 +189,8 @@ export function useSectionFilters<T = TSectionFilterItem>(props: UseSectionFilte
162
189
  limitReached,
163
190
  disableItemsOnLimitReached,
164
191
  clearSelectedItemsWithSection,
192
+ changed,
193
+ areItemsEqual,
194
+ getAllItems,
165
195
  }
166
196
  }
@@ -17,7 +17,7 @@ const RenderSeparator = (props: { separatorStyles: ViewProps['style'] }) => {
17
17
  return <View style={props.separatorStyles} />
18
18
  }
19
19
 
20
- export const Sections = <T extends any>(sectionsProps: SectionProps<T>) => {
20
+ export function Sections<T>(sectionsProps: SectionProps<T>) {
21
21
  const {
22
22
  style,
23
23
  onRefresh,
@@ -132,6 +132,7 @@ export const Sections = <T extends any>(sectionsProps: SectionProps<T>) => {
132
132
  showsHorizontalScrollIndicator={false}
133
133
  {...props}
134
134
  ListHeaderComponentStyle={styles.header}
135
+ ListFooterComponentStyle={styles.footer}
135
136
  style={wrapperStyle}
136
137
  contentContainerStyle={keyboardStyle}
137
138
  sections={sections}
@@ -143,7 +144,7 @@ export const Sections = <T extends any>(sectionsProps: SectionProps<T>) => {
143
144
  }
144
145
 
145
146
  Sections.styleRegistryName = 'Sections'
146
- Sections.elements = ['wrapper', 'content', 'separator', 'header', 'refreshControl']
147
+ Sections.elements = ['wrapper', 'content', 'separator', 'header', 'footer', 'refreshControl']
147
148
  Sections.rootElement = 'wrapper'
148
149
 
149
150
  Sections.withVariantTypes = <S extends AnyRecord>(styles: S) => {
@@ -1,7 +1,7 @@
1
1
  import { ScrollComposition } from '../Scroll/styles'
2
2
 
3
- type SectionsStates = 'empty' | 'loading'
3
+ type SectionsStates = 'empty' | 'loading'
4
4
 
5
- type SectionsParts = ScrollComposition | 'separator' | 'header' | 'refreshControl'
5
+ type SectionsParts = ScrollComposition | 'separator' | 'header' | 'footer' | 'refreshControl'
6
6
 
7
7
  export type SectionsComposition = `${SectionsParts}:${SectionsStates}` | SectionsParts
@@ -218,7 +218,15 @@ Slider.styleRegistryName = 'Slider'
218
218
  Slider.rootElement = 'wrapper'
219
219
  Slider.elements = [
220
220
  ...InputBase.elements,
221
- 'thumb', 'track', 'selectedTrack', 'unselectedTrack', 'firstTrackMark', 'lastTrackMark', 'sliderContainer', 'labelBtn', 'descriptionBtn'
221
+ 'thumb',
222
+ 'track',
223
+ 'selectedTrack',
224
+ 'unselectedTrack',
225
+ 'firstTrackMark',
226
+ 'lastTrackMark',
227
+ 'sliderContainer',
228
+ 'labelBtn',
229
+ 'descriptionBtn',
222
230
  ]
223
231
 
224
232
  Slider.withVariantTypes = <S extends AnyRecord>(styles: S) => {
@@ -1,6 +1,4 @@
1
- import { PartialComponentStyle } from '@codeleap/common'
2
1
  import { IconLessInputBaseParts, InputBaseStates } from '../InputBase'
3
- import { TouchableComposition, TouchableStylesGen } from '../Touchable'
4
2
 
5
3
  type SliderParts =
6
4
  'thumb' |
@@ -18,7 +16,3 @@ type SliderStates = Exclude<InputBaseStates, 'focus'>
18
16
 
19
17
  export type SliderComposition = `${SliderParts}:${SliderStates}` | SliderParts | 'labelBtn' | 'descriptionBtn'
20
18
 
21
- export type SliderStylesGen = {
22
- labelBtn: PartialComponentStyle<TouchableComposition, TouchableStylesGen>
23
- descriptionBtn: PartialComponentStyle<TouchableComposition, TouchableStylesGen>
24
- }
@@ -132,6 +132,8 @@ export const TextInput = forwardRef<NativeTextInput, TextInputProps>((props, inp
132
132
 
133
133
  const hasMultipleLines = isMultiline && value?.includes('\n')
134
134
 
135
+ const hasValue = value?.length > 0
136
+
135
137
  return <InputBase
136
138
  {...inputBaseProps}
137
139
  innerWrapper={isPressable ? Touchable : undefined}
@@ -153,6 +155,7 @@ export const TextInput = forwardRef<NativeTextInput, TextInputProps>((props, inp
153
155
  }}
154
156
  rightIcon={rightIcon}
155
157
  focused={isFocused}
158
+ hasValue={hasValue}
156
159
  >
157
160
  <InputElement
158
161
  allowFontScaling={false}
@@ -174,6 +177,8 @@ export const TextInput = forwardRef<NativeTextInput, TextInputProps>((props, inp
174
177
  !validation.isValid && styles['input:error'],
175
178
  isDisabled && styles['input:disabled'],
176
179
  hasMultipleLines && styles['input:hasMultipleLines'],
180
+ hasValue && styles['input:typed'],
181
+
177
182
  ]}
178
183
  ref={innerInputRef}
179
184
  pointerEvents={isPressable ? 'none' : undefined}