@codeleap/mobile 2.1.8 → 2.2.0
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/AutoComplete/styles.js +1 -2
- package/dist/components/AutoComplete/styles.js.map +1 -1
- package/dist/components/Drawer/index.js +13 -2
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/Drawer/styles.js +3 -5
- package/dist/components/Drawer/styles.js.map +1 -1
- package/dist/components/EmptyPlaceholder/styles.js +1 -1
- package/dist/components/EmptyPlaceholder/styles.js.map +1 -1
- package/dist/components/Grid/index.d.ts +3 -1
- package/dist/components/Grid/index.js +19 -4
- package/dist/components/Grid/index.js.map +1 -1
- package/dist/components/ImageView/Spotlight.js +1 -2
- package/dist/components/ImageView/Spotlight.js.map +1 -1
- package/dist/components/List/index.d.ts +2 -1
- package/dist/components/List/index.js +19 -5
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Modal/index.d.ts +4 -2
- package/dist/components/Modal/index.js +11 -3
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/Modal/styles.d.ts +1 -1
- package/dist/components/Modal/styles.js +15 -15
- package/dist/components/Modal/styles.js.map +1 -1
- package/dist/components/MultiSelect/index.js +8 -7
- package/dist/components/MultiSelect/index.js.map +1 -1
- package/dist/components/MultiSelect/types.d.ts +1 -0
- package/dist/components/Pager/styles.js +7 -7
- package/dist/components/Pager/styles.js.map +1 -1
- package/dist/components/Scroll/index.d.ts +4 -2
- package/dist/components/Scroll/index.js +20 -6
- package/dist/components/Scroll/index.js.map +1 -1
- package/dist/components/SegmentedControl/index.js +1 -1
- package/dist/components/SegmentedControl/index.js.map +1 -1
- package/dist/components/Select/index.js +20 -6
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/styles.js +2 -0
- package/dist/components/Select/styles.js.map +1 -1
- package/dist/components/Select/types.d.ts +3 -1
- package/dist/components/legacy/Modal/index.d.ts +2 -1
- package/dist/components/legacy/Modal/index.js +1 -1
- package/dist/components/legacy/Modal/index.js.map +1 -1
- package/dist/components/legacy/Modal/styles.js +9 -9
- package/dist/components/legacy/Modal/styles.js.map +1 -1
- package/dist/utils/KeyboardAware/index.d.ts +1 -0
- package/dist/utils/KeyboardAware/index.js +1 -0
- package/dist/utils/KeyboardAware/index.js.map +1 -1
- package/dist/utils/KeyboardAware/keyboardHooks.d.ts +30 -0
- package/dist/utils/KeyboardAware/keyboardHooks.js +113 -0
- package/dist/utils/KeyboardAware/keyboardHooks.js.map +1 -0
- package/dist/utils/KeyboardAware/lib/KeyboardAwareHOC.d.ts +1 -1
- package/dist/utils/PermissionManager/context.d.ts +2 -2
- package/dist/utils/PermissionManager/context.js +25 -29
- package/dist/utils/PermissionManager/context.js.map +1 -1
- package/dist/utils/hooks.d.ts +1 -0
- package/dist/utils/hooks.js +17 -1
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/input.d.ts +35 -0
- package/dist/utils/input.js +49 -0
- package/dist/utils/input.js.map +1 -0
- package/package.json +1 -1
- package/src/components/AutoComplete/styles.ts +1 -2
- package/src/components/Drawer/index.tsx +11 -1
- package/src/components/Drawer/styles.ts +4 -4
- package/src/components/EmptyPlaceholder/styles.ts +1 -1
- package/src/components/Grid/index.tsx +28 -18
- package/src/components/ImageView/Spotlight.tsx +0 -1
- package/src/components/List/index.tsx +31 -24
- package/src/components/Modal/index.tsx +18 -7
- package/src/components/Modal/styles.ts +38 -27
- package/src/components/MultiSelect/index.tsx +8 -8
- package/src/components/MultiSelect/types.ts +1 -0
- package/src/components/Pager/styles.ts +7 -7
- package/src/components/Scroll/index.tsx +37 -24
- package/src/components/SegmentedControl/index.tsx +1 -0
- package/src/components/Select/index.tsx +20 -14
- package/src/components/Select/styles.ts +2 -0
- package/src/components/Select/types.ts +3 -1
- package/src/components/legacy/Modal/index.tsx +3 -2
- package/src/components/legacy/Modal/styles.ts +17 -17
- package/src/utils/KeyboardAware/index.ts +1 -0
- package/src/utils/KeyboardAware/keyboardHooks.ts +155 -0
- package/src/utils/PermissionManager/context.tsx +31 -22
- package/src/utils/hooks.ts +19 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/input.ts +51 -0
|
@@ -19,8 +19,8 @@ declare type AskManyOpts<T extends string | number | symbol> = {
|
|
|
19
19
|
breakOnDenied?: T[];
|
|
20
20
|
};
|
|
21
21
|
export declare type UsePermissions<_PermissionNames extends string, PermissionNames extends string = `${_PermissionNames}?` | _PermissionNames> = () => TPermissionContext & {
|
|
22
|
-
askPermission: (name: PermissionNames, onResolve?: (status: PermissionTypes.PermissionStatus) => any) =>
|
|
23
|
-
askMany<T extends PermissionNames, R = TAskManyResults<T>>(perms: T[], onResolve?: (res: R) => any, options?: AskManyOpts<T>): Promise<
|
|
22
|
+
askPermission: (name: PermissionNames, onResolve?: (status: PermissionTypes.PermissionStatus) => any) => Promise<PermissionTypes.PermissionStatus>;
|
|
23
|
+
askMany<T extends PermissionNames, R = TAskManyResults<T>>(perms: T[], onResolve?: (res: R) => any, options?: AskManyOpts<T>): Promise<R>;
|
|
24
24
|
};
|
|
25
25
|
export declare const usePermissions: UsePermissions<any>;
|
|
26
26
|
export declare function usePermissionModal(permissionName: string): {
|
|
@@ -111,38 +111,33 @@ var usePermissions = function () {
|
|
|
111
111
|
var modalCtx = mobile_1.ModalManager.useModalContext();
|
|
112
112
|
var permissionCtx = (0, react_1.useContext)(PermissionContext);
|
|
113
113
|
function askPermission(name, onResolve) {
|
|
114
|
-
return
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
onResolve === null || onResolve === void 0 ? void 0 : onResolve(status.status);
|
|
138
|
-
}
|
|
139
|
-
return [2 /*return*/];
|
|
114
|
+
return new Promise(function (resolve, reject) {
|
|
115
|
+
permissionCtx.manager.get(name, {
|
|
116
|
+
ask: false,
|
|
117
|
+
askOnDenied: false,
|
|
118
|
+
askOnPending: false,
|
|
119
|
+
}).then(function (status) {
|
|
120
|
+
var permissionModalName = "permissions.".concat(name);
|
|
121
|
+
if (!status.isGranted) {
|
|
122
|
+
modalCtx.toggleModal(permissionModalName, true, {
|
|
123
|
+
onPermissionResolve: function (status) {
|
|
124
|
+
modalCtx.toggleModal(permissionModalName, false, {});
|
|
125
|
+
setTimeout(function () {
|
|
126
|
+
onResolve === null || onResolve === void 0 ? void 0 : onResolve(status, permissionModalName);
|
|
127
|
+
resolve(status);
|
|
128
|
+
}, modalCtx.transitionDuration);
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
onResolve === null || onResolve === void 0 ? void 0 : onResolve(status.status);
|
|
134
|
+
resolve(status);
|
|
140
135
|
}
|
|
141
136
|
});
|
|
142
137
|
});
|
|
143
138
|
}
|
|
144
139
|
var askMany = function (perms, onResolve, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
145
|
-
var prevModal, results, _loop_1, _i, perms_1, _permission, state_1;
|
|
140
|
+
var prevModal, results, _loop_1, _i, perms_1, _permission, state_1, res;
|
|
146
141
|
return __generator(this, function (_a) {
|
|
147
142
|
switch (_a.label) {
|
|
148
143
|
case 0:
|
|
@@ -223,8 +218,9 @@ var usePermissions = function () {
|
|
|
223
218
|
modalCtx.toggleModal(prevModal, false, {});
|
|
224
219
|
});
|
|
225
220
|
}
|
|
226
|
-
|
|
227
|
-
|
|
221
|
+
res = __assign(__assign({}, results), { overall: Object.values(results).every(function (x) { return x === 'granted'; }) ? 'granted' : 'denied' });
|
|
222
|
+
onResolve(res);
|
|
223
|
+
return [2 /*return*/, res];
|
|
228
224
|
}
|
|
229
225
|
});
|
|
230
226
|
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/utils/PermissionManager/context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmD;AACnD,2CAA+C;AAC/C,2CAA6H;AAC7H,6CAAgD;AAShD,IAAM,iBAAiB,GAAG,eAAK,CAAC,aAAa,CAAC,EAAwB,CAAC,CAAA;AAQvE,SAAS,WAAW,CAAC,KAAwB;IAC3C,IAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAC,EAAM;YAAL,CAAC,QAAA,EAAE,CAAC,QAAA;QAAM,OAAA,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IAAb,CAAa,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,QAAQ,CAAC,EAAiE;QAA/D,QAAQ,cAAA,EAAE,cAAc,oBAAA,EAAE,WAAW,iBAAA;IAExD,IAAA,KAAoB,IAAA,gBAAQ,EAAC,cAAM,OAAA,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,EAAlC,CAAkC,CAAC,EAArE,KAAK,QAAA,EAAE,QAAQ,QAAsD,CAAA;IAE5E,IAAA,gBAAO,EAAC;QAEN,uBAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,KAAK;YACxC,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACtB,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;oBAChC,IAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;oBAClC,IAAI,CAAC,IAAA,kBAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;wBAC/B,QAAQ,cAAM,QAAQ,EAAG,CAAA;qBAC1B;gBACH,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAC,CAAA;IAEJ,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,OAAA;YACL,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,cAAc;SACxB,CAAC,CACA;IAAA,CAAC,QAAQ,CACX;EAAA,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AA1BD,4BA0BC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/utils/PermissionManager/context.tsx"],"names":[],"mappings":"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"}
|
package/dist/utils/hooks.d.ts
CHANGED
package/dist/utils/hooks.js
CHANGED
|
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.usePressableFeedback = exports.useStaticAnimationStyles = exports.useAppState = exports.useAnimateColor = void 0;
|
|
14
|
+
exports.useBackButton = exports.usePressableFeedback = exports.useStaticAnimationStyles = exports.useAppState = exports.useAnimateColor = void 0;
|
|
15
15
|
var common_1 = require("@codeleap/common");
|
|
16
16
|
var react_native_1 = require("react-native");
|
|
17
17
|
function useAnimateColor(value, opts) {
|
|
@@ -112,4 +112,20 @@ function usePressableFeedback(styles, config) {
|
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
exports.usePressableFeedback = usePressableFeedback;
|
|
115
|
+
function useBackButton(cb, deps) {
|
|
116
|
+
if (deps === void 0) { deps = []; }
|
|
117
|
+
(0, common_1.onUpdate)(function () {
|
|
118
|
+
var subscription = react_native_1.BackHandler.addEventListener('hardwareBackPress', function () {
|
|
119
|
+
var stopBubbling = cb();
|
|
120
|
+
if (common_1.TypeGuards.isBoolean(stopBubbling)) {
|
|
121
|
+
return stopBubbling;
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
});
|
|
125
|
+
return function () {
|
|
126
|
+
subscription.remove();
|
|
127
|
+
};
|
|
128
|
+
}, deps);
|
|
129
|
+
}
|
|
130
|
+
exports.useBackButton = useBackButton;
|
|
115
131
|
//# sourceMappingURL=hooks.js.map
|
package/dist/utils/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAA2G;AAC3G,
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/utils/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -35,4 +35,5 @@ __exportStar(require("./ModalManager"), exports);
|
|
|
35
35
|
var Permissions = __importStar(require("./PermissionManager"));
|
|
36
36
|
exports.Permissions = Permissions;
|
|
37
37
|
__exportStar(require("./KeyboardAware"), exports);
|
|
38
|
+
__exportStar(require("./input"), exports);
|
|
38
39
|
//# 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,4CAAyB;AACzB,0CAAuB;AACvB,yCAAsB;AACtB,kDAA+B;AAC/B,iDAA8B;AAC9B,+DAAkD;AAEzC,kCAAW;AACpB,kDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,0CAAuB;AACvB,yCAAsB;AACtB,kDAA+B;AAC/B,iDAA8B;AAC9B,+DAAkD;AAEzC,kCAAW;AACpB,kDAA+B;AAC/B,0CAAuB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare const mobileInputPresets: {
|
|
2
|
+
email: () => {
|
|
3
|
+
keyboardType: "email-address";
|
|
4
|
+
autoCapitalize: "none";
|
|
5
|
+
autoComplete: "email";
|
|
6
|
+
textContentType: "emailAddress";
|
|
7
|
+
};
|
|
8
|
+
name: () => {
|
|
9
|
+
autoCapitalize: "words";
|
|
10
|
+
autoComplete: "name";
|
|
11
|
+
textContentType: "name";
|
|
12
|
+
};
|
|
13
|
+
chat: () => {
|
|
14
|
+
returnKeyType: "send";
|
|
15
|
+
};
|
|
16
|
+
password: (options?: {
|
|
17
|
+
new?: boolean;
|
|
18
|
+
}) => {
|
|
19
|
+
autoCapitalize: "none";
|
|
20
|
+
autoComplete: "password" | "password-new";
|
|
21
|
+
textContentType: "password" | "newPassword";
|
|
22
|
+
};
|
|
23
|
+
search: () => {
|
|
24
|
+
returnKeyType: "search";
|
|
25
|
+
};
|
|
26
|
+
redeemCode: (action?: 'join' | 'obtain') => {
|
|
27
|
+
returnKeyType: "join";
|
|
28
|
+
textContentType: "oneTimeCode";
|
|
29
|
+
autoComplete: "sms-otp";
|
|
30
|
+
} | {
|
|
31
|
+
returnKeyType: "done";
|
|
32
|
+
textContentType: "oneTimeCode";
|
|
33
|
+
autoComplete: "sms-otp";
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mobileInputPresets = void 0;
|
|
4
|
+
var createInputPresets = function (p) {
|
|
5
|
+
return p;
|
|
6
|
+
};
|
|
7
|
+
exports.mobileInputPresets = createInputPresets({
|
|
8
|
+
email: function () { return ({
|
|
9
|
+
keyboardType: 'email-address',
|
|
10
|
+
autoCapitalize: 'none',
|
|
11
|
+
autoComplete: 'email',
|
|
12
|
+
textContentType: 'emailAddress',
|
|
13
|
+
}); },
|
|
14
|
+
name: function () { return ({
|
|
15
|
+
autoCapitalize: 'words',
|
|
16
|
+
autoComplete: 'name',
|
|
17
|
+
textContentType: 'name',
|
|
18
|
+
}); },
|
|
19
|
+
chat: function () { return ({
|
|
20
|
+
returnKeyType: 'send',
|
|
21
|
+
}); },
|
|
22
|
+
password: function (options) {
|
|
23
|
+
return {
|
|
24
|
+
autoCapitalize: 'none',
|
|
25
|
+
autoComplete: (options === null || options === void 0 ? void 0 : options.new) ? 'password-new' : 'password',
|
|
26
|
+
textContentType: (options === null || options === void 0 ? void 0 : options.new) ? 'newPassword' : 'password',
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
search: function () { return ({
|
|
30
|
+
returnKeyType: 'search',
|
|
31
|
+
}); },
|
|
32
|
+
redeemCode: function (action) {
|
|
33
|
+
if (action === void 0) { action = 'obtain'; }
|
|
34
|
+
var isJoin = action === 'join';
|
|
35
|
+
if (isJoin) {
|
|
36
|
+
return {
|
|
37
|
+
returnKeyType: 'join',
|
|
38
|
+
textContentType: 'oneTimeCode',
|
|
39
|
+
autoComplete: 'sms-otp',
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
returnKeyType: 'done',
|
|
44
|
+
textContentType: 'oneTimeCode',
|
|
45
|
+
autoComplete: 'sms-otp',
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":";;;AAEA,IAAM,kBAAkB,GAAG,UAAuE,CAAG;IACnG,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAEY,QAAA,kBAAkB,GAAG,kBAAkB,CAAC;IACnD,KAAK,EAAE,cAAM,OAAA,CAAC;QACZ,YAAY,EAAE,eAAe;QAC7B,cAAc,EAAE,MAAM;QACtB,YAAY,EAAE,OAAO;QACrB,eAAe,EAAE,cAAc;KAEhC,CAAC,EANW,CAMX;IACF,IAAI,EAAE,cAAM,OAAA,CAAC;QACX,cAAc,EAAE,OAAO;QACvB,YAAY,EAAE,MAAM;QACpB,eAAe,EAAE,MAAM;KAExB,CAAC,EALU,CAKV;IACF,IAAI,EAAE,cAAM,OAAA,CAAC;QACX,aAAa,EAAE,MAAM;KAEtB,CAAC,EAHU,CAGV;IACF,QAAQ,EAAE,UAAC,OAAyB;QAClC,OAAO;YACL,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;YACxD,eAAe,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;SAC3D,CAAA;IACH,CAAC;IACD,MAAM,EAAE,cAAM,OAAA,CAAC;QACb,aAAa,EAAE,QAAQ;KACxB,CAAC,EAFY,CAEZ;IACF,UAAU,EAAE,UAAC,MAAiC;QAAjC,uBAAA,EAAA,iBAAiC;QAC5C,IAAM,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;QAChC,IAAI,MAAM,EAAE;YACV,OAAO;gBACL,aAAa,EAAE,MAAM;gBACrB,eAAe,EAAE,aAAa;gBAC9B,YAAY,EAAE,SAAS;aACxB,CAAA;SACF;QACD,OAAO;YACL,aAAa,EAAE,MAAM;YACrB,eAAe,EAAE,aAAa;YAC9B,YAAY,EAAE,SAAS;SACxB,CAAA;IAEH,CAAC;CACF,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -19,8 +19,7 @@ export const AutoCompleteStyles = {
|
|
|
19
19
|
...theme.presets.alignStart,
|
|
20
20
|
},
|
|
21
21
|
box: {
|
|
22
|
-
|
|
23
|
-
maxHeight: theme.values.height * 0.85,
|
|
22
|
+
maxHeight: theme.values.window.height * 0.85,
|
|
24
23
|
},
|
|
25
24
|
listContent: {
|
|
26
25
|
...theme.presets.safeAreaBottom(0, true),
|
|
@@ -8,7 +8,7 @@ export * from './styles'
|
|
|
8
8
|
export type DrawerProps = Omit<ModalProps, 'variants'> & ComponentVariants<typeof DrawerStyles>
|
|
9
9
|
|
|
10
10
|
export const Drawer:React.FC<DrawerProps> = (props) => {
|
|
11
|
-
const { variants, styles, ...modalProps } = props
|
|
11
|
+
const { variants, styles, scrollProps, ...modalProps } = props
|
|
12
12
|
|
|
13
13
|
const variantStyles = useDefaultComponentStyle('u:Drawer', {
|
|
14
14
|
variants,
|
|
@@ -18,7 +18,17 @@ export const Drawer:React.FC<DrawerProps> = (props) => {
|
|
|
18
18
|
|
|
19
19
|
return <Modal
|
|
20
20
|
styles={variantStyles}
|
|
21
|
+
scroll={false}
|
|
21
22
|
|
|
22
23
|
{...modalProps}
|
|
24
|
+
scrollProps={{
|
|
25
|
+
...scrollProps,
|
|
26
|
+
keyboardAware: {
|
|
27
|
+
adapt: 'height',
|
|
28
|
+
baseStyleProp: 'style',
|
|
29
|
+
|
|
30
|
+
...scrollProps?.keyboardAware,
|
|
31
|
+
},
|
|
32
|
+
}}
|
|
23
33
|
/>
|
|
24
34
|
}
|
|
@@ -13,15 +13,15 @@ export const DrawerStyles = {
|
|
|
13
13
|
...defaultStyle,
|
|
14
14
|
box: {
|
|
15
15
|
width: '100%',
|
|
16
|
-
maxHeight: theme.values.height * 0.
|
|
17
|
-
|
|
16
|
+
maxHeight: theme.values.window.height * 0.99,
|
|
17
|
+
|
|
18
18
|
},
|
|
19
|
-
|
|
19
|
+
innerWrapper: {
|
|
20
20
|
...theme.presets.justifyEnd,
|
|
21
21
|
},
|
|
22
22
|
|
|
23
23
|
'box:hidden': {
|
|
24
|
-
translateY: theme.values.height,
|
|
24
|
+
translateY: theme.values.window.height,
|
|
25
25
|
opacity: 1,
|
|
26
26
|
scale: 1,
|
|
27
27
|
},
|
|
@@ -11,7 +11,7 @@ import { View, ViewProps } from '../View'
|
|
|
11
11
|
import { EmptyPlaceholder, EmptyPlaceholderProps } from '../EmptyPlaceholder'
|
|
12
12
|
import { GridComposition, GridStyles } from './styles'
|
|
13
13
|
import { StylesOf } from '../../types'
|
|
14
|
-
import {
|
|
14
|
+
import { GetKeyboardAwarePropsOptions, useKeyboardAwareView } from '../../utils'
|
|
15
15
|
|
|
16
16
|
export type DataboundFlatGridPropsTypes = 'data' | 'renderItem' | 'keyExtractor' | 'getItemLayout'
|
|
17
17
|
|
|
@@ -28,8 +28,6 @@ export type ReplaceFlatGridProps<P, T> = Omit<P, DataboundFlatGridPropsTypes> &
|
|
|
28
28
|
|
|
29
29
|
export * from './styles'
|
|
30
30
|
|
|
31
|
-
const KeyboardAwareFlatGrid = listenToKeyboardEvents(FlatGrid)
|
|
32
|
-
|
|
33
31
|
export type GridProps<
|
|
34
32
|
T = any[],
|
|
35
33
|
Data = T extends Array<infer D> ? D : never
|
|
@@ -37,7 +35,8 @@ export type GridProps<
|
|
|
37
35
|
Omit<ViewProps, 'variants'> & {
|
|
38
36
|
separators?: boolean
|
|
39
37
|
placeholder?: EmptyPlaceholderProps
|
|
40
|
-
keyboardAware?:
|
|
38
|
+
keyboardAware?: GetKeyboardAwarePropsOptions
|
|
39
|
+
debugName?: string
|
|
41
40
|
styles?: StylesOf<GridComposition>
|
|
42
41
|
refreshControlProps?: Partial<RefreshControlProps>
|
|
43
42
|
} & ComponentVariants<typeof GridStyles>
|
|
@@ -51,7 +50,8 @@ const GridCP = forwardRef<FlatGrid, GridProps>(
|
|
|
51
50
|
onRefresh,
|
|
52
51
|
refreshing,
|
|
53
52
|
placeholder,
|
|
54
|
-
keyboardAware
|
|
53
|
+
keyboardAware,
|
|
54
|
+
debugName,
|
|
55
55
|
refreshControlProps = {},
|
|
56
56
|
...props
|
|
57
57
|
} = flatGridProps
|
|
@@ -73,16 +73,15 @@ const GridCP = forwardRef<FlatGrid, GridProps>(
|
|
|
73
73
|
const isEmpty = !props.data || !props.data.length
|
|
74
74
|
const separator = !isEmpty && separatorProp == true && renderSeparator
|
|
75
75
|
|
|
76
|
-
const Component = keyboardAware ? KeyboardAwareFlatGrid : FlatGrid
|
|
77
76
|
const refreshStyles = StyleSheet.flatten([variantStyles.refreshControl, styles.refreshControl])
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
77
|
+
const Component = FlatGrid
|
|
78
|
+
|
|
79
|
+
const _gridProps = {
|
|
80
|
+
style: [variantStyles.wrapper, style],
|
|
81
|
+
contentContainerStyle: variantStyles.content,
|
|
82
|
+
ref: ref as unknown as FlatGrid,
|
|
83
|
+
ItemSeparatorComponent: separator,
|
|
84
|
+
refreshControl:
|
|
86
85
|
!!onRefresh && (
|
|
87
86
|
<RefreshControl
|
|
88
87
|
refreshing={refreshing}
|
|
@@ -91,11 +90,22 @@ const GridCP = forwardRef<FlatGrid, GridProps>(
|
|
|
91
90
|
colors={[refreshStyles?.color]}
|
|
92
91
|
{...refreshControlProps}
|
|
93
92
|
/>
|
|
94
|
-
)
|
|
95
|
-
}
|
|
93
|
+
),
|
|
96
94
|
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
ListEmptyComponent: <EmptyPlaceholder {...placeholder}/>,
|
|
96
|
+
...props,
|
|
97
|
+
}
|
|
98
|
+
const keyboard = useKeyboardAwareView({
|
|
99
|
+
debugName,
|
|
100
|
+
})
|
|
101
|
+
const gridProps = keyboard.getKeyboardAwareProps(_gridProps, {
|
|
102
|
+
baseStyleProp: 'contentContainerStyle',
|
|
103
|
+
adapt: 'paddingBottom',
|
|
104
|
+
...keyboardAware,
|
|
105
|
+
})
|
|
106
|
+
return (
|
|
107
|
+
<Component
|
|
108
|
+
{...gridProps}
|
|
99
109
|
/>
|
|
100
110
|
)
|
|
101
111
|
},
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
useDefaultComponentStyle,
|
|
6
6
|
|
|
7
7
|
ComponentVariants,
|
|
8
|
+
useCallback,
|
|
8
9
|
} from '@codeleap/common'
|
|
9
10
|
|
|
10
11
|
import { RefreshControl, FlatList, FlatListProps as RNFlatListProps, ListRenderItemInfo, StyleSheet, RefreshControlProps } from 'react-native'
|
|
@@ -12,7 +13,7 @@ import { View, ViewProps } from '../View'
|
|
|
12
13
|
import { EmptyPlaceholder, EmptyPlaceholderProps } from '../EmptyPlaceholder'
|
|
13
14
|
import { ListComposition, ListStyles } from './styles'
|
|
14
15
|
import { StylesOf } from '../../types'
|
|
15
|
-
import {
|
|
16
|
+
import { GetKeyboardAwarePropsOptions, useKeyboardAwareView } from '../../utils'
|
|
16
17
|
|
|
17
18
|
export type DataboundFlatListPropsTypes = 'data' | 'renderItem' | 'keyExtractor' | 'getItemLayout'
|
|
18
19
|
|
|
@@ -37,7 +38,7 @@ export type FlatListProps<
|
|
|
37
38
|
Omit<ViewProps, 'variants'> & {
|
|
38
39
|
separators?: boolean
|
|
39
40
|
placeholder?: EmptyPlaceholderProps
|
|
40
|
-
keyboardAware?:
|
|
41
|
+
keyboardAware?: GetKeyboardAwarePropsOptions
|
|
41
42
|
styles?: StylesOf<ListComposition>
|
|
42
43
|
refreshControlProps?: Partial<RefreshControlProps>
|
|
43
44
|
} & ComponentVariants<typeof ListStyles>
|
|
@@ -52,7 +53,7 @@ const ListCP = forwardRef<FlatList, FlatListProps>(
|
|
|
52
53
|
component,
|
|
53
54
|
refreshing,
|
|
54
55
|
placeholder,
|
|
55
|
-
keyboardAware
|
|
56
|
+
keyboardAware,
|
|
56
57
|
refreshControlProps = {},
|
|
57
58
|
...props
|
|
58
59
|
} = flatListProps
|
|
@@ -64,39 +65,45 @@ const ListCP = forwardRef<FlatList, FlatListProps>(
|
|
|
64
65
|
|
|
65
66
|
})
|
|
66
67
|
|
|
67
|
-
const renderSeparator = () => {
|
|
68
|
+
const renderSeparator = useCallback(() => {
|
|
68
69
|
return (
|
|
69
70
|
<View variants={['separator']}></View>
|
|
70
71
|
)
|
|
71
|
-
}
|
|
72
|
+
}, [])
|
|
72
73
|
|
|
73
74
|
const separatorProp = props.separators
|
|
74
75
|
const isEmpty = !props.data || !props.data.length
|
|
75
76
|
const separator = !isEmpty && separatorProp == true && renderSeparator
|
|
76
77
|
|
|
77
|
-
const Component:any = component ||
|
|
78
|
+
const Component:any = component || FlatList
|
|
78
79
|
const refreshStyles = StyleSheet.flatten([variantStyles.refreshControl, styles.refreshControl])
|
|
79
80
|
|
|
81
|
+
const _listProps = {
|
|
82
|
+
style: [variantStyles.wrapper, style],
|
|
83
|
+
contentContainerStyle: variantStyles.content,
|
|
84
|
+
ref: ref as unknown as FlatList,
|
|
85
|
+
ItemSeparatorComponent: separator,
|
|
86
|
+
refreshControl: !!onRefresh && (
|
|
87
|
+
<RefreshControl
|
|
88
|
+
refreshing={refreshing}
|
|
89
|
+
onRefresh={onRefresh}
|
|
90
|
+
tintColor={refreshStyles?.color}
|
|
91
|
+
colors={[refreshStyles?.color]}
|
|
92
|
+
{...refreshControlProps}
|
|
93
|
+
/>
|
|
94
|
+
),
|
|
95
|
+
ListEmptyComponent: <EmptyPlaceholder {...placeholder}/>,
|
|
96
|
+
...props,
|
|
97
|
+
}
|
|
98
|
+
const keyboard = useKeyboardAwareView()
|
|
99
|
+
const listProps = keyboard.getKeyboardAwareProps(_listProps, {
|
|
100
|
+
adapt: 'paddingBottom',
|
|
101
|
+
baseStyleProp: 'contentContainerStyle',
|
|
102
|
+
...keyboardAware,
|
|
103
|
+
})
|
|
80
104
|
return (
|
|
81
105
|
<Component
|
|
82
|
-
|
|
83
|
-
contentContainerStyle={variantStyles.content}
|
|
84
|
-
ref={ref as unknown as FlatList}
|
|
85
|
-
ItemSeparatorComponent={separator}
|
|
86
|
-
refreshControl={
|
|
87
|
-
!!onRefresh && (
|
|
88
|
-
<RefreshControl
|
|
89
|
-
refreshing={refreshing}
|
|
90
|
-
onRefresh={onRefresh}
|
|
91
|
-
tintColor={refreshStyles?.color}
|
|
92
|
-
colors={[refreshStyles?.color]}
|
|
93
|
-
{...refreshControlProps}
|
|
94
|
-
/>
|
|
95
|
-
)
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
ListEmptyComponent={<EmptyPlaceholder {...placeholder}/>}
|
|
99
|
-
{...props}
|
|
106
|
+
{...listProps}
|
|
100
107
|
/>
|
|
101
108
|
)
|
|
102
109
|
},
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
getNestedStylesByKey,
|
|
8
8
|
IconPlaceholder,
|
|
9
9
|
onUpdate,
|
|
10
|
+
PropsOf,
|
|
10
11
|
TypeGuards,
|
|
11
12
|
useDefaultComponentStyle,
|
|
12
13
|
} from '@codeleap/common'
|
|
@@ -20,7 +21,7 @@ import { StylesOf } from '../../types/utility'
|
|
|
20
21
|
|
|
21
22
|
import { useDynamicAnimation } from 'moti'
|
|
22
23
|
import { Backdrop } from '../Backdrop'
|
|
23
|
-
import { useStaticAnimationStyles } from '../../utils/hooks'
|
|
24
|
+
import { useBackButton, useStaticAnimationStyles } from '../../utils/hooks'
|
|
24
25
|
import { Text, TextProps } from '../Text'
|
|
25
26
|
import { Touchable } from '../Touchable'
|
|
26
27
|
|
|
@@ -43,8 +44,9 @@ export type ModalProps = Omit<ViewProps, 'variants' | 'styles'> & {
|
|
|
43
44
|
zIndex?: number
|
|
44
45
|
scroll?: boolean
|
|
45
46
|
header?: React.ReactElement
|
|
46
|
-
|
|
47
|
+
closeOnHardwareBackPress?: boolean
|
|
47
48
|
renderHeader?: (props: ModalHeaderProps) => React.ReactElement
|
|
49
|
+
scrollProps?: PropsOf<typeof Scroll>
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
export type ModalHeaderProps = Omit<ModalProps, 'styles' | 'renderHeader'> & {
|
|
@@ -95,8 +97,9 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
|
|
|
95
97
|
debugName,
|
|
96
98
|
scroll = true,
|
|
97
99
|
renderHeader,
|
|
98
|
-
keyboardAware = true,
|
|
99
100
|
zIndex = null,
|
|
101
|
+
scrollProps = {},
|
|
102
|
+
closeOnHardwareBackPress = true,
|
|
100
103
|
...props
|
|
101
104
|
} = modalProps
|
|
102
105
|
|
|
@@ -127,7 +130,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
|
|
|
127
130
|
}, [visible])
|
|
128
131
|
const wrapperStyle = getStyles('wrapper')
|
|
129
132
|
const ScrollComponent = scroll ? Scroll : View
|
|
130
|
-
const scrollStyle = scroll ? getStyles('
|
|
133
|
+
const scrollStyle = scroll ? getStyles('scroll') : getStyles('innerWrapper')
|
|
131
134
|
|
|
132
135
|
const headerProps:ModalHeaderProps = {
|
|
133
136
|
...modalProps,
|
|
@@ -139,6 +142,13 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
|
|
|
139
142
|
}
|
|
140
143
|
const Header = renderHeader || DefaultHeader
|
|
141
144
|
|
|
145
|
+
useBackButton(() => {
|
|
146
|
+
if (visible && closeOnHardwareBackPress) {
|
|
147
|
+
toggle()
|
|
148
|
+
return true
|
|
149
|
+
}
|
|
150
|
+
}, [visible, toggle, closeOnHardwareBackPress])
|
|
151
|
+
|
|
142
152
|
return (
|
|
143
153
|
<View
|
|
144
154
|
style={[wrapperStyle, { zIndex: TypeGuards.isNumber(zIndex) ? zIndex : wrapperStyle?.zIndex }]}
|
|
@@ -156,9 +166,8 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
|
|
|
156
166
|
/>
|
|
157
167
|
<ScrollComponent
|
|
158
168
|
style={scrollStyle}
|
|
159
|
-
contentContainerStyle={getStyles('
|
|
160
|
-
|
|
161
|
-
keyboardAware={keyboardAware}
|
|
169
|
+
contentContainerStyle={getStyles('scrollContent')}
|
|
170
|
+
{...scrollProps}
|
|
162
171
|
>
|
|
163
172
|
{dismissOnBackdrop &&
|
|
164
173
|
<Touchable
|
|
@@ -168,6 +177,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
|
|
|
168
177
|
android_ripple={null}
|
|
169
178
|
noFeedback
|
|
170
179
|
/>}
|
|
180
|
+
|
|
171
181
|
<View
|
|
172
182
|
animated
|
|
173
183
|
state={boxAnimation}
|
|
@@ -185,6 +195,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
|
|
|
185
195
|
</View>
|
|
186
196
|
)}
|
|
187
197
|
</View>
|
|
198
|
+
|
|
188
199
|
</ScrollComponent>
|
|
189
200
|
</View>
|
|
190
201
|
|