@cleartrip/ct-design-modal 5.7.0-SNAPSHOT-native-main.5 → 5.7.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/Modal.d.ts.map +1 -1
- package/dist/ModalsUsableComponents/ModalWithCloseOverlay.d.ts.map +1 -1
- package/dist/ModalsUsableComponents/type.d.ts +0 -1
- package/dist/ModalsUsableComponents/type.d.ts.map +1 -1
- package/dist/ct-design-modal.browser.cjs.js +1 -1
- package/dist/ct-design-modal.browser.cjs.js.map +1 -1
- package/dist/ct-design-modal.browser.esm.js +1 -1
- package/dist/ct-design-modal.browser.esm.js.map +1 -1
- package/dist/ct-design-modal.cjs.js +52 -14
- package/dist/ct-design-modal.cjs.js.map +1 -1
- package/dist/ct-design-modal.esm.js +53 -15
- package/dist/ct-design-modal.esm.js.map +1 -1
- package/dist/ct-design-modal.umd.js +52 -14
- package/dist/ct-design-modal.umd.js.map +1 -1
- package/package.json +15 -15
- package/src/Modal.tsx +11 -6
- package/src/ModalsUsableComponents/ModalWithCloseOverlay.tsx +2 -17
- package/src/ModalsUsableComponents/type.ts +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleartrip/ct-design-modal",
|
|
3
|
-
"version": "5.7.0
|
|
3
|
+
"version": "5.7.0",
|
|
4
4
|
"description": "Modal Component",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "./dist/ct-design-modal.cjs.js",
|
|
@@ -26,23 +26,23 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@emotion/react": "^11.14.0",
|
|
28
28
|
"@emotion/styled": "^11.14.0",
|
|
29
|
-
"@cleartrip/ct-design-container": "5.7.0
|
|
30
|
-
"@cleartrip/ct-design-
|
|
31
|
-
"@cleartrip/ct-design-
|
|
32
|
-
"@cleartrip/ct-design-portal": "5.7.0
|
|
33
|
-
"@cleartrip/ct-design-overlay": "5.7.0
|
|
34
|
-
"@cleartrip/ct-design-focus-lock": "5.7.0
|
|
35
|
-
"@cleartrip/ct-design-use-merge-refs": "5.7.0
|
|
36
|
-
"@cleartrip/ct-design-icons": "41.0.0
|
|
37
|
-
"@cleartrip/ct-design-
|
|
38
|
-
"@cleartrip/ct-design-
|
|
39
|
-
"@cleartrip/ct-design-
|
|
40
|
-
"@cleartrip/ct-design-button": "5.7.0
|
|
41
|
-
"@cleartrip/ct-design-style-manager": "5.7.0
|
|
29
|
+
"@cleartrip/ct-design-container": "5.7.0",
|
|
30
|
+
"@cleartrip/ct-design-transition": "5.7.0",
|
|
31
|
+
"@cleartrip/ct-design-types": "5.7.0",
|
|
32
|
+
"@cleartrip/ct-design-portal": "5.7.0",
|
|
33
|
+
"@cleartrip/ct-design-overlay": "5.7.0",
|
|
34
|
+
"@cleartrip/ct-design-focus-lock": "5.7.0",
|
|
35
|
+
"@cleartrip/ct-design-use-merge-refs": "5.7.0",
|
|
36
|
+
"@cleartrip/ct-design-icons": "41.0.0",
|
|
37
|
+
"@cleartrip/ct-design-typography": "5.7.0",
|
|
38
|
+
"@cleartrip/ct-design-box": "5.7.0",
|
|
39
|
+
"@cleartrip/ct-design-theme": "5.7.0",
|
|
40
|
+
"@cleartrip/ct-design-button": "5.7.0",
|
|
41
|
+
"@cleartrip/ct-design-style-manager": "5.7.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@emotion/babel-plugin": "^11.12.0",
|
|
45
|
-
"@cleartrip/ct-design-icons": "41.0.0
|
|
45
|
+
"@cleartrip/ct-design-icons": "41.0.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"react": ">=16.8.0",
|
package/src/Modal.tsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
1
|
+
import React, { forwardRef, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import { CSSProperties } from 'react';
|
|
3
|
+
import { getModalSizeStyles } from './style';
|
|
3
4
|
import { IModalProps } from './type';
|
|
4
5
|
import { ModalPlacement, ModalSize, ModalVariant } from './constants';
|
|
5
6
|
import { Portal } from '@cleartrip/ct-design-portal';
|
|
@@ -11,6 +12,7 @@ import { Container, ContainerRef } from '@cleartrip/ct-design-container';
|
|
|
11
12
|
import ModalContext from './ModalContext';
|
|
12
13
|
import Handler from './Handler';
|
|
13
14
|
import { makeStyles, useStyles, useWebMergeStyles } from '@cleartrip/ct-design-style-manager';
|
|
15
|
+
import { css } from '@emotion/css';
|
|
14
16
|
|
|
15
17
|
const staticModalStyles = makeStyles(() => ({
|
|
16
18
|
modalContainer: {
|
|
@@ -44,7 +46,7 @@ const Modal = forwardRef<ContainerRef, IModalProps>(
|
|
|
44
46
|
onKeyDown,
|
|
45
47
|
hideCrossIcon,
|
|
46
48
|
footerAlignment,
|
|
47
|
-
size =
|
|
49
|
+
size = 'MEDIUM',
|
|
48
50
|
allowBackdropClose = true,
|
|
49
51
|
blur = true,
|
|
50
52
|
backDropComponent,
|
|
@@ -90,8 +92,6 @@ const Modal = forwardRef<ContainerRef, IModalProps>(
|
|
|
90
92
|
borderBottomRightRadius: size === ModalSize.FULL_SCREEN ? 0 : theme.spacing['3'],
|
|
91
93
|
backgroundColor:
|
|
92
94
|
variant === ModalVariant.DARK ? theme.color.background.defaultDarkest : theme.color.background.neutral,
|
|
93
|
-
width: (isFullScreen ? '100%' : '90%') as unknown as number,
|
|
94
|
-
maxWidth: (isFullScreen ? '100%' : '90%') as unknown as number,
|
|
95
95
|
overflowY,
|
|
96
96
|
maxHeight:
|
|
97
97
|
size === ModalSize.FULL_SCREEN
|
|
@@ -105,9 +105,14 @@ const Modal = forwardRef<ContainerRef, IModalProps>(
|
|
|
105
105
|
[size, overflowY, placement, bottomMargin, isFullScreen, blur, variant],
|
|
106
106
|
);
|
|
107
107
|
|
|
108
|
+
const webDynamicStyles = useMemo(() => {
|
|
109
|
+
const styles = getModalSizeStyles(size);
|
|
110
|
+
return css(styles);
|
|
111
|
+
}, [size]);
|
|
112
|
+
|
|
108
113
|
const modalContainerClass = useWebMergeStyles(
|
|
109
|
-
[staticModalStyles.modalContainer, dynamicStyles.modalContainer, ...rootStyles],
|
|
110
|
-
[dynamicStyles.modalContainer, rootStyles],
|
|
114
|
+
[staticModalStyles.modalContainer, dynamicStyles.modalContainer, webDynamicStyles, ...rootStyles],
|
|
115
|
+
[dynamicStyles.modalContainer, rootStyles, webDynamicStyles],
|
|
111
116
|
);
|
|
112
117
|
const modalRef = useRef<HTMLDivElement | null>(null);
|
|
113
118
|
const containerRef = useRef<{ modalRef?: typeof modalRef.current }>({});
|
|
@@ -8,15 +8,10 @@ import Modal from '../Modal';
|
|
|
8
8
|
import { ModalVariant } from '../constants';
|
|
9
9
|
import { ModalWithCloseOverlayProps } from './type';
|
|
10
10
|
|
|
11
|
-
const staticStyles = makeStyles((
|
|
11
|
+
const staticStyles = makeStyles(() => ({
|
|
12
12
|
root: {
|
|
13
13
|
position: 'relative',
|
|
14
14
|
},
|
|
15
|
-
|
|
16
|
-
modalCard: {
|
|
17
|
-
overflowY: 'visible',
|
|
18
|
-
paddingBottom: theme.spacing[4],
|
|
19
|
-
},
|
|
20
15
|
}));
|
|
21
16
|
|
|
22
17
|
/**
|
|
@@ -76,17 +71,7 @@ const ModalWithCloseOverlay = forwardRef<ContainerRef, ModalWithCloseOverlayProp
|
|
|
76
71
|
const CloseIcon = getCloseIcon(isBack, variant);
|
|
77
72
|
|
|
78
73
|
return (
|
|
79
|
-
<Modal
|
|
80
|
-
ref={forwardedRef}
|
|
81
|
-
variant={variant}
|
|
82
|
-
{...rest}
|
|
83
|
-
blur
|
|
84
|
-
size='NONE'
|
|
85
|
-
insidePortal
|
|
86
|
-
styleConfig={{
|
|
87
|
-
modalContentStyles: [staticStyles.modalCard, ...(styleConfig?.modalContentStyles ?? [])],
|
|
88
|
-
}}
|
|
89
|
-
>
|
|
74
|
+
<Modal ref={forwardedRef} blur size='NONE' insidePortal variant={variant} {...rest}>
|
|
90
75
|
<Container styleConfig={{ root: [staticStyles.root, ...(styleConfig?.root ?? [])] }}>
|
|
91
76
|
<Container styleConfig={{ root: [...(wrapperStyles ?? []), ...(styleConfig?.wrapper ?? [])] }}>
|
|
92
77
|
<Container
|