@codeleap/mobile 1.9.31 → 1.9.32
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/Modal/index.js +5 -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 +1 -0
- package/dist/components/Modal/styles.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Modal/index.tsx +15 -8
- package/src/components/Modal/styles.ts +4 -1
|
@@ -59,6 +59,7 @@ var moti_1 = require("moti");
|
|
|
59
59
|
var Backdrop_1 = require("../Backdrop");
|
|
60
60
|
var hooks_1 = require("../../utils/hooks");
|
|
61
61
|
var Text_1 = require("../Text");
|
|
62
|
+
var Touchable_1 = require("../Touchable");
|
|
62
63
|
__exportStar(require("./styles"), exports);
|
|
63
64
|
var Modal = function (modalProps) {
|
|
64
65
|
var _a = modalProps.variants, variants = _a === void 0 ? [] : _a, _b = modalProps.styles, styles = _b === void 0 ? {} : _b, visible = modalProps.visible, showClose = modalProps.showClose, _c = modalProps.closable, closable = _c === void 0 ? true : _c, title = modalProps.title, 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.closeIconName, closeIconName = _f === void 0 ? 'close' : _f, debugName = modalProps.debugName, _g = modalProps.scroll, scroll = _g === void 0 ? true : _g, _h = modalProps.keyboardAware, keyboardAware = _h === void 0 ? true : _h, _j = modalProps.zIndex, zIndex = _j === void 0 ? null : _j, props = __rest(modalProps, ["variants", "styles", "visible", "showClose", "closable", "title", "footer", "children", "toggle", "dismissOnBackdrop", "closeIconName", "debugName", "scroll", "keyboardAware", "zIndex"]);
|
|
@@ -85,14 +86,15 @@ var Modal = function (modalProps) {
|
|
|
85
86
|
var wrapperStyle = getStyles('wrapper');
|
|
86
87
|
return (<View_1.View style={[wrapperStyle, { zIndex: common_1.TypeGuards.isNumber(zIndex) ? zIndex : wrapperStyle === null || wrapperStyle === void 0 ? void 0 : wrapperStyle.zIndex }]} pointerEvents={visible ? 'auto' : 'none'}>
|
|
87
88
|
|
|
88
|
-
<
|
|
89
|
-
<Backdrop_1.Backdrop visible={visible} debugName={"Modal ".concat(debugName, " backdrop")} styles={{
|
|
89
|
+
<Backdrop_1.Backdrop visible={visible} debugName={"Modal ".concat(debugName, " backdrop")} styles={{
|
|
90
90
|
'wrapper:hidden': variantStyles['backdrop:hidden'],
|
|
91
91
|
'wrapper:visible': variantStyles['backdrop:visible'],
|
|
92
92
|
wrapper: variantStyles.backdrop,
|
|
93
|
-
}}
|
|
93
|
+
}} wrapperProps={{
|
|
94
94
|
transition: __assign({}, variantStyles['backdrop:transition']),
|
|
95
95
|
}}/>
|
|
96
|
+
<Scroll_1.Scroll style={getStyles('innerWrapper')} contentContainerStyle={getStyles('innerWrapperScroll')} scrollEnabled={scroll} keyboardAware={keyboardAware}>
|
|
97
|
+
<Touchable_1.Touchable feedbackVariant='none' onPress={(dismissOnBackdrop && closable) ? toggle : (function () { })} debugName={'Modal backdrop touchable'} style={variantStyles.backdropTouchable}/>
|
|
96
98
|
<View_1.View animated state={boxAnimation} style={getStyles('box')} transition={__assign({}, variantStyles['box:transition'])} {...props}>
|
|
97
99
|
{(title || showClose) && (<View_1.View style={getStyles('header')}>
|
|
98
100
|
{typeof title === 'string' ? (<Text_1.Text text={title} style={getStyles('title')}/>) : (title)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA8B;AAC9B,gCAAyC;AACzC,oCAA+C;AAC/C,oCAAkC;AAClC,2CAOyB;AAMzB,6CAAyC;AAGzC,6BAA0C;AAC1C,wCAAsC;AACtC,2CAA4D;AAC5D,gCAA8B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonComposition } from '@codeleap/common';
|
|
2
2
|
export declare type AnimatableParts = 'box' | 'backdrop';
|
|
3
|
-
export declare type MobileModalParts = AnimatableParts | 'wrapper' | 'innerWrapper' | 'innerWrapperScroll' | 'body' | 'footer' | 'header' | 'title' | `closeButton${Capitalize<ButtonComposition>}`;
|
|
3
|
+
export declare type MobileModalParts = AnimatableParts | 'wrapper' | 'innerWrapper' | 'innerWrapperScroll' | 'body' | 'footer' | 'header' | 'backdropTouchable' | 'title' | `closeButton${Capitalize<ButtonComposition>}`;
|
|
4
4
|
export declare type MobileModalComposition = MobileModalParts | `${AnimatableParts}:visible` | `${AnimatableParts}:hidden` | `${AnimatableParts}:transition`;
|
|
5
5
|
export declare const MobileModalStyles: {
|
|
6
6
|
default: (theme: import("@codeleap/common").ThemeColorScheme<import("@codeleap/common").AppTheme>, variant?: string) => Partial<Record<MobileModalComposition, any>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/Modal/styles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAKyB;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/Modal/styles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -22,6 +22,7 @@ import { useDynamicAnimation } from 'moti'
|
|
|
22
22
|
import { Backdrop } from '../Backdrop'
|
|
23
23
|
import { useStaticAnimationStyles } from '../../utils/hooks'
|
|
24
24
|
import { Text } from '../Text'
|
|
25
|
+
import { Touchable } from '../Touchable'
|
|
25
26
|
|
|
26
27
|
export * from './styles'
|
|
27
28
|
|
|
@@ -93,20 +94,26 @@ export const Modal: React.FC<ModalProps> = (modalProps) => {
|
|
|
93
94
|
return (
|
|
94
95
|
<View style={[wrapperStyle, { zIndex: TypeGuards.isNumber(zIndex) ? zIndex : wrapperStyle?.zIndex }]} pointerEvents={visible ? 'auto' : 'none'}>
|
|
95
96
|
|
|
97
|
+
<Backdrop visible={visible} debugName={`Modal ${debugName} backdrop`} styles={{
|
|
98
|
+
'wrapper:hidden': variantStyles['backdrop:hidden'],
|
|
99
|
+
'wrapper:visible': variantStyles['backdrop:visible'],
|
|
100
|
+
wrapper: variantStyles.backdrop,
|
|
101
|
+
}}
|
|
102
|
+
wrapperProps={{
|
|
103
|
+
transition: { ...variantStyles['backdrop:transition'] },
|
|
104
|
+
}}
|
|
105
|
+
/>
|
|
96
106
|
<Scroll
|
|
97
107
|
style={getStyles('innerWrapper')}
|
|
98
108
|
contentContainerStyle={getStyles('innerWrapperScroll')}
|
|
99
109
|
scrollEnabled={scroll}
|
|
100
110
|
keyboardAware={keyboardAware}
|
|
101
111
|
>
|
|
102
|
-
<
|
|
103
|
-
'
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
wrapperProps={{
|
|
108
|
-
transition: { ...variantStyles['backdrop:transition'] },
|
|
109
|
-
}}
|
|
112
|
+
<Touchable
|
|
113
|
+
feedbackVariant='none'
|
|
114
|
+
onPress={(dismissOnBackdrop && closable) ? toggle : (() => {})}
|
|
115
|
+
debugName={'Modal backdrop touchable'}
|
|
116
|
+
style={variantStyles.backdropTouchable}
|
|
110
117
|
/>
|
|
111
118
|
<View
|
|
112
119
|
animated
|
|
@@ -15,6 +15,7 @@ export type MobileModalParts =
|
|
|
15
15
|
| 'body'
|
|
16
16
|
| 'footer'
|
|
17
17
|
| 'header'
|
|
18
|
+
| 'backdropTouchable'
|
|
18
19
|
| 'title'
|
|
19
20
|
| `closeButton${Capitalize<ButtonComposition>}`
|
|
20
21
|
|
|
@@ -64,7 +65,9 @@ export const MobileModalStyles = {
|
|
|
64
65
|
backgroundColor: Theme.colors.black,
|
|
65
66
|
...fullSize,
|
|
66
67
|
},
|
|
67
|
-
|
|
68
|
+
backdropTouchable: {
|
|
69
|
+
...fullSize,
|
|
70
|
+
},
|
|
68
71
|
'backdrop:visible': {
|
|
69
72
|
opacity: 0.5,
|
|
70
73
|
},
|