@codeleap/mobile 5.8.21 → 6.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/dist/Registry.js.map +1 -1
  2. package/dist/components/ActionIcon/index.d.ts +2 -3
  3. package/dist/components/ActionIcon/index.js +5 -11
  4. package/dist/components/ActionIcon/index.js.map +1 -1
  5. package/dist/components/ActivityIndicator/index.d.ts +2 -2
  6. package/dist/components/ActivityIndicator/index.js +2 -2
  7. package/dist/components/ActivityIndicator/index.js.map +1 -1
  8. package/dist/components/ActivityIndicator/types.d.ts +0 -1
  9. package/dist/components/Autocomplete/index.d.ts +2 -3
  10. package/dist/components/Autocomplete/index.js +15 -18
  11. package/dist/components/Autocomplete/index.js.map +1 -1
  12. package/dist/components/Autocomplete/types.d.ts +1 -2
  13. package/dist/components/Avatar/components/Badge.d.ts +1 -2
  14. package/dist/components/Avatar/components/Badge.js +2 -2
  15. package/dist/components/Avatar/components/Badge.js.map +1 -1
  16. package/dist/components/Avatar/components/Content.d.ts +1 -1
  17. package/dist/components/Avatar/components/Content.js +3 -7
  18. package/dist/components/Avatar/components/Content.js.map +1 -1
  19. package/dist/components/Avatar/components/Illustration.d.ts +1 -2
  20. package/dist/components/Avatar/components/Illustration.js +2 -5
  21. package/dist/components/Avatar/components/Illustration.js.map +1 -1
  22. package/dist/components/Avatar/components/OverlayIcon.d.ts +1 -2
  23. package/dist/components/Avatar/components/OverlayIcon.js +2 -3
  24. package/dist/components/Avatar/components/OverlayIcon.js.map +1 -1
  25. package/dist/components/Avatar/components/Text.d.ts +1 -2
  26. package/dist/components/Avatar/components/Text.js +2 -1
  27. package/dist/components/Avatar/components/Text.js.map +1 -1
  28. package/dist/components/Avatar/components/Wrapper.d.ts +1 -2
  29. package/dist/components/Avatar/components/Wrapper.js +3 -6
  30. package/dist/components/Avatar/components/Wrapper.js.map +1 -1
  31. package/dist/components/Avatar/context.d.ts +108 -111
  32. package/dist/components/Avatar/context.js.map +1 -1
  33. package/dist/components/Avatar/index.d.ts +6 -7
  34. package/dist/components/Avatar/index.js +2 -6
  35. package/dist/components/Avatar/index.js.map +1 -1
  36. package/dist/components/AvatarGroup/index.d.ts +2 -3
  37. package/dist/components/AvatarGroup/index.js +2 -4
  38. package/dist/components/AvatarGroup/index.js.map +1 -1
  39. package/dist/components/Backdrop/index.d.ts +2 -3
  40. package/dist/components/Backdrop/index.js +4 -8
  41. package/dist/components/Backdrop/index.js.map +1 -1
  42. package/dist/components/Badge/index.d.ts +2 -3
  43. package/dist/components/Badge/index.js +5 -9
  44. package/dist/components/Badge/index.js.map +1 -1
  45. package/dist/components/Badge/types.d.ts +1 -2
  46. package/dist/components/Button/index.js +3 -9
  47. package/dist/components/Button/index.js.map +1 -1
  48. package/dist/components/Calendar/index.d.ts +2 -3
  49. package/dist/components/Calendar/index.js +5 -4
  50. package/dist/components/Calendar/index.js.map +1 -1
  51. package/dist/components/CalendarInput/index.d.ts +2 -3
  52. package/dist/components/CalendarInput/index.js +11 -12
  53. package/dist/components/CalendarInput/index.js.map +1 -1
  54. package/dist/components/Checkbox/index.d.ts +2 -3
  55. package/dist/components/Checkbox/index.js +9 -15
  56. package/dist/components/Checkbox/index.js.map +1 -1
  57. package/dist/components/Collapse/index.d.ts +6 -0
  58. package/dist/components/Collapse/index.js +42 -0
  59. package/dist/components/Collapse/index.js.map +1 -0
  60. package/dist/components/Collapse/types.d.ts +14 -0
  61. package/dist/components/Collapse/types.js.map +1 -0
  62. package/dist/components/DatePickerModal/index.d.ts +2 -3
  63. package/dist/components/DatePickerModal/index.js +13 -21
  64. package/dist/components/DatePickerModal/index.js.map +1 -1
  65. package/dist/components/EmptyPlaceholder/components/Button.d.ts +1 -2
  66. package/dist/components/EmptyPlaceholder/components/Button.js +2 -2
  67. package/dist/components/EmptyPlaceholder/components/Button.js.map +1 -1
  68. package/dist/components/EmptyPlaceholder/components/Content.d.ts +1 -1
  69. package/dist/components/EmptyPlaceholder/components/Content.js +6 -8
  70. package/dist/components/EmptyPlaceholder/components/Content.js.map +1 -1
  71. package/dist/components/EmptyPlaceholder/components/Illustration.d.ts +1 -2
  72. package/dist/components/EmptyPlaceholder/components/Illustration.js +2 -5
  73. package/dist/components/EmptyPlaceholder/components/Illustration.js.map +1 -1
  74. package/dist/components/EmptyPlaceholder/components/Info.d.ts +1 -2
  75. package/dist/components/EmptyPlaceholder/components/Info.js +2 -5
  76. package/dist/components/EmptyPlaceholder/components/Info.js.map +1 -1
  77. package/dist/components/EmptyPlaceholder/components/Loading.d.ts +1 -2
  78. package/dist/components/EmptyPlaceholder/components/Loading.js +3 -4
  79. package/dist/components/EmptyPlaceholder/components/Loading.js.map +1 -1
  80. package/dist/components/EmptyPlaceholder/context.d.ts +4 -5
  81. package/dist/components/EmptyPlaceholder/context.js.map +1 -1
  82. package/dist/components/EmptyPlaceholder/index.d.ts +5 -6
  83. package/dist/components/EmptyPlaceholder/index.js +2 -6
  84. package/dist/components/EmptyPlaceholder/index.js.map +1 -1
  85. package/dist/components/FileInput/index.d.ts +1 -1
  86. package/dist/components/FileInput/index.js +1 -1
  87. package/dist/components/FileInput/index.js.map +1 -1
  88. package/dist/components/Grid/index.js +11 -10
  89. package/dist/components/Grid/index.js.map +1 -1
  90. package/dist/components/Grid/types.d.ts +0 -1
  91. package/dist/components/Icon/index.d.ts +1 -2
  92. package/dist/components/Icon/index.js +3 -5
  93. package/dist/components/Icon/index.js.map +1 -1
  94. package/dist/components/Image/index.js +9 -15
  95. package/dist/components/Image/index.js.map +1 -1
  96. package/dist/components/Image/types.d.ts +1 -2
  97. package/dist/components/ImageView/Spotlight.d.ts +4 -4
  98. package/dist/components/ImageView/Spotlight.js +4 -5
  99. package/dist/components/ImageView/Spotlight.js.map +1 -1
  100. package/dist/components/ImageView/component.d.ts +1 -2
  101. package/dist/components/ImageView/component.js +4 -2
  102. package/dist/components/ImageView/component.js.map +1 -1
  103. package/dist/components/InputBase/index.js +3 -16
  104. package/dist/components/InputBase/index.js.map +1 -1
  105. package/dist/components/InputBase/types.d.ts +3 -4
  106. package/dist/components/InputBase/useInputBase.d.ts +2 -3
  107. package/dist/components/InputBase/useInputBase.js +1 -1
  108. package/dist/components/InputBase/useInputBase.js.map +1 -1
  109. package/dist/components/InputBase/useInputBasePartialStyles.js.map +1 -1
  110. package/dist/components/InputOverlay/index.d.ts +3 -4
  111. package/dist/components/InputOverlay/index.js +6 -21
  112. package/dist/components/InputOverlay/index.js.map +1 -1
  113. package/dist/components/InputOverlay/store.js.map +1 -1
  114. package/dist/components/List/index.js +5 -4
  115. package/dist/components/List/index.js.map +1 -1
  116. package/dist/components/List/types.d.ts +0 -1
  117. package/dist/components/LoadingOverlay/index.d.ts +2 -3
  118. package/dist/components/LoadingOverlay/index.js +5 -7
  119. package/dist/components/LoadingOverlay/index.js.map +1 -1
  120. package/dist/components/Modal/index.d.ts +2 -3
  121. package/dist/components/Modal/index.js +13 -39
  122. package/dist/components/Modal/index.js.map +1 -1
  123. package/dist/components/Modal/types.d.ts +0 -1
  124. package/dist/components/NumberIncrement/index.js +5 -7
  125. package/dist/components/NumberIncrement/index.js.map +1 -1
  126. package/dist/components/NumberIncrement/useNumberIncrement.d.ts +3 -4
  127. package/dist/components/NumberIncrement/useNumberIncrement.js.map +1 -1
  128. package/dist/components/Pager/PagerDots.d.ts +1 -2
  129. package/dist/components/Pager/PagerDots.js +3 -6
  130. package/dist/components/Pager/PagerDots.js.map +1 -1
  131. package/dist/components/Pager/PagerItem.d.ts +1 -2
  132. package/dist/components/Pager/PagerItem.js +3 -2
  133. package/dist/components/Pager/PagerItem.js.map +1 -1
  134. package/dist/components/Pager/index.d.ts +2 -3
  135. package/dist/components/Pager/index.js +9 -16
  136. package/dist/components/Pager/index.js.map +1 -1
  137. package/dist/components/Pager/types.d.ts +2 -2
  138. package/dist/components/PaginationIndicator/index.d.ts +2 -3
  139. package/dist/components/PaginationIndicator/index.js +3 -3
  140. package/dist/components/PaginationIndicator/index.js.map +1 -1
  141. package/dist/components/PaginationIndicator/types.d.ts +2 -3
  142. package/dist/components/PlacesAutocomplete/index.d.ts +6 -7
  143. package/dist/components/PlacesAutocomplete/index.js +11 -17
  144. package/dist/components/PlacesAutocomplete/index.js.map +1 -1
  145. package/dist/components/PlacesAutocomplete/types.d.ts +3 -4
  146. package/dist/components/RadioInput/index.d.ts +2 -3
  147. package/dist/components/RadioInput/index.js +4 -22
  148. package/dist/components/RadioInput/index.js.map +1 -1
  149. package/dist/components/RefreshControl/index.d.ts +2 -3
  150. package/dist/components/RefreshControl/index.js +2 -2
  151. package/dist/components/RefreshControl/index.js.map +1 -1
  152. package/dist/components/Scroll/index.d.ts +2 -3
  153. package/dist/components/Scroll/index.js +9 -12
  154. package/dist/components/Scroll/index.js.map +1 -1
  155. package/dist/components/SearchInput/index.d.ts +7 -4
  156. package/dist/components/SearchInput/index.js +4 -3
  157. package/dist/components/SearchInput/index.js.map +1 -1
  158. package/dist/components/SectionFilters/context.d.ts +3 -24
  159. package/dist/components/SectionFilters/index.d.ts +1 -2
  160. package/dist/components/SectionFilters/index.js +5 -7
  161. package/dist/components/SectionFilters/index.js.map +1 -1
  162. package/dist/components/SectionFilters/useSectionFilters.js.map +1 -1
  163. package/dist/components/Sections/index.d.ts +2 -3
  164. package/dist/components/Sections/index.js +5 -4
  165. package/dist/components/Sections/index.js.map +1 -1
  166. package/dist/components/Sections/types.d.ts +0 -1
  167. package/dist/components/SegmentedControl/Option.d.ts +1 -1
  168. package/dist/components/SegmentedControl/Option.js +7 -13
  169. package/dist/components/SegmentedControl/Option.js.map +1 -1
  170. package/dist/components/SegmentedControl/index.js +16 -26
  171. package/dist/components/SegmentedControl/index.js.map +1 -1
  172. package/dist/components/SegmentedControl/types.d.ts +2 -3
  173. package/dist/components/Select/index.d.ts +2 -3
  174. package/dist/components/Select/index.js +20 -25
  175. package/dist/components/Select/index.js.map +1 -1
  176. package/dist/components/Select/types.d.ts +2 -3
  177. package/dist/components/Slider/index.d.ts +2 -3
  178. package/dist/components/Slider/index.js +23 -38
  179. package/dist/components/Slider/index.js.map +1 -1
  180. package/dist/components/Slider/types.d.ts +0 -1
  181. package/dist/components/SortablePhotos/index.d.ts +2 -3
  182. package/dist/components/SortablePhotos/index.js +7 -18
  183. package/dist/components/SortablePhotos/index.js.map +1 -1
  184. package/dist/components/SortablePhotos/useSortablePhotos.d.ts +0 -2
  185. package/dist/components/SortablePhotos/useSortablePhotos.js.map +1 -1
  186. package/dist/components/Switch/index.d.ts +2 -3
  187. package/dist/components/Switch/index.js +9 -13
  188. package/dist/components/Switch/index.js.map +1 -1
  189. package/dist/components/Tabs/Context.d.ts +2 -3
  190. package/dist/components/Tabs/Context.js +2 -1
  191. package/dist/components/Tabs/Context.js.map +1 -1
  192. package/dist/components/Tabs/Panel.d.ts +1 -1
  193. package/dist/components/Tabs/Panel.js +3 -5
  194. package/dist/components/Tabs/Panel.js.map +1 -1
  195. package/dist/components/Tabs/Tab.d.ts +1 -2
  196. package/dist/components/Tabs/Tab.js +12 -16
  197. package/dist/components/Tabs/Tab.js.map +1 -1
  198. package/dist/components/Tabs/TabList.d.ts +1 -2
  199. package/dist/components/Tabs/TabList.js +2 -1
  200. package/dist/components/Tabs/TabList.js.map +1 -1
  201. package/dist/components/Tabs/index.d.ts +197 -192
  202. package/dist/components/Tabs/index.js +2 -6
  203. package/dist/components/Tabs/index.js.map +1 -1
  204. package/dist/components/Text/index.js +5 -7
  205. package/dist/components/Text/index.js.map +1 -1
  206. package/dist/components/Text/types.d.ts +2 -2
  207. package/dist/components/TextInput/index.js +13 -14
  208. package/dist/components/TextInput/index.js.map +1 -1
  209. package/dist/components/TextInput/types.d.ts +0 -1
  210. package/dist/components/TextInput/useTextInput.d.ts +2 -3
  211. package/dist/components/TimeInput/index.d.ts +2 -3
  212. package/dist/components/TimeInput/index.js +8 -12
  213. package/dist/components/TimeInput/index.js.map +1 -1
  214. package/dist/components/Touchable/index.js +5 -10
  215. package/dist/components/Touchable/index.js.map +1 -1
  216. package/dist/components/Touchable/types.d.ts +0 -1
  217. package/dist/components/View/index.d.ts +4 -6
  218. package/dist/components/View/index.js +4 -3
  219. package/dist/components/View/index.js.map +1 -1
  220. package/dist/components/View/types.d.ts +2 -3
  221. package/dist/components/components.d.ts +1 -0
  222. package/dist/components/components.js +1 -0
  223. package/dist/components/components.js.map +1 -1
  224. package/dist/index.d.ts +0 -1
  225. package/dist/index.js +0 -1
  226. package/dist/index.js.map +1 -1
  227. package/dist/modules/PressableRipple/ripple.d.ts +2 -2
  228. package/dist/modules/PressableRipple/ripple.js +4 -11
  229. package/dist/modules/PressableRipple/ripple.js.map +1 -1
  230. package/dist/modules/PressableRipple/styles.d.ts +5 -5
  231. package/dist/modules/backgroundTimer.js.map +1 -1
  232. package/dist/modules/reactNavigation.js.map +1 -1
  233. package/dist/modules/scroll.d.ts +3 -3
  234. package/dist/modules/scroll.js +3 -4
  235. package/dist/modules/scroll.js.map +1 -1
  236. package/dist/modules/textInputMask.d.ts +1 -2
  237. package/dist/types/index.d.ts +2 -3
  238. package/dist/types/utility.d.ts +2 -2
  239. package/dist/utils/NotificationManager/index.js.map +1 -1
  240. package/dist/utils/OSAlert.js.map +1 -1
  241. package/dist/utils/StorageManager.js.map +1 -1
  242. package/dist/utils/Subscription.js.map +1 -1
  243. package/dist/utils/hooks.d.ts +3 -3
  244. package/dist/utils/hooks.js.map +1 -1
  245. package/dist/utils/input.d.ts +1 -1
  246. package/dist/utils/input.js.map +1 -1
  247. package/dist/utils/misc.d.ts +0 -1
  248. package/dist/utils/misc.js.map +1 -1
  249. package/dist/utils/useQueryListRefresh.js.map +1 -1
  250. package/package.json +30 -32
  251. package/package.json.bak +14 -16
  252. package/src/components/Autocomplete/types.ts +1 -1
  253. package/src/components/Badge/types.ts +1 -1
  254. package/src/components/Collapse/index.tsx +70 -0
  255. package/src/components/Collapse/types.ts +16 -0
  256. package/src/components/FileInput/index.tsx +2 -2
  257. package/src/components/Image/types.ts +1 -1
  258. package/src/components/ImageView/Spotlight.tsx +2 -2
  259. package/src/components/ImageView/component.tsx +1 -0
  260. package/src/components/InputBase/types.ts +3 -3
  261. package/src/components/InputBase/useInputBase.ts +1 -1
  262. package/src/components/Pager/PagerItem.tsx +1 -1
  263. package/src/components/Pager/index.tsx +1 -0
  264. package/src/components/Pager/types.ts +1 -1
  265. package/src/components/PaginationIndicator/types.ts +2 -2
  266. package/src/components/PlacesAutocomplete/types.ts +3 -3
  267. package/src/components/Scroll/index.tsx +1 -1
  268. package/src/components/SearchInput/index.tsx +7 -3
  269. package/src/components/SectionFilters/index.tsx +1 -1
  270. package/src/components/SegmentedControl/types.ts +2 -2
  271. package/src/components/Select/types.ts +2 -2
  272. package/src/components/Slider/index.tsx +1 -0
  273. package/src/components/Text/types.ts +2 -2
  274. package/src/components/View/index.tsx +1 -1
  275. package/src/components/View/types.ts +2 -2
  276. package/src/components/components.ts +2 -1
  277. package/src/index.ts +0 -1
  278. package/src/modules/scroll.tsx +1 -1
  279. package/src/types/index.ts +2 -2
  280. package/src/types/utility.ts +2 -2
  281. package/src/utils/hooks.ts +3 -3
  282. package/dist/deprecated/index.d.ts +0 -2
  283. package/dist/deprecated/index.js +0 -5
  284. package/dist/deprecated/index.js.map +0 -1
  285. package/dist/deprecated/modals/Context.d.ts +0 -48
  286. package/dist/deprecated/modals/Context.js +0 -187
  287. package/dist/deprecated/modals/Context.js.map +0 -1
  288. package/dist/deprecated/modals/components.d.ts +0 -15
  289. package/dist/deprecated/modals/components.js +0 -53
  290. package/dist/deprecated/modals/components.js.map +0 -1
  291. package/dist/deprecated/modals/index.d.ts +0 -10
  292. package/dist/deprecated/modals/index.js +0 -9
  293. package/dist/deprecated/modals/index.js.map +0 -1
  294. package/dist/deprecated/permissions/Context.d.ts +0 -53
  295. package/dist/deprecated/permissions/Context.js +0 -208
  296. package/dist/deprecated/permissions/Context.js.map +0 -1
  297. package/dist/deprecated/permissions/index.d.ts +0 -5
  298. package/dist/deprecated/permissions/index.js +0 -4
  299. package/dist/deprecated/permissions/index.js.map +0 -1
  300. package/dist/deprecated/permissions/package/Manager.d.ts +0 -23
  301. package/dist/deprecated/permissions/package/Manager.js +0 -84
  302. package/dist/deprecated/permissions/package/Manager.js.map +0 -1
  303. package/dist/deprecated/permissions/package/Permission.d.ts +0 -19
  304. package/dist/deprecated/permissions/package/Permission.js +0 -65
  305. package/dist/deprecated/permissions/package/Permission.js.map +0 -1
  306. package/dist/deprecated/permissions/package/index.d.ts +0 -3
  307. package/dist/deprecated/permissions/package/index.js +0 -5
  308. package/dist/deprecated/permissions/package/index.js.map +0 -1
  309. package/dist/deprecated/permissions/package/types.d.ts +0 -31
  310. package/dist/deprecated/permissions/package/types.js +0 -2
  311. package/dist/deprecated/permissions/package/types.js.map +0 -1
  312. package/dist/deprecated/permissions/types.d.ts +0 -16
  313. package/dist/deprecated/permissions/types.js.map +0 -1
  314. package/mobile-packages.code-workspace +0 -27
  315. package/src/deprecated/index.ts +0 -2
  316. package/src/deprecated/modals/Context.tsx +0 -259
  317. package/src/deprecated/modals/components.tsx +0 -84
  318. package/src/deprecated/modals/index.ts +0 -13
  319. package/src/deprecated/permissions/Context.tsx +0 -316
  320. package/src/deprecated/permissions/index.ts +0 -16
  321. package/src/deprecated/permissions/package/Manager.ts +0 -123
  322. package/src/deprecated/permissions/package/Permission.ts +0 -79
  323. package/src/deprecated/permissions/package/index.ts +0 -3
  324. package/src/deprecated/permissions/package/types.ts +0 -43
  325. package/src/deprecated/permissions/types.ts +0 -27
  326. /package/dist/{deprecated/permissions → components/Collapse}/types.js +0 -0
