@codeleap/mobile 2.1.7 → 2.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/components/AutoComplete/styles.js +0 -1
  2. package/dist/components/AutoComplete/styles.js.map +1 -1
  3. package/dist/components/Drawer/index.js +1 -1
  4. package/dist/components/Drawer/index.js.map +1 -1
  5. package/dist/components/Drawer/styles.js +2 -2
  6. package/dist/components/Drawer/styles.js.map +1 -1
  7. package/dist/components/Modal/index.d.ts +3 -2
  8. package/dist/components/Modal/index.js +5 -3
  9. package/dist/components/Modal/index.js.map +1 -1
  10. package/dist/components/Modal/styles.d.ts +1 -1
  11. package/dist/components/Modal/styles.js +7 -4
  12. package/dist/components/Modal/styles.js.map +1 -1
  13. package/dist/components/MultiSelect/index.js +15 -3
  14. package/dist/components/MultiSelect/index.js.map +1 -1
  15. package/dist/components/MultiSelect/types.d.ts +3 -0
  16. package/dist/components/Scroll/index.js +19 -5
  17. package/dist/components/Scroll/index.js.map +1 -1
  18. package/dist/components/Scroll/styles.js +4 -12
  19. package/dist/components/Scroll/styles.js.map +1 -1
  20. package/dist/components/Select/index.js +30 -3
  21. package/dist/components/Select/index.js.map +1 -1
  22. package/dist/components/Select/styles.js +1 -3
  23. package/dist/components/Select/styles.js.map +1 -1
  24. package/dist/components/Select/types.d.ts +3 -0
  25. package/dist/utils/KeyboardAware/index.d.ts +1 -0
  26. package/dist/utils/KeyboardAware/index.js +1 -0
  27. package/dist/utils/KeyboardAware/index.js.map +1 -1
  28. package/dist/utils/KeyboardAware/keyboardHooks.d.ts +14 -0
  29. package/dist/utils/KeyboardAware/keyboardHooks.js +79 -0
  30. package/dist/utils/KeyboardAware/keyboardHooks.js.map +1 -0
  31. package/dist/utils/KeyboardAware/lib/KeyboardAwareHOC.d.ts +1 -1
  32. package/dist/utils/PermissionManager/context.d.ts +2 -2
  33. package/dist/utils/PermissionManager/context.js +25 -29
  34. package/dist/utils/PermissionManager/context.js.map +1 -1
  35. package/dist/utils/index.d.ts +1 -0
  36. package/dist/utils/index.js +1 -0
  37. package/dist/utils/index.js.map +1 -1
  38. package/dist/utils/input.d.ts +35 -0
  39. package/dist/utils/input.js +49 -0
  40. package/dist/utils/input.js.map +1 -0
  41. package/package.json +1 -1
  42. package/src/components/AutoComplete/styles.ts +0 -1
  43. package/src/components/Drawer/index.tsx +1 -1
  44. package/src/components/Drawer/styles.ts +2 -2
  45. package/src/components/Modal/index.tsx +8 -7
  46. package/src/components/Modal/styles.ts +17 -6
  47. package/src/components/MultiSelect/index.tsx +19 -1
  48. package/src/components/MultiSelect/types.ts +3 -0
  49. package/src/components/Scroll/index.tsx +26 -20
  50. package/src/components/Scroll/styles.ts +2 -1
  51. package/src/components/Select/index.tsx +34 -9
  52. package/src/components/Select/styles.ts +2 -0
  53. package/src/components/Select/types.ts +3 -0
  54. package/src/utils/KeyboardAware/index.ts +1 -0
  55. package/src/utils/KeyboardAware/keyboardHooks.ts +91 -0
  56. package/src/utils/PermissionManager/context.tsx +31 -22
  57. package/src/utils/index.ts +1 -0
  58. package/src/utils/input.ts +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboardHooks.js","sourceRoot":"","sources":["../../../src/utils/KeyboardAware/keyboardHooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAAsD;AACtD,+BAA2C;AAC3C,6CAAsH;AAO/G,IAAM,qBAAqB,GAAG;;IAC7B,IAAA,KAAoC,IAAA,gBAAQ,EAAgB,IAAI,CAAC,EAAhE,aAAa,QAAA,EAAE,gBAAgB,QAAiC,CAAA;IACjE,IAAA,KAAwC,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAArD,eAAe,QAAA,EAAE,kBAAkB,QAAkB,CAAA;IAE5D,IAAA,iBAAS,EAAC;QACR,IAAM,UAAU,GAAG,uBAAQ,CAAC,MAAM,CAA2B;YAC3D,GAAG,EAAE;gBACH,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,kBAAkB;aACzB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB;aACxB;SACF,CAAC,CAAA;QACF,IAAM,MAAM,GAAG;YACb,uBAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAC,CAAC;gBACtC,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACxB,gBAAgB,CAAC,CAAC,CAAC,CAAA;YACrB,CAAC,CAAC;YACF,uBAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAC,CAAC;gBACtC,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACzB,gBAAgB,CAAC,CAAC,CAAC,CAAA;YACrB,CAAC,CAAC;SACH,CAAA;QACD,OAAO;YACL,MAAM,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,EAAE,EAAV,CAAU,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,OAAO,GAAG;QACd,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,0CAAE,MAAM,KAAI,CAAC;KACnD,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AArCY,QAAA,qBAAqB,yBAqCjC;AAGM,IAAM,qBAAqB,GAAG;IACnC,IAAM,QAAQ,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAExC,OAAO;QACL,QAAQ,UAAA;QACR,cAAc,EAAE,UACd,IAAO,EACP,aAAgC,EAChC,aAA8C;;YAD9C,8BAAA,EAAA,uBAAgC;YAChC,8BAAA,EAAA,8BAA8C;YAE9C,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,OAAO,IAAI,IAAK,EAAQ,CAAA;YAC/C,IAAM,SAAS,GAAG,IAAI,CAAA;YAEtB,IAAM,SAAS,GAA4B,yBAAU,CAAC,OAAO,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,aAAa,CAAC,CAAC,CAAA;YAEzF,IAAM,UAAU,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,IAAI,CAAC,CAAA;YAEtE,IAAI,mBAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAEnC,IAAM,qBAAqB,yBACtB,SAAS,gBACX,aAAa,IAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,MAE9C,CAAA;gBACD,OAAO,sBAEF,SAAS,WACZ,mBAAmB,EAAE,aAAa,EAClC,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EACzC,gCAAgC,EAAE,KAAK,EACvC,4BAA4B,EAAE,IAAI,EAClC,mBAAmB,EAAE,CAAC,EACtB,aAAa,EAAE,QAAQ,CAAC,MAAM,OAC7B,aAAa,IAAG,qBAAqB,MACvB,CAAA;aAClB;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;aAC1F;QAEH,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAzCY,QAAA,qBAAqB,yBAyCjC"}
