@trackunit/react-modal 1.3.56 → 1.3.60
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/index.cjs.js +5 -10
- package/index.esm.js +5 -10
- package/package.json +5 -5
- package/src/modal/useModal.d.ts +3 -4
package/index.cjs.js
CHANGED
|
@@ -144,15 +144,11 @@ const Modal = ({ isOpen, children, dataTestId, className, containerClassName, ro
|
|
|
144
144
|
else {
|
|
145
145
|
closeModal();
|
|
146
146
|
}
|
|
147
|
-
|
|
148
|
-
react.useEffect(() => {
|
|
147
|
+
// Return cleanup function that ensures modal is closed when component unmounts
|
|
149
148
|
return () => {
|
|
150
|
-
|
|
151
|
-
closeModal();
|
|
152
|
-
}
|
|
149
|
+
closeModal();
|
|
153
150
|
};
|
|
154
|
-
|
|
155
|
-
}, []); // Empty dependency array means this effect runs only on mount and unmount
|
|
151
|
+
}, [isOpen, openModal, closeModal]);
|
|
156
152
|
return (jsxRuntime.jsx(ModalBackdrop, { isFastOpen: isFastOpen, isVisible: isOpen, noShadow: noBackdropShadow, onClick: onDismissClick, children: isOpen ? (jsxRuntime.jsx("div", { className: cvaModalContainer({ className: containerClassName }), ref: ref, role: role, children: jsxRuntime.jsx(reactComponents.Card, { className: cvaModalCard({ className }), dataTestId: dataTestId, children: children }) })) : null }));
|
|
157
153
|
};
|
|
158
154
|
Modal.displayName = "Modal";
|
|
@@ -180,9 +176,8 @@ const useModal = ({ closeOnOutsideClick, bindTo, closeOnEsc = true } = {}) => {
|
|
|
180
176
|
},
|
|
181
177
|
bindTo,
|
|
182
178
|
});
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
const WrappedModal = react.useCallback(PortalWrapper, [Portal, isOpen]);
|
|
179
|
+
const WrappedModal = react.useCallback(({ children, ...props }) => (jsxRuntime.jsx(Portal, { children: jsxRuntime.jsx(Modal, { isOpen: isOpen, ref: modalRef, ...props, children: children }) })), [Portal, isOpen, modalRef]);
|
|
180
|
+
WrappedModal.displayName = "Modal";
|
|
186
181
|
return {
|
|
187
182
|
Modal: WrappedModal,
|
|
188
183
|
toggleModal: (e) => {
|
package/index.esm.js
CHANGED
|
@@ -142,15 +142,11 @@ const Modal = ({ isOpen, children, dataTestId, className, containerClassName, ro
|
|
|
142
142
|
else {
|
|
143
143
|
closeModal();
|
|
144
144
|
}
|
|
145
|
-
|
|
146
|
-
useEffect(() => {
|
|
145
|
+
// Return cleanup function that ensures modal is closed when component unmounts
|
|
147
146
|
return () => {
|
|
148
|
-
|
|
149
|
-
closeModal();
|
|
150
|
-
}
|
|
147
|
+
closeModal();
|
|
151
148
|
};
|
|
152
|
-
|
|
153
|
-
}, []); // Empty dependency array means this effect runs only on mount and unmount
|
|
149
|
+
}, [isOpen, openModal, closeModal]);
|
|
154
150
|
return (jsx(ModalBackdrop, { isFastOpen: isFastOpen, isVisible: isOpen, noShadow: noBackdropShadow, onClick: onDismissClick, children: isOpen ? (jsx("div", { className: cvaModalContainer({ className: containerClassName }), ref: ref, role: role, children: jsx(Card, { className: cvaModalCard({ className }), dataTestId: dataTestId, children: children }) })) : null }));
|
|
155
151
|
};
|
|
156
152
|
Modal.displayName = "Modal";
|
|
@@ -178,9 +174,8 @@ const useModal = ({ closeOnOutsideClick, bindTo, closeOnEsc = true } = {}) => {
|
|
|
178
174
|
},
|
|
179
175
|
bindTo,
|
|
180
176
|
});
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
const WrappedModal = useCallback(PortalWrapper, [Portal, isOpen]);
|
|
177
|
+
const WrappedModal = useCallback(({ children, ...props }) => (jsx(Portal, { children: jsx(Modal, { isOpen: isOpen, ref: modalRef, ...props, children: children }) })), [Portal, isOpen, modalRef]);
|
|
178
|
+
WrappedModal.displayName = "Modal";
|
|
184
179
|
return {
|
|
185
180
|
Modal: WrappedModal,
|
|
186
181
|
toggleModal: (e) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/react-modal",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.60",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"react": "19.0.0",
|
|
11
11
|
"react-useportal": "1.0.19",
|
|
12
|
-
"@trackunit/react-components": "1.4.
|
|
13
|
-
"@trackunit/react-core-hooks": "1.3.
|
|
14
|
-
"@trackunit/css-class-variance-utilities": "1.3.
|
|
15
|
-
"@trackunit/i18n-library-translation": "1.3.
|
|
12
|
+
"@trackunit/react-components": "1.4.54",
|
|
13
|
+
"@trackunit/react-core-hooks": "1.3.46",
|
|
14
|
+
"@trackunit/css-class-variance-utilities": "1.3.44",
|
|
15
|
+
"@trackunit/i18n-library-translation": "1.3.48"
|
|
16
16
|
},
|
|
17
17
|
"module": "./index.esm.js",
|
|
18
18
|
"main": "./index.cjs.js",
|
package/src/modal/useModal.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseSyntheticEvent } from "react";
|
|
1
|
+
import { BaseSyntheticEvent, ReactElement } from "react";
|
|
2
2
|
import { ModalProps } from "./Modal";
|
|
3
3
|
export interface UseModalProps {
|
|
4
4
|
closeOnOutsideClick?: boolean;
|
|
@@ -12,9 +12,8 @@ export interface UseModalProps {
|
|
|
12
12
|
* @returns {*} useModal return
|
|
13
13
|
*/
|
|
14
14
|
export declare const useModal: ({ closeOnOutsideClick, bindTo, closeOnEsc }?: UseModalProps) => {
|
|
15
|
-
Modal: {
|
|
16
|
-
|
|
17
|
-
displayName: string;
|
|
15
|
+
Modal: ((props: ModalProps) => ReactElement) & {
|
|
16
|
+
displayName?: string;
|
|
18
17
|
};
|
|
19
18
|
toggleModal: (e?: BaseSyntheticEvent) => void;
|
|
20
19
|
openModal: (e?: BaseSyntheticEvent) => void;
|