@yamada-ui/modal 1.3.9 → 1.3.10-dev-20240917033401
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/chunk-2EF6C34T.mjs +35 -0
- package/dist/chunk-2EF6C34T.mjs.map +1 -0
- package/dist/chunk-2GGZOTUT.mjs +32 -0
- package/dist/chunk-2GGZOTUT.mjs.map +1 -0
- package/dist/chunk-2UHL64SV.mjs +150 -0
- package/dist/chunk-2UHL64SV.mjs.map +1 -0
- package/dist/chunk-2XQPQIQG.mjs +32 -0
- package/dist/chunk-2XQPQIQG.mjs.map +1 -0
- package/dist/chunk-3CPIBNSS.mjs +32 -0
- package/dist/chunk-3CPIBNSS.mjs.map +1 -0
- package/dist/chunk-3S4JQQU3.mjs +32 -0
- package/dist/chunk-3S4JQQU3.mjs.map +1 -0
- package/dist/chunk-4G6PCQ4G.mjs +51 -0
- package/dist/chunk-4G6PCQ4G.mjs.map +1 -0
- package/dist/chunk-4J4ISPN7.mjs +26 -0
- package/dist/chunk-4J4ISPN7.mjs.map +1 -0
- package/dist/chunk-5OKOSAXO.mjs +37 -0
- package/dist/chunk-5OKOSAXO.mjs.map +1 -0
- package/dist/chunk-B2LUOR6L.mjs +32 -0
- package/dist/chunk-B2LUOR6L.mjs.map +1 -0
- package/dist/chunk-B436JYPR.mjs +34 -0
- package/dist/chunk-B436JYPR.mjs.map +1 -0
- package/dist/chunk-CW5ZZAAV.mjs +34 -0
- package/dist/chunk-CW5ZZAAV.mjs.map +1 -0
- package/dist/chunk-DV6BTDBZ.mjs +32 -0
- package/dist/chunk-DV6BTDBZ.mjs.map +1 -0
- package/dist/chunk-G646NVHY.mjs +176 -0
- package/dist/chunk-G646NVHY.mjs.map +1 -0
- package/dist/chunk-HM447TIY.mjs +32 -0
- package/dist/chunk-HM447TIY.mjs.map +1 -0
- package/dist/chunk-I6LPF3F6.mjs +95 -0
- package/dist/chunk-I6LPF3F6.mjs.map +1 -0
- package/dist/chunk-OFDDT2JT.mjs +32 -0
- package/dist/chunk-OFDDT2JT.mjs.map +1 -0
- package/dist/chunk-RSAJUBWR.mjs +32 -0
- package/dist/chunk-RSAJUBWR.mjs.map +1 -0
- package/dist/chunk-WEDZHILB.mjs +29 -0
- package/dist/chunk-WEDZHILB.mjs.map +1 -0
- package/dist/chunk-Y2QXIJZA.mjs +138 -0
- package/dist/chunk-Y2QXIJZA.mjs.map +1 -0
- package/dist/chunk-Y5NCRCDU.mjs +32 -0
- package/dist/chunk-Y5NCRCDU.mjs.map +1 -0
- package/dist/chunk-ZR2AEIGZ.mjs +116 -0
- package/dist/chunk-ZR2AEIGZ.mjs.map +1 -0
- package/dist/dialog-body.d.mts +8 -0
- package/dist/dialog-body.d.ts +8 -0
- package/dist/dialog-body.js +94 -0
- package/dist/dialog-body.js.map +1 -0
- package/dist/dialog-body.mjs +10 -0
- package/dist/dialog-body.mjs.map +1 -0
- package/dist/dialog-close-button.d.mts +8 -0
- package/dist/dialog-close-button.d.ts +8 -0
- package/dist/dialog-close-button.js +96 -0
- package/dist/dialog-close-button.js.map +1 -0
- package/dist/dialog-close-button.mjs +10 -0
- package/dist/dialog-close-button.mjs.map +1 -0
- package/dist/dialog-footer.d.mts +8 -0
- package/dist/dialog-footer.d.ts +8 -0
- package/dist/dialog-footer.js +91 -0
- package/dist/dialog-footer.js.map +1 -0
- package/dist/dialog-footer.mjs +10 -0
- package/dist/dialog-footer.mjs.map +1 -0
- package/dist/dialog-header.d.mts +8 -0
- package/dist/dialog-header.d.ts +8 -0
- package/dist/dialog-header.js +91 -0
- package/dist/dialog-header.js.map +1 -0
- package/dist/dialog-header.mjs +10 -0
- package/dist/dialog-header.mjs.map +1 -0
- package/dist/dialog-overlay.d.mts +8 -0
- package/dist/dialog-overlay.d.ts +8 -0
- package/dist/dialog-overlay.js +108 -0
- package/dist/dialog-overlay.js.map +1 -0
- package/dist/dialog-overlay.mjs +10 -0
- package/dist/dialog-overlay.mjs.map +1 -0
- package/dist/dialog.d.mts +7 -21
- package/dist/dialog.d.ts +7 -21
- package/dist/dialog.js +593 -678
- package/dist/dialog.js.map +1 -1
- package/dist/dialog.mjs +20 -13
- package/dist/drawer-body.d.mts +8 -0
- package/dist/drawer-body.d.ts +8 -0
- package/dist/drawer-body.js +94 -0
- package/dist/drawer-body.js.map +1 -0
- package/dist/drawer-body.mjs +10 -0
- package/dist/drawer-body.mjs.map +1 -0
- package/dist/drawer-close-button.d.mts +9 -0
- package/dist/drawer-close-button.d.ts +9 -0
- package/dist/drawer-close-button.js +96 -0
- package/dist/drawer-close-button.js.map +1 -0
- package/dist/drawer-close-button.mjs +10 -0
- package/dist/drawer-close-button.mjs.map +1 -0
- package/dist/drawer-content.d.mts +16 -0
- package/dist/drawer-content.d.ts +16 -0
- package/dist/drawer-content.js +278 -0
- package/dist/drawer-content.js.map +1 -0
- package/dist/drawer-content.mjs +12 -0
- package/dist/drawer-content.mjs.map +1 -0
- package/dist/drawer-drag-bar.d.mts +8 -0
- package/dist/drawer-drag-bar.d.ts +8 -0
- package/dist/drawer-drag-bar.js +66 -0
- package/dist/drawer-drag-bar.js.map +1 -0
- package/dist/drawer-drag-bar.mjs +9 -0
- package/dist/drawer-drag-bar.mjs.map +1 -0
- package/dist/drawer-footer.d.mts +8 -0
- package/dist/drawer-footer.d.ts +8 -0
- package/dist/drawer-footer.js +91 -0
- package/dist/drawer-footer.js.map +1 -0
- package/dist/drawer-footer.mjs +10 -0
- package/dist/drawer-footer.mjs.map +1 -0
- package/dist/drawer-header.d.mts +8 -0
- package/dist/drawer-header.d.ts +8 -0
- package/dist/drawer-header.js +91 -0
- package/dist/drawer-header.js.map +1 -0
- package/dist/drawer-header.mjs +10 -0
- package/dist/drawer-header.mjs.map +1 -0
- package/dist/drawer-overlay.d.mts +8 -0
- package/dist/drawer-overlay.d.ts +8 -0
- package/dist/drawer-overlay.js +108 -0
- package/dist/drawer-overlay.js.map +1 -0
- package/dist/drawer-overlay.mjs +10 -0
- package/dist/drawer-overlay.mjs.map +1 -0
- package/dist/drawer.d.mts +8 -27
- package/dist/drawer.d.ts +8 -27
- package/dist/drawer.js +405 -640
- package/dist/drawer.js.map +1 -1
- package/dist/drawer.mjs +14 -17
- package/dist/index.d.mts +13 -2
- package/dist/index.d.ts +13 -2
- package/dist/index.js +492 -413
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +56 -18
- package/dist/modal-body.d.mts +3 -2
- package/dist/modal-body.d.ts +3 -2
- package/dist/modal-body.js +13 -856
- package/dist/modal-body.js.map +1 -1
- package/dist/modal-body.mjs +2 -1
- package/dist/modal-close-button.d.mts +3 -2
- package/dist/modal-close-button.d.ts +3 -2
- package/dist/modal-close-button.js +13 -854
- package/dist/modal-close-button.js.map +1 -1
- package/dist/modal-close-button.mjs +2 -1
- package/dist/modal-content.d.mts +9 -0
- package/dist/modal-content.d.ts +9 -0
- package/dist/modal-content.js +178 -0
- package/dist/modal-content.js.map +1 -0
- package/dist/modal-content.mjs +11 -0
- package/dist/modal-content.mjs.map +1 -0
- package/dist/modal-context.d.mts +27 -0
- package/dist/modal-context.d.ts +27 -0
- package/dist/modal-context.js +54 -0
- package/dist/modal-context.js.map +1 -0
- package/dist/modal-context.mjs +18 -0
- package/dist/modal-context.mjs.map +1 -0
- package/dist/modal-footer.d.mts +2 -1
- package/dist/modal-footer.d.ts +2 -1
- package/dist/modal-footer.js +13 -857
- package/dist/modal-footer.js.map +1 -1
- package/dist/modal-footer.mjs +2 -1
- package/dist/modal-header.d.mts +2 -1
- package/dist/modal-header.d.ts +2 -1
- package/dist/modal-header.js +13 -857
- package/dist/modal-header.js.map +1 -1
- package/dist/modal-header.mjs +2 -1
- package/dist/modal-overlay.d.mts +2 -1
- package/dist/modal-overlay.d.ts +2 -1
- package/dist/modal-overlay.js +16 -843
- package/dist/modal-overlay.js.map +1 -1
- package/dist/modal-overlay.mjs +2 -1
- package/dist/modal.d.mts +10 -14
- package/dist/modal.d.ts +10 -14
- package/dist/modal.js +183 -508
- package/dist/modal.js.map +1 -1
- package/dist/modal.mjs +13 -5
- package/package.json +10 -10
- package/dist/chunk-7PS3HWMF.mjs +0 -938
- package/dist/chunk-7PS3HWMF.mjs.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
useModal
|
|
4
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
5
|
+
|
|
6
|
+
// src/modal-body.tsx
|
|
7
|
+
import { ui, forwardRef } from "@yamada-ui/core";
|
|
8
|
+
import { cx } from "@yamada-ui/utils";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var ModalBody = forwardRef(
|
|
11
|
+
({ className, __css, ...rest }, ref) => {
|
|
12
|
+
const { styles, scrollBehavior } = useModal();
|
|
13
|
+
const css = {
|
|
14
|
+
display: "flex",
|
|
15
|
+
flexDirection: "column",
|
|
16
|
+
alignItems: "flex-start",
|
|
17
|
+
overflow: scrollBehavior === "inside" ? "auto" : void 0,
|
|
18
|
+
...__css ? __css : styles.body
|
|
19
|
+
};
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
ui.div,
|
|
22
|
+
{
|
|
23
|
+
ref,
|
|
24
|
+
className: cx("ui-modal__body", className),
|
|
25
|
+
__css: css,
|
|
26
|
+
...rest
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
ModalBody
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=chunk-2EF6C34T.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal-body.tsx"],"sourcesContent":["import type { HTMLUIProps, CSSUIObject } from \"@yamada-ui/core\"\nimport { ui, forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useModal } from \"./modal-context\"\n\nexport interface ModalBodyProps extends HTMLUIProps {}\n\nexport const ModalBody = forwardRef<ModalBodyProps, \"div\">(\n ({ className, __css, ...rest }, ref) => {\n const { styles, scrollBehavior } = useModal()\n\n const css: CSSUIObject = {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n overflow: scrollBehavior === \"inside\" ? \"auto\" : undefined,\n ...(__css ? __css : styles.body),\n }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-modal__body\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;AACA,SAAS,IAAI,kBAAkB;AAC/B,SAAS,UAAU;AAkBb;AAbC,IAAM,YAAY;AAAA,EACvB,CAAC,EAAE,WAAW,OAAO,GAAG,KAAK,GAAG,QAAQ;AACtC,UAAM,EAAE,QAAQ,eAAe,IAAI,SAAS;AAE5C,UAAM,MAAmB;AAAA,MACvB,SAAS;AAAA,MACT,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,UAAU,mBAAmB,WAAW,SAAS;AAAA,MACjD,GAAI,QAAQ,QAAQ,OAAO;AAAA,IAC7B;AAEA,WACE;AAAA,MAAC,GAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,WAAW,GAAG,kBAAkB,SAAS;AAAA,QACzC,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
ModalFooter
|
|
4
|
+
} from "./chunk-CW5ZZAAV.mjs";
|
|
5
|
+
import {
|
|
6
|
+
useDialog
|
|
7
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
8
|
+
|
|
9
|
+
// src/dialog-footer.tsx
|
|
10
|
+
import { forwardRef } from "@yamada-ui/core";
|
|
11
|
+
import { cx } from "@yamada-ui/utils";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var DialogFooter = forwardRef(
|
|
14
|
+
({ className, ...rest }, ref) => {
|
|
15
|
+
const styles = useDialog();
|
|
16
|
+
const css = { ...styles.footer };
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
ModalFooter,
|
|
19
|
+
{
|
|
20
|
+
ref,
|
|
21
|
+
className: cx("ui-dialog__footer", className),
|
|
22
|
+
__css: css,
|
|
23
|
+
...rest
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
DialogFooter
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-2GGZOTUT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dialog-footer.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useDialog } from \"./modal-context\"\nimport type { ModalFooterProps } from \"./modal-footer\"\nimport { ModalFooter } from \"./modal-footer\"\n\nexport interface DialogFooterProps extends ModalFooterProps {}\n\nexport const DialogFooter = forwardRef<DialogFooterProps, \"footer\">(\n ({ className, ...rest }, ref) => {\n const styles = useDialog()\n\n const css: CSSUIObject = { ...styles.footer }\n\n return (\n <ModalFooter\n ref={ref}\n className={cx(\"ui-dialog__footer\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAcb;AAPC,IAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,OAAO;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,QAC5C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
ModalContent
|
|
4
|
+
} from "./chunk-I6LPF3F6.mjs";
|
|
5
|
+
import {
|
|
6
|
+
DrawerContent
|
|
7
|
+
} from "./chunk-G646NVHY.mjs";
|
|
8
|
+
import {
|
|
9
|
+
DrawerOverlay
|
|
10
|
+
} from "./chunk-Y5NCRCDU.mjs";
|
|
11
|
+
import {
|
|
12
|
+
DialogOverlay
|
|
13
|
+
} from "./chunk-OFDDT2JT.mjs";
|
|
14
|
+
import {
|
|
15
|
+
ModalOverlay
|
|
16
|
+
} from "./chunk-4G6PCQ4G.mjs";
|
|
17
|
+
import {
|
|
18
|
+
ModalProvider
|
|
19
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
20
|
+
|
|
21
|
+
// src/modal.tsx
|
|
22
|
+
import { ui, omitThemeProps, useComponentMultiStyle } from "@yamada-ui/core";
|
|
23
|
+
import { FocusLock } from "@yamada-ui/focus-lock";
|
|
24
|
+
import { AnimatePresence, motionForwardRef } from "@yamada-ui/motion";
|
|
25
|
+
import { Portal } from "@yamada-ui/portal";
|
|
26
|
+
import { useValue } from "@yamada-ui/use-value";
|
|
27
|
+
import { getValidChildren, findChildren } from "@yamada-ui/utils";
|
|
28
|
+
import { cloneElement, useCallback } from "react";
|
|
29
|
+
import { RemoveScroll } from "react-remove-scroll";
|
|
30
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
31
|
+
var Modal = motionForwardRef(
|
|
32
|
+
({ size, ...props }, ref) => {
|
|
33
|
+
const [styles, mergedProps] = useComponentMultiStyle("Modal", {
|
|
34
|
+
size,
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
const {
|
|
38
|
+
className,
|
|
39
|
+
children,
|
|
40
|
+
isOpen,
|
|
41
|
+
onClose,
|
|
42
|
+
onOverlayClick,
|
|
43
|
+
onEsc,
|
|
44
|
+
onCloseComplete,
|
|
45
|
+
placement: _placement = "center",
|
|
46
|
+
outside = "fallback(4, 1rem)",
|
|
47
|
+
withCloseButton = true,
|
|
48
|
+
withOverlay = true,
|
|
49
|
+
allowPinchZoom = false,
|
|
50
|
+
scrollBehavior = "inside",
|
|
51
|
+
autoFocus,
|
|
52
|
+
restoreFocus,
|
|
53
|
+
initialFocusRef,
|
|
54
|
+
finalFocusRef,
|
|
55
|
+
blockScrollOnMount = true,
|
|
56
|
+
closeOnOverlay = true,
|
|
57
|
+
closeOnEsc = true,
|
|
58
|
+
lockFocusAcrossFrames = true,
|
|
59
|
+
animation = "scale",
|
|
60
|
+
duration,
|
|
61
|
+
portalProps,
|
|
62
|
+
containerProps,
|
|
63
|
+
...rest
|
|
64
|
+
} = omitThemeProps(mergedProps);
|
|
65
|
+
const onKeyDown = useCallback(
|
|
66
|
+
(ev) => {
|
|
67
|
+
if (ev.key !== "Escape") return;
|
|
68
|
+
ev.stopPropagation();
|
|
69
|
+
if (closeOnEsc) onClose == null ? void 0 : onClose();
|
|
70
|
+
onEsc == null ? void 0 : onEsc();
|
|
71
|
+
},
|
|
72
|
+
[closeOnEsc, onClose, onEsc]
|
|
73
|
+
);
|
|
74
|
+
const validChildren = getValidChildren(children);
|
|
75
|
+
const [customModalOverlay, ...cloneChildren] = findChildren(
|
|
76
|
+
validChildren,
|
|
77
|
+
ModalOverlay,
|
|
78
|
+
DialogOverlay,
|
|
79
|
+
DrawerOverlay
|
|
80
|
+
);
|
|
81
|
+
let [drawerContent] = findChildren(validChildren, DrawerContent);
|
|
82
|
+
if (drawerContent)
|
|
83
|
+
drawerContent = cloneElement(drawerContent, { onKeyDown });
|
|
84
|
+
const placement = useValue(_placement);
|
|
85
|
+
const css = {
|
|
86
|
+
position: "fixed",
|
|
87
|
+
top: 0,
|
|
88
|
+
left: 0,
|
|
89
|
+
zIndex: "fallback(jeice, 110)",
|
|
90
|
+
w: "100vw",
|
|
91
|
+
h: "100dvh",
|
|
92
|
+
p: size !== "full" ? outside : void 0,
|
|
93
|
+
display: "flex",
|
|
94
|
+
justifyContent: placement.includes("left") ? "flex-start" : placement.includes("right") ? "flex-end" : "center",
|
|
95
|
+
alignItems: placement.includes("top") ? "flex-start" : placement.includes("bottom") ? "flex-end" : "center"
|
|
96
|
+
};
|
|
97
|
+
return /* @__PURE__ */ jsx(
|
|
98
|
+
ModalProvider,
|
|
99
|
+
{
|
|
100
|
+
value: {
|
|
101
|
+
isOpen,
|
|
102
|
+
onClose,
|
|
103
|
+
onOverlayClick,
|
|
104
|
+
withCloseButton,
|
|
105
|
+
scrollBehavior,
|
|
106
|
+
closeOnOverlay,
|
|
107
|
+
animation,
|
|
108
|
+
duration,
|
|
109
|
+
styles
|
|
110
|
+
},
|
|
111
|
+
children: /* @__PURE__ */ jsx(AnimatePresence, { onExitComplete: onCloseComplete, children: isOpen ? /* @__PURE__ */ jsx(Portal, { ...portalProps, children: /* @__PURE__ */ jsx(
|
|
112
|
+
FocusLock,
|
|
113
|
+
{
|
|
114
|
+
autoFocus,
|
|
115
|
+
initialFocusRef,
|
|
116
|
+
finalFocusRef,
|
|
117
|
+
restoreFocus,
|
|
118
|
+
lockFocusAcrossFrames,
|
|
119
|
+
children: /* @__PURE__ */ jsx(
|
|
120
|
+
RemoveScroll,
|
|
121
|
+
{
|
|
122
|
+
allowPinchZoom,
|
|
123
|
+
enabled: blockScrollOnMount,
|
|
124
|
+
forwardProps: true,
|
|
125
|
+
children: /* @__PURE__ */ jsxs(ui.div, { __css: css, ...containerProps, children: [
|
|
126
|
+
customModalOverlay != null ? customModalOverlay : withOverlay && size !== "full" ? /* @__PURE__ */ jsx(ModalOverlay, {}) : null,
|
|
127
|
+
drawerContent != null ? drawerContent : /* @__PURE__ */ jsx(
|
|
128
|
+
ModalContent,
|
|
129
|
+
{
|
|
130
|
+
ref,
|
|
131
|
+
className,
|
|
132
|
+
onKeyDown,
|
|
133
|
+
...rest,
|
|
134
|
+
children: cloneChildren
|
|
135
|
+
}
|
|
136
|
+
)
|
|
137
|
+
] })
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
) }) : null })
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
export {
|
|
148
|
+
Modal
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=chunk-2UHL64SV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal.tsx"],"sourcesContent":["import type {\n ThemeProps,\n CSSUIObject,\n CSSUIProps,\n Token,\n HTMLUIProps,\n} from \"@yamada-ui/core\"\nimport { ui, omitThemeProps, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport type { FocusLockProps } from \"@yamada-ui/focus-lock\"\nimport { FocusLock } from \"@yamada-ui/focus-lock\"\nimport type { MotionTransitionProps } from \"@yamada-ui/motion\"\nimport { AnimatePresence, motionForwardRef } from \"@yamada-ui/motion\"\nimport type { PortalProps } from \"@yamada-ui/portal\"\nimport { Portal } from \"@yamada-ui/portal\"\nimport { useValue } from \"@yamada-ui/use-value\"\nimport { getValidChildren, findChildren } from \"@yamada-ui/utils\"\nimport type { KeyboardEvent } from \"react\"\nimport { cloneElement, useCallback } from \"react\"\nimport { RemoveScroll } from \"react-remove-scroll\"\nimport { DialogOverlay } from \"./dialog-overlay\"\nimport { DrawerContent } from \"./drawer-content\"\nimport { DrawerOverlay } from \"./drawer-overlay\"\nimport type { ModalContentProps } from \"./modal-content\"\nimport { ModalContent } from \"./modal-content\"\nimport { ModalProvider } from \"./modal-context\"\nimport { ModalOverlay } from \"./modal-overlay\"\n\nexport interface ModalOptions\n extends Pick<\n FocusLockProps,\n | \"autoFocus\"\n | \"initialFocusRef\"\n | \"finalFocusRef\"\n | \"restoreFocus\"\n | \"lockFocusAcrossFrames\"\n > {\n /**\n * If `true`, the open will be opened.\n */\n isOpen: boolean\n /**\n * Callback invoked to close the modal.\n */\n onClose?: () => void\n /**\n * Callback fired when the overlay is clicked.\n */\n onOverlayClick?: () => void\n /**\n * Callback fired when the escape key is pressed and focus is within modal.\n */\n onEsc?(): void\n /**\n * Callback function to run side effects after the modal has closed.\n */\n onCloseComplete?: () => void\n /**\n * The placement of the modal.\n *\n * @default 'center'\n */\n placement?: Token<\n | \"center\"\n | \"top\"\n | \"right\"\n | \"bottom\"\n | \"left\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n >\n /**\n * The CSS `padding` property.\n */\n outside?: CSSUIProps[\"p\"]\n /**\n * If `true`, display the modal close button.\n *\n * @default true\n */\n withCloseButton?: boolean\n /**\n * If `true`, display the modal overlay.\n *\n * @default true\n */\n withOverlay?: boolean\n /**\n * Handle zoom or pinch gestures on iOS devices when scroll locking is enabled.\n *\n * @default false.\n */\n allowPinchZoom?: boolean\n /**\n * Where scroll behavior should originate.\n *\n * - `inside`: scroll only occurs within the `ModalBody`.\n * - `outside`: the entire `ModalContent` will scroll within the viewport.\n *\n * @default 'inside'\n */\n scrollBehavior?: \"inside\" | \"outside\"\n /**\n * If `true`, scrolling will be disabled on the `body` when the modal opens.\n *\n * @default true\n */\n blockScrollOnMount?: boolean\n /**\n * If `true`, the modal will close when the overlay is clicked.\n *\n * @default true\n */\n closeOnOverlay?: boolean\n /**\n * If `true`, the modal will close when the `Esc` key is pressed.\n *\n * @default true\n */\n closeOnEsc?: boolean\n /**\n * The animation of the tooltip.\n *\n * @default 'scale'\n */\n animation?: \"scale\" | \"top\" | \"right\" | \"left\" | \"bottom\" | \"none\"\n /**\n * The animation duration.\n */\n duration?: MotionTransitionProps[\"duration\"]\n /**\n * Props to be forwarded to the portal component.\n */\n portalProps?: Omit<PortalProps, \"children\">\n /**\n * Props for modal container element.\n */\n containerProps?: HTMLUIProps\n}\n\nexport interface ModalProps\n extends ModalContentProps,\n ThemeProps<\"Modal\">,\n ModalOptions {}\n\n/**\n * `Modal` is a component that is displayed over the main content to focus the user's attention solely on the information.\n *\n * @see Docs https://yamada-ui.com/components/overlay/modal\n */\nexport const Modal = motionForwardRef<ModalProps, \"section\">(\n ({ size, ...props }, ref) => {\n const [styles, mergedProps] = useComponentMultiStyle(\"Modal\", {\n size,\n ...props,\n })\n const {\n className,\n children,\n isOpen,\n onClose,\n onOverlayClick,\n onEsc,\n onCloseComplete,\n placement: _placement = \"center\",\n outside = \"fallback(4, 1rem)\",\n withCloseButton = true,\n withOverlay = true,\n allowPinchZoom = false,\n scrollBehavior = \"inside\",\n autoFocus,\n restoreFocus,\n initialFocusRef,\n finalFocusRef,\n blockScrollOnMount = true,\n closeOnOverlay = true,\n closeOnEsc = true,\n lockFocusAcrossFrames = true,\n animation = \"scale\",\n duration,\n portalProps,\n containerProps,\n ...rest\n } = omitThemeProps(mergedProps)\n\n const onKeyDown = useCallback(\n (ev: KeyboardEvent) => {\n if (ev.key !== \"Escape\") return\n\n ev.stopPropagation()\n\n if (closeOnEsc) onClose?.()\n\n onEsc?.()\n },\n [closeOnEsc, onClose, onEsc],\n )\n\n const validChildren = getValidChildren(children)\n\n const [customModalOverlay, ...cloneChildren] = findChildren(\n validChildren,\n ModalOverlay,\n DialogOverlay,\n DrawerOverlay,\n )\n\n let [drawerContent] = findChildren(validChildren, DrawerContent)\n\n if (drawerContent)\n drawerContent = cloneElement(drawerContent, { onKeyDown })\n\n const placement = useValue(_placement)\n\n const css: CSSUIObject = {\n position: \"fixed\",\n top: 0,\n left: 0,\n zIndex: \"fallback(jeice, 110)\",\n w: \"100vw\",\n h: \"100dvh\",\n p: size !== \"full\" ? outside : undefined,\n display: \"flex\",\n justifyContent: placement.includes(\"left\")\n ? \"flex-start\"\n : placement.includes(\"right\")\n ? \"flex-end\"\n : \"center\",\n alignItems: placement.includes(\"top\")\n ? \"flex-start\"\n : placement.includes(\"bottom\")\n ? \"flex-end\"\n : \"center\",\n }\n\n return (\n <ModalProvider\n value={{\n isOpen,\n onClose,\n onOverlayClick,\n withCloseButton,\n scrollBehavior,\n closeOnOverlay,\n animation,\n duration,\n styles,\n }}\n >\n <AnimatePresence onExitComplete={onCloseComplete}>\n {isOpen ? (\n <Portal {...portalProps}>\n <FocusLock\n autoFocus={autoFocus}\n initialFocusRef={initialFocusRef}\n finalFocusRef={finalFocusRef}\n restoreFocus={restoreFocus}\n lockFocusAcrossFrames={lockFocusAcrossFrames}\n >\n <RemoveScroll\n allowPinchZoom={allowPinchZoom}\n enabled={blockScrollOnMount}\n forwardProps\n >\n <ui.div __css={css} {...containerProps}>\n {customModalOverlay ??\n (withOverlay && size !== \"full\" ? (\n <ModalOverlay />\n ) : null)}\n\n {drawerContent ?? (\n <ModalContent\n ref={ref}\n className={className}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {cloneChildren}\n </ModalContent>\n )}\n </ui.div>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n ) : null}\n </AnimatePresence>\n </ModalProvider>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOA,SAAS,IAAI,gBAAgB,8BAA8B;AAE3D,SAAS,iBAAiB;AAE1B,SAAS,iBAAiB,wBAAwB;AAElD,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,kBAAkB,oBAAoB;AAE/C,SAAS,cAAc,mBAAmB;AAC1C,SAAS,oBAAoB;AAuPX,SAGM,KAHN;AAlHX,IAAM,QAAQ;AAAA,EACnB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ;AAC3B,UAAM,CAAC,QAAQ,WAAW,IAAI,uBAAuB,SAAS;AAAA,MAC5D;AAAA,MACA,GAAG;AAAA,IACL,CAAC;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,aAAa;AAAA,MACxB,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,wBAAwB;AAAA,MACxB,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,eAAe,WAAW;AAE9B,UAAM,YAAY;AAAA,MAChB,CAAC,OAAsB;AACrB,YAAI,GAAG,QAAQ,SAAU;AAEzB,WAAG,gBAAgB;AAEnB,YAAI,WAAY;AAEhB;AAAA,MACF;AAAA,MACA,CAAC,YAAY,SAAS,KAAK;AAAA,IAC7B;AAEA,UAAM,gBAAgB,iBAAiB,QAAQ;AAE/C,UAAM,CAAC,oBAAoB,GAAG,aAAa,IAAI;AAAA,MAC7C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,CAAC,aAAa,IAAI,aAAa,eAAe,aAAa;AAE/D,QAAI;AACF,sBAAgB,aAAa,eAAe,EAAE,UAAU,CAAC;AAE3D,UAAM,YAAY,SAAS,UAAU;AAErC,UAAM,MAAmB;AAAA,MACvB,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG,SAAS,SAAS,UAAU;AAAA,MAC/B,SAAS;AAAA,MACT,gBAAgB,UAAU,SAAS,MAAM,IACrC,eACA,UAAU,SAAS,OAAO,IACxB,aACA;AAAA,MACN,YAAY,UAAU,SAAS,KAAK,IAChC,eACA,UAAU,SAAS,QAAQ,IACzB,aACA;AAAA,IACR;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEA,8BAAC,mBAAgB,gBAAgB,iBAC9B,mBACC,oBAAC,UAAQ,GAAG,aACV;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YAEA;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,SAAS;AAAA,gBACT,cAAY;AAAA,gBAEZ,+BAAC,GAAG,KAAH,EAAO,OAAO,KAAM,GAAG,gBACrB;AAAA,oEACE,eAAe,SAAS,SACvB,oBAAC,gBAAa,IACZ;AAAA,kBAEL,wCACC;AAAA,oBAAC;AAAA;AAAA,sBACC;AAAA,sBACA;AAAA,sBACA;AAAA,sBACC,GAAG;AAAA,sBAEH;AAAA;AAAA,kBACH;AAAA,mBAEJ;AAAA;AAAA,YACF;AAAA;AAAA,QACF,GACF,IACE,MACN;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
ModalFooter
|
|
4
|
+
} from "./chunk-CW5ZZAAV.mjs";
|
|
5
|
+
import {
|
|
6
|
+
useDrawer
|
|
7
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
8
|
+
|
|
9
|
+
// src/drawer-footer.tsx
|
|
10
|
+
import { forwardRef } from "@yamada-ui/core";
|
|
11
|
+
import { cx } from "@yamada-ui/utils";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var DrawerFooter = forwardRef(
|
|
14
|
+
({ className, ...rest }, ref) => {
|
|
15
|
+
const styles = useDrawer();
|
|
16
|
+
const css = { ...styles.footer };
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
ModalFooter,
|
|
19
|
+
{
|
|
20
|
+
ref,
|
|
21
|
+
className: cx("ui-drawer__footer", className),
|
|
22
|
+
__css: css,
|
|
23
|
+
...rest
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
DrawerFooter
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-2XQPQIQG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/drawer-footer.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useDrawer } from \"./modal-context\"\nimport type { ModalFooterProps } from \"./modal-footer\"\nimport { ModalFooter } from \"./modal-footer\"\n\nexport interface DrawerFooterProps extends ModalFooterProps {}\n\nexport const DrawerFooter = forwardRef<DrawerFooterProps, \"footer\">(\n ({ className, ...rest }, ref) => {\n const styles = useDrawer()\n\n const css: CSSUIObject = { ...styles.footer }\n\n return (\n <ModalFooter\n ref={ref}\n className={cx(\"ui-drawer__footer\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAcb;AAPC,IAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,OAAO;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,QAC5C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
ModalHeader
|
|
4
|
+
} from "./chunk-B436JYPR.mjs";
|
|
5
|
+
import {
|
|
6
|
+
useDialog
|
|
7
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
8
|
+
|
|
9
|
+
// src/dialog-header.tsx
|
|
10
|
+
import { forwardRef } from "@yamada-ui/core";
|
|
11
|
+
import { cx } from "@yamada-ui/utils";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var DialogHeader = forwardRef(
|
|
14
|
+
({ className, ...rest }, ref) => {
|
|
15
|
+
const styles = useDialog();
|
|
16
|
+
const css = { ...styles.header };
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
ModalHeader,
|
|
19
|
+
{
|
|
20
|
+
ref,
|
|
21
|
+
className: cx("ui-dialog__header", className),
|
|
22
|
+
__css: css,
|
|
23
|
+
...rest
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
DialogHeader
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-3CPIBNSS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dialog-header.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useDialog } from \"./modal-context\"\nimport type { ModalHeaderProps } from \"./modal-header\"\nimport { ModalHeader } from \"./modal-header\"\n\nexport interface DialogHeaderProps extends ModalHeaderProps {}\n\nexport const DialogHeader = forwardRef<DialogHeaderProps, \"header\">(\n ({ className, ...rest }, ref) => {\n const styles = useDialog()\n\n const css: CSSUIObject = { ...styles.header }\n\n return (\n <ModalHeader\n ref={ref}\n className={cx(\"ui-dialog__header\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAcb;AAPC,IAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,OAAO;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,QAC5C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
ModalCloseButton
|
|
4
|
+
} from "./chunk-5OKOSAXO.mjs";
|
|
5
|
+
import {
|
|
6
|
+
useDialog
|
|
7
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
8
|
+
|
|
9
|
+
// src/dialog-close-button.tsx
|
|
10
|
+
import { forwardRef } from "@yamada-ui/core";
|
|
11
|
+
import { cx } from "@yamada-ui/utils";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var DialogCloseButton = forwardRef(
|
|
14
|
+
({ className, ...rest }, ref) => {
|
|
15
|
+
const styles = useDialog();
|
|
16
|
+
const css = { ...styles.closeButton };
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
ModalCloseButton,
|
|
19
|
+
{
|
|
20
|
+
ref,
|
|
21
|
+
className: cx("ui-dialog__close-button", className),
|
|
22
|
+
__css: css,
|
|
23
|
+
...rest
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
DialogCloseButton
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-3S4JQQU3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dialog-close-button.tsx"],"sourcesContent":["import type { CloseButtonProps } from \"@yamada-ui/close-button\"\nimport type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { ModalCloseButton } from \"./modal-close-button\"\nimport { useDialog } from \"./modal-context\"\n\nexport interface DialogCloseButtonProps extends CloseButtonProps {}\n\nexport const DialogCloseButton = forwardRef<DialogCloseButtonProps, \"button\">(\n ({ className, ...rest }, ref) => {\n const styles = useDialog()\n\n const css: CSSUIObject = { ...styles.closeButton }\n\n return (\n <ModalCloseButton\n ref={ref}\n className={cx(\"ui-dialog__close-button\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AAEA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAab;AAPC,IAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,YAAY;AAEjD,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,2BAA2B,SAAS;AAAA,QAClD,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
useModal
|
|
4
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
5
|
+
|
|
6
|
+
// src/modal-overlay.tsx
|
|
7
|
+
import { motion, motionForwardRef } from "@yamada-ui/motion";
|
|
8
|
+
import { fadeProps } from "@yamada-ui/transitions";
|
|
9
|
+
import { cx, handlerAll } from "@yamada-ui/utils";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var ModalOverlay = motionForwardRef(
|
|
12
|
+
({ className, __css, onClick, ...rest }, ref) => {
|
|
13
|
+
const {
|
|
14
|
+
styles,
|
|
15
|
+
closeOnOverlay,
|
|
16
|
+
onOverlayClick,
|
|
17
|
+
onClose,
|
|
18
|
+
animation,
|
|
19
|
+
duration
|
|
20
|
+
} = useModal();
|
|
21
|
+
const css = {
|
|
22
|
+
position: "fixed",
|
|
23
|
+
top: 0,
|
|
24
|
+
left: 0,
|
|
25
|
+
w: "100vw",
|
|
26
|
+
h: "100vh",
|
|
27
|
+
...__css ? __css : styles.overlay
|
|
28
|
+
};
|
|
29
|
+
const props = animation !== "none" ? fadeProps : {};
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
motion.div,
|
|
32
|
+
{
|
|
33
|
+
ref,
|
|
34
|
+
className: cx("ui-modal__overlay", className),
|
|
35
|
+
custom: { duration },
|
|
36
|
+
__css: css,
|
|
37
|
+
onClick: handlerAll(onClick, onOverlayClick, (ev) => {
|
|
38
|
+
ev.stopPropagation();
|
|
39
|
+
if (closeOnOverlay) onClose == null ? void 0 : onClose();
|
|
40
|
+
}),
|
|
41
|
+
...props,
|
|
42
|
+
...rest
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
ModalOverlay
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=chunk-4G6PCQ4G.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal-overlay.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport { motion, motionForwardRef } from \"@yamada-ui/motion\"\nimport { fadeProps } from \"@yamada-ui/transitions\"\nimport { cx, handlerAll } from \"@yamada-ui/utils\"\nimport { useModal } from \"./modal-context\"\n\nexport interface ModalOverlayProps extends MotionProps {}\n\nexport const ModalOverlay = motionForwardRef<ModalOverlayProps, \"div\">(\n ({ className, __css, onClick, ...rest }, ref) => {\n const {\n styles,\n closeOnOverlay,\n onOverlayClick,\n onClose,\n animation,\n duration,\n } = useModal()\n\n const css: CSSUIObject = {\n position: \"fixed\",\n top: 0,\n left: 0,\n w: \"100vw\",\n h: \"100vh\",\n ...(__css ? __css : styles.overlay),\n }\n\n const props = animation !== \"none\" ? fadeProps : {}\n\n return (\n <motion.div\n ref={ref}\n className={cx(\"ui-modal__overlay\", className)}\n custom={{ duration }}\n __css={css}\n onClick={handlerAll(onClick, onOverlayClick, (ev) => {\n ev.stopPropagation()\n if (closeOnOverlay) onClose?.()\n })}\n {...props}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;AAEA,SAAS,QAAQ,wBAAwB;AACzC,SAAS,iBAAiB;AAC1B,SAAS,IAAI,kBAAkB;AA4BzB;AAvBC,IAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,WAAW,OAAO,SAAS,GAAG,KAAK,GAAG,QAAQ;AAC/C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,SAAS;AAEb,UAAM,MAAmB;AAAA,MACvB,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAI,QAAQ,QAAQ,OAAO;AAAA,IAC7B;AAEA,UAAM,QAAQ,cAAc,SAAS,YAAY,CAAC;AAElD,WACE;AAAA,MAAC,OAAO;AAAA,MAAP;AAAA,QACC;AAAA,QACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,QAC5C,QAAQ,EAAE,SAAS;AAAA,QACnB,OAAO;AAAA,QACP,SAAS,WAAW,SAAS,gBAAgB,CAAC,OAAO;AACnD,aAAG,gBAAgB;AACnB,cAAI,eAAgB;AAAA,QACtB,CAAC;AAAA,QACA,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
// src/modal-context.ts
|
|
4
|
+
import { createContext } from "@yamada-ui/utils";
|
|
5
|
+
var [ModalProvider, useModal] = createContext({
|
|
6
|
+
name: `ModalContext`,
|
|
7
|
+
errorMessage: `useModal returned is 'undefined'. Seems you forgot to wrap the components in "<Modal />" `
|
|
8
|
+
});
|
|
9
|
+
var [DialogProvider, useDialog] = createContext({
|
|
10
|
+
name: `DialogContext`,
|
|
11
|
+
errorMessage: `useDialog returned is 'undefined'. Seems you forgot to wrap the components in "<Dialog />" `
|
|
12
|
+
});
|
|
13
|
+
var [DrawerProvider, useDrawer] = createContext({
|
|
14
|
+
name: `DrawerContext`,
|
|
15
|
+
errorMessage: `useDrawer returned is 'undefined'. Seems you forgot to wrap the components in "<Drawer />" `
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
ModalProvider,
|
|
20
|
+
useModal,
|
|
21
|
+
DialogProvider,
|
|
22
|
+
useDialog,
|
|
23
|
+
DrawerProvider,
|
|
24
|
+
useDrawer
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=chunk-4J4ISPN7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal-context.ts"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { createContext } from \"@yamada-ui/utils\"\nimport type { ModalOptions } from \"./modal\"\n\ninterface ModalContext extends ModalOptions {\n styles: { [key: string]: CSSUIObject }\n}\n\nexport const [ModalProvider, useModal] = createContext<ModalContext>({\n name: `ModalContext`,\n errorMessage: `useModal returned is 'undefined'. Seems you forgot to wrap the components in \"<Modal />\" `,\n})\n\ninterface DialogContext {\n [key: string]: CSSUIObject\n}\n\nexport const [DialogProvider, useDialog] = createContext<DialogContext>({\n name: `DialogContext`,\n errorMessage: `useDialog returned is 'undefined'. Seems you forgot to wrap the components in \"<Dialog />\" `,\n})\n\ninterface DrawerContext {\n [key: string]: CSSUIObject\n}\n\nexport const [DrawerProvider, useDrawer] = createContext<DrawerContext>({\n name: `DrawerContext`,\n errorMessage: `useDrawer returned is 'undefined'. Seems you forgot to wrap the components in \"<Drawer />\" `,\n})\n"],"mappings":";;;AACA,SAAS,qBAAqB;AAOvB,IAAM,CAAC,eAAe,QAAQ,IAAI,cAA4B;AAAA,EACnE,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;AAMM,IAAM,CAAC,gBAAgB,SAAS,IAAI,cAA6B;AAAA,EACtE,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;AAMM,IAAM,CAAC,gBAAgB,SAAS,IAAI,cAA6B;AAAA,EACtE,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
useModal
|
|
4
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
5
|
+
|
|
6
|
+
// src/modal-close-button.tsx
|
|
7
|
+
import { CloseButton } from "@yamada-ui/close-button";
|
|
8
|
+
import { forwardRef } from "@yamada-ui/core";
|
|
9
|
+
import { cx, handlerAll } from "@yamada-ui/utils";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var ModalCloseButton = forwardRef(
|
|
12
|
+
({ onClick, __css, ...rest }, ref) => {
|
|
13
|
+
const { styles, onClose } = useModal();
|
|
14
|
+
const css = {
|
|
15
|
+
position: "absolute",
|
|
16
|
+
...__css ? __css : styles.closeButton
|
|
17
|
+
};
|
|
18
|
+
return /* @__PURE__ */ jsx(
|
|
19
|
+
CloseButton,
|
|
20
|
+
{
|
|
21
|
+
ref,
|
|
22
|
+
className: cx("ui-modal__close-button"),
|
|
23
|
+
__css: css,
|
|
24
|
+
onClick: handlerAll(onClick, (ev) => {
|
|
25
|
+
ev.stopPropagation();
|
|
26
|
+
onClose == null ? void 0 : onClose();
|
|
27
|
+
}),
|
|
28
|
+
...rest
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
ModalCloseButton
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-5OKOSAXO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal-close-button.tsx"],"sourcesContent":["import type { CloseButtonProps } from \"@yamada-ui/close-button\"\nimport { CloseButton } from \"@yamada-ui/close-button\"\nimport type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx, handlerAll } from \"@yamada-ui/utils\"\nimport { useModal } from \"./modal-context\"\n\nexport interface ModalCloseButtonProps extends CloseButtonProps {}\n\nexport const ModalCloseButton = forwardRef<ModalCloseButtonProps, \"button\">(\n ({ onClick, __css, ...rest }, ref) => {\n const { styles, onClose } = useModal()\n\n const css: CSSUIObject = {\n position: \"absolute\",\n ...(__css ? __css : styles.closeButton),\n }\n\n return (\n <CloseButton\n ref={ref}\n className={cx(\"ui-modal__close-button\")}\n __css={css}\n onClick={handlerAll(onClick, (ev) => {\n ev.stopPropagation()\n onClose?.()\n })}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;AACA,SAAS,mBAAmB;AAE5B,SAAS,kBAAkB;AAC3B,SAAS,IAAI,kBAAkB;AAezB;AAVC,IAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,SAAS,OAAO,GAAG,KAAK,GAAG,QAAQ;AACpC,UAAM,EAAE,QAAQ,QAAQ,IAAI,SAAS;AAErC,UAAM,MAAmB;AAAA,MACvB,UAAU;AAAA,MACV,GAAI,QAAQ,QAAQ,OAAO;AAAA,IAC7B;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,wBAAwB;AAAA,QACtC,OAAO;AAAA,QACP,SAAS,WAAW,SAAS,CAAC,OAAO;AACnC,aAAG,gBAAgB;AACnB;AAAA,QACF,CAAC;AAAA,QACA,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
ModalHeader
|
|
4
|
+
} from "./chunk-B436JYPR.mjs";
|
|
5
|
+
import {
|
|
6
|
+
useDrawer
|
|
7
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
8
|
+
|
|
9
|
+
// src/drawer-header.tsx
|
|
10
|
+
import { forwardRef } from "@yamada-ui/core";
|
|
11
|
+
import { cx } from "@yamada-ui/utils";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var DrawerHeader = forwardRef(
|
|
14
|
+
({ className, ...rest }, ref) => {
|
|
15
|
+
const styles = useDrawer();
|
|
16
|
+
const css = { ...styles.header };
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
ModalHeader,
|
|
19
|
+
{
|
|
20
|
+
ref,
|
|
21
|
+
className: cx("ui-drawer__header", className),
|
|
22
|
+
__css: css,
|
|
23
|
+
...rest
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
DrawerHeader
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-B2LUOR6L.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/drawer-header.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useDrawer } from \"./modal-context\"\nimport type { ModalHeaderProps } from \"./modal-header\"\nimport { ModalHeader } from \"./modal-header\"\n\nexport interface DrawerHeaderProps extends ModalHeaderProps {}\n\nexport const DrawerHeader = forwardRef<DrawerHeaderProps, \"header\">(\n ({ className, ...rest }, ref) => {\n const styles = useDrawer()\n\n const css: CSSUIObject = { ...styles.header }\n\n return (\n <ModalHeader\n ref={ref}\n className={cx(\"ui-drawer__header\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAcb;AAPC,IAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,OAAO;AAE5C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,QAC5C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
useModal
|
|
4
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
5
|
+
|
|
6
|
+
// src/modal-header.tsx
|
|
7
|
+
import { ui, forwardRef } from "@yamada-ui/core";
|
|
8
|
+
import { cx } from "@yamada-ui/utils";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var ModalHeader = forwardRef(
|
|
11
|
+
({ className, __css, ...rest }, ref) => {
|
|
12
|
+
const { styles } = useModal();
|
|
13
|
+
const css = {
|
|
14
|
+
display: "flex",
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
justifyContent: "flex-start",
|
|
17
|
+
...__css ? __css : styles.header
|
|
18
|
+
};
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
ui.header,
|
|
21
|
+
{
|
|
22
|
+
ref,
|
|
23
|
+
className: cx("ui-modal__header", className),
|
|
24
|
+
__css: css,
|
|
25
|
+
...rest
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
ModalHeader
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=chunk-B436JYPR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal-header.tsx"],"sourcesContent":["import type { HTMLUIProps, CSSUIObject } from \"@yamada-ui/core\"\nimport { ui, forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useModal } from \"./modal-context\"\n\nexport interface ModalHeaderProps extends HTMLUIProps<\"header\"> {}\n\nexport const ModalHeader = forwardRef<ModalHeaderProps, \"header\">(\n ({ className, __css, ...rest }, ref) => {\n const { styles } = useModal()\n\n const css: CSSUIObject = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n ...(__css ? __css : styles.header),\n }\n\n return (\n <ui.header\n ref={ref}\n className={cx(\"ui-modal__header\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;AACA,SAAS,IAAI,kBAAkB;AAC/B,SAAS,UAAU;AAiBb;AAZC,IAAM,cAAc;AAAA,EACzB,CAAC,EAAE,WAAW,OAAO,GAAG,KAAK,GAAG,QAAQ;AACtC,UAAM,EAAE,OAAO,IAAI,SAAS;AAE5B,UAAM,MAAmB;AAAA,MACvB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,GAAI,QAAQ,QAAQ,OAAO;AAAA,IAC7B;AAEA,WACE;AAAA,MAAC,GAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,WAAW,GAAG,oBAAoB,SAAS;AAAA,QAC3C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
useModal
|
|
4
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
5
|
+
|
|
6
|
+
// src/modal-footer.tsx
|
|
7
|
+
import { ui, forwardRef } from "@yamada-ui/core";
|
|
8
|
+
import { cx } from "@yamada-ui/utils";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
var ModalFooter = forwardRef(
|
|
11
|
+
({ className, __css, ...rest }, ref) => {
|
|
12
|
+
const { styles } = useModal();
|
|
13
|
+
const css = {
|
|
14
|
+
display: "flex",
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
justifyContent: "flex-end",
|
|
17
|
+
...__css ? __css : styles.footer
|
|
18
|
+
};
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
ui.footer,
|
|
21
|
+
{
|
|
22
|
+
ref,
|
|
23
|
+
className: cx("ui-modal__footer", className),
|
|
24
|
+
__css: css,
|
|
25
|
+
...rest
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
ModalFooter
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=chunk-CW5ZZAAV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal-footer.tsx"],"sourcesContent":["import type { HTMLUIProps, CSSUIObject } from \"@yamada-ui/core\"\nimport { ui, forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useModal } from \"./modal-context\"\n\nexport interface ModalFooterProps extends HTMLUIProps<\"footer\"> {}\n\nexport const ModalFooter = forwardRef<ModalFooterProps, \"footer\">(\n ({ className, __css, ...rest }, ref) => {\n const { styles } = useModal()\n\n const css: CSSUIObject = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n ...(__css ? __css : styles.footer),\n }\n\n return (\n <ui.footer\n ref={ref}\n className={cx(\"ui-modal__footer\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;AACA,SAAS,IAAI,kBAAkB;AAC/B,SAAS,UAAU;AAiBb;AAZC,IAAM,cAAc;AAAA,EACzB,CAAC,EAAE,WAAW,OAAO,GAAG,KAAK,GAAG,QAAQ;AACtC,UAAM,EAAE,OAAO,IAAI,SAAS;AAE5B,UAAM,MAAmB;AAAA,MACvB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,GAAI,QAAQ,QAAQ,OAAO;AAAA,IAC7B;AAEA,WACE;AAAA,MAAC,GAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,WAAW,GAAG,oBAAoB,SAAS;AAAA,QAC3C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import {
|
|
3
|
+
ModalCloseButton
|
|
4
|
+
} from "./chunk-5OKOSAXO.mjs";
|
|
5
|
+
import {
|
|
6
|
+
useDrawer
|
|
7
|
+
} from "./chunk-4J4ISPN7.mjs";
|
|
8
|
+
|
|
9
|
+
// src/drawer-close-button.tsx
|
|
10
|
+
import { forwardRef } from "@yamada-ui/core";
|
|
11
|
+
import { cx } from "@yamada-ui/utils";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
var DrawerCloseButton = forwardRef(
|
|
14
|
+
({ className, ...rest }, ref) => {
|
|
15
|
+
const styles = useDrawer();
|
|
16
|
+
const css = { ...styles.closeButton };
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
ModalCloseButton,
|
|
19
|
+
{
|
|
20
|
+
ref,
|
|
21
|
+
className: cx("ui-drawer__close-button", className),
|
|
22
|
+
__css: css,
|
|
23
|
+
...rest
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
DrawerCloseButton
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-DV6BTDBZ.mjs.map
|