@codeleap/mobile 5.0.6 → 5.0.8
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.
- package/dist/components/DatePickerModal/index.js +1 -3
- package/dist/components/DatePickerModal/index.js.map +1 -1
- package/dist/components/DatePickerModal/types.d.ts +1 -0
- package/dist/components/InputBase/useInputBase.js +4 -11
- package/dist/components/InputBase/useInputBase.js.map +1 -1
- package/dist/components/NumberIncrement/index.js +4 -2
- package/dist/components/NumberIncrement/index.js.map +1 -1
- package/dist/components/NumberIncrement/useNumberIncrement.js +13 -13
- package/dist/components/NumberIncrement/useNumberIncrement.js.map +1 -1
- package/dist/components/PaginationIndicator/index.d.ts +2 -0
- package/dist/components/PaginationIndicator/index.js +2 -0
- package/dist/components/PaginationIndicator/index.js.map +1 -1
- package/dist/components/SegmentedControl/index.js +3 -3
- package/dist/components/SegmentedControl/index.js.map +1 -1
- package/dist/components/TextInput/index.js +2 -2
- package/dist/components/TextInput/index.js.map +1 -1
- package/dist/deprecated/index.d.ts +1 -0
- package/dist/deprecated/index.js +3 -0
- package/dist/deprecated/index.js.map +1 -0
- package/dist/{utils/PermissionManager/context.d.ts → deprecated/permissions/Context.d.ts} +2 -2
- package/dist/{utils/PermissionManager/context.js → deprecated/permissions/Context.js} +2 -2
- package/dist/deprecated/permissions/Context.js.map +1 -0
- package/dist/{utils/PermissionManager → deprecated/permissions}/index.d.ts +2 -1
- package/dist/{utils/PermissionManager → deprecated/permissions}/index.js +2 -1
- package/dist/deprecated/permissions/index.js.map +1 -0
- package/dist/{utils/MobilePermissionManager/PermissionManager.js → deprecated/permissions/package/Manager.js} +1 -1
- package/dist/deprecated/permissions/package/Manager.js.map +1 -0
- package/dist/deprecated/permissions/package/Permission.js.map +1 -0
- package/dist/{utils/MobilePermissionManager → deprecated/permissions/package}/index.d.ts +1 -1
- package/dist/{utils/MobilePermissionManager → deprecated/permissions/package}/index.js +1 -1
- package/dist/deprecated/permissions/package/index.js.map +1 -0
- package/dist/deprecated/permissions/package/types.js.map +1 -0
- package/dist/{utils/PermissionManager → deprecated/permissions}/types.d.ts +1 -1
- package/dist/deprecated/permissions/types.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +4 -0
- package/dist/hooks/useAppState.js +16 -0
- package/dist/hooks/useAppState.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/hooks.d.ts +1 -4
- package/dist/utils/hooks.js +2 -15
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.js +0 -3
- package/dist/utils/index.js.map +1 -1
- package/package.json +15 -17
- package/package.json.bak +1 -3
- package/src/components/DatePickerModal/index.tsx +1 -2
- package/src/components/DatePickerModal/types.ts +1 -0
- package/src/components/InputBase/useInputBase.ts +6 -12
- package/src/components/NumberIncrement/index.tsx +5 -3
- package/src/components/NumberIncrement/useNumberIncrement.ts +15 -15
- package/src/components/PaginationIndicator/index.tsx +3 -0
- package/src/components/SegmentedControl/index.tsx +5 -3
- package/src/components/TextInput/index.tsx +2 -2
- package/src/deprecated/index.ts +1 -0
- package/src/{utils/PermissionManager/context.tsx → deprecated/permissions/Context.tsx} +19 -19
- package/src/{utils/PermissionManager → deprecated/permissions}/index.ts +4 -8
- package/src/{utils/MobilePermissionManager/PermissionManager.ts → deprecated/permissions/package/Manager.ts} +11 -11
- package/src/{utils/MobilePermissionManager → deprecated/permissions/package}/Permission.ts +4 -4
- package/src/{utils/MobilePermissionManager → deprecated/permissions/package}/index.ts +1 -1
- package/src/{utils/MobilePermissionManager → deprecated/permissions/package}/types.ts +12 -12
- package/src/deprecated/permissions/types.ts +27 -0
- package/src/hooks/index.ts +2 -1
- package/src/hooks/useAppState.ts +23 -0
- package/src/index.ts +1 -0
- package/src/utils/hooks.ts +2 -18
- package/src/utils/index.ts +1 -6
- package/dist/utils/MobilePermissionManager/Permission.js.map +0 -1
- package/dist/utils/MobilePermissionManager/PermissionManager.js.map +0 -1
- package/dist/utils/MobilePermissionManager/index.js.map +0 -1
- package/dist/utils/MobilePermissionManager/types.js.map +0 -1
- package/dist/utils/PermissionManager/context.js.map +0 -1
- package/dist/utils/PermissionManager/index.js.map +0 -1
- package/dist/utils/PermissionManager/types.js.map +0 -1
- package/src/utils/PermissionManager/types.ts +0 -27
- /package/dist/{utils/MobilePermissionManager/PermissionManager.d.ts → deprecated/permissions/package/Manager.d.ts} +0 -0
- /package/dist/{utils/MobilePermissionManager → deprecated/permissions/package}/Permission.d.ts +0 -0
- /package/dist/{utils/MobilePermissionManager → deprecated/permissions/package}/Permission.js +0 -0
- /package/dist/{utils/MobilePermissionManager → deprecated/permissions/package}/types.d.ts +0 -0
- /package/dist/{utils/MobilePermissionManager → deprecated/permissions/package}/types.js +0 -0
- /package/dist/{utils/PermissionManager → deprecated/permissions}/types.js +0 -0
package/dist/utils/hooks.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { onUpdate, usePrevious, useRef, useState } from '@codeleap/hooks';
|
|
2
2
|
import { shadeColor } from '@codeleap/utils';
|
|
3
3
|
import { TypeGuards } from '@codeleap/types';
|
|
4
|
-
import { Animated,
|
|
4
|
+
import { Animated, Platform, BackHandler, StyleSheet } from 'react-native';
|
|
5
5
|
import { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';
|
|
6
6
|
import { useMemo } from 'react';
|
|
7
7
|
import { mergeStyles } from '@codeleap/styles';
|
|
@@ -31,19 +31,6 @@ export function useAnimateColor(value, opts) {
|
|
|
31
31
|
});
|
|
32
32
|
return color;
|
|
33
33
|
}
|
|
34
|
-
export function useAppState(filter) {
|
|
35
|
-
const [appState, setAppState] = useState(() => AppState.currentState);
|
|
36
|
-
onMount(() => {
|
|
37
|
-
AppState.addEventListener('change', s => {
|
|
38
|
-
if (!filter || filter.includes(s)) {
|
|
39
|
-
setAppState(s);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
return {
|
|
44
|
-
appState,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
34
|
export function useStaticAnimationStyles(obj, keys) {
|
|
48
35
|
const styles = useRef({});
|
|
49
36
|
if (Object.keys(styles.current).length === 0) {
|
package/dist/utils/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAoC,UAAU,EAAa,MAAM,cAAc,CAAA;AACvH,OAAO,EAAqB,MAAM,EAAY,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE3G,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,IAA8C;IAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,CAAA;IAE3B,QAAQ,CAAC,GAAG,EAAE;QACZ,6BAA6B;QAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YACtC,GAAG,IAAI;YACP,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC;YAC1B,eAAe,EAAE,KAAK;SAEvB,CAAC,CAAA;QACF,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;YACnB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,IAAI,EAAE,CAAA;QAElB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;QAC1B,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;KAC/C,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAEd,CAAC;AAMD,MAAM,UAAU,wBAAwB,CAAkE,GAAM,EAAE,IAAS;IACzH,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAEzB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAExD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;KAClD;IAED,OAAO,MAAM,CAAC,OAAiC,CAAA;AACjD,CAAC;AAoBD,MAAM,kBAAkB,GAAG,CAAC,QAA8B,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IACrG,SAAS,CAAA;IACT,MAAM,QAAQ,GAAG,EAAE,GAAG,YAAY,EAAE,CAAA;IAEpC,QAAQ,QAAQ,EAAE;QAChB,KAAK,SAAS;YACZ,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YACjC,MAAK;QACP,KAAK,iBAAiB;YACpB,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YACzC,MAAK;QACP,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACvB,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAA;aACxB;YACD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;gBACtB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAA;QACJ;YACE,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAC1B,MAAK;KACR;IAED,OAAO,QAAQ,CAAA;AAEjB,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE;IACrD,SAAS,CAAA;IACT,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACtD,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAA;QAEvD,MAAM,iBAAiB,GAAG;YACxB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,gBAAgB;SACpB,CAAA;QAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAA;QAEpD,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAEjB,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ;gBACX,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE;oBACxB,QAAQ;oBACR,MAAM;iBACP,CAAC,CAAA;gBACF,MAAK;YACP;gBACE,MAAK;SACR;QAED,MAAM,GAAG,kBAAkB,CACzB,IAA4B,EAC5B,KAAK,EACL,MAAM,EACN,EAAE,CACH,CAAA;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,UAAU,wBAAwB,CAAkE,MAA4C;IACpJ,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAEjG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEhC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QACxB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;KACnE;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA;IAEhF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;QAEvC,MAAM,SAAS,GAAG,mBAAmB,CACnC,SAAS,EACT,WAAW,CAAC,OAAO,CACpB,CAAA;QAED,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,YAAY,CAAC,CAAA;IAEhB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAgCD,MAAM,UAAU,oBAAoB,CAAC,MAAW,EAAE,MAAiC;IACjF,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,oBAAoB,GAAG,iBAAiB,EACxC,qBAAqB,GAAG,iBAAiB,GAC1C,GAAG,MAAM,CAAA;IACV,MAAM,eAAe,GAAG;QACtB,GAAG,cAAc;KAClB,CAAA;IACD,IAAI,KAAK,CAAA;IAET,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC/B,KAAK,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,CAAA;KACvC;SAAM,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACrC,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAA;KAC5D;SAAM;QACL,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAA;KACzD;IAED,MAAM,eAAe,GAAG,QAAQ,CAAA;IAChC,MAAM,aAAa,GAAG,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAA;IAC5E,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnE,SAAS,gBAAgB,CAAC,OAAe;QACvC,IAAI,eAAe;YAAE,OAAO,EAAE,CAAA;QAC9B,IAAI,cAAc,GAAG,EAAE,GAAG,eAAe,EAAE,CAAA;QAE3C,IAAI,aAAa,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE;YAChH,cAAc,GAAG,cAAc,EAAE,WAAW,CAAA;SAC7C;QACD,QAAQ,cAAc,CAAC,IAAI,EAAE;YAC3B,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,IAAI,oBAAoB,KAAK,qBAAqB;oBAAE,OAAO,EAAE,CAAA;gBACzE,IAAI,qBAAqB,GAAG,KAAK,IAAI,OAAO,CAAA;gBAC5C,IAAI,OAAO,EAAE;oBACX,IAAI,cAAc,EAAE,KAAK,EAAE;wBACzB,qBAAqB,GAAG,cAAc,EAAE,KAAK,CAAA;qBAC9C;yBAAM;wBACL,IAAI,OAAO,GAAG,cAAc,EAAE,YAAY,CAAA;wBAC1C,IAAI,UAAU,GAAG,cAAc,EAAE,UAAU,CAAA;wBAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;4BACjC,OAAO,GAAG,CAAC,CAAA;yBACZ;wBACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;4BACpC,UAAU,GAAG,CAAC,CAAA;yBACf;wBACD,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,EAAE,UAAU,GAAG,GAAG,EAAE,OAAO,CAAC,CAAA;qBACrF;iBACF;gBACD,OAAO;oBACL,CAAC,qBAAqB,CAAC,EAAE,qBAAqB;iBAC/C,CAAA;gBACD,MAAK;YACP,KAAK,SAAS;gBACZ,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC7C,CAAA;YACH,KAAK,QAAQ;gBACX,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9C,KAAK,MAAM;gBACT,OAAO,EAAE,CAAA;SACZ;IACH,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,YAAY;KACb,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAsB,EAAE,IAAI,GAAG,EAAE;IAC7D,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,YAAY,GAAG,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC1E,MAAM,YAAY,GAAG,EAAE,EAAE,CAAA;YAEzB,IAAI,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;gBACtC,OAAO,YAAY,CAAA;aACpB;YAED,OAAO,KAAK,CAAA;QAEd,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,MAAM,EAAE,CAAA;QACvB,CAAC,CAAA;IACH,CAAC,EAAE,IAAI,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAmB,EAAE,OAAO,GAAG,IAAI;IACzE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAA;IAErD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC,EAAE,MAAM,CAAC,CAAA;IAEV,MAAM,aAAa,GAAG,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAE7G,MAAM,YAAY,GAAG,MAAM,GAAG,aAAa,CAAA;IAE3C,OAAO,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrG,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ export * from './hooks';
|
|
|
3
3
|
export * from './misc';
|
|
4
4
|
export * from './NotificationManager';
|
|
5
5
|
export * from './ModalManager';
|
|
6
|
-
import * as Permissions from './PermissionManager';
|
|
7
|
-
export { Permissions };
|
|
8
6
|
export * from './KeyboardAware';
|
|
9
7
|
export * from './input';
|
|
10
8
|
export * from './theme';
|
|
@@ -12,4 +10,3 @@ export * from './locale';
|
|
|
12
10
|
export * from './Subscription';
|
|
13
11
|
export * from './useQueryListRefresh';
|
|
14
12
|
export * from './StorageManager';
|
|
15
|
-
export * from './MobilePermissionManager';
|
package/dist/utils/index.js
CHANGED
|
@@ -3,8 +3,6 @@ export * from './hooks';
|
|
|
3
3
|
export * from './misc';
|
|
4
4
|
export * from './NotificationManager';
|
|
5
5
|
export * from './ModalManager';
|
|
6
|
-
import * as Permissions from './PermissionManager';
|
|
7
|
-
export { Permissions };
|
|
8
6
|
export * from './KeyboardAware';
|
|
9
7
|
export * from './input';
|
|
10
8
|
export * from './theme';
|
|
@@ -12,5 +10,4 @@ export * from './locale';
|
|
|
12
10
|
export * from './Subscription';
|
|
13
11
|
export * from './useQueryListRefresh';
|
|
14
12
|
export * from './StorageManager';
|
|
15
|
-
export * from './MobilePermissionManager';
|
|
16
13
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeleap/mobile",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.8",
|
|
4
4
|
"main": "src/index.ts",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"repository": {
|
|
@@ -9,28 +9,26 @@
|
|
|
9
9
|
"directory": "packages/mobile"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"@codeleap/types": "5.0.
|
|
13
|
-
"@codeleap/utils": "5.0.
|
|
14
|
-
"@codeleap/hooks": "5.0.
|
|
15
|
-
"@codeleap/form": "5.0.
|
|
16
|
-
"@codeleap/
|
|
17
|
-
"@codeleap/
|
|
18
|
-
"@codeleap/
|
|
19
|
-
"@codeleap/config": "5.0.6"
|
|
12
|
+
"@codeleap/types": "5.0.8",
|
|
13
|
+
"@codeleap/utils": "5.0.8",
|
|
14
|
+
"@codeleap/hooks": "5.0.8",
|
|
15
|
+
"@codeleap/form": "5.0.8",
|
|
16
|
+
"@codeleap/query": "5.0.8",
|
|
17
|
+
"@codeleap/logger": "5.0.8",
|
|
18
|
+
"@codeleap/config": "5.0.8"
|
|
20
19
|
},
|
|
21
20
|
"scripts": {
|
|
22
21
|
"build": "tsc --build",
|
|
23
22
|
"lint": "eslint -c .eslintrc.js --fix \"./src/**/*.{ts,tsx,js,jsx}\""
|
|
24
23
|
},
|
|
25
24
|
"peerDependencies": {
|
|
26
|
-
"@codeleap/types": "5.0.
|
|
27
|
-
"@codeleap/utils": "5.0.
|
|
28
|
-
"@codeleap/hooks": "5.0.
|
|
29
|
-
"@codeleap/form": "5.0.
|
|
30
|
-
"@codeleap/
|
|
31
|
-
"@codeleap/
|
|
32
|
-
"@codeleap/
|
|
33
|
-
"@codeleap/styles": "5.0.6",
|
|
25
|
+
"@codeleap/types": "5.0.8",
|
|
26
|
+
"@codeleap/utils": "5.0.8",
|
|
27
|
+
"@codeleap/hooks": "5.0.8",
|
|
28
|
+
"@codeleap/form": "5.0.8",
|
|
29
|
+
"@codeleap/query": "5.0.8",
|
|
30
|
+
"@codeleap/logger": "5.0.8",
|
|
31
|
+
"@codeleap/styles": "5.0.8",
|
|
34
32
|
"@d11/react-native-fast-image": "8.8.0",
|
|
35
33
|
"@react-native-firebase/messaging": "21.7.2",
|
|
36
34
|
"@react-navigation/bottom-tabs": "7.2.0",
|
package/package.json.bak
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeleap/mobile",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.8",
|
|
4
4
|
"main": "src/index.ts",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"repository": {
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"@codeleap/utils": "workspace:*",
|
|
14
14
|
"@codeleap/hooks": "workspace:*",
|
|
15
15
|
"@codeleap/form": "workspace:*",
|
|
16
|
-
"@codeleap/i18n": "workspace:*",
|
|
17
16
|
"@codeleap/query": "workspace:*",
|
|
18
17
|
"@codeleap/logger": "workspace:*",
|
|
19
18
|
"@codeleap/config": "workspace:*"
|
|
@@ -27,7 +26,6 @@
|
|
|
27
26
|
"@codeleap/utils": "workspace:*",
|
|
28
27
|
"@codeleap/hooks": "workspace:*",
|
|
29
28
|
"@codeleap/form": "workspace:*",
|
|
30
|
-
"@codeleap/i18n": "workspace:*",
|
|
31
29
|
"@codeleap/query": "workspace:*",
|
|
32
30
|
"@codeleap/logger": "workspace:*",
|
|
33
31
|
"@codeleap/styles": "workspace:*",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useMemo, useRef } from 'react'
|
|
2
2
|
import { TypeGuards } from '@codeleap/types'
|
|
3
3
|
import { useConditionalState } from '@codeleap/hooks'
|
|
4
|
-
import { useI18N } from '@codeleap/i18n'
|
|
5
4
|
import DatePicker from 'react-native-date-picker'
|
|
6
5
|
import Modal from '../Modal'
|
|
7
6
|
import { TextInput } from '../TextInput'
|
|
@@ -116,6 +115,7 @@ export const DatePickerModal = (props: DatePickerModalProps) => {
|
|
|
116
115
|
onConfirm: _onConfirm,
|
|
117
116
|
value: _value,
|
|
118
117
|
onValueChange: _onValueChange,
|
|
118
|
+
locale,
|
|
119
119
|
...modalProps
|
|
120
120
|
} = allProps
|
|
121
121
|
|
|
@@ -134,7 +134,6 @@ export const DatePickerModal = (props: DatePickerModalProps) => {
|
|
|
134
134
|
const compositionStyles = useCompositionStyles(['input', 'doneButton', 'cancelButton', 'confirmButton'], styles)
|
|
135
135
|
|
|
136
136
|
const formattedDate = value ? formatDate(value) : ''
|
|
137
|
-
const { locale } = useI18N()
|
|
138
137
|
|
|
139
138
|
const tempDate = useRef<Date | null>(initialDate instanceof Date ? initialDate : new Date(initialDate))
|
|
140
139
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useRef } from 'react'
|
|
2
|
-
import { View, TextInput
|
|
1
|
+
import { useMemo, useRef } from 'react'
|
|
2
|
+
import { View, TextInput } from 'react-native'
|
|
3
3
|
import { useWrappingScrollable } from '../../modules/scroll'
|
|
4
4
|
import { Field, IFieldRef, fields, useField } from '@codeleap/form'
|
|
5
5
|
import { AnyRecord } from '@codeleap/types'
|
|
@@ -11,7 +11,9 @@ export function useInputBase<V, T extends Field<V, any, any, unknown> = Field<V
|
|
|
11
11
|
params: Partial<IFieldRef<V>> = {},
|
|
12
12
|
deps: any[] = []
|
|
13
13
|
) {
|
|
14
|
-
const
|
|
14
|
+
const [value, onValueChange] = customState
|
|
15
|
+
|
|
16
|
+
const hasState = useMemo(() => customState.filter(Boolean)?.length >= 1, [])
|
|
15
17
|
|
|
16
18
|
const wrapperRef = useRef<View>()
|
|
17
19
|
|
|
@@ -38,15 +40,7 @@ export function useInputBase<V, T extends Field<V, any, any, unknown> = Field<V
|
|
|
38
40
|
...params,
|
|
39
41
|
},
|
|
40
42
|
deps
|
|
41
|
-
] as unknown as Parameters<T['use']>, () => defaultField(hasState ? {
|
|
42
|
-
state: {
|
|
43
|
-
get: () => customState[0],
|
|
44
|
-
set: (val: V) => customState[1](val),
|
|
45
|
-
value: customState[0],
|
|
46
|
-
listen: () => {},
|
|
47
|
-
},
|
|
48
|
-
validate: () => ({ isValid: true })
|
|
49
|
-
} : {}))
|
|
43
|
+
] as unknown as Parameters<T['use']>, () => defaultField(hasState ? { onValueChange, defaultValue: value } : {}))
|
|
50
44
|
|
|
51
45
|
const validation = fieldHandle.validation
|
|
52
46
|
|
|
@@ -12,7 +12,7 @@ import { MobileStyleRegistry } from '../../Registry'
|
|
|
12
12
|
import { useStylesFor } from '../../hooks'
|
|
13
13
|
import CurrencyInput from 'react-native-currency-input'
|
|
14
14
|
import { useInputBasePartialStyles } from '../InputBase/useInputBasePartialStyles'
|
|
15
|
-
import { useNumberIncrement } from './useNumberIncrement'
|
|
15
|
+
import { MAX_VALID_DIGITS, useNumberIncrement } from './useNumberIncrement'
|
|
16
16
|
|
|
17
17
|
export * from './styles'
|
|
18
18
|
export * from './types'
|
|
@@ -179,10 +179,10 @@ export const NumberIncrement = forwardRef<NativeTextInput, NumberIncrementProps>
|
|
|
179
179
|
allowFontScaling={false}
|
|
180
180
|
editable={!disabled}
|
|
181
181
|
placeholderTextColor={partialStyles?.placeholder?.color}
|
|
182
|
-
value={isFormatted ? formatter(fieldHandle?.value ?? min) : String(fieldHandle?.value ?? min)}
|
|
183
182
|
selectionColor={partialStyles?.selection?.color}
|
|
184
|
-
onChangeText={handleChangeInput}
|
|
185
183
|
{...textInputProps}
|
|
184
|
+
onChangeText={handleChangeInput}
|
|
185
|
+
value={isFormatted ? formatter(fieldHandle?.value ?? min) : String(fieldHandle?.value ?? min)}
|
|
186
186
|
onBlur={handleBlur}
|
|
187
187
|
onFocus={handleFocus}
|
|
188
188
|
style={[styles.input, partialStyles.input]}
|
|
@@ -220,6 +220,8 @@ NumberIncrement.defaultProps = {
|
|
|
220
220
|
timeoutActionFocus: 300,
|
|
221
221
|
actionPressAutoFocus: true,
|
|
222
222
|
actionDebounce: null,
|
|
223
|
+
min: 0,
|
|
224
|
+
max: MAX_VALID_DIGITS
|
|
223
225
|
} as Partial<NumberIncrementProps>
|
|
224
226
|
|
|
225
227
|
MobileStyleRegistry.registerComponent(NumberIncrement)
|
|
@@ -38,6 +38,16 @@ export function useNumberIncrement(props: Partial<NumberIncrementProps>) {
|
|
|
38
38
|
[value, onValueChange]
|
|
39
39
|
)
|
|
40
40
|
|
|
41
|
+
const incrementDisabled = useMemo(() => {
|
|
42
|
+
const maxLimit = TypeGuards.isNumber(max) && (Number(fieldHandle?.value) >= max)
|
|
43
|
+
return maxLimit
|
|
44
|
+
}, [fieldHandle?.value])
|
|
45
|
+
|
|
46
|
+
const decrementDisabled = useMemo(() => {
|
|
47
|
+
const minLimit = TypeGuards.isNumber(min) && (Number(fieldHandle?.value) <= min)
|
|
48
|
+
return minLimit
|
|
49
|
+
}, [fieldHandle?.value])
|
|
50
|
+
|
|
41
51
|
const actionTimeoutRef = useRef(null)
|
|
42
52
|
|
|
43
53
|
const clearActionTimeoutRef = useCallback(() => {
|
|
@@ -64,7 +74,7 @@ export function useNumberIncrement(props: Partial<NumberIncrementProps>) {
|
|
|
64
74
|
setIsFocused(false)
|
|
65
75
|
}, timeoutActionFocus)
|
|
66
76
|
}
|
|
67
|
-
}, [fieldHandle?.value])
|
|
77
|
+
}, [fieldHandle?.value, incrementDisabled, decrementDisabled])
|
|
68
78
|
|
|
69
79
|
const checkValue = useCallback((newValue: number = null, withLimits = true) => {
|
|
70
80
|
const value = newValue ?? fieldHandle?.value
|
|
@@ -87,14 +97,14 @@ export function useNumberIncrement(props: Partial<NumberIncrementProps>) {
|
|
|
87
97
|
}
|
|
88
98
|
|
|
89
99
|
return value
|
|
90
|
-
}, [])
|
|
100
|
+
}, [fieldHandle?.value])
|
|
91
101
|
|
|
92
102
|
const handleBlur = useCallback((e: NativeSyntheticEvent<TextInputFocusEventData>) => {
|
|
93
103
|
fieldHandle.setValue(checkValue())
|
|
94
104
|
validation.onInputBlurred()
|
|
95
105
|
setIsFocused(false)
|
|
96
106
|
onBlur?.(e)
|
|
97
|
-
}, [validation.onInputBlurred, onBlur])
|
|
107
|
+
}, [validation.onInputBlurred, onBlur, checkValue])
|
|
98
108
|
|
|
99
109
|
const handleFocus = useCallback((e: NativeSyntheticEvent<TextInputFocusEventData>) => {
|
|
100
110
|
clearActionTimeoutRef()
|
|
@@ -108,22 +118,12 @@ export function useNumberIncrement(props: Partial<NumberIncrementProps>) {
|
|
|
108
118
|
fieldHandle.setValue(value)
|
|
109
119
|
|
|
110
120
|
return value
|
|
111
|
-
}, [])
|
|
121
|
+
}, [checkValue])
|
|
112
122
|
|
|
113
123
|
const handleMaskChange = useCallback((masked, unmasked) => {
|
|
114
124
|
handleChangeInput?.(masked)
|
|
115
125
|
if (onChangeMask) onChangeMask(masked, unmasked)
|
|
116
|
-
}, [onChangeMask])
|
|
117
|
-
|
|
118
|
-
const incrementDisabled = useMemo(() => {
|
|
119
|
-
const maxLimit = TypeGuards.isNumber(max) && (Number(fieldHandle?.value) >= max)
|
|
120
|
-
return maxLimit
|
|
121
|
-
}, [fieldHandle?.value])
|
|
122
|
-
|
|
123
|
-
const decrementDisabled = useMemo(() => {
|
|
124
|
-
const minLimit = TypeGuards.isNumber(min) && (Number(fieldHandle?.value) <= min)
|
|
125
|
-
return minLimit
|
|
126
|
-
}, [fieldHandle?.value])
|
|
126
|
+
}, [onChangeMask, handleChangeInput])
|
|
127
127
|
|
|
128
128
|
const hasValue = TypeGuards.isString(fieldHandle?.value)
|
|
129
129
|
? (fieldHandle?.value as string).length > 0
|
|
@@ -7,6 +7,9 @@ import { MobileStyleRegistry } from '../../Registry'
|
|
|
7
7
|
import { useStylesFor } from '../../hooks'
|
|
8
8
|
import { PaginationIndicatorProps } from './types'
|
|
9
9
|
|
|
10
|
+
export * from './styles'
|
|
11
|
+
export * from './types'
|
|
12
|
+
|
|
10
13
|
export const PaginationIndicator = (props: PaginationIndicatorProps) => {
|
|
11
14
|
const {
|
|
12
15
|
hasMore,
|
|
@@ -131,9 +131,11 @@ export const SegmentedControl = React.forwardRef<SegmentedControlRef, SegmentedC
|
|
|
131
131
|
|
|
132
132
|
return (
|
|
133
133
|
<View style={styles?.wrapper}>
|
|
134
|
-
|
|
135
|
-
<
|
|
136
|
-
|
|
134
|
+
{label ? (
|
|
135
|
+
<View {...viewProps} style={styles?.labelWrapper}>
|
|
136
|
+
<Text style={styles?.labelText} text={label} />
|
|
137
|
+
</View>
|
|
138
|
+
) : null}
|
|
137
139
|
|
|
138
140
|
<ScrollView
|
|
139
141
|
horizontal
|
|
@@ -40,7 +40,6 @@ export const TextInput = forwardRef<NativeTextInput, TextInputProps>((props, inp
|
|
|
40
40
|
autoAdjustSelection,
|
|
41
41
|
selectionStart,
|
|
42
42
|
forceError,
|
|
43
|
-
onChangeText,
|
|
44
43
|
multiline,
|
|
45
44
|
...textInputProps
|
|
46
45
|
} = others
|
|
@@ -130,12 +129,13 @@ export const TextInput = forwardRef<NativeTextInput, TextInputProps>((props, inp
|
|
|
130
129
|
{...buttonModeProps}
|
|
131
130
|
selection={autoAdjustSelection ? currentSelection : undefined}
|
|
132
131
|
placeholderTextColor={partialStyles?.placeholder?.color}
|
|
133
|
-
value={fieldHandle?.value}
|
|
134
132
|
selectionColor={partialStyles?.selection?.color}
|
|
135
133
|
secureTextEntry={secure && secureTextEntry}
|
|
136
134
|
textAlignVertical={multiline ? 'top' : undefined}
|
|
137
135
|
multiline={multiline}
|
|
138
136
|
{...textInputProps}
|
|
137
|
+
value={fieldHandle?.value}
|
|
138
|
+
onChangeText={fieldHandle?.setValue}
|
|
139
139
|
onBlur={handleBlur}
|
|
140
140
|
onFocus={handleFocus}
|
|
141
141
|
style={[
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Permissions from './permissions'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { useContext, useState } from 'react'
|
|
2
|
-
import { useModalContext } from '
|
|
2
|
+
import { useModalContext } from '../../utils/ModalManager/context'
|
|
3
3
|
import { onMount, onUpdate, useDebounce, usePrevious } from '@codeleap/hooks'
|
|
4
4
|
import { deepEqual } from '@codeleap/utils'
|
|
5
5
|
import { AppState, Linking } from 'react-native'
|
|
6
6
|
import { PermissionConfig, PermissionModalsConfig } from './types'
|
|
7
|
-
import { PermissionManager, PermissionTypes } from '
|
|
7
|
+
import { PermissionManager, PermissionTypes } from './package'
|
|
8
8
|
|
|
9
9
|
type TPermissionContext = {
|
|
10
10
|
state: Record<string, PermissionTypes.PermissionStatus>
|
|
@@ -26,7 +26,7 @@ function getStatuses(state: PermissionsRecord) {
|
|
|
26
26
|
return Object.fromEntries(statuses)
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export function Provider({ children, AppPermissions, modalConfig }:PermissionProviderProps) {
|
|
29
|
+
export function Provider({ children, AppPermissions, modalConfig }: PermissionProviderProps) {
|
|
30
30
|
|
|
31
31
|
const [state, setState] = useState(() => getStatuses(AppPermissions.values))
|
|
32
32
|
|
|
@@ -50,7 +50,7 @@ export function Provider({ children, AppPermissions, modalConfig }:PermissionPro
|
|
|
50
50
|
...state,
|
|
51
51
|
[forPermission]: status
|
|
52
52
|
})
|
|
53
|
-
}
|
|
53
|
+
}
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
return <PermissionContext.Provider value={{
|
|
@@ -63,29 +63,29 @@ export function Provider({ children, AppPermissions, modalConfig }:PermissionPro
|
|
|
63
63
|
</PermissionContext.Provider>
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
type TAskManyResults<T extends string> =Record<T, PermissionTypes.PermissionStatus> & {
|
|
66
|
+
type TAskManyResults<T extends string> = Record<T, PermissionTypes.PermissionStatus> & {
|
|
67
67
|
overall
|
|
68
68
|
: PermissionTypes.PermissionStatus
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
type AskManyOpts<T extends string|number|symbol
|
|
71
|
+
type AskManyOpts<T extends string | number | symbol> = {
|
|
72
72
|
breakOnDenied?: T[]
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
export type UsePermissions<
|
|
76
76
|
_PermissionNames extends string,
|
|
77
77
|
PermissionNames extends string = `${_PermissionNames}?` | _PermissionNames> = () => TPermissionContext & {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
78
|
+
askPermission: (name: PermissionNames, onResolve?: (status: PermissionTypes.PermissionStatus) => any) => Promise<PermissionTypes.PermissionStatus>
|
|
79
|
+
askMany<T extends PermissionNames, R = TAskManyResults<T>>(
|
|
80
|
+
perms: T[],
|
|
81
|
+
onResolve?: (res: R) => any,
|
|
82
|
+
options?: AskManyOpts<T>
|
|
83
|
+
): Promise<
|
|
84
|
+
R
|
|
85
|
+
>
|
|
86
|
+
}
|
|
87
87
|
|
|
88
|
-
export const usePermissions:UsePermissions<any> = () => {
|
|
88
|
+
export const usePermissions: UsePermissions<any> = () => {
|
|
89
89
|
const modalCtx = useModalContext()
|
|
90
90
|
const permissionCtx = useContext(PermissionContext)
|
|
91
91
|
|
|
@@ -122,7 +122,7 @@ export const usePermissions:UsePermissions<any> = () => {
|
|
|
122
122
|
|
|
123
123
|
const askMany = async (
|
|
124
124
|
perms: any[],
|
|
125
|
-
onResolve?: (res:any) => any,
|
|
125
|
+
onResolve?: (res: any) => any,
|
|
126
126
|
options?: AskManyOpts<any>,
|
|
127
127
|
) => {
|
|
128
128
|
|
|
@@ -186,7 +186,7 @@ export const usePermissions:UsePermissions<any> = () => {
|
|
|
186
186
|
modalCtx.toggleModal(prevModal, false, {})
|
|
187
187
|
})
|
|
188
188
|
}
|
|
189
|
-
const res:Parameters<typeof onResolve>[0] = {
|
|
189
|
+
const res: Parameters<typeof onResolve>[0] = {
|
|
190
190
|
...results,
|
|
191
191
|
overall: Object.values(results).every(x => x === 'granted') ? 'granted' : 'denied',
|
|
192
192
|
}
|
|
@@ -313,4 +313,4 @@ export function createTypedPermissionHooks<
|
|
|
313
313
|
usePermissionModal: _usePermissionModal,
|
|
314
314
|
|
|
315
315
|
}
|
|
316
|
-
}
|
|
316
|
+
}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import { usePermissions, Provider, createTypedPermissionHooks, usePermissionModal } from './
|
|
2
|
-
import {
|
|
1
|
+
import { usePermissions, Provider, createTypedPermissionHooks, usePermissionModal } from './Context'
|
|
2
|
+
import { PermissionConfig, PermissionModalsConfig } from './types'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
PermissionModalsConfig,
|
|
4
|
+
export * from './package'
|
|
6
5
|
|
|
7
|
-
} from './types'
|
|
8
6
|
export {
|
|
9
7
|
usePermissions,
|
|
10
8
|
Provider,
|
|
11
9
|
usePermissionModal,
|
|
12
10
|
createTypedPermissionHooks,
|
|
13
|
-
|
|
14
11
|
}
|
|
15
12
|
|
|
16
13
|
export type {
|
|
17
|
-
|
|
18
14
|
PermissionConfig,
|
|
19
15
|
PermissionModalsConfig,
|
|
20
|
-
}
|
|
16
|
+
}
|
|
@@ -3,12 +3,12 @@ import { Permission } from './Permission'
|
|
|
3
3
|
import * as PermissionTypes from './types'
|
|
4
4
|
|
|
5
5
|
export class PermissionManager<
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
T extends PermissionTypes.PermissionActionRecord,
|
|
7
|
+
I extends PermissionTypes.IPermissionManager<T> = PermissionTypes.IPermissionManager<T>
|
|
8
8
|
> implements PermissionTypes.IPermissionManager<T> {
|
|
9
|
-
private _permissions:Record<keyof T, Permission>
|
|
9
|
+
private _permissions: Record<keyof T, Permission>
|
|
10
10
|
|
|
11
|
-
subscriberArgs:Parameters<PermissionTypes.ChangeListener<T>>
|
|
11
|
+
subscriberArgs: Parameters<PermissionTypes.ChangeListener<T>>
|
|
12
12
|
|
|
13
13
|
private subscribers: PermissionTypes.ChangeListener<T>[]
|
|
14
14
|
|
|
@@ -21,8 +21,8 @@ export class PermissionManager<
|
|
|
21
21
|
private params: T
|
|
22
22
|
|
|
23
23
|
public permissions: {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
[Property in keyof T as Uppercase<string & Property>]: Property
|
|
25
|
+
}
|
|
26
26
|
|
|
27
27
|
logger: Logger
|
|
28
28
|
|
|
@@ -65,7 +65,7 @@ export class PermissionManager<
|
|
|
65
65
|
return this._permissions[name]
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
getMany:I['getMany'] = async (perms, options) => {
|
|
68
|
+
getMany: I['getMany'] = async (perms, options) => {
|
|
69
69
|
|
|
70
70
|
const results = []
|
|
71
71
|
|
|
@@ -81,11 +81,11 @@ export class PermissionManager<
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
// @ts-ignore
|
|
84
|
-
get:I['get'] = async (name, options) => {
|
|
84
|
+
get: I['get'] = async (name, options) => {
|
|
85
85
|
return await this.check(name, options)
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
onPermissionChange(name: keyof T, callback:PermissionTypes.PermissionSubscriber) {
|
|
88
|
+
onPermissionChange(name: keyof T, callback: PermissionTypes.PermissionSubscriber) {
|
|
89
89
|
const subIdx = this.permSubscribers[name].push(callback) - 1
|
|
90
90
|
|
|
91
91
|
return () => {
|
|
@@ -93,7 +93,7 @@ export class PermissionManager<
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
onChange(callback:PermissionTypes.ChangeListener<T>) {
|
|
96
|
+
onChange(callback: PermissionTypes.ChangeListener<T>) {
|
|
97
97
|
const subIdx = this.subscribers.push(callback) - 1
|
|
98
98
|
|
|
99
99
|
return () => {
|
|
@@ -121,4 +121,4 @@ export class PermissionManager<
|
|
|
121
121
|
return res
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
}
|
|
124
|
+
}
|
|
@@ -8,7 +8,7 @@ export class Permission implements PermissionTypes.IPermission {
|
|
|
8
8
|
|
|
9
9
|
shouldAsk: boolean
|
|
10
10
|
|
|
11
|
-
constructor(private actions:PermissionTypes.PermissionActions & {log?: AnyFunction}, public name = '') {
|
|
11
|
+
constructor(private actions: PermissionTypes.PermissionActions & { log?: AnyFunction }, public name = '') {
|
|
12
12
|
this.actions = actions
|
|
13
13
|
this.shouldAsk = true
|
|
14
14
|
this.status = 'pending'
|
|
@@ -25,8 +25,8 @@ export class Permission implements PermissionTypes.IPermission {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
async check(options?:PermissionTypes.CheckOptions): Promise<void> {
|
|
29
|
-
const _options:PermissionTypes.CheckOptions = {
|
|
28
|
+
async check(options?: PermissionTypes.CheckOptions): Promise<void> {
|
|
29
|
+
const _options: PermissionTypes.CheckOptions = {
|
|
30
30
|
askOnPending: true,
|
|
31
31
|
askOnDenied: false,
|
|
32
32
|
ask: true,
|
|
@@ -76,4 +76,4 @@ export class Permission implements PermissionTypes.IPermission {
|
|
|
76
76
|
return this.status === 'limited'
|
|
77
77
|
|
|
78
78
|
}
|
|
79
|
-
}
|
|
79
|
+
}
|