@codeleap/mobile 2.2.2 → 2.2.3

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.
@@ -6,6 +6,7 @@ import { ComponentVariants, IconPlaceholder, PropsOf } from '@codeleap/common';
6
6
  import { ModalComposition, ModalStyles } from './styles';
7
7
  import { StylesOf } from '../../types/utility';
8
8
  import { TextProps } from '../Text';
9
+ import { GetKeyboardAwarePropsOptions } from '../../utils';
9
10
  export * from './styles';
10
11
  export declare type ModalProps = Omit<ViewProps, 'variants' | 'styles'> & {
11
12
  variants?: ComponentVariants<typeof ModalStyles>['variants'];
@@ -26,6 +27,7 @@ export declare type ModalProps = Omit<ViewProps, 'variants' | 'styles'> & {
26
27
  header?: React.ReactElement;
27
28
  closeOnHardwareBackPress?: boolean;
28
29
  renderHeader?: (props: ModalHeaderProps) => React.ReactElement;
30
+ keyboardAware?: GetKeyboardAwarePropsOptions;
29
31
  scrollProps?: PropsOf<typeof Scroll>;
30
32
  };
31
33
  export declare type ModalHeaderProps = Omit<ModalProps, 'styles' | 'renderHeader'> & {
@@ -60,6 +60,7 @@ var Backdrop_1 = require("../Backdrop");
60
60
  var hooks_1 = require("../../utils/hooks");
61
61
  var Text_1 = require("../Text");
62
62
  var Touchable_1 = require("../Touchable");
63
+ var utils_1 = require("../../utils");
63
64
  __exportStar(require("./styles"), exports);
64
65
  var DefaultHeader = function (props) {
65
66
  var styles = props.styles, _a = props.title, title = _a === void 0 ? null : _a, _b = props.showClose, showClose = _b === void 0 ? false : _b, closable = props.closable, debugName = props.debugName, _c = props.closeIconName, closeIconName = _c === void 0 ? 'close' : _c, toggle = props.toggle;
@@ -71,7 +72,7 @@ var DefaultHeader = function (props) {
71
72
  </View_1.View>)}</>;
72
73
  };
73
74
  var Modal = function (modalProps) {
74
- var _a = modalProps.variants, variants = _a === void 0 ? [] : _a, _b = modalProps.styles, styles = _b === void 0 ? {} : _b, visible = modalProps.visible, _c = modalProps.closable, closable = _c === void 0 ? true : _c, footer = modalProps.footer, children = modalProps.children, _d = modalProps.toggle, toggle = _d === void 0 ? function () { return null; } : _d, _e = modalProps.dismissOnBackdrop, dismissOnBackdrop = _e === void 0 ? true : _e, _f = modalProps.header, header = _f === void 0 ? null : _f, debugName = modalProps.debugName, _g = modalProps.scroll, scroll = _g === void 0 ? true : _g, renderHeader = modalProps.renderHeader, _h = modalProps.zIndex, zIndex = _h === void 0 ? null : _h, _j = modalProps.scrollProps, scrollProps = _j === void 0 ? {} : _j, _k = modalProps.closeOnHardwareBackPress, closeOnHardwareBackPress = _k === void 0 ? true : _k, props = __rest(modalProps, ["variants", "styles", "visible", "closable", "footer", "children", "toggle", "dismissOnBackdrop", "header", "debugName", "scroll", "renderHeader", "zIndex", "scrollProps", "closeOnHardwareBackPress"]);
75
+ var _a = modalProps.variants, variants = _a === void 0 ? [] : _a, _b = modalProps.styles, styles = _b === void 0 ? {} : _b, visible = modalProps.visible, _c = modalProps.closable, closable = _c === void 0 ? true : _c, footer = modalProps.footer, children = modalProps.children, _d = modalProps.toggle, toggle = _d === void 0 ? function () { return null; } : _d, _e = modalProps.dismissOnBackdrop, dismissOnBackdrop = _e === void 0 ? true : _e, _f = modalProps.header, header = _f === void 0 ? null : _f, debugName = modalProps.debugName, _g = modalProps.scroll, scroll = _g === void 0 ? true : _g, renderHeader = modalProps.renderHeader, _h = modalProps.zIndex, zIndex = _h === void 0 ? null : _h, _j = modalProps.scrollProps, scrollProps = _j === void 0 ? {} : _j, keyboardAware = modalProps.keyboardAware, _k = modalProps.closeOnHardwareBackPress, closeOnHardwareBackPress = _k === void 0 ? true : _k, props = __rest(modalProps, ["variants", "styles", "visible", "closable", "footer", "children", "toggle", "dismissOnBackdrop", "header", "debugName", "scroll", "renderHeader", "zIndex", "scrollProps", "keyboardAware", "closeOnHardwareBackPress"]);
75
76
  var variantStyles = (0, common_1.useDefaultComponentStyle)('u:Modal', {
76
77
  variants: variants,
77
78
  transform: react_native_1.StyleSheet.flatten,
@@ -93,8 +94,13 @@ var Modal = function (modalProps) {
93
94
  boxAnimation.animateTo(visible ? boxAnimationStates['box:visible'] : boxAnimationStates['box:hidden']);
94
95
  }, [visible]);
95
96
  var wrapperStyle = getStyles('wrapper');
97
+ var keyboard = (0, utils_1.useKeyboardAwareView)({
98
+ debugName: debugName,
99
+ });
96
100
  var ScrollComponent = scroll ? Scroll_1.Scroll : View_1.View;
97
101
  var scrollStyle = scroll ? getStyles('scroll') : getStyles('innerWrapper');
102
+ var _scrollProps = __assign({ style: scrollStyle, contentContainerStyle: getStyles('scrollContent') }, scrollProps);
103
+ var innerWrapperProps = keyboard.getKeyboardAwareProps(_scrollProps, __assign({ adapt: 'maxHeight', baseStyleProp: 'style' }, keyboardAware));
98
104
  var headerProps = __assign(__assign({}, modalProps), { styles: {
99
105
  wrapper: getStyles('header'),
100
106
  title: getStyles('title'),
@@ -116,7 +122,7 @@ var Modal = function (modalProps) {
116
122
  }} wrapperProps={{
117
123
  transition: __assign({}, variantStyles['backdrop:transition']),
118
124
  }}/>
119
- <ScrollComponent style={scrollStyle} contentContainerStyle={getStyles('scrollContent')} {...scrollProps}>
125
+ <ScrollComponent {...innerWrapperProps}>
120
126
  {dismissOnBackdrop &&
121
127
  <Touchable_1.Touchable onPress={closable ? toggle : (function () { })} debugName={'Modal backdrop touchable'} style={variantStyles.backdropTouchable} android_ripple={null} noFeedback/>}
122
128
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeleap/mobile",
3
- "version": "2.2.2",
3
+ "version": "2.2.3",
4
4
  "main": "src/index.ts",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -24,6 +24,7 @@ import { Backdrop } from '../Backdrop'
24
24
  import { useBackButton, useStaticAnimationStyles } from '../../utils/hooks'
25
25
  import { Text, TextProps } from '../Text'
26
26
  import { Touchable } from '../Touchable'
27
+ import { GetKeyboardAwarePropsOptions, useKeyboardAwareView } from '../../utils'
27
28
 
28
29
  export * from './styles'
29
30
 
@@ -46,6 +47,7 @@ export type ModalProps = Omit<ViewProps, 'variants' | 'styles'> & {
46
47
  header?: React.ReactElement
47
48
  closeOnHardwareBackPress?: boolean
48
49
  renderHeader?: (props: ModalHeaderProps) => React.ReactElement
50
+ keyboardAware?: GetKeyboardAwarePropsOptions
49
51
  scrollProps?: PropsOf<typeof Scroll>
50
52
  }
51
53
 
@@ -99,6 +101,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
99
101
  renderHeader,
100
102
  zIndex = null,
101
103
  scrollProps = {},
104
+ keyboardAware,
102
105
  closeOnHardwareBackPress = true,
103
106
  ...props
104
107
  } = modalProps
@@ -129,9 +132,25 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
129
132
  boxAnimation.animateTo(visible ? boxAnimationStates['box:visible'] : boxAnimationStates['box:hidden'])
130
133
  }, [visible])
131
134
  const wrapperStyle = getStyles('wrapper')
135
+
136
+ const keyboard = useKeyboardAwareView({
137
+ debugName,
138
+ })
139
+
132
140
  const ScrollComponent = scroll ? Scroll : View
133
141
  const scrollStyle = scroll ? getStyles('scroll') : getStyles('innerWrapper')
134
142
 
143
+ const _scrollProps = {
144
+ style: scrollStyle,
145
+ contentContainerStyle: getStyles('scrollContent'),
146
+ ...scrollProps,
147
+ }
148
+
149
+ const innerWrapperProps = keyboard.getKeyboardAwareProps(_scrollProps, {
150
+ adapt: 'maxHeight',
151
+ baseStyleProp: 'style',
152
+ ...keyboardAware,
153
+ })
135
154
  const headerProps:ModalHeaderProps = {
136
155
  ...modalProps,
137
156
  styles: {
@@ -165,9 +184,7 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
165
184
  }}
166
185
  />
167
186
  <ScrollComponent
168
- style={scrollStyle}
169
- contentContainerStyle={getStyles('scrollContent')}
170
- {...scrollProps}
187
+ {...innerWrapperProps}
171
188
  >
172
189
  {dismissOnBackdrop &&
173
190
  <Touchable