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