@cleartrip/ct-design-modal 4.0.0 → 5.0.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.
Files changed (78) hide show
  1. package/README.md +100 -0
  2. package/dist/Backdrop/Backdrop.d.ts +8 -4
  3. package/dist/Backdrop/Backdrop.d.ts.map +1 -1
  4. package/dist/Backdrop/style.d.ts +18 -0
  5. package/dist/Backdrop/style.d.ts.map +1 -0
  6. package/dist/Backdrop/type.d.ts +9 -8
  7. package/dist/Backdrop/type.d.ts.map +1 -1
  8. package/dist/Modal.d.ts +4 -4
  9. package/dist/Modal.d.ts.map +1 -1
  10. package/dist/Modal.native.d.ts +5 -0
  11. package/dist/Modal.native.d.ts.map +1 -0
  12. package/dist/ModalAction/ModalAction.d.ts +7 -5
  13. package/dist/ModalAction/ModalAction.d.ts.map +1 -1
  14. package/dist/ModalContainer/ModalContainer.d.ts +7 -7
  15. package/dist/ModalContainer/ModalContainer.d.ts.map +1 -1
  16. package/dist/ModalContent/ModalContent.d.ts +9 -6
  17. package/dist/ModalContent/ModalContent.d.ts.map +1 -1
  18. package/dist/ModalContext.d.ts +0 -1
  19. package/dist/ModalContext.d.ts.map +1 -1
  20. package/dist/ModalTitle/ModalTitle.d.ts +12 -5
  21. package/dist/ModalTitle/ModalTitle.d.ts.map +1 -1
  22. package/dist/ModalsUsableComponents/ModalWithCloseOverlay.d.ts +3 -2
  23. package/dist/ModalsUsableComponents/ModalWithCloseOverlay.d.ts.map +1 -1
  24. package/dist/ModalsUsableComponents/type.d.ts +10 -4
  25. package/dist/ModalsUsableComponents/type.d.ts.map +1 -1
  26. package/dist/constants.d.ts +28 -0
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/ct-design-modal.browser.cjs.js +1 -1
  29. package/dist/ct-design-modal.browser.cjs.js.map +1 -1
  30. package/dist/ct-design-modal.browser.esm.js +1 -1
  31. package/dist/ct-design-modal.browser.esm.js.map +1 -1
  32. package/dist/ct-design-modal.cjs.js +233 -130
  33. package/dist/ct-design-modal.cjs.js.map +1 -1
  34. package/dist/ct-design-modal.esm.js +235 -132
  35. package/dist/ct-design-modal.esm.js.map +1 -1
  36. package/dist/ct-design-modal.umd.js +1882 -141
  37. package/dist/ct-design-modal.umd.js.map +1 -1
  38. package/dist/index.d.ts +4 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.native.d.ts +5 -0
  41. package/dist/index.native.d.ts.map +1 -0
  42. package/dist/modalUtils.d.ts +2 -0
  43. package/dist/modalUtils.d.ts.map +1 -0
  44. package/dist/style.d.ts +18 -0
  45. package/dist/style.d.ts.map +1 -0
  46. package/dist/style.native.d.ts +29 -0
  47. package/dist/style.native.d.ts.map +1 -0
  48. package/dist/type.d.ts +38 -40
  49. package/dist/type.d.ts.map +1 -1
  50. package/package.json +38 -17
  51. package/src/Backdrop/Backdrop.tsx +39 -0
  52. package/src/Backdrop/index.ts +1 -0
  53. package/src/Backdrop/style.ts +18 -0
  54. package/src/Backdrop/type.ts +17 -0
  55. package/src/Handler.ts +78 -0
  56. package/src/Modal.native.tsx +210 -0
  57. package/src/Modal.tsx +234 -0
  58. package/src/ModalAction/ModalAction.tsx +42 -0
  59. package/src/ModalAction/index.ts +1 -0
  60. package/src/ModalContainer/ModalContainer.tsx +40 -0
  61. package/src/ModalContainer/index.ts +1 -0
  62. package/src/ModalContent/ModalContent.tsx +44 -0
  63. package/src/ModalContent/index.ts +1 -0
  64. package/src/ModalContext.ts +14 -0
  65. package/src/ModalTitle/ModalTitle.tsx +70 -0
  66. package/src/ModalTitle/index.ts +1 -0
  67. package/src/ModalsUsableComponents/ModalWithCloseOverlay.tsx +92 -0
  68. package/src/ModalsUsableComponents/index.ts +2 -0
  69. package/src/ModalsUsableComponents/type.ts +40 -0
  70. package/src/constants.ts +31 -0
  71. package/src/index.native.ts +4 -0
  72. package/src/index.ts +10 -0
  73. package/src/modalUtils.ts +1 -0
  74. package/src/style.native.ts +83 -0
  75. package/src/style.ts +44 -0
  76. package/src/type.ts +72 -0
  77. package/dist/ModalsUsableComponents/style.d.ts +0 -11
  78. package/dist/ModalsUsableComponents/style.d.ts.map +0 -1