@@ -63,5 +63,5 @@ export declare type KeyboardAwareHOCOptions = {
63
63
  refPropName: string;
64
64
  extractNativeRef: Function;
65
65
  };
66
- declare const listenToKeyboardEvents: <C extends React.ComponentType<{}> | React.ComponentClass<{}, any>>(configOrComp: C) => C;
66
+ declare const listenToKeyboardEvents: <C extends React.ComponentClass<{}, any> | React.ComponentType<{}>>(configOrComp: C) => C;
67
67
  export default listenToKeyboardEvents;
@@ -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) => any;
23
- askMany<T extends PermissionNames, R = TAskManyResults<T>>(perms: T[], onResolve?: (res: R) => any, options?: AskManyOpts<T>): Promise<void>;
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 __awaiter(this, void 0, void 0, function () {
115
- var status, permissionModalName;
116
- return __generator(this, function (_a) {
117
- switch (_a.label) {
118
- case 0: return [4 /*yield*/, permissionCtx.manager.get(name, {
119
- ask: false,
120
- askOnDenied: false,
121
- askOnPending: false,
122
- })];
123
- case 1:
124
- status = _a.sent();
125
- permissionModalName = "permissions.".concat(name);
126
- if (!status.isGranted) {
127
- modalCtx.toggleModal(permissionModalName, true, {
128
- onPermissionResolve: function (status) {
129
- modalCtx.toggleModal(permissionModalName, false, {});
130
- setTimeout(function () {
131
- onResolve === null || onResolve === void 0 ? void 0 : onResolve(status, permissionModalName);
132
- }, modalCtx.transitionDuration);
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
- onResolve(__assign(__assign({}, results), { overall: Object.values(results).every(function (x) { return x === 'granted'; }) ? 'granted' : 'denied' }));
227
- return [2 /*return*/];
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":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/utils/PermissionManager/context.tsx"],"names":[],"mappings":"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"}
@@ -6,3 +6,4 @@ export * from './ModalManager';
6
6
  import * as Permissions from './PermissionManager';
7
7
  export { Permissions };
8
8
  export * from './KeyboardAware';
9
+ export * from './input';
@@ -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
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeleap/mobile",
3
- "version": "2.1.7",
3
+ "version": "2.1.10",
4
4
  "main": "src/index.ts",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -19,7 +19,6 @@ export const AutoCompleteStyles = {
19
19
  ...theme.presets.alignStart,
20
20
  },
21
21
  box: {
22
- minHeight: theme.values.height * 0.85,
23
22
  maxHeight: theme.values.height * 0.85,
24
23
  },
25
24
  listContent: {
@@ -18,7 +18,7 @@ export const Drawer:React.FC<DrawerProps> = (props) => {
18
18
 
19
19
  return <Modal
20
20
  styles={variantStyles}
21
-
21
+ scroll={false}
22
22
  {...modalProps}
23
23
  />
24
24
  }
@@ -13,10 +13,10 @@ export const DrawerStyles = {
13
13
  ...defaultStyle,
14
14
  box: {
15
15
  width: '100%',
16
- maxHeight: theme.values.height * 0.7,
16
+ maxHeight: theme.values.height * 0.99,
17
17
  paddingBottom: (theme.values.bottomNavHeight ?? 0) + theme.spacing.value(1),
18
18
  },
19
- innerWrapperScroll: {
19
+ innerWrapper: {
20
20
  ...theme.presets.justifyEnd,
21
21
  },
22
22
 
@@ -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'
@@ -43,8 +44,8 @@ export type ModalProps = Omit<ViewProps, 'variants' | 'styles'> & {
43
44
  zIndex?: number
44
45
  scroll?: boolean
45
46
  header?: React.ReactElement
46
- keyboardAware?: boolean
47
47
  renderHeader?: (props: ModalHeaderProps) => React.ReactElement
48
+ scrollProps?: PropsOf<typeof Scroll>
48
49
  }
49
50
 
50
51
  export type ModalHeaderProps = Omit<ModalProps, 'styles' | 'renderHeader'> & {
@@ -95,8 +96,8 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
95
96
  debugName,
96
97
  scroll = true,
97
98
  renderHeader,
98
- keyboardAware = true,
99
99
  zIndex = null,
100
+ scrollProps = {},
100
101
  ...props
101
102
  } = modalProps
102
103
 
@@ -127,7 +128,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
127
128
  }, [visible])
128
129
  const wrapperStyle = getStyles('wrapper')
129
130
  const ScrollComponent = scroll ? Scroll : View
130
- const scrollStyle = scroll ? getStyles('innerWrapper') : [getStyles('innerWrapper'), getStyles('innerWrapperScroll')]
131
+ const scrollStyle = scroll ? getStyles('scroll') : getStyles('innerWrapper')
131
132
 
132
133
  const headerProps:ModalHeaderProps = {
133
134
  ...modalProps,
@@ -138,7 +139,6 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
138
139
  },
139
140
  }
140
141
  const Header = renderHeader || DefaultHeader
141
-
142
142
  return (
143
143
  <View
144
144
  style={[wrapperStyle, { zIndex: TypeGuards.isNumber(zIndex) ? zIndex : wrapperStyle?.zIndex }]}
@@ -156,9 +156,8 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
156
156
  />
157
157
  <ScrollComponent
158
158
  style={scrollStyle}
159
- contentContainerStyle={getStyles('innerWrapperScroll')}
160
- scrollEnabled={scroll}
161
- keyboardAware={keyboardAware}
159
+ contentContainerStyle={getStyles('scrollContent')}
160
+ {...scrollProps}
162
161
  >
163
162
  {dismissOnBackdrop &&
164
163
  <Touchable
@@ -168,6 +167,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
168
167
  android_ripple={null}
169
168
  noFeedback
170
169
  />}
170
+
171
171
  <View
172
172
  animated
173
173
  state={boxAnimation}
@@ -185,6 +185,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
185
185
  </View>
186
186
  )}
187
187
  </View>
188
+
188
189
  </ScrollComponent>
189
190
  </View>
190
191
 
@@ -11,7 +11,9 @@ export type ModalParts =
11
11
  | AnimatableParts
12
12
  | 'wrapper'
13
13
  | 'innerWrapper'
14
- | 'innerWrapperScroll'
14
+
15
+ | 'scrollContent'
16
+ | 'scroll'
15
17
  | 'body'
16
18
  | 'footer'
17
19
  | 'header'
@@ -36,8 +38,8 @@ export const ModalStyles = {
36
38
  const fullSize = {
37
39
  ...Theme.presets.whole,
38
40
  position: 'absolute',
39
- width: Theme?.values?.width,
40
- height: Theme?.values?.height,
41
+ width: '100%',
42
+ height: '100%',
41
43
  }
42
44
 
43
45
  return {
@@ -76,12 +78,21 @@ export const ModalStyles = {
76
78
  'backdrop:hidden': {
77
79
  opacity: 0,
78
80
  },
79
- innerWrapper: {},
80
- innerWrapperScroll: {
81
+ innerWrapper: {
82
+ display: 'flex',
83
+ alignItems: 'center',
84
+ ...Theme.presets.justifyCenter,
85
+ ...Theme.presets.fullHeight,
86
+ },
87
+ scroll: {
88
+ height: '100%',
89
+ width: '100%',
90
+ },
91
+ scrollContent: {
81
92
  display: 'flex',
82
93
  alignItems: 'center',
83
94
  ...Theme.presets.justifyCenter,
84
- minHeight: Theme.values.height,
95
+ ...Theme.presets.fullHeight,
85
96
  },
86
97
  box: {
87
98
  width: '80%',
@@ -28,6 +28,9 @@ export const MultiSelect = <T extends string|number = string>(selectProps:MultiS
28
28
  arrowIconName = 'selectArrow',
29
29
  selectedIcon = 'multiSelectMarker',
30
30
  inputProps = {},
31
+ clearable = false,
32
+ clearIconName = 'close',
33
+ validate = null,
31
34
  ...drawerProps
32
35
  } = selectProps
33
36
 
@@ -76,6 +79,19 @@ export const MultiSelect = <T extends string|number = string>(selectProps:MultiS
76
79
  icon={selectedIcon as IconPlaceholder}
77
80
  />
78
81
  }
82
+
83
+ const isEmpty = value.length === 0
84
+ const showClearIcon = !isEmpty && clearable
85
+ const inputIcon = showClearIcon ? clearIconName : arrowIconName
86
+
87
+ const onPressInputIcon = () => {
88
+ if (showClearIcon) {
89
+ onValueChange([])
90
+ } else {
91
+ close?.()
92
+ }
93
+
94
+ }
79
95
  return <>
80
96
  {
81
97
  !hideInput && (
@@ -83,7 +99,8 @@ export const MultiSelect = <T extends string|number = string>(selectProps:MultiS
83
99
  caretHidden
84
100
  value={selectedLabel}
85
101
  rightIcon={{
86
- icon: arrowIconName as IconPlaceholder,
102
+ icon: inputIcon as IconPlaceholder,
103
+ onPress: onPressInputIcon,
87
104
  }}
88
105
  editable={false}
89
106
  touchableWrapper
@@ -96,6 +113,7 @@ export const MultiSelect = <T extends string|number = string>(selectProps:MultiS
96
113
  debugName={'Select input'}
97
114
  styles={inputStyles}
98
115
  style={style}
116
+ validate={validate}
99
117
  {...inputProps}
100
118
  />
101
119
  )
@@ -35,5 +35,8 @@ export type MultiSelectProps<T> = MultiSelectDrawerProps & {
35
35
  selectedIcon?: IconPlaceholder
36
36
  hideInput?: boolean
37
37
  listProps?: Partial<FlatListProps>
38
+ clearable?: boolean
39
+ clearIconName?: IconPlaceholder
40
+ validate?: TextInputProps['validate']
38
41
  } & ComponentVariants<typeof MultiSelectStyles>
39
42
 
@@ -13,7 +13,8 @@ import { ViewProps } from '../View'
13
13
  import { KeyboardAwareScrollViewTypes } from '../../modules'
14
14
  import { StylesOf } from '../../types'
15
15
  import { ScrollComposition, ScrollStyles } from './styles'
16
- import { KeyboardAwareScrollView } from '../../utils'
16
+ import { useKeyboardScrollView } from '../../utils'
17
+ // import { KeyboardAwareScrollView } from '../../utils'
17
18
 
18
19
  type KeyboardAwareScrollViewProps = KeyboardAwareScrollViewTypes.KeyboardAwareScrollViewProps
19
20
 
@@ -38,6 +39,7 @@ export const Scroll = forwardRef<ScrollView, ScrollProps>(
38
39
  changeData,
39
40
  styles = {},
40
41
  refreshControlProps = {},
42
+ contentContainerStyle,
41
43
  keyboardAware = true,
42
44
  ...props
43
45
  } = scrollProps
@@ -75,31 +77,35 @@ export const Scroll = forwardRef<ScrollView, ScrollProps>(
75
77
  variants,
76
78
  styles,
77
79
  transform: StyleSheet.flatten,
78
- rootElement: 'wrapper',
80
+ rootElement: 'content',
79
81
  })
80
82
 
81
- const Component = keyboardAware ? KeyboardAwareScrollView : ScrollView
82
83
  const refreshStyles = StyleSheet.flatten([variantStyles.refreshControl, styles.refreshControl])
84
+ const _scrollProps = {
85
+ style: [variantStyles.wrapper, style],
86
+ contentContainerStyle: [variantStyles.content, contentContainerStyle],
87
+ ref: ref as unknown as ScrollView,
88
+ refreshControl: hasRefresh && (
89
+ <RefreshControl
90
+ refreshing={refreshingDisplay}
91
+ onRefresh={onRefresh}
92
+ tintColor={refreshStyles?.color}
93
+ colors={[refreshStyles?.color]}
94
+ {...refreshControlProps}
95
+ />
96
+ ),
97
+ ...props,
98
+ }
99
+ const keyboard = useKeyboardScrollView()
100
+ const keyboardAwareScrollProps = keyboard.getScrollProps(_scrollProps)
101
+ const rootProps = keyboardAware ? keyboardAwareScrollProps : _scrollProps
102
+
83
103
  return (
84
- <Component
85
- style={[Theme.presets.full, style]}
86
- contentContainerStyle={[variantStyles.wrapper]}
87
- ref={ref as unknown as ScrollView}
88
- refreshControl={
89
- hasRefresh && (
90
- <RefreshControl
91
- refreshing={refreshingDisplay}
92
- onRefresh={onRefresh}
93
- tintColor={refreshStyles?.color}
94
- colors={[refreshStyles?.color]}
95
- {...refreshControlProps}
96
- />
97
- )
98
- }
99
- {...props}
104
+ <ScrollView
105
+ {...rootProps}
100
106
  >
101
107
  {children}
102
- </Component>
108
+ </ScrollView>
103
109
  )
104
110
  },
105
111
  )
@@ -8,7 +8,8 @@ export const ScrollStyles = {
8
8
  default: createScrollStyle((theme) => {
9
9
  return {
10
10
  wrapper: {
11
- ...theme.presets.fullHeight,
11
+ height: '100%',
12
+ // maxHeight: theme.values.height,
12
13
  },
13
14
  refreshControl: {
14
15
  color: theme.colors.primary,
@@ -10,7 +10,7 @@ import { TextInput } from '../TextInput'
10
10
  import { Touchable } from '../Touchable'
11
11
  import { SelectStyles } from './styles'
12
12
  import { CustomSelectProps } from './types'
13
- import { ModalManager } from '../../utils'
13
+ import { ModalManager, useKeyboardScrollView } from '../../utils'
14
14
  import { Icon } from '../Icon'
15
15
 
16
16
  export const SelectItem = ({ item, icon = null, isSelected, styles, onPress }) => {
@@ -41,9 +41,12 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
41
41
  listProps,
42
42
  placeholder = 'Select',
43
43
  arrowIconName = 'selectArrow',
44
+ clearIconName = 'close',
45
+ clearable = false,
44
46
  selectedIcon = 'selectMarker',
45
47
  inputProps = {},
46
48
  hideInput = false,
49
+ keyboardAware = true,
47
50
  ...drawerProps
48
51
  } = selectProps
49
52
 
@@ -76,7 +79,6 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
76
79
 
77
80
  return TypeGuards.isString(display) ? display : ''
78
81
  }, [value, placeholder, options])
79
-
80
82
  const Item = renderItem || SelectItem
81
83
 
82
84
  const renderListItem = ({ item }) => {
@@ -88,6 +90,32 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
88
90
  styles={variantStyles}
89
91
  />
90
92
  }
93
+ const isEmpty = TypeGuards.isNil(value)
94
+ const showClearIcon = !isEmpty && clearable
95
+
96
+ const inputIcon = showClearIcon ? clearIconName : arrowIconName
97
+
98
+ const onPressInputIcon = () => {
99
+ if (showClearIcon) {
100
+ onValueChange(null)
101
+ } else {
102
+ close?.()
103
+ }
104
+
105
+ }
106
+
107
+ const baseListProps = {
108
+ data: options,
109
+ style: variantStyles.list,
110
+ contentContainerStyle: variantStyles.listContent,
111
+ keyExtractor: (i) => i.value,
112
+ renderItem: renderListItem,
113
+ ...listProps,
114
+ }
115
+
116
+ const keyboard = useKeyboardScrollView()
117
+ const _listProps = keyboardAware ? keyboard.getScrollProps(baseListProps, 'contentContainerStyle', 'paddingBottom') : baseListProps
118
+
91
119
  return <>
92
120
  {
93
121
  !hideInput && (
@@ -95,7 +123,9 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
95
123
  caretHidden
96
124
  value={selectedLabel}
97
125
  rightIcon={{
98
- icon: arrowIconName as IconPlaceholder,
126
+ icon: inputIcon as IconPlaceholder,
127
+ onPress: onPressInputIcon,
128
+ noFeedback: true,
99
129
  }}
100
130
  editable={false}
101
131
  touchableWrapper
@@ -116,12 +146,7 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
116
146
 
117
147
  <ModalManager.Drawer scroll={false} title={label} {...drawerProps} styles={variantStyles}>
118
148
  <List<CustomSelectProps<any>['options']>
119
- data={options}
120
- style={variantStyles.list}
121
- contentContainerStyle={variantStyles.listContent}
122
- keyExtractor={(i) => i.value}
123
- renderItem={renderListItem}
124
- {...listProps}
149
+ {..._listProps}
125
150
  />
126
151
  </ModalManager.Drawer>
127
152
 
@@ -49,6 +49,8 @@ export const SelectStyles = {
49
49
  list: {
50
50
  height: 'auto',
51
51
 
52
+ maxHeight: theme.values.height * 0.7,
53
+ ...theme.presets.safeAreaBottom(),
52
54
  },
53
55
  listContent: {
54
56
  paddingBottom: theme.values.bottomNavHeight + theme.spacing.value(1),
@@ -35,5 +35,8 @@ export type CustomSelectProps<T> = SelectDrawerProps & {
35
35
  closeOnSelect?: boolean
36
36
  inputProps?: Partial<TextInputProps>
37
37
  listProps?: Partial<FlatListProps>
38
+ clearable?: boolean
39
+ clearIconName?: IconPlaceholder
40
+ keyboardAware?: boolean
38
41
  } & ComponentVariants<typeof SelectStyles>
39
42