@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleartrip/ct-design-modal",
3
- "version": "5.7.0-SNAPSHOT-native-main.5",
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-SNAPSHOT-native-main.6",
30
- "@cleartrip/ct-design-types": "5.7.0-SNAPSHOT-native-main.5",
31
- "@cleartrip/ct-design-transition": "5.7.0-SNAPSHOT-native-main.5",
32
- "@cleartrip/ct-design-portal": "5.7.0-SNAPSHOT-native-main.5",
33
- "@cleartrip/ct-design-overlay": "5.7.0-SNAPSHOT-native-main.5",
34
- "@cleartrip/ct-design-focus-lock": "5.7.0-SNAPSHOT-native-main.6",
35
- "@cleartrip/ct-design-use-merge-refs": "5.7.0-SNAPSHOT-native-main.5",
36
- "@cleartrip/ct-design-icons": "41.0.0-SNAPSHOT-native-main.5",
37
- "@cleartrip/ct-design-box": "5.7.0-SNAPSHOT-native-main.6",
38
- "@cleartrip/ct-design-theme": "5.7.0-SNAPSHOT-native-main.5",
39
- "@cleartrip/ct-design-typography": "5.7.0-SNAPSHOT-native-main.5",
40
- "@cleartrip/ct-design-button": "5.7.0-SNAPSHOT-native-main.6",
41
- "@cleartrip/ct-design-style-manager": "5.7.0-SNAPSHOT-native-main.5"
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-SNAPSHOT-native-main.5"
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 = ModalSize.MEDIUM,
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((theme) => ({
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
@@ -36,6 +36,5 @@ export interface ModalWithCloseOverlayProps extends ModalProps {
36
36
  root?: Styles[];
37
37
  wrapper?: Styles[];
38
38
  closeButton?: Styles[];
39
- modalContentStyles?: Styles[];
40
39
  };
41
40
  }