@@ -1,15 +1,16 @@
1
- import { __assign, __rest } from 'tslib';
1
+ import { __rest } from 'tslib';
2
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-theme';
3
+ import React, { forwardRef, createContext, useMemo, useRef, useState, useLayoutEffect, useEffect, useContext } from 'react';
6
4
  import { Portal } from '@cleartrip/ct-design-portal';
7
5
  import { FocusLock } from '@cleartrip/ct-design-focus-lock';
8
6
  import { Transition } from '@cleartrip/ct-design-transition';
7
+ import { css } from '@emotion/css';
8
+ import { makeStyles, useStyles, useWebMergeStyles } from '@cleartrip/ct-design-style-manager';
9
9
  import useMergeRefs from '@cleartrip/ct-design-use-merge-refs';
10
10
  import { Container } from '@cleartrip/ct-design-container';
11
11
  import { Box } from '@cleartrip/ct-design-box';
12
12
  import { Cross, ModalBack } from '@cleartrip/ct-design-icons';
13
+ import { useTheme } from '@cleartrip/ct-design-theme';
13
14
  import { Typography } from '@cleartrip/ct-design-typography';
14
15
 
15
16
  var ModalSize;
@@ -32,8 +33,20 @@ var ModalPlacement;
32
33
  ModalPlacement["CENTER"] = "center";
33
34
  ModalPlacement["BOTTOM"] = "bottom";
34
35
  })(ModalPlacement || (ModalPlacement = {}));
36
+ var ActionButtonVariant;
37
+ (function (ActionButtonVariant) {
38
+ ActionButtonVariant["BACK"] = "back";
39
+ ActionButtonVariant["CLOSE"] = "close";
40
+ ActionButtonVariant["NONE"] = "none";
41
+ })(ActionButtonVariant || (ActionButtonVariant = {}));
42
+ var ActionButtonAlignment;
43
+ (function (ActionButtonAlignment) {
44
+ ActionButtonAlignment["CENTER"] = "center";
45
+ ActionButtonAlignment["LEFT"] = "left";
46
+ ActionButtonAlignment["RIGHT"] = "right";
47
+ })(ActionButtonAlignment || (ActionButtonAlignment = {}));
35
48
 
36
- var getModalSizeStyles = function (size) {
49
+ const getModalSizeStyles = (size) => {
37
50
  switch (size) {
38
51
  case ModalSize.SMALL: {
39
52
  return {
@@ -74,137 +87,179 @@ var getModalSizeStyles = function (size) {
74
87
  }
75
88
  }
76
89
  };
77
- var getModalChildContainerStyle = function (_a) {
78
- var theme = _a.theme, size = _a.size, blur = _a.blur, overflowY = _a.overflowY, modalContentCss = _a.modalContentCss, variant = _a.variant;
79
- 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: variant === ModalVariant.DARK ? theme.color.background.primary : theme.color.background.neutral, overflowY: overflowY, maxHeight: size === ModalSize.FULL_SCREEN ? '100vh' : "calc(100vh - 64px)", boxShadow: blur
80
- ? "".concat(theme.elevation.modalBlurLight, ", ").concat(theme.elevation.modalBlurMedium, ", ").concat(theme.elevation.modalBlurHeavy)
81
- : 'none' }, getModalSizeStyles(size)), modalContentCss));
82
- };
83
- var getModalStyles = function (_a) {
84
- var theme = _a.theme; _a.size; var overflowY = _a.overflowY, placement = _a.placement, bottomMargin = _a.bottomMargin, rest = __rest(_a, ["theme", "size", "overflowY", "placement", "bottomMargin"]);
85
- return (__assign({ position: 'relative', zIndex: theme.zIndex.modal, overflowY: overflowY, display: 'flex', flexDirection: 'column', margin: 'auto', height: '100%', width: '100%', justifyContent: placement === ModalPlacement.BOTTOM ? 'flex-end' : ModalPlacement.CENTER, alignItems: ModalPlacement.CENTER, paddingBottom: placement === ModalPlacement.BOTTOM ? bottomMargin || '188px' : '0' }, rest));
86
- };
87
90
 
88
- var getBackdropStyles = function (_a) {
89
- var blur = _a.blur, variant = _a.variant;
90
- return ({
91
- position: 'fixed',
91
+ const staticBackdropStyles = makeStyles(() => ({
92
+ root: {
92
93
  display: 'flex',
93
94
  alignItems: 'center',
94
95
  justifyContent: 'center',
95
- background: blur ? 'rgba(26, 26, 26, 0.6);' : '',
96
- backdropFilter: variant !== ModalVariant.DARK && blur ? '(1px)' : 'none',
97
96
  zIndex: -1,
98
97
  inset: 0,
99
- });
100
- };
98
+ },
99
+ }));
100
+ const getBackdropDynamicStyles = ({ blur, variant }) => ({
101
+ backgroundColor: blur ? 'rgba(26, 26, 26, 0.6)' : '',
102
+ backdropFilter: variant !== ModalVariant.DARK && blur ? 'blur(1px)' : 'none',
103
+ });
101
104
 
