@cleartrip/ct-design-modal 1.1.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/Backdrop/Backdrop.d.ts +6 -0
- package/dist/Backdrop/Backdrop.d.ts.map +1 -0
- package/dist/Backdrop/index.d.ts +2 -0
- package/dist/Backdrop/index.d.ts.map +1 -0
- package/dist/Backdrop/style.d.ts +8 -0
- package/dist/Backdrop/style.d.ts.map +1 -0
- package/dist/Backdrop/type.d.ts +11 -0
- package/dist/Backdrop/type.d.ts.map +1 -0
- package/dist/Handler.d.ts +19 -0
- package/dist/Handler.d.ts.map +1 -0
- package/dist/Modal.d.ts +6 -0
- package/dist/Modal.d.ts.map +1 -0
- package/dist/ModalAction/ModalAction.d.ts +9 -0
- package/dist/ModalAction/ModalAction.d.ts.map +1 -0
- package/dist/ModalAction/index.d.ts +2 -0
- package/dist/ModalAction/index.d.ts.map +1 -0
- package/dist/ModalContainer/ModalContainer.d.ts +12 -0
- package/dist/ModalContainer/ModalContainer.d.ts.map +1 -0
- package/dist/ModalContainer/index.d.ts +2 -0
- package/dist/ModalContainer/index.d.ts.map +1 -0
- package/dist/ModalContent/ModalContent.d.ts +8 -0
- package/dist/ModalContent/ModalContent.d.ts.map +1 -0
- package/dist/ModalContent/index.d.ts +2 -0
- package/dist/ModalContent/index.d.ts.map +1 -0
- package/dist/ModalContext.d.ts +6 -0
- package/dist/ModalContext.d.ts.map +1 -0
- package/dist/ModalTitle/ModalTitle.d.ts +7 -0
- package/dist/ModalTitle/ModalTitle.d.ts.map +1 -0
- package/dist/ModalTitle/index.d.ts +2 -0
- package/dist/ModalTitle/index.d.ts.map +1 -0
- package/dist/ModalsUsableComponents/ModalWithCloseOverlay.d.ts +4 -0
- package/dist/ModalsUsableComponents/ModalWithCloseOverlay.d.ts.map +1 -0
- package/dist/ModalsUsableComponents/index.d.ts +2 -0
- package/dist/ModalsUsableComponents/index.d.ts.map +1 -0
- package/dist/ModalsUsableComponents/style.d.ts +7 -0
- package/dist/ModalsUsableComponents/style.d.ts.map +1 -0
- package/dist/ModalsUsableComponents/type.d.ts +8 -0
- package/dist/ModalsUsableComponents/type.d.ts.map +1 -0
- package/dist/ct-design-modal.browser.cjs.js +2 -0
- package/dist/ct-design-modal.browser.cjs.js.map +1 -0
- package/dist/ct-design-modal.browser.esm.js +2 -0
- package/dist/ct-design-modal.browser.esm.js.map +1 -0
- package/dist/ct-design-modal.cjs.js +283 -0
- package/dist/ct-design-modal.cjs.js.map +1 -0
- package/dist/ct-design-modal.esm.js +270 -0
- package/dist/ct-design-modal.esm.js.map +1 -0
- package/dist/ct-design-modal.umd.js +314 -0
- package/dist/ct-design-modal.umd.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/stats.html +4838 -0
- package/dist/style.d.ts +16 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/type.d.ts +36 -0
- package/dist/type.d.ts.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var styled = require('styled-components');
|
|
7
|
+
var useTheme = require('@cleartrip/ct-design-use-theme');
|
|
8
|
+
var ctDesignPortal = require('@cleartrip/ct-design-portal');
|
|
9
|
+
var ctDesignFocusLock = require('@cleartrip/ct-design-focus-lock');
|
|
10
|
+
var ctDesignTransition = require('@cleartrip/ct-design-transition');
|
|
11
|
+
var useMergeRefs = require('@cleartrip/ct-design-use-merge-refs');
|
|
12
|
+
var ctDesignContainer = require('@cleartrip/ct-design-container');
|
|
13
|
+
var ctDesignBox = require('@cleartrip/ct-design-box');
|
|
14
|
+
var ctDesignIcons = require('@cleartrip/ct-design-icons');
|
|
15
|
+
var ctDesignTypography = require('@cleartrip/ct-design-typography');
|
|
16
|
+
|
|
17
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
|
|
19
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
20
|
+
var styled__default = /*#__PURE__*/_interopDefault(styled);
|
|
21
|
+
var useTheme__default = /*#__PURE__*/_interopDefault(useTheme);
|
|
22
|
+
var useMergeRefs__default = /*#__PURE__*/_interopDefault(useMergeRefs);
|
|
23
|
+
|
|
24
|
+
exports.ModalSize = void 0;
|
|
25
|
+
(function (ModalSize) {
|
|
26
|
+
ModalSize["SMALL"] = "SMALL";
|
|
27
|
+
ModalSize["MEDIUM"] = "MEDIUM";
|
|
28
|
+
ModalSize["LARGE"] = "LARGE";
|
|
29
|
+
ModalSize["FULL_SCREEN"] = "FULL_SCREEN";
|
|
30
|
+
ModalSize["NONE"] = "NONE";
|
|
31
|
+
ModalSize["REGULAR"] = "REGULAR";
|
|
32
|
+
ModalSize["BIG"] = "BIG";
|
|
33
|
+
})(exports.ModalSize || (exports.ModalSize = {}));
|
|
34
|
+
|
|
35
|
+
var getBackdropStyles = function (_a) {
|
|
36
|
+
var blur = _a.blur;
|
|
37
|
+
return ({
|
|
38
|
+
position: 'fixed',
|
|
39
|
+
display: 'flex',
|
|
40
|
+
alignItems: 'center',
|
|
41
|
+
justifyContent: 'center',
|
|
42
|
+
background: blur ? 'rgba(26, 26, 26, 0.6);' : '',
|
|
43
|
+
backdropFilter: blur ? 'blur(1px)' : 'none',
|
|
44
|
+
zIndex: -1,
|
|
45
|
+
inset: 0,
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var StyledBackdrop = styled__default.default.div(function (_a) {
|
|
50
|
+
var css = _a.css, theme = _a.theme, blur = _a.blur; tslib.__rest(_a, ["css", "theme", "blur"]);
|
|
51
|
+
return getBackdropStyles(tslib.__assign(tslib.__assign({}, css), { blur: blur, theme: theme }));
|
|
52
|
+
});
|
|
53
|
+
var Backdrop = React.forwardRef(function (_a, forwardedRef) {
|
|
54
|
+
_a.as; var children = _a.children, open = _a.open, transitionDuration = _a.transitionDuration, css = _a.css, rest = tslib.__rest(_a, ["as", "children", "open", "transitionDuration", "css"]);
|
|
55
|
+
var theme = useTheme__default.default();
|
|
56
|
+
return (jsxRuntime.jsx(ctDesignTransition.Transition, tslib.__assign({ in: open, timeout: transitionDuration, type: 'fade' }, { children: jsxRuntime.jsx(StyledBackdrop, tslib.__assign({ ref: forwardedRef, css: css, theme: theme }, rest, { children: children })) })));
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
var ModalContext = React.createContext({
|
|
60
|
+
footerAlignment: 'end',
|
|
61
|
+
hideCrossIcon: false,
|
|
62
|
+
onClose: function () { },
|
|
63
|
+
size: 'MEDIUM',
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
var Handler = (function () {
|
|
67
|
+
function Handler() {
|
|
68
|
+
this.parent = [];
|
|
69
|
+
}
|
|
70
|
+
Handler.handleStyle = function (parentNode) {
|
|
71
|
+
if (parentNode.ref) {
|
|
72
|
+
parentNode.prevStyle = tslib.__assign({}, parentNode.ref.style);
|
|
73
|
+
parentNode.ref.style.overflow = 'hidden';
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
Handler.restoreStyle = function (parentNode) {
|
|
77
|
+
if (parentNode.ref && parentNode.prevStyle) {
|
|
78
|
+
parentNode.ref.style.overflow = parentNode.prevStyle.overflow || '';
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
Handler.prototype.mount = function (modal, parentNode) {
|
|
82
|
+
if (parentNode === void 0) { parentNode = { ref: null }; }
|
|
83
|
+
if (parentNode.ref) {
|
|
84
|
+
var parentIndex = this.parent.findIndex(function (node) { return node.parentNode === parentNode; });
|
|
85
|
+
if (parentIndex !== -1) {
|
|
86
|
+
this.parent[parentIndex].modals.push(modal);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.parent.push({
|
|
90
|
+
parentNode: parentNode,
|
|
91
|
+
modals: [modal],
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
Handler.handleStyle(parentNode);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
var parent_1 = this.getTopModal();
|
|
98
|
+
parent_1.modals.push(modal);
|
|
99
|
+
Handler.handleStyle(parent_1.parentNode);
|
|
100
|
+
if (parent_1.parentNode.ref !== document.body) {
|
|
101
|
+
this.parent.push({
|
|
102
|
+
parentNode: modal,
|
|
103
|
+
modals: [],
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.parent.push(parent_1);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
Handler.prototype.getTopModal = function () {
|
|
112
|
+
if (this.parent.length) {
|
|
113
|
+
return this.parent[this.parent.length - 1];
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return { parentNode: { ref: document.body, prevStyle: document.body.style }, modals: [] };
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
Handler.prototype.remove = function (modal) {
|
|
120
|
+
var parentNode = this.parent.find(function (node) { return node.modals.find(function (_modal) { return _modal.ref === modal.ref; }); });
|
|
121
|
+
if (parentNode) {
|
|
122
|
+
Handler.restoreStyle(parentNode.parentNode);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
return Handler;
|
|
126
|
+
}());
|
|
127
|
+
|
|
128
|
+
var getModalSizeStyles = function (size) {
|
|
129
|
+
switch (size) {
|
|
130
|
+
case exports.ModalSize.SMALL: {
|
|
131
|
+
return {
|
|
132
|
+
width: '360px',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
case exports.ModalSize.LARGE: {
|
|
136
|
+
return {
|
|
137
|
+
width: '1032px',
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
case exports.ModalSize.FULL_SCREEN: {
|
|
141
|
+
return {
|
|
142
|
+
width: '100vw',
|
|
143
|
+
height: '100vh',
|
|
144
|
+
minHeight: '100vh',
|
|
145
|
+
minWidth: '100%',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
case exports.ModalSize.NONE: {
|
|
149
|
+
return {};
|
|
150
|
+
}
|
|
151
|
+
case exports.ModalSize.BIG: {
|
|
152
|
+
return {
|
|
153
|
+
width: '730px',
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
case exports.ModalSize.REGULAR: {
|
|
157
|
+
return {
|
|
158
|
+
width: '484px',
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
case exports.ModalSize.MEDIUM:
|
|
162
|
+
default: {
|
|
163
|
+
return {
|
|
164
|
+
width: '504px',
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
var getModalChildContainerStyle = function (_a) {
|
|
170
|
+
var theme = _a.theme, size = _a.size, blur = _a.blur, overflowY = _a.overflowY, modalContentCss = _a.modalContentCss;
|
|
171
|
+
return (tslib.__assign(tslib.__assign({ boxSizing: 'content-box', borderRadius: size === exports.ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'], borderBottomLeftRadius: size === exports.ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'], borderBottomRightRadius: size === exports.ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'], backgroundColor: theme.color.background.neutral, overflowY: overflowY, maxHeight: size === exports.ModalSize.FULL_SCREEN ? '100vh' : "calc(100vh - 64px)", boxShadow: blur
|
|
172
|
+
? "rgb(0 0 0 / 20%) 0px 11px 15px -7px, rgb(0 0 0 / 14%) 0px 24px 38px 3px, rgb(0 0 0 / 12%) 0px 9px 22px 18px"
|
|
173
|
+
: 'none' }, getModalSizeStyles(size)), modalContentCss));
|
|
174
|
+
};
|
|
175
|
+
var getModalStyles = function (_a) {
|
|
176
|
+
var theme = _a.theme; _a.size; var overflowY = _a.overflowY, rest = tslib.__rest(_a, ["theme", "size", "overflowY"]);
|
|
177
|
+
return (tslib.__assign({ position: 'relative', zIndex: theme.zIndex.modal, overflowY: overflowY, display: 'flex', flexDirection: 'column', margin: 'auto', height: '100%', width: '100%', justifyContent: 'center', alignItems: 'center' }, rest));
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
var StyledModal = styled__default.default.div(function (_a) {
|
|
181
|
+
var theme = _a.theme, _b = _a.size, size = _b === void 0 ? 'MEDIUM' : _b, _c = _a.overflowY, overflowY = _c === void 0 ? 'auto' : _c, _d = _a.styledModalWrapperCss, styledModalWrapperCss = _d === void 0 ? {} : _d;
|
|
182
|
+
return getModalStyles(tslib.__assign({ theme: theme, size: size, overflowY: overflowY }, styledModalWrapperCss));
|
|
183
|
+
});
|
|
184
|
+
var handler = new Handler();
|
|
185
|
+
var DEFAULT_ANIMATION_TIME = 350;
|
|
186
|
+
var Modal = React.forwardRef(function (_a, forwardedRef) {
|
|
187
|
+
var as = _a.as, children = _a.children, _b = _a.insidePortal, insidePortal = _b === void 0 ? true : _b, _c = _a.open, open = _c === void 0 ? false : _c, onClose = _a.onClose, onKeyDown = _a.onKeyDown, hideCrossIcon = _a.hideCrossIcon, footerAlignment = _a.footerAlignment, _d = _a.size, size = _d === void 0 ? 'MEDIUM' : _d, _e = _a.allowBackdropClose, allowBackdropClose = _e === void 0 ? true : _e; _a.width; var _f = _a.blur, blur = _f === void 0 ? true : _f, backDropComponent = _a.backDropComponent, _g = _a.animationDuration, animationDuration = _g === void 0 ? DEFAULT_ANIMATION_TIME : _g, _h = _a.overflowY, overflowY = _h === void 0 ? 'auto' : _h, styledModalWrapperCss = _a.styledModalWrapperCss, modalContentCss = _a.modalContentCss, rest = tslib.__rest(_a, ["as", "children", "insidePortal", "open", "onClose", "onKeyDown", "hideCrossIcon", "footerAlignment", "size", "allowBackdropClose", "width", "blur", "backDropComponent", "animationDuration", "overflowY", "styledModalWrapperCss", "modalContentCss"]);
|
|
188
|
+
var theme = useTheme__default.default();
|
|
189
|
+
var modalRef = React.useRef(null);
|
|
190
|
+
var containerRef = React.useRef({});
|
|
191
|
+
var _j = React.useState(open), isOpen = _j[0], setIsOpen = _j[1];
|
|
192
|
+
var handleRef = useMergeRefs__default.default(forwardedRef, modalRef);
|
|
193
|
+
React.useLayoutEffect(function () {
|
|
194
|
+
var timeoutId = null;
|
|
195
|
+
if (!open) {
|
|
196
|
+
timeoutId = setTimeout(function () { return setIsOpen(false); }, animationDuration);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
setIsOpen(true);
|
|
200
|
+
}
|
|
201
|
+
return function () {
|
|
202
|
+
timeoutId && clearTimeout(timeoutId);
|
|
203
|
+
};
|
|
204
|
+
}, [open, animationDuration]);
|
|
205
|
+
React.useEffect(function () {
|
|
206
|
+
if (modalRef.current) {
|
|
207
|
+
modalRef.current.scrollTop = 0;
|
|
208
|
+
}
|
|
209
|
+
if (open) {
|
|
210
|
+
containerRef.current.modalRef = modalRef.current;
|
|
211
|
+
handler.mount({ ref: containerRef.current.modalRef });
|
|
212
|
+
}
|
|
213
|
+
return function () {
|
|
214
|
+
if (open) {
|
|
215
|
+
handler.remove({ ref: containerRef.current.modalRef || null });
|
|
216
|
+
containerRef.current.modalRef = modalRef.current;
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
}, [open]);
|
|
220
|
+
var handleBackdropClick = function (event) {
|
|
221
|
+
if (event.target !== event.currentTarget) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (allowBackdropClose && onClose) {
|
|
225
|
+
onClose(event);
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
var handleKeyDown = function (event) {
|
|
229
|
+
if (onKeyDown) {
|
|
230
|
+
onKeyDown(event);
|
|
231
|
+
}
|
|
232
|
+
if (event.key !== 'Escape') {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
event.stopPropagation();
|
|
236
|
+
if (onClose) {
|
|
237
|
+
onClose(event);
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
if (!isOpen || !React__default.default.isValidElement(children)) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
var fullScreenStyle = size === exports.ModalSize.FULL_SCREEN ? { height: '100vh', width: '100vw' } : {};
|
|
244
|
+
return (jsxRuntime.jsx(ctDesignPortal.Portal, tslib.__assign({ disablePortal: !insidePortal }, { children: jsxRuntime.jsx(ctDesignFocusLock.FocusLock, { children: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ position: 'fixed', zIndex: theme.zIndex.modal, css: tslib.__assign({ inset: 0 }, fullScreenStyle) }, rest, { children: jsxRuntime.jsxs(StyledModal, tslib.__assign({ size: size, as: as, theme: theme, overflowY: overflowY, onKeyDown: handleKeyDown, ref: handleRef, styledModalWrapperCss: styledModalWrapperCss }, { children: [backDropComponent || (jsxRuntime.jsx(Backdrop, { open: open, blur: blur, transitionDuration: 350, onClick: handleBackdropClick })), jsxRuntime.jsx(ctDesignTransition.Transition, tslib.__assign({ type: size === exports.ModalSize.FULL_SCREEN ? 'slide' : 'fade', slideDirection: 'up', in: open, timeout: animationDuration }, { children: jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ css: getModalChildContainerStyle({ theme: theme, size: size, blur: blur, overflowY: overflowY, modalContentCss: modalContentCss }) }, { children: jsxRuntime.jsx(ModalContext.Provider, tslib.__assign({ value: { footerAlignment: footerAlignment, hideCrossIcon: hideCrossIcon, onClose: onClose, size: size } }, { children: React__default.default.cloneElement(children, tslib.__assign({ onClose: onClose }, children.props)) })) })) }))] })) })) }) })));
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
var ModalAction = function (_a) {
|
|
248
|
+
var children = _a.children, css = _a.css;
|
|
249
|
+
var _b = React.useContext(ModalContext).footerAlignment, footerAlignment = _b === void 0 ? 'end' : _b;
|
|
250
|
+
var alignment = {
|
|
251
|
+
start: 'flex-start',
|
|
252
|
+
end: 'flex-end',
|
|
253
|
+
center: 'center',
|
|
254
|
+
}[footerAlignment];
|
|
255
|
+
var theme = useTheme__default.default();
|
|
256
|
+
return (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ display: 'flex', justifyContent: alignment, css: tslib.__assign(tslib.__assign({}, css), { padding: '16px 24px 16px 24px', boxShadow: theme.elevation.topE1 }) }, { children: children })));
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
var ModalContainer = function (_a) {
|
|
260
|
+
var children = _a.children, css = _a.css;
|
|
261
|
+
var size = React.useContext(ModalContext).size;
|
|
262
|
+
return (jsxRuntime.jsx(ctDesignBox.Box, tslib.__assign({ boxSize: 'zero', css: tslib.__assign({ maxHeight: size === 'FULL_SCREEN' ? '100%' : 'calc(100vh - 128px)', overflowY: 'auto', height: size === 'FULL_SCREEN' ? '100%' : undefined }, css) }, { children: children })));
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
var ModalContent = function (_a) {
|
|
266
|
+
var children = _a.children, css = _a.css;
|
|
267
|
+
return (jsxRuntime.jsx(ctDesignBox.Box, tslib.__assign({ boxSize: 'zero', css: tslib.__assign({ overflowY: 'auto', flex: '1 1 auto' }, css) }, { children: jsxRuntime.jsx(ctDesignBox.Box, tslib.__assign({ boxSize: 'xLarge', css: { padding: '16px 24px', width: '100%' } }, { children: children })) })));
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
var ModalTitle = function (_a) {
|
|
271
|
+
var children = _a.children;
|
|
272
|
+
var theme = useTheme__default.default();
|
|
273
|
+
var _b = React.useContext(ModalContext), hideCrossIcon = _b.hideCrossIcon, onClose = _b.onClose, size = _b.size;
|
|
274
|
+
var padding = size === 'FULL_SCREEN' ? '22px 28px' : '24px 24px 16px 24px';
|
|
275
|
+
return (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ display: 'flex', justifyContent: 'space-between', css: { padding: padding, boxShadow: theme.elevation.bottomE1 } }, { children: [jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'HM2' }, { children: children })), !hideCrossIcon && (jsxRuntime.jsx(ctDesignContainer.Container, tslib.__assign({ cursor: 'pointer', onClick: onClose, marginTop: theme.spacing[1], marginRight: theme.spacing[1] }, { children: jsxRuntime.jsx(ctDesignIcons.Cross, { height: 24, width: 24, crossColor: theme.color.text.heading }) })))] })));
|
|
276
|
+
};
|
|
277
|
+
|
|
278
|
+
exports.Modal = Modal;
|
|
279
|
+
exports.ModalAction = ModalAction;
|
|
280
|
+
exports.ModalContainer = ModalContainer;
|
|
281
|
+
exports.ModalContent = ModalContent;
|
|
282
|
+
exports.ModalTitle = ModalTitle;
|
|
283
|
+
//# sourceMappingURL=ct-design-modal.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-modal.cjs.js","sources":["../packages/components/Modal/src/type.ts","../packages/components/Modal/src/Backdrop/style.ts","../packages/components/Modal/src/Backdrop/Backdrop.tsx","../packages/components/Modal/src/ModalContext.ts","../packages/components/Modal/src/Handler.ts","../packages/components/Modal/src/style.ts","../packages/components/Modal/src/Modal.tsx","../packages/components/Modal/src/ModalAction/ModalAction.tsx","../packages/components/Modal/src/ModalContainer/ModalContainer.tsx","../packages/components/Modal/src/ModalContent/ModalContent.tsx","../packages/components/Modal/src/ModalTitle/ModalTitle.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["ModalSize","styled","__rest","__assign","forwardRef","useTheme","_jsx","Transition","createContext","useRef","useState","useMergeRefs","useLayoutEffect","useEffect","React","Portal","FocusLock","Container","_jsxs","useContext","Box","Typography","Cross"],"mappings":"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"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { __rest, __assign } from 'tslib';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import React, { forwardRef, createContext, useRef, useState, useLayoutEffect, useEffect, useContext } from 'react';
|
|
4
|
+
import styled from 'styled-components';
|
|
5
|
+
import useTheme from '@cleartrip/ct-design-use-theme';
|
|
6
|
+
import { Portal } from '@cleartrip/ct-design-portal';
|
|
7
|
+
import { FocusLock } from '@cleartrip/ct-design-focus-lock';
|
|
8
|
+
import { Transition } from '@cleartrip/ct-design-transition';
|
|
9
|
+
import useMergeRefs from '@cleartrip/ct-design-use-merge-refs';
|
|
10
|
+
import { Container } from '@cleartrip/ct-design-container';
|
|
11
|
+
import { Box } from '@cleartrip/ct-design-box';
|
|
12
|
+
import { Cross } from '@cleartrip/ct-design-icons';
|
|
13
|
+
import { Typography } from '@cleartrip/ct-design-typography';
|
|
14
|
+
|
|
15
|
+
var ModalSize;
|
|
16
|
+
(function (ModalSize) {
|
|
17
|
+
ModalSize["SMALL"] = "SMALL";
|
|
18
|
+
ModalSize["MEDIUM"] = "MEDIUM";
|
|
19
|
+
ModalSize["LARGE"] = "LARGE";
|
|
20
|
+
ModalSize["FULL_SCREEN"] = "FULL_SCREEN";
|
|
21
|
+
ModalSize["NONE"] = "NONE";
|
|
22
|
+
ModalSize["REGULAR"] = "REGULAR";
|
|
23
|
+
ModalSize["BIG"] = "BIG";
|
|
24
|
+
})(ModalSize || (ModalSize = {}));
|
|
25
|
+
|
|
26
|
+
var getBackdropStyles = function (_a) {
|
|
27
|
+
var blur = _a.blur;
|
|
28
|
+
return ({
|
|
29
|
+
position: 'fixed',
|
|
30
|
+
display: 'flex',
|
|
31
|
+
alignItems: 'center',
|
|
32
|
+
justifyContent: 'center',
|
|
33
|
+
background: blur ? 'rgba(26, 26, 26, 0.6);' : '',
|
|
34
|
+
backdropFilter: blur ? 'blur(1px)' : 'none',
|
|
35
|
+
zIndex: -1,
|
|
36
|
+
inset: 0,
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var StyledBackdrop = styled.div(function (_a) {
|
|
41
|
+
var css = _a.css, theme = _a.theme, blur = _a.blur; __rest(_a, ["css", "theme", "blur"]);
|
|
42
|
+
return getBackdropStyles(__assign(__assign({}, css), { blur: blur, theme: theme }));
|
|
43
|
+
});
|
|
44
|
+
var Backdrop = forwardRef(function (_a, forwardedRef) {
|
|
45
|
+
_a.as; var children = _a.children, open = _a.open, transitionDuration = _a.transitionDuration, css = _a.css, rest = __rest(_a, ["as", "children", "open", "transitionDuration", "css"]);
|
|
46
|
+
var theme = useTheme();
|
|
47
|
+
return (jsx(Transition, __assign({ in: open, timeout: transitionDuration, type: 'fade' }, { children: jsx(StyledBackdrop, __assign({ ref: forwardedRef, css: css, theme: theme }, rest, { children: children })) })));
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
var ModalContext = createContext({
|
|
51
|
+
footerAlignment: 'end',
|
|
52
|
+
hideCrossIcon: false,
|
|
53
|
+
onClose: function () { },
|
|
54
|
+
size: 'MEDIUM',
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
var Handler = (function () {
|
|
58
|
+
function Handler() {
|
|
59
|
+
this.parent = [];
|
|
60
|
+
}
|
|
61
|
+
Handler.handleStyle = function (parentNode) {
|
|
62
|
+
if (parentNode.ref) {
|
|
63
|
+
parentNode.prevStyle = __assign({}, parentNode.ref.style);
|
|
64
|
+
parentNode.ref.style.overflow = 'hidden';
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
Handler.restoreStyle = function (parentNode) {
|
|
68
|
+
if (parentNode.ref && parentNode.prevStyle) {
|
|
69
|
+
parentNode.ref.style.overflow = parentNode.prevStyle.overflow || '';
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
Handler.prototype.mount = function (modal, parentNode) {
|
|
73
|
+
if (parentNode === void 0) { parentNode = { ref: null }; }
|
|
74
|
+
if (parentNode.ref) {
|
|
75
|
+
var parentIndex = this.parent.findIndex(function (node) { return node.parentNode === parentNode; });
|
|
76
|
+
if (parentIndex !== -1) {
|
|
77
|
+
this.parent[parentIndex].modals.push(modal);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.parent.push({
|
|
81
|
+
parentNode: parentNode,
|
|
82
|
+
modals: [modal],
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
Handler.handleStyle(parentNode);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
var parent_1 = this.getTopModal();
|
|
89
|
+
parent_1.modals.push(modal);
|
|
90
|
+
Handler.handleStyle(parent_1.parentNode);
|
|
91
|
+
if (parent_1.parentNode.ref !== document.body) {
|
|
92
|
+
this.parent.push({
|
|
93
|
+
parentNode: modal,
|
|
94
|
+
modals: [],
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.parent.push(parent_1);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
Handler.prototype.getTopModal = function () {
|
|
103
|
+
if (this.parent.length) {
|
|
104
|
+
return this.parent[this.parent.length - 1];
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return { parentNode: { ref: document.body, prevStyle: document.body.style }, modals: [] };
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
Handler.prototype.remove = function (modal) {
|
|
111
|
+
var parentNode = this.parent.find(function (node) { return node.modals.find(function (_modal) { return _modal.ref === modal.ref; }); });
|
|
112
|
+
if (parentNode) {
|
|
113
|
+
Handler.restoreStyle(parentNode.parentNode);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
return Handler;
|
|
117
|
+
}());
|
|
118
|
+
|
|
119
|
+
var getModalSizeStyles = function (size) {
|
|
120
|
+
switch (size) {
|
|
121
|
+
case ModalSize.SMALL: {
|
|
122
|
+
return {
|
|
123
|
+
width: '360px',
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
case ModalSize.LARGE: {
|
|
127
|
+
return {
|
|
128
|
+
width: '1032px',
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
case ModalSize.FULL_SCREEN: {
|
|
132
|
+
return {
|
|
133
|
+
width: '100vw',
|
|
134
|
+
height: '100vh',
|
|
135
|
+
minHeight: '100vh',
|
|
136
|
+
minWidth: '100%',
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
case ModalSize.NONE: {
|
|
140
|
+
return {};
|
|
141
|
+
}
|
|
142
|
+
case ModalSize.BIG: {
|
|
143
|
+
return {
|
|
144
|
+
width: '730px',
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
case ModalSize.REGULAR: {
|
|
148
|
+
return {
|
|
149
|
+
width: '484px',
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
case ModalSize.MEDIUM:
|
|
153
|
+
default: {
|
|
154
|
+
return {
|
|
155
|
+
width: '504px',
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
var getModalChildContainerStyle = function (_a) {
|
|
161
|
+
var theme = _a.theme, size = _a.size, blur = _a.blur, overflowY = _a.overflowY, modalContentCss = _a.modalContentCss;
|
|
162
|
+
return (__assign(__assign({ boxSizing: 'content-box', borderRadius: size === ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'], borderBottomLeftRadius: size === ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'], borderBottomRightRadius: size === ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'], backgroundColor: theme.color.background.neutral, overflowY: overflowY, maxHeight: size === ModalSize.FULL_SCREEN ? '100vh' : "calc(100vh - 64px)", boxShadow: blur
|
|
163
|
+
? "rgb(0 0 0 / 20%) 0px 11px 15px -7px, rgb(0 0 0 / 14%) 0px 24px 38px 3px, rgb(0 0 0 / 12%) 0px 9px 22px 18px"
|
|
164
|
+
: 'none' }, getModalSizeStyles(size)), modalContentCss));
|
|
165
|
+
};
|
|
166
|
+
var getModalStyles = function (_a) {
|
|
167
|
+
var theme = _a.theme; _a.size; var overflowY = _a.overflowY, rest = __rest(_a, ["theme", "size", "overflowY"]);
|
|
168
|
+
return (__assign({ position: 'relative', zIndex: theme.zIndex.modal, overflowY: overflowY, display: 'flex', flexDirection: 'column', margin: 'auto', height: '100%', width: '100%', justifyContent: 'center', alignItems: 'center' }, rest));
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
var StyledModal = styled.div(function (_a) {
|
|
172
|
+
var theme = _a.theme, _b = _a.size, size = _b === void 0 ? 'MEDIUM' : _b, _c = _a.overflowY, overflowY = _c === void 0 ? 'auto' : _c, _d = _a.styledModalWrapperCss, styledModalWrapperCss = _d === void 0 ? {} : _d;
|
|
173
|
+
return getModalStyles(__assign({ theme: theme, size: size, overflowY: overflowY }, styledModalWrapperCss));
|
|
174
|
+
});
|
|
175
|
+
var handler = new Handler();
|
|
176
|
+
var DEFAULT_ANIMATION_TIME = 350;
|
|
177
|
+
var Modal = forwardRef(function (_a, forwardedRef) {
|
|
178
|
+
var as = _a.as, children = _a.children, _b = _a.insidePortal, insidePortal = _b === void 0 ? true : _b, _c = _a.open, open = _c === void 0 ? false : _c, onClose = _a.onClose, onKeyDown = _a.onKeyDown, hideCrossIcon = _a.hideCrossIcon, footerAlignment = _a.footerAlignment, _d = _a.size, size = _d === void 0 ? 'MEDIUM' : _d, _e = _a.allowBackdropClose, allowBackdropClose = _e === void 0 ? true : _e; _a.width; var _f = _a.blur, blur = _f === void 0 ? true : _f, backDropComponent = _a.backDropComponent, _g = _a.animationDuration, animationDuration = _g === void 0 ? DEFAULT_ANIMATION_TIME : _g, _h = _a.overflowY, overflowY = _h === void 0 ? 'auto' : _h, styledModalWrapperCss = _a.styledModalWrapperCss, modalContentCss = _a.modalContentCss, rest = __rest(_a, ["as", "children", "insidePortal", "open", "onClose", "onKeyDown", "hideCrossIcon", "footerAlignment", "size", "allowBackdropClose", "width", "blur", "backDropComponent", "animationDuration", "overflowY", "styledModalWrapperCss", "modalContentCss"]);
|
|
179
|
+
var theme = useTheme();
|
|
180
|
+
var modalRef = useRef(null);
|
|
181
|
+
var containerRef = useRef({});
|
|
182
|
+
var _j = useState(open), isOpen = _j[0], setIsOpen = _j[1];
|
|
183
|
+
var handleRef = useMergeRefs(forwardedRef, modalRef);
|
|
184
|
+
useLayoutEffect(function () {
|
|
185
|
+
var timeoutId = null;
|
|
186
|
+
if (!open) {
|
|
187
|
+
timeoutId = setTimeout(function () { return setIsOpen(false); }, animationDuration);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
setIsOpen(true);
|
|
191
|
+
}
|
|
192
|
+
return function () {
|
|
193
|
+
timeoutId && clearTimeout(timeoutId);
|
|
194
|
+
};
|
|
195
|
+
}, [open, animationDuration]);
|
|
196
|
+
useEffect(function () {
|
|
197
|
+
if (modalRef.current) {
|
|
198
|
+
modalRef.current.scrollTop = 0;
|
|
199
|
+
}
|
|
200
|
+
if (open) {
|
|
201
|
+
containerRef.current.modalRef = modalRef.current;
|
|
202
|
+
handler.mount({ ref: containerRef.current.modalRef });
|
|
203
|
+
}
|
|
204
|
+
return function () {
|
|
205
|
+
if (open) {
|
|
206
|
+
handler.remove({ ref: containerRef.current.modalRef || null });
|
|
207
|
+
containerRef.current.modalRef = modalRef.current;
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
}, [open]);
|
|
211
|
+
var handleBackdropClick = function (event) {
|
|
212
|
+
if (event.target !== event.currentTarget) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (allowBackdropClose && onClose) {
|
|
216
|
+
onClose(event);
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
var handleKeyDown = function (event) {
|
|
220
|
+
if (onKeyDown) {
|
|
221
|
+
onKeyDown(event);
|
|
222
|
+
}
|
|
223
|
+
if (event.key !== 'Escape') {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
event.stopPropagation();
|
|
227
|
+
if (onClose) {
|
|
228
|
+
onClose(event);
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
if (!isOpen || !React.isValidElement(children)) {
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
234
|
+
var fullScreenStyle = size === ModalSize.FULL_SCREEN ? { height: '100vh', width: '100vw' } : {};
|
|
235
|
+
return (jsx(Portal, __assign({ disablePortal: !insidePortal }, { children: jsx(FocusLock, { children: jsx(Container, __assign({ position: 'fixed', zIndex: theme.zIndex.modal, css: __assign({ inset: 0 }, fullScreenStyle) }, rest, { children: jsxs(StyledModal, __assign({ size: size, as: as, theme: theme, overflowY: overflowY, onKeyDown: handleKeyDown, ref: handleRef, styledModalWrapperCss: styledModalWrapperCss }, { children: [backDropComponent || (jsx(Backdrop, { open: open, blur: blur, transitionDuration: 350, onClick: handleBackdropClick })), jsx(Transition, __assign({ type: size === ModalSize.FULL_SCREEN ? 'slide' : 'fade', slideDirection: 'up', in: open, timeout: animationDuration }, { children: jsx(Container, __assign({ css: getModalChildContainerStyle({ theme: theme, size: size, blur: blur, overflowY: overflowY, modalContentCss: modalContentCss }) }, { children: jsx(ModalContext.Provider, __assign({ value: { footerAlignment: footerAlignment, hideCrossIcon: hideCrossIcon, onClose: onClose, size: size } }, { children: React.cloneElement(children, __assign({ onClose: onClose }, children.props)) })) })) }))] })) })) }) })));
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
var ModalAction = function (_a) {
|
|
239
|
+
var children = _a.children, css = _a.css;
|
|
240
|
+
var _b = useContext(ModalContext).footerAlignment, footerAlignment = _b === void 0 ? 'end' : _b;
|
|
241
|
+
var alignment = {
|
|
242
|
+
start: 'flex-start',
|
|
243
|
+
end: 'flex-end',
|
|
244
|
+
center: 'center',
|
|
245
|
+
}[footerAlignment];
|
|
246
|
+
var theme = useTheme();
|
|
247
|
+
return (jsx(Container, __assign({ display: 'flex', justifyContent: alignment, css: __assign(__assign({}, css), { padding: '16px 24px 16px 24px', boxShadow: theme.elevation.topE1 }) }, { children: children })));
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
var ModalContainer = function (_a) {
|
|
251
|
+
var children = _a.children, css = _a.css;
|
|
252
|
+
var size = useContext(ModalContext).size;
|
|
253
|
+
return (jsx(Box, __assign({ boxSize: 'zero', css: __assign({ maxHeight: size === 'FULL_SCREEN' ? '100%' : 'calc(100vh - 128px)', overflowY: 'auto', height: size === 'FULL_SCREEN' ? '100%' : undefined }, css) }, { children: children })));
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
var ModalContent = function (_a) {
|
|
257
|
+
var children = _a.children, css = _a.css;
|
|
258
|
+
return (jsx(Box, __assign({ boxSize: 'zero', css: __assign({ overflowY: 'auto', flex: '1 1 auto' }, css) }, { children: jsx(Box, __assign({ boxSize: 'xLarge', css: { padding: '16px 24px', width: '100%' } }, { children: children })) })));
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
var ModalTitle = function (_a) {
|
|
262
|
+
var children = _a.children;
|
|
263
|
+
var theme = useTheme();
|
|
264
|
+
var _b = useContext(ModalContext), hideCrossIcon = _b.hideCrossIcon, onClose = _b.onClose, size = _b.size;
|
|
265
|
+
var padding = size === 'FULL_SCREEN' ? '22px 28px' : '24px 24px 16px 24px';
|
|
266
|
+
return (jsxs(Container, __assign({ display: 'flex', justifyContent: 'space-between', css: { padding: padding, boxShadow: theme.elevation.bottomE1 } }, { children: [jsx(Typography, __assign({ variant: 'HM2' }, { children: children })), !hideCrossIcon && (jsx(Container, __assign({ cursor: 'pointer', onClick: onClose, marginTop: theme.spacing[1], marginRight: theme.spacing[1] }, { children: jsx(Cross, { height: 24, width: 24, crossColor: theme.color.text.heading }) })))] })));
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
export { Modal, ModalAction, ModalContainer, ModalContent, ModalSize, ModalTitle };
|
|
270
|
+
//# sourceMappingURL=ct-design-modal.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-modal.esm.js","sources":["../packages/components/Modal/src/type.ts","../packages/components/Modal/src/Backdrop/style.ts","../packages/components/Modal/src/Backdrop/Backdrop.tsx","../packages/components/Modal/src/ModalContext.ts","../packages/components/Modal/src/Handler.ts","../packages/components/Modal/src/style.ts","../packages/components/Modal/src/Modal.tsx","../packages/components/Modal/src/ModalAction/ModalAction.tsx","../packages/components/Modal/src/ModalContainer/ModalContainer.tsx","../packages/components/Modal/src/ModalContent/ModalContent.tsx","../packages/components/Modal/src/ModalTitle/ModalTitle.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["_jsx","_jsxs"],"mappings":"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"}
|