@@ -1,208 +0,0 @@
1
- import React, { useContext, useState } from 'react';
2
- import { onMount, onUpdate, useDebounce } from '@codeleap/hooks';
3
- import { deepEqual } from '@codeleap/utils';
4
- import { AppState, Linking } from 'react-native';
5
- import { useModalContext } from '../modals/Context';
6
- const PermissionContext = React.createContext({});
7
- function getStatuses(state) {
8
- const statuses = Object.entries(state).map(([k, v]) => [k, v.status]);
9
- return Object.fromEntries(statuses);
10
- }
11
- export function Provider({ children, AppPermissions, modalConfig }) {
12
- const [state, setState] = useState(() => getStatuses(AppPermissions.values));
13
- onMount(() => {
14
- AppState.addEventListener('change', (state) => {
15
- if (state === 'active') {
16
- AppPermissions.update().then((vals) => {
17
- const statuses = getStatuses(vals);
18
- if (!deepEqual(statuses, state)) {
19
- setState({ ...statuses });
20
- }
21
- });
22
- }
23
- });
24
- });
25
- const setPermissionState = (forPermission, status) => {
26
- setState({
27
- ...state,
28
- [forPermission]: status
29
- });
30
- };
31
- return <PermissionContext.Provider value={{
32
- state,
33
- modalConfig: modalConfig,
34
- manager: AppPermissions,
35
- setState: setPermissionState
36
- }}>
37
- {children}
38
- </PermissionContext.Provider>;
39
- }
40
- export const usePermissions = () => {
41
- const modalCtx = useModalContext();
42
- const permissionCtx = useContext(PermissionContext);
43
- function askPermission(name, onResolve) {
44
- return new Promise((resolve, reject) => {
45
- permissionCtx.manager.get(name, {
46
- ask: false,
47
- askOnDenied: false,
48
- askOnPending: false,
49
- }).then(status => {
50
- const permissionModalName = `permissions.${name}`;
51
- if (!status.isGranted) {
52
- modalCtx.toggleModal(permissionModalName, true, {
53
- onPermissionResolve: (status) => {
54
- modalCtx.toggleModal(permissionModalName, false, {});
55
- setTimeout(() => {
56
- onResolve?.(status, permissionModalName);
57
- resolve(status);
58
- }, modalCtx.transitionDuration);
59
- },
60
- });
61
- }
62
- else {
63
- onResolve?.(status.status);
64
- resolve(status);
65
- }
66
- });
67
- });
68
- }
69
- const askMany = async (perms, onResolve, options) => {
70
- let prevModal = null;
71
- const results = {};
72
- for (const _permission of perms) {
73
- const permission = _permission.replace('?', '');
74
- const status = await permissionCtx.manager.get(permission, {
75
- ask: false,
76
- askOnDenied: false,
77
- askOnPending: false,
78
- });
79
- results[permission] = status.status;
80
- const permissionModalName = `permissions.${permission}`;
81
- if (!status.isGranted) {
82
- let onOpen = null;
83
- if (prevModal) {
84
- onOpen = () => new Promise((resolve) => {
85
- setTimeout(() => {
86
- modalCtx.transition(prevModal, permissionModalName, {
87
- props: {
88
- onPermissionResolve: (status) => {
89
- resolve(status);
90
- permissionCtx.setState(permission, status);
91
- },
92
- },
93
- });
94
- });
95
- });
96
- }
97
- else {
98
- onOpen = () => new Promise((resolve) => {
99
- setTimeout(() => {
100
- modalCtx.toggleModal(permissionModalName, true, {
101
- onPermissionResolve: (status) => {
102
- resolve(status);
103
- permissionCtx.setState(permission, status);
104
- },
105
- });
106
- });
107
- });
108
- }
109
- results[permission] = await onOpen();
110
- prevModal = permissionModalName;
111
- if (!_permission.endsWith('?') && results[permission] !== 'granted') {
112
- break;
113
- }
114
- }
115
- }
116
- if (prevModal) {
117
- setTimeout(() => {
118
- modalCtx.toggleModal(prevModal, false, {});
119
- });
120
- }
121
- const res = {
122
- ...results,
123
- overall: Object.values(results).every(x => x === 'granted') ? 'granted' : 'denied',
124
- };
125
- onResolve(res);
126
- return res;
127
- };
128
- return {
129
- askPermission,
130
- askMany,
131
- ...permissionCtx,
132
- };
133
- };
134
- export function usePermissionModal(permissionName) {
135
- const modalId = `permissions.${permissionName}`;
136
- const modals = useModalContext();
137
- const permissionCtx = usePermissions();
138
- const modalState = modals.state[modalId];
139
- const currentState = permissionCtx?.state?.[permissionName];
140
- const status = currentState;
141
- const [debouncedStatus, reset] = useDebounce(status, modals.transitionDuration * 0.5);
142
- function getConfig(withStatus) {
143
- return {
144
- ...permissionCtx.modalConfig[permissionName],
145
- ...permissionCtx.modalConfig[permissionName]?.[withStatus],
146
- };
147
- }
148
- const config = getConfig(debouncedStatus);
149
- function onPermissionResolve(_status) {
150
- modalState?.props?.onPermissionResolve?.(_status || status);
151
- }
152
- onUpdate(() => {
153
- if (modalState?.visible && !!status) {
154
- if (status === 'granted') {
155
- reset();
156
- onPermissionResolve();
157
- }
158
- else {
159
- if (!deepEqual(config, getConfig(status))) {
160
- modals.transition(modalId, modalId, {
161
- props: modalState?.props,
162
- });
163
- }
164
- }
165
- }
166
- }, [status, modalState?.visible]);
167
- async function onAllow() {
168
- switch (config.onAllow) {
169
- case 'ask':
170
- const newStatus = await permissionCtx.manager.get(permissionName, {
171
- ask: true,
172
- askOnDenied: true,
173
- askOnPending: true,
174
- });
175
- if (!newStatus.isGranted) {
176
- onPermissionResolve(newStatus.status);
177
- }
178
- break;
179
- case 'openSettings':
180
- default:
181
- Linking.openSettings();
182
- break;
183
- }
184
- }
185
- function onDeny() {
186
- onPermissionResolve();
187
- }
188
- return {
189
- onAllow,
190
- onDeny,
191
- modalId,
192
- permissionName,
193
- modalState: {
194
- ...modalState,
195
- },
196
- currentState,
197
- config,
198
- };
199
- }
200
- export function createTypedPermissionHooks(configuration) {
201
- const _usePermissions = usePermissions;
202
- const _usePermissionModal = usePermissionModal;
203
- return {
204
- usePermissions: _usePermissions,
205
- usePermissionModal: _usePermissionModal,
206
- };
207
- }
208
- //# sourceMappingURL=Context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/deprecated/permissions/Context.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { usePermissions, Provider, createTypedPermissionHooks, usePermissionModal } from './Context';
2
- import { PermissionConfig, PermissionModalsConfig } from './types';
3
- export * from './package';
4
- export { usePermissions, Provider, usePermissionModal, createTypedPermissionHooks, };
5
- export type { PermissionConfig, PermissionModalsConfig, };
@@ -1,4 +0,0 @@
1
- import { usePermissions, Provider, createTypedPermissionHooks, usePermissionModal } from './Context';
2
- export * from './package';
3
- export { usePermissions, Provider, usePermissionModal, createTypedPermissionHooks, };
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deprecated/permissions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGpG,cAAc,WAAW,CAAA;AAEzB,OAAO,EACL,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,0BAA0B,GAC3B,CAAA"}
@@ -1,23 +0,0 @@
1
- import * as PermissionTypes from './types';
2
- export declare class PermissionManager<T extends PermissionTypes.PermissionActionRecord, I extends PermissionTypes.IPermissionManager<T> = PermissionTypes.IPermissionManager<T>> implements PermissionTypes.IPermissionManager<T> {
3
- private _permissions;
4
- subscriberArgs: Parameters<PermissionTypes.ChangeListener<T>>;
5
- private subscribers;
6
- private permSubscribers;
7
- _perms: T;
8
- opts: I;
9
- private params;
10
- permissions: {
11
- [Property in keyof T as Uppercase<string & Property>]: Property;
12
- };
13
- logger: any;
14
- constructor(perms: T, options?: PermissionTypes.PermissionManagerOptions);
15
- get values(): Record<keyof T, PermissionTypes.PermissionState>;
16
- private check;
17
- getMany: I['getMany'];
18
- get: I['get'];
19
- onPermissionChange(name: keyof T, callback: PermissionTypes.PermissionSubscriber): () => void;
20
- onChange(callback: PermissionTypes.ChangeListener<T>): () => void;
21
- getState(): Record<keyof T, PermissionTypes.PermissionState>;
22
- update(): Promise<Record<keyof T, PermissionTypes.PermissionState>>;
23
- }
@@ -1,84 +0,0 @@
1
- import { Permission } from './Permission';
2
- export class PermissionManager {
3
- _permissions;
4
- subscriberArgs;
5
- subscribers;
6
- permSubscribers;
7
- _perms;
8
- opts;
9
- params;
10
- permissions;
11
- logger;
12
- constructor(perms, options) {
13
- this.params = perms;
14
- // @ts-ignore
15
- this._permissions = {};
16
- // @ts-ignore
17
- this.permissions = {};
18
- this.logger = options?.logger;
19
- this.permSubscribers = {};
20
- for (const [permName, actions] of Object.entries(this.params)) {
21
- const name = permName;
22
- this._permissions[name] = new Permission({ ...actions, log: this.logger?.log || (() => null) }, permName);
23
- this.permSubscribers[name] = [];
24
- // @ts-ignore
25
- this.permissions[name.toUpperCase()] = name;
26
- }
27
- this.subscribers = [];
28
- }
29
- get values() {
30
- return this._permissions;
31
- }
32
- async check(name, options) {
33
- const previousStatus = this._permissions[name].status;
34
- await this._permissions[name].check(options);
35
- if (this._permissions[name].status !== previousStatus) {
36
- this.permSubscribers[name].forEach(sub => sub(this._permissions[name]));
37
- this.subscribers.forEach(sub => sub(name, this._permissions[name]));
38
- }
39
- return this._permissions[name];
40
- }
41
- getMany = async (perms, options) => {
42
- const results = [];
43
- for (const p of perms) {
44
- const isArray = Array.isArray(p);
45
- const name = isArray ? p[0] : p;
46
- const opts = isArray ? p[1] : options;
47
- results.push(await this.check(name, opts));
48
- }
49
- return results;
50
- };
51
- // @ts-ignore
52
- get = async (name, options) => {
53
- return await this.check(name, options);
54
- };
55
- onPermissionChange(name, callback) {
56
- const subIdx = this.permSubscribers[name].push(callback) - 1;
57
- return () => {
58
- this.permSubscribers[name].splice(subIdx, 1);
59
- };
60
- }
61
- onChange(callback) {
62
- const subIdx = this.subscribers.push(callback) - 1;
63
- return () => {
64
- this.subscribers.splice(subIdx, 1);
65
- };
66
- }
67
- getState() {
68
- const state = {};
69
- for (const [p, { ask: _ig2, check: _ig1, ...values }] of Object.entries(this._permissions)) {
70
- state[p] = { ...values };
71
- }
72
- return state;
73
- }
74
- async update() {
75
- const res = {};
76
- for (const p of Object.keys(this._permissions)) {
77
- res[p] = await this.check(p, {
78
- ask: false,
79
- });
80
- }
81
- return res;
82
- }
83
- }
84
- //# sourceMappingURL=Manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../../../src/deprecated/permissions/package/Manager.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { AnyFunction } from '@codeleap/types';
2
- import * as PermissionTypes from './types';
3
- export declare class Permission implements PermissionTypes.IPermission {
4
- private actions;
5
- name: string;
6
- status: PermissionTypes.PermissionStatus;
7
- shouldAsk: boolean;
8
- constructor(actions: PermissionTypes.PermissionActions & {
9
- log?: AnyFunction;
10
- }, name?: string);
11
- ask(): Promise<void>;
12
- check(options?: PermissionTypes.CheckOptions): Promise<void>;
13
- get isGranted(): boolean;
14
- get isDenied(): boolean;
15
- get isPending(): boolean;
16
- get isBlocked(): boolean;
17
- get isUnavailable(): boolean;
18
- get isLimited(): boolean;
19
- }
@@ -1,65 +0,0 @@
1
- const SCOPE = 'Permissions';
2
- export class Permission {
3
- actions;
4
- name;
5
- status;
6
- shouldAsk;
7
- constructor(actions, name = '') {
8
- this.actions = actions;
9
- this.name = name;
10
- this.actions = actions;
11
- this.shouldAsk = true;
12
- this.status = 'pending';
13
- }
14
- async ask() {
15
- const newState = await this.actions.onAsk();
16
- this.actions.log(`Request for permission ${this.name} returned`, newState, SCOPE);
17
- this.status = newState;
18
- if (newState === 'blocked') {
19
- this.shouldAsk = false;
20
- }
21
- }
22
- async check(options) {
23
- const _options = {
24
- askOnPending: true,
25
- askOnDenied: false,
26
- ask: true,
27
- ...options,
28
- };
29
- this.status = await this.actions.onCheck();
30
- this.actions.log(`Check for permission ${this.name} returned`, this.status, SCOPE);
31
- if (!_options.ask)
32
- return;
33
- switch (this.status) {
34
- case 'denied':
35
- if (_options.askOnDenied) {
36
- await this.ask();
37
- }
38
- break;
39
- case 'pending':
40
- if (_options.askOnPending) {
41
- await this.ask();
42
- }
43
- break;
44
- }
45
- }
46
- get isGranted() {
47
- return this.status === 'granted';
48
- }
49
- get isDenied() {
50
- return this.status === 'denied';
51
- }
52
- get isPending() {
53
- return this.status === 'pending';
54
- }
55
- get isBlocked() {
56
- return this.status === 'blocked';
57
- }
58
- get isUnavailable() {
59
- return this.status === 'unavailable';
60
- }
61
- get isLimited() {
62
- return this.status === 'limited';
63
- }
64
- }
65
- //# sourceMappingURL=Permission.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/deprecated/permissions/package/Permission.ts"],"names":[],"mappings":"AAGA,MAAM,KAAK,GAAG,aAAa,CAAA;AAE3B,MAAM,OAAO,UAAU;IAKD;IAA2E;IAJ/F,MAAM,CAAkC;IAExC,SAAS,CAAS;IAElB,YAAoB,OAAkE,EAAS,OAAO,EAAE;QAApF,YAAO,GAAP,OAAO,CAA2D;QAAS,SAAI,GAAJ,IAAI,CAAK;QACtG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IAEzB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,IAAI,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QAEtB,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;SACvB;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAsC;QAChD,MAAM,QAAQ,GAAiC;YAC7C,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,IAAI;YACT,GAAG,OAAO;SACX,CAAA;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,IAAI,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAClF,IAAI,CAAC,QAAQ,CAAC,GAAG;YAAE,OAAM;QAEzB,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,QAAQ;gBACX,IAAI,QAAQ,CAAC,WAAW,EAAE;oBACxB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;iBACjB;gBACD,MAAK;YACP,KAAK,SAAS;gBACZ,IAAI,QAAQ,CAAC,YAAY,EAAE;oBACzB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;iBACjB;gBACD,MAAK;SACR;IACH,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAA;IAClC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAA;IACjC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAA;IAClC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAA;IAClC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,KAAK,aAAa,CAAA;IAEtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAA;IAElC,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export * as PermissionTypes from './types';
2
- export * from './Permission';
3
- export * from './Manager';
@@ -1,5 +0,0 @@
1
- import * as PermissionTypes_1 from './types';
2
- export { PermissionTypes_1 as PermissionTypes };
3
- export * from './Permission';
4
- export * from './Manager';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/deprecated/permissions/package/index.ts"],"names":[],"mappings":"mCAAiC,SAAS;8BAA9B,eAAe;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
@@ -1,31 +0,0 @@
1
- import { FunctionType } from '@codeleap/types';
2
- export declare const permissionStatuses: readonly ["unavailable", "pending", "denied", "limited", "granted", "blocked"];
3
- export type PermissionStatus = typeof permissionStatuses[number];
4
- export type PermissionState = {
5
- status: PermissionStatus;
6
- shouldAsk: boolean;
7
- } & Record<`is${Capitalize<PermissionStatus>}`, boolean>;
8
- export type CheckOptions = {
9
- askOnPending?: boolean;
10
- askOnDenied?: boolean;
11
- ask?: boolean;
12
- };
13
- export type IPermission = {
14
- ask(): Promise<void>;
15
- check(options?: CheckOptions): Promise<void>;
16
- } & PermissionState;
17
- export type PermFunction = FunctionType<[], Promise<PermissionStatus>>;
18
- export type PermissionActions = Record<'onAsk' | 'onCheck', PermFunction> & {
19
- init?: 'check' | PermissionState;
20
- };
21
- export type PermissionActionRecord = Record<string, PermissionActions>;
22
- export interface IPermissionManager<T extends PermissionActionRecord> {
23
- getMany(perms: PermissionArray<T>, options?: CheckOptions): Promise<PermissionState[]>;
24
- get(name: keyof T, options?: CheckOptions): Promise<PermissionState>;
25
- }
26
- export type ChangeListener<T> = FunctionType<[keyof T, PermissionState], any>;
27
- export type PermissionSubscriber = FunctionType<[PermissionState], any>;
28
- export type PermissionArray<T> = ([name: keyof T, options: CheckOptions])[] | (keyof T)[];
29
- export type PermissionManagerOptions = {
30
- logger?: any;
31
- };
@@ -1,2 +0,0 @@
1
- export const permissionStatuses = ['unavailable', 'pending', 'denied', 'limited', 'granted', 'blocked'];
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/deprecated/permissions/package/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAU,CAAA"}
@@ -1,16 +0,0 @@
1
- import { ImageProps } from '../../components/Image';
2
- import { PermissionTypes } from './package';
3
- type NonGrantedPermissionTypes = Exclude<PermissionTypes.PermissionStatus, 'granted'>;
4
- export type BasePermissionConfig = {
5
- fullscreenModal?: boolean;
6
- dismissable?: boolean;
7
- title: string;
8
- onAllow: 'openSettings' | 'ask';
9
- description: string[];
10
- icon?: string;
11
- image?: ImageProps['source'];
12
- imageProps?: Omit<ImageProps, 'source'>;
13
- };
14
- export type PermissionConfig = BasePermissionConfig & Partial<Record<NonGrantedPermissionTypes, Partial<BasePermissionConfig>>>;
15
- export type PermissionModalsConfig<PermissionNames extends string | number | symbol> = Partial<Record<PermissionNames, PermissionConfig>>;
16
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/deprecated/permissions/types.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- {
2
- "folders": [
3
- {
4
- "path": "."
5
- }
6
- ],
7
- "settings": {
8
- "eslint.alwaysShowStatus": true,
9
- "todohighlight.keywords": [
10
- "TODO",
11
- "NOTES",
12
- "NOTE",
13
- "FIXME",
14
- "HACK",
15
- "DISCUSS",
16
- "WTF",
17
- "REFACTOR"
18
- ],
19
- "todohighlight.defaultStyle": {
20
- "color": "red",
21
- "border": "2px solid #aaa",
22
- "backgroundColor": "#faea00",
23
- "fontWeight": "bold",
24
- "borderRadius": "3px"
25
- }
26
- }
27
- }
@@ -1,2 +0,0 @@
1
- export * as Permissions from './permissions'
2
- export * as Modals from './permissions'