102
- var StyledBackdrop = styled.div(function (_a) {
103
- var css = _a.css, theme = _a.theme, blur = _a.blur, variant = _a.variant; __rest(_a, ["css", "theme", "blur", "variant"]);
104
- return (__assign(__assign({}, getBackdropStyles({ blur: blur, theme: theme, variant: variant })), css));
105
+ const webStyle = css({
106
+ position: 'fixed',
105
107
  });
106
- var Backdrop = forwardRef(function (_a, forwardedRef) {
107
- _a.as; var children = _a.children, open = _a.open, transitionDuration = _a.transitionDuration, css = _a.css, className = _a.className, _b = _a.variant, variant = _b === void 0 ? ModalVariant.NEUTRAL : _b, rest = __rest(_a, ["as", "children", "open", "transitionDuration", "css", "className", "variant"]);
108
- var theme = useTheme();
109
- return (jsx(Transition, __assign({ in: open, timeout: transitionDuration, type: 'fade' }, { children: jsx(StyledBackdrop, __assign({ ref: forwardedRef, css: css, theme: theme, className: className, variant: variant }, rest, { children: children })) })));
108
+ const Backdrop = forwardRef((_a, forwardedRef) => {
109
+ var _b;
110
+ var { children, open, transitionDuration, styleConfig, blur, variant = ModalVariant.NEUTRAL } = _a, rest = __rest(_a, ["children", "open", "transitionDuration", "styleConfig", "blur", "variant"]);
111
+ const dynamicStyles = useStyles(() => ({ root: getBackdropDynamicStyles({ blur, variant }) }), [blur, variant]);
112
+ const className = useWebMergeStyles([staticBackdropStyles.root, dynamicStyles.root, webStyle, ...((_b = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) !== null && _b !== void 0 ? _b : [])], [dynamicStyles.root, styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root]);
113
+ return (jsx(Transition, { in: open, timeout: transitionDuration, type: 'fade', children: jsx("div", Object.assign({ ref: forwardedRef, className: className }, rest, { children: children })) }));
110
114
  });
115
+ Backdrop.displayName = 'Backdrop';
111
116
 
112
- var ModalContext = createContext({
117
+ const ModalContext = createContext({
113
118
  footerAlignment: 'end',
114
119
  hideCrossIcon: false,
115
- onClose: function () { },
120
+ onClose: () => {
121
+ return;
122
+ },
116
123
  size: 'MEDIUM',
117
124
  });
118
125
 
119
- var Handler = (function () {
120
- function Handler() {
126
+ class Handler {
127
+ constructor() {
121
128
  this.parent = [];
122
129
  }
123
- Handler.handleStyle = function (parentNode) {
130
+ static handleStyle(parentNode) {
124
131
  if (parentNode.ref) {
125
- parentNode.prevStyle = __assign({}, parentNode.ref.style);
132
+ parentNode.prevStyle = Object.assign({}, parentNode.ref.style);
126
133
  parentNode.ref.style.overflow = 'hidden';
127
134
  }
128
- };
129
- Handler.restoreStyle = function (parentNode) {
135
+ }
136
+ static restoreStyle(parentNode) {
130
137
  if (parentNode.ref && parentNode.prevStyle) {
131
138
  parentNode.ref.style.overflow = parentNode.prevStyle.overflow || '';
132
139
  }
133
- };
134
- Handler.prototype.mount = function (modal, parentNode) {
135
- if (parentNode === void 0) { parentNode = { ref: null }; }
140
+ }
141
+ mount(modal, parentNode = { ref: null }) {
136
142
  if (parentNode.ref) {
137
- var parentIndex = this.parent.findIndex(function (node) { return node.parentNode === parentNode; });
143
+ const parentIndex = this.parent.findIndex((node) => node.parentNode === parentNode);
138
144
  if (parentIndex !== -1) {
139
145
  this.parent[parentIndex].modals.push(modal);
140
146
  }
141
147
  else {
142
148
  this.parent.push({
143
- parentNode: parentNode,
149
+ parentNode,
144
150
  modals: [modal],
145
151
  });
146
152
  }
147
153
  Handler.handleStyle(parentNode);
148
154
  }
149
155
  else {
150
- var parent_1 = this.getTopModal();
151
- parent_1.modals.push(modal);
152
- Handler.handleStyle(parent_1.parentNode);
153
- if (parent_1.parentNode.ref !== document.body) {
156
+ const parent = this.getTopModal();
157
+ parent.modals.push(modal);
158
+ Handler.handleStyle(parent.parentNode);
159
+ if (parent.parentNode.ref !== document.body) {
154
160
  this.parent.push({
155
161
  parentNode: modal,
156
162
  modals: [],
157
163
  });
158
164
  }
159
165
  else {
160
- this.parent.push(parent_1);
166
+ this.parent.push(parent);
161
167
  }
162
168
  }
163
- };
164
- Handler.prototype.getTopModal = function () {
169
+ }
170
+ getTopModal() {
165
171
  if (this.parent.length) {
166
172
  return this.parent[this.parent.length - 1];
167
173
  }
168
174
  else {
169
175
  return { parentNode: { ref: document.body, prevStyle: document.body.style }, modals: [] };
170
176
  }
171
- };
172
- Handler.prototype.remove = function (modal) {
173
- var parentNode = this.parent.find(function (node) { return node.modals.find(function (_modal) { return _modal.ref === modal.ref; }); });
177
+ }
178
+ remove(modal) {
179
+ const parentNode = this.parent.find((node) => node.modals.find((_modal) => _modal.ref === modal.ref));
174
180
  if (parentNode) {
175
181
  Handler.restoreStyle(parentNode.parentNode);
176
182
  }
177
- };
178
- return Handler;
179
- }());
183
+ }
184
+ }
180
185
 
181
- var StyledModal = styled.div(function (_a) {
182
- 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, _e = _a.css, css = _e === void 0 ? {} : _e, _f = _a.placement, placement = _f === void 0 ? ModalPlacement.CENTER : _f, bottomMargin = _a.bottomMargin;
183
- return getModalStyles(__assign(__assign(__assign({ theme: theme, size: size, overflowY: overflowY }, styledModalWrapperCss), { placement: placement, bottomMargin: bottomMargin }), css));
184
- });
185
- var handler = new Handler();
186
- var DEFAULT_ANIMATION_TIME = 350;
187
- var Modal = forwardRef(function (_a, forwardedRef) {
188
- 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, _j = _a.placement, placement = _j === void 0 ? 'center' : _j, bottomMargin = _a.bottomMargin, modalContentCss = _a.modalContentCss, variant = _a.variant, _k = _a.styleConfig, styleConfig = _k === void 0 ? {} : _k, rest = __rest(_a, ["as", "children", "insidePortal", "open", "onClose", "onKeyDown", "hideCrossIcon", "footerAlignment", "size", "allowBackdropClose", "width", "blur", "backDropComponent", "animationDuration", "overflowY", "styledModalWrapperCss", "placement", "bottomMargin", "modalContentCss", "variant", "styleConfig"]);
189
- var theme = useTheme();
190
- var backdrop = styleConfig.backdrop, childrenContainer = styleConfig.childrenContainer, modalContainer = styleConfig.modalContainer, root = styleConfig.root;
191
- var modalRef = useRef(null);
192
- var containerRef = useRef({});
193
- var _l = useState(open), isOpen = _l[0], setIsOpen = _l[1];
194
- var handleRef = useMergeRefs(forwardedRef, modalRef);
195
- useLayoutEffect(function () {
196
- var timeoutId = null;
186
+ const staticModalStyles = makeStyles(() => ({
187
+ modalContainer: {
188
+ position: 'relative',
189
+ display: 'flex',
190
+ flexDirection: 'column',
191
+ margin: 'auto',
192
+ height: '100%',
193
+ width: '100%',
194
+ alignItems: 'center',
195
+ },
196
+ outerContainer: {
197
+ position: 'absolute',
198
+ top: 0,
199
+ left: 0,
200
+ right: 0,
201
+ bottom: 0,
202
+ },
203
+ }));
204
+ const handler = new Handler();
205
+ const DEFAULT_ANIMATION_TIME = 350;
206
+ const Modal = forwardRef((_a, forwardedRef) => {
207
+ var { children, insidePortal = true, open = false, onClose, onKeyDown, hideCrossIcon, footerAlignment, size = 'MEDIUM', allowBackdropClose = true, blur = true, backDropComponent, animationDuration = DEFAULT_ANIMATION_TIME, placement = 'center', bottomMargin, variant, styleConfig = {} } = _a, rest = __rest(_a, ["children", "insidePortal", "open", "onClose", "onKeyDown", "hideCrossIcon", "footerAlignment", "size", "allowBackdropClose", "blur", "backDropComponent", "animationDuration", "placement", "bottomMargin", "variant", "styleConfig"]);
208
+ const { backdropStyles = [], modalContentStyles = [], root: rootStyles = [] } = styleConfig;
209
+ const overflowY = 'auto';
210
+ const isFullScreen = size === ModalSize.FULL_SCREEN;
211
+ const dynamicStyles = useStyles((theme) => ({
212
+ modalContainer: {
213
+ position: 'relative',
214
+ zIndex: theme.zIndex.modal,
215
+ overflowY,
216
+ display: 'flex',
217
+ flexDirection: 'column',
218
+ margin: 'auto',
219
+ height: '100%',
220
+ width: '100%',
221
+ justifyContent: placement === ModalPlacement.BOTTOM ? 'flex-end' : ModalPlacement.CENTER,
222
+ alignItems: ModalPlacement.CENTER,
223
+ paddingBottom: placement === ModalPlacement.BOTTOM ? bottomMargin || 188 : 0,
224
+ },
225
+ outerContainer: Object.assign({ zIndex: theme.zIndex.modal }, (isFullScreen ? { height: '100vh', width: '100vw' } : {})),
226
+ childContainer: {
227
+ boxSizing: 'content-box',
228
+ borderRadius: size === ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'],
229
+ borderBottomLeftRadius: size === ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'],
230
+ borderBottomRightRadius: size === ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'],
231
+ backgroundColor: variant === ModalVariant.DARK ? theme.color.background.defaultDarkest : theme.color.background.neutral,
232
+ overflowY,
233
+ maxHeight: size === ModalSize.FULL_SCREEN
234
+ ? '100vh'
235
+ : `calc(100vh - 64px)`,
236
+ boxShadow: blur
237
+ ? `${theme.elevation.modalBlurLight}, ${theme.elevation.modalBlurMedium}, ${theme.elevation.modalBlurHeavy}`
238
+ : 'none',
239
+ },
240
+ }), [size, overflowY, placement, bottomMargin, isFullScreen, blur, variant]);
241
+ const webDynamicStyles = useMemo(() => {
242
+ const styles = getModalSizeStyles(size);
243
+ return css(styles);
244
+ }, [size]);
245
+ const modalContainerClass = useWebMergeStyles([staticModalStyles.modalContainer, dynamicStyles.modalContainer, webDynamicStyles, ...rootStyles], [dynamicStyles.modalContainer, rootStyles, webDynamicStyles]);
246
+ const modalRef = useRef(null);
247
+ const containerRef = useRef({});
248
+ const [isOpen, setIsOpen] = useState(open);
249
+ const handleRef = useMergeRefs(forwardedRef, modalRef);
250
+ useLayoutEffect(() => {
251
+ let timeoutId = null;
197
252
  if (!open) {
198
- timeoutId = setTimeout(function () { return setIsOpen(false); }, animationDuration);
253
+ timeoutId = setTimeout(() => setIsOpen(false), animationDuration);
199
254
  }
200
255
  else {
201
256
  setIsOpen(true);
202
257
  }
203
- return function () {
258
+ return () => {
204
259
  timeoutId && clearTimeout(timeoutId);
205
260
  };
206
261
  }, [open, animationDuration]);
207
- useEffect(function () {
262
+ useEffect(() => {
208
263
  if (modalRef.current) {
209
264
  modalRef.current.scrollTop = 0;
210
265
  }
@@ -212,22 +267,22 @@ var Modal = forwardRef(function (_a, forwardedRef) {
212
267
  containerRef.current.modalRef = modalRef.current;
213
268
  handler.mount({ ref: containerRef.current.modalRef });
214
269
  }
215
- return function () {
270
+ return () => {
216
271
  if (open) {
217
272
  handler.remove({ ref: containerRef.current.modalRef || null });
218
273
  containerRef.current.modalRef = modalRef.current;
219
274
  }
220
275
  };
221
276
  }, [open]);
222
- var handleBackdropClick = function (event) {
277
+ const handleBackdropClick = (event) => {
223
278
  if (event.target !== event.currentTarget) {
224
279
  return;
225
280
  }
226
281
  if (allowBackdropClose && onClose) {
227
- onClose(event);
282
+ onClose();
228
283
  }
229
284
  };
230
- var handleKeyDown = function (event) {
285
+ const handleKeyDown = (event) => {
231
286
  if (onKeyDown) {
232
287
  onKeyDown(event);
233
288
  }
@@ -236,80 +291,128 @@ var Modal = forwardRef(function (_a, forwardedRef) {
236
291
  }
237
292
  event.stopPropagation();
238
293
  if (onClose) {
239
- onClose(event);
294
+ onClose();
240
295
  }
241
296
  };
242
297
  if (!isOpen || !React.isValidElement(children)) {
243
298
  return null;
244
299
  }
245
- var fullScreenStyle = size === ModalSize.FULL_SCREEN ? { height: '100vh', width: '100vw' } : {};
246
- return (jsx(Portal, __assign({ disablePortal: !insidePortal }, { children: jsx(FocusLock, { children: jsx(Container, __assign({ position: 'fixed', zIndex: theme.zIndex.modal, css: __assign({ inset: 0 }, fullScreenStyle) }, root, rest, { children: jsxs(StyledModal, __assign({ size: size, as: as, theme: theme, overflowY: overflowY, onKeyDown: handleKeyDown, ref: handleRef, styledModalWrapperCss: styledModalWrapperCss, placement: placement, bottomMargin: bottomMargin }, modalContainer, { children: [backDropComponent || (jsx(Backdrop, __assign({ open: open, blur: blur, transitionDuration: 350, onClick: handleBackdropClick, variant: variant }, backdrop))), jsx(Transition, __assign({ type: size === ModalSize.FULL_SCREEN ? 'slide' : 'fade', slideDirection: 'up', in: open, timeout: animationDuration }, { children: jsx(Container, __assign({ className: childrenContainer === null || childrenContainer === void 0 ? void 0 : childrenContainer.className, css: getModalChildContainerStyle({
247
- theme: theme,
248
- size: size,
249
- blur: blur,
250
- overflowY: overflowY,
251
- modalContentCss: (childrenContainer === null || childrenContainer === void 0 ? void 0 : childrenContainer.css) || modalContentCss,
252
- variant: variant,
253
- }) }, { children: jsx(ModalContext.Provider, __assign({ value: { footerAlignment: footerAlignment, hideCrossIcon: hideCrossIcon, onClose: onClose, size: size } }, { children: React.cloneElement(children, __assign({ onClose: onClose }, children.props)) })) })) }))] })) })) }) })));
300
+ const modalElement = (jsx(FocusLock, { children: jsx(Container, Object.assign({ styleConfig: {
301
+ root: [staticModalStyles.outerContainer, dynamicStyles.outerContainer],
302
+ } }, rest, { children: jsxs("div", { className: modalContainerClass, onKeyDown: handleKeyDown, ref: handleRef, children: [backDropComponent || (jsx(Backdrop, { open: open, blur: blur, transitionDuration: 350, onClick: handleBackdropClick, variant: variant, styleConfig: { root: backdropStyles } })), jsx(Transition, { type: isFullScreen ? 'slide' : 'fade', slideDirection: 'up', in: open, timeout: animationDuration, children: jsx(Container, { styleConfig: {
303
+ root: [dynamicStyles.childContainer, ...modalContentStyles],
304
+ }, children: jsx(ModalContext.Provider, { value: { footerAlignment, hideCrossIcon, onClose, size }, children: React.cloneElement(children, Object.assign(Object.assign({}, children.props), { onClose })) }) }) })] }) })) }));
305
+ if (insidePortal) {
306
+ return jsx(Portal, { id: 'global_modal', children: modalElement });
307
+ }
308
+ return modalElement;
254
309
  });
310
+ Modal.displayName = 'Modal';
255
311
 
256
- var ModalAction = function (_a) {
257
- var children = _a.children, css = _a.css, className = _a.className;
258
- var _b = useContext(ModalContext).footerAlignment, footerAlignment = _b === void 0 ? 'end' : _b;
259
- var alignment = {
260
- start: 'flex-start',
261
- end: 'flex-end',
262
- center: 'center',
263
- }[footerAlignment];
264
- var theme = useTheme();
265
- return (jsx(Container, __assign({ display: 'flex', justifyContent: alignment, className: className, css: __assign(__assign({}, css), { padding: '16px 24px 16px 24px', boxShadow: theme.elevation.topE1 }) }, { children: children })));
312
+ const alignmentMap = {
313
+ start: 'flex-start',
314
+ end: 'flex-end',
315
+ center: 'center',
266
316
  };
267
-
268
- var ModalContainer = function (_a) {
269
- var children = _a.children, css = _a.css, className = _a.className;
270
- var size = useContext(ModalContext).size;
271
- 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), className: className }, { children: children })));
317
+ const ModalAction = ({ children, styleConfig }) => {
318
+ var _a;
319
+ const { footerAlignment = 'end' } = useContext(ModalContext);
320
+ const rootStyles = useStyles((theme) => ({
321
+ root: {
322
+ display: 'flex',
323
+ justifyContent: alignmentMap[footerAlignment],
324
+ paddingTop: theme.spacing[6],
325
+ paddingBottom: theme.spacing[6],
326
+ paddingLeft: theme.spacing[4],
327
+ paddingRight: theme.spacing[4],
328
+ boxShadow: theme.elevation.topE1,
329
+ },
330
+ }), [footerAlignment]);
331
+ return jsx(Container, { styleConfig: { root: [rootStyles.root, ...((_a = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) !== null && _a !== void 0 ? _a : [])] }, children: children });
272
332
  };
273
333
 
274
- var ModalContent = function (_a) {
275
- var children = _a.children, css = _a.css, _b = _a.styleConfig, styleConfig = _b === void 0 ? {} : _b;
276
- var innerBox = styleConfig.innerBox, root = styleConfig.root;
277
- return (jsx(Box, __assign({ boxSize: 'zero', className: root === null || root === void 0 ? void 0 : root.className, css: __assign({ overflowY: 'auto', flex: '1 1 auto' }, ((root === null || root === void 0 ? void 0 : root.css) || css)) }, { children: jsx(Box, __assign({ boxSize: 'xLarge', className: innerBox === null || innerBox === void 0 ? void 0 : innerBox.className, css: __assign({ padding: '16px 24px', width: '100%' }, (innerBox === null || innerBox === void 0 ? void 0 : innerBox.css)) }, { children: children })) })));
334
+ const ModalContainer = ({ children, styleConfig }) => {
335
+ var _a;
336
+ const { size } = useContext(ModalContext);
337
+ const isFullScreen = size === ModalSize.FULL_SCREEN;
338
+ const rootStyles = useStyles(() => ({
339
+ root: {
340
+ maxHeight: isFullScreen ? '100%' : 'calc(100vh - 128px)',
341
+ overflowY: 'auto',
342
+ height: isFullScreen ? '100%' : undefined,
343
+ },
344
+ }), [isFullScreen]);
345
+ return (jsx(Box, { boxSize: 'zero', styleConfig: { root: [rootStyles.root, ...((_a = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) !== null && _a !== void 0 ? _a : [])] }, children: children }));
278
346
  };
279
347
 
280
- var ModalTitle = function (_a) {
281
- var children = _a.children, _b = _a.styleConfig, styleConfig = _b === void 0 ? {} : _b;
282
- var theme = useTheme();
283
- var root = styleConfig.root, childrenTypography = styleConfig.childrenTypography, iconContainer = styleConfig.iconContainer, crossIcon = styleConfig.crossIcon;
284
- var _c = useContext(ModalContext), hideCrossIcon = _c.hideCrossIcon, onClose = _c.onClose, size = _c.size;
285
- var padding = size === 'FULL_SCREEN' ? '22px 28px' : '24px 24px 16px 24px';
286
- return (jsxs(Container, __assign({ display: 'flex', justifyContent: 'space-between', className: root === null || root === void 0 ? void 0 : root.className, css: __assign({ padding: padding, boxShadow: theme.elevation.bottomE1 }, root === null || root === void 0 ? void 0 : root.css) }, { children: [jsx(Typography, __assign({ variant: 'HM2', styleConfig: childrenTypography }, { children: children })), !hideCrossIcon && (jsx(Container, __assign({ cursor: 'pointer', onClick: onClose, marginTop: theme.spacing[1], marginRight: theme.spacing[1], className: iconContainer === null || iconContainer === void 0 ? void 0 : iconContainer.className, css: iconContainer === null || iconContainer === void 0 ? void 0 : iconContainer.css }, { children: jsx(Cross, __assign({ height: 24, width: 24, crossColor: theme.color.text.heading }, crossIcon)) })))] })));
348
+ const ModalContent = ({ children, styleConfig }) => {
349
+ var _a, _b;
350
+ const staticStyles = useStyles((theme) => ({
351
+ root: {
352
+ overflowY: 'auto',
353
+ flex: 1,
354
+ },
355
+ innerBox: {
356
+ paddingTop: theme.spacing[6],
357
+ paddingBottom: theme.spacing[6],
358
+ paddingLeft: theme.spacing[4],
359
+ paddingRight: theme.spacing[4],
360
+ width: '100%',
361
+ },
362
+ }), []);
363
+ return (jsx(Box, { boxSize: 'zero', styleConfig: { root: [staticStyles.root, ...((_a = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) !== null && _a !== void 0 ? _a : [])] }, children: jsx(Box, { boxSize: 'xLarge', styleConfig: { root: [staticStyles.innerBox, ...((_b = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.innerBox) !== null && _b !== void 0 ? _b : [])] }, children: children }) }));
287
364
  };
288
365
 
289
- var getCloseButtonStyle = function (_a) {
290
- var theme = _a.theme, _b = _a.isLeft, isLeft = _b === void 0 ? false : _b, _c = _a.variant, variant = _c === void 0 ? 'neutral' : _c, isCenter = _a.isCenter, isTop = _a.isTop;
291
- return (__assign({ position: 'absolute', right: isCenter ? '50%' : isLeft ? 'unset' : 0, transform: isCenter ? 'translateX(50%)' : 'none', background: variant === ModalVariant.DARK ? theme.color.background.primary : theme.color.background.neutral, height: '32px', width: '32px', display: 'flex', alignItems: 'center', padding: theme.spacing[1], borderRadius: '40px', cursor: 'pointer' }, (isTop ? { top: '-42px' } : { bottom: '-42px' })));
366
+ const ModalTitle = ({ children, styleConfig }) => {
367
+ var _a, _b;
368
+ const theme = useTheme();
369
+ const { hideCrossIcon, onClose, size } = useContext(ModalContext);
370
+ const isFullScreen = size === ModalSize.FULL_SCREEN;
371
+ const rootStyles = useStyles((t) => ({
372
+ root: {
373
+ display: 'flex',
374
+ justifyContent: 'space-between',
375
+ paddingTop: isFullScreen ? t.spacing[5] : t.spacing[6],
376
+ paddingBottom: isFullScreen ? t.spacing[5] : t.spacing[4],
377
+ paddingLeft: isFullScreen ? t.spacing[7] : t.spacing[6],
378
+ paddingRight: isFullScreen ? t.spacing[7] : t.spacing[6],
379
+ boxShadow: t.elevation.bottomE1,
380
+ },
381
+ iconContainer: {
382
+ cursor: 'pointer',
383
+ marginTop: t.spacing[1],
384
+ marginRight: t.spacing[1],
385
+ },
386
+ }), [isFullScreen]);
387
+ return (jsxs(Container, { styleConfig: { root: [rootStyles.root, ...((_a = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) !== null && _a !== void 0 ? _a : [])] }, children: [jsx(Typography, { variant: 'HM2', styleConfig: styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.childrenTypography, children: children }), !hideCrossIcon && (jsx(Container, { onClick: onClose, styleConfig: {
388
+ root: [rootStyles.iconContainer, ...((_b = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.iconContainer) !== null && _b !== void 0 ? _b : [])],
389
+ }, children: jsx(Cross, Object.assign({ height: 24, width: 24, crossColor: theme.color.text.heading }, styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.crossIcon)) }))] }));
292
390
  };
293
391
 
294
- var getCloseIcon = function (isBack, variant) {
295
- if (isBack === void 0) { isBack = false; }
296
- if (variant === void 0) { variant = ModalVariant.NEUTRAL; }
392
+ const staticStyles = makeStyles(() => ({
393
+ root: {
394
+ position: 'relative',
395
+ },
396
+ }));
397
+ const getCloseIcon = (isBack = false, variant = ModalVariant.NEUTRAL) => {
297
398
  if (isBack) {
298
399
  return jsx(ModalBack, {});
299
400
  }
300
401
  return variant === ModalVariant.DARK ? (jsx(Cross, { height: 24, width: 24, crossColor: 'rgba(255, 255, 255, 1)' })) : (jsx(Cross, { height: 24, width: 24, crossColor: '#1A1A1A' }));
301
402
  };
302
- var ModalWithCloseOverlay = forwardRef(function (props, forwardedRef) {
303
- var _a = props || {}, wrapperCss = _a.wrapperCss, isBack = _a.isBack, children = _a.children, _b = _a.variant, variant = _b === void 0 ? ModalVariant.NEUTRAL : _b, isCenter = _a.isCenter, _c = _a.isTop, isTop = _c === void 0 ? true : _c, rest = __rest(_a, ["wrapperCss", "isBack", "children", "variant", "isCenter", "isTop"]);
304
- var onClose = rest.onClose;
305
- var theme = useTheme();
306
- var closeButtonStyles = getCloseButtonStyle({ theme: theme, isLeft: isBack, variant: variant, isCenter: isCenter, isTop: isTop });
307
- var CloseIcon = getCloseIcon(isBack, variant);
308
- var onCloseClick = function (e) {
309
- onClose(e);
310
- };
311
- return (jsx(Modal, __assign({ ref: forwardedRef, blur: true, size: 'NONE', insidePortal: true, variant: variant, overflowY: 'unset' }, rest, { children: jsxs(Container, __assign({ className: 'p-relative' }, { children: [jsx(Container, __assign({ css: __assign({}, wrapperCss) }, { children: jsx(Container, __assign({ css: __assign({}, closeButtonStyles), onClick: onCloseClick }, { children: CloseIcon })) })), children] })) })));
403
+ const ModalWithCloseOverlay = forwardRef((props, forwardedRef) => {
404
+ var _a, _b, _c;
405
+ const _d = props || {}, { isBack = false, isCenter, isTop = true, variant = ModalVariant.NEUTRAL, children, styleConfig, wrapperStyles } = _d, rest = __rest(_d, ["isBack", "isCenter", "isTop", "variant", "children", "styleConfig", "wrapperStyles"]);
406
+ const { onClose } = rest;
407
+ const closeButtonStyles = useStyles((theme) => ({
408
+ root: Object.assign({ position: 'absolute', right: (isCenter ? '50%' : isBack ? 'unset' : 0), transform: isCenter ? 'translateX(50%)' : 'none', backgroundColor: variant === ModalVariant.DARK ? theme.color.background.defaultDarkest : theme.color.background.neutral, height: 32, width: 32, display: 'flex', alignItems: 'center', padding: theme.spacing[1], borderRadius: 40, cursor: 'pointer' }, (isTop ? { top: -42 } : { bottom: -42 })),
409
+ }), [isBack, variant, isCenter, isTop]);
410
+ const CloseIcon = getCloseIcon(isBack, variant);
411
+ return (jsx(Modal, Object.assign({ ref: forwardedRef, blur: true, size: 'NONE', insidePortal: true, variant: variant }, rest, { children: jsxs(Container, { styleConfig: { root: [staticStyles.root, ...((_a = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.root) !== null && _a !== void 0 ? _a : [])] }, children: [jsx(Container, { styleConfig: { root: [...(wrapperStyles !== null && wrapperStyles !== void 0 ? wrapperStyles : []), ...((_b = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.wrapper) !== null && _b !== void 0 ? _b : [])] }, children: jsx(Container, { styleConfig: { root: [closeButtonStyles.root, ...((_c = styleConfig === null || styleConfig === void 0 ? void 0 : styleConfig.closeButton) !== null && _c !== void 0 ? _c : [])] }, onClick: () => onClose === null || onClose === void 0 ? void 0 : onClose(), children: CloseIcon }) }), children] }) })));
312
412
  });
413
+ ModalWithCloseOverlay.displayName = 'ModalWithCloseOverlay';
414
+
415
+ const MODAL_ANIMATION_DURATION = 350;
313
416
 
314
- export { Backdrop, Modal, ModalAction, ModalContainer, ModalContent, ModalPlacement, ModalSize, ModalTitle, ModalVariant, ModalWithCloseOverlay };
417
+ export { ActionButtonAlignment, ActionButtonVariant, Backdrop, MODAL_ANIMATION_DURATION, Modal, ModalAction, ModalContainer, ModalContent, ModalPlacement, ModalSize, ModalTitle, ModalVariant, ModalWithCloseOverlay };
315
418
  //# sourceMappingURL=ct-design-modal.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-modal.esm.js","sources":["../packages/components/Modal/src/type.ts","../packages/components/Modal/src/style.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/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","../packages/components/Modal/src/ModalsUsableComponents/style.ts","../packages/components/Modal/src/ModalsUsableComponents/ModalWithCloseOverlay.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"ct-design-modal.esm.js","sources":["../packages/components/Modal/src/constants.ts","../packages/components/Modal/src/style.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/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","../packages/components/Modal/src/ModalsUsableComponents/ModalWithCloseOverlay.tsx","../packages/components/Modal/src/modalUtils.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["_jsx","_jsxs"],"mappings":"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"}