@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.
Files changed (176) hide show
  1. package/dist/chunk-2EF6C34T.mjs +35 -0
  2. package/dist/chunk-2EF6C34T.mjs.map +1 -0
  3. package/dist/chunk-2GGZOTUT.mjs +32 -0
  4. package/dist/chunk-2GGZOTUT.mjs.map +1 -0
  5. package/dist/chunk-2UHL64SV.mjs +150 -0
  6. package/dist/chunk-2UHL64SV.mjs.map +1 -0
  7. package/dist/chunk-2XQPQIQG.mjs +32 -0
  8. package/dist/chunk-2XQPQIQG.mjs.map +1 -0
  9. package/dist/chunk-3CPIBNSS.mjs +32 -0
  10. package/dist/chunk-3CPIBNSS.mjs.map +1 -0
  11. package/dist/chunk-3S4JQQU3.mjs +32 -0
  12. package/dist/chunk-3S4JQQU3.mjs.map +1 -0
  13. package/dist/chunk-4G6PCQ4G.mjs +51 -0
  14. package/dist/chunk-4G6PCQ4G.mjs.map +1 -0
  15. package/dist/chunk-4J4ISPN7.mjs +26 -0
  16. package/dist/chunk-4J4ISPN7.mjs.map +1 -0
  17. package/dist/chunk-5OKOSAXO.mjs +37 -0
  18. package/dist/chunk-5OKOSAXO.mjs.map +1 -0
  19. package/dist/chunk-B2LUOR6L.mjs +32 -0
  20. package/dist/chunk-B2LUOR6L.mjs.map +1 -0
  21. package/dist/chunk-B436JYPR.mjs +34 -0
  22. package/dist/chunk-B436JYPR.mjs.map +1 -0
  23. package/dist/chunk-CW5ZZAAV.mjs +34 -0
  24. package/dist/chunk-CW5ZZAAV.mjs.map +1 -0
  25. package/dist/chunk-DV6BTDBZ.mjs +32 -0
  26. package/dist/chunk-DV6BTDBZ.mjs.map +1 -0
  27. package/dist/chunk-G646NVHY.mjs +176 -0
  28. package/dist/chunk-G646NVHY.mjs.map +1 -0
  29. package/dist/chunk-HM447TIY.mjs +32 -0
  30. package/dist/chunk-HM447TIY.mjs.map +1 -0
  31. package/dist/chunk-I6LPF3F6.mjs +95 -0
  32. package/dist/chunk-I6LPF3F6.mjs.map +1 -0
  33. package/dist/chunk-OFDDT2JT.mjs +32 -0
  34. package/dist/chunk-OFDDT2JT.mjs.map +1 -0
  35. package/dist/chunk-RSAJUBWR.mjs +32 -0
  36. package/dist/chunk-RSAJUBWR.mjs.map +1 -0
  37. package/dist/chunk-WEDZHILB.mjs +29 -0
  38. package/dist/chunk-WEDZHILB.mjs.map +1 -0
  39. package/dist/chunk-Y2QXIJZA.mjs +138 -0
  40. package/dist/chunk-Y2QXIJZA.mjs.map +1 -0
  41. package/dist/chunk-Y5NCRCDU.mjs +32 -0
  42. package/dist/chunk-Y5NCRCDU.mjs.map +1 -0
  43. package/dist/chunk-ZR2AEIGZ.mjs +116 -0
  44. package/dist/chunk-ZR2AEIGZ.mjs.map +1 -0
  45. package/dist/dialog-body.d.mts +8 -0
  46. package/dist/dialog-body.d.ts +8 -0
  47. package/dist/dialog-body.js +94 -0
  48. package/dist/dialog-body.js.map +1 -0
  49. package/dist/dialog-body.mjs +10 -0
  50. package/dist/dialog-body.mjs.map +1 -0
  51. package/dist/dialog-close-button.d.mts +8 -0
  52. package/dist/dialog-close-button.d.ts +8 -0
  53. package/dist/dialog-close-button.js +96 -0
  54. package/dist/dialog-close-button.js.map +1 -0
  55. package/dist/dialog-close-button.mjs +10 -0
  56. package/dist/dialog-close-button.mjs.map +1 -0
  57. package/dist/dialog-footer.d.mts +8 -0
  58. package/dist/dialog-footer.d.ts +8 -0
  59. package/dist/dialog-footer.js +91 -0
  60. package/dist/dialog-footer.js.map +1 -0
  61. package/dist/dialog-footer.mjs +10 -0
  62. package/dist/dialog-footer.mjs.map +1 -0
  63. package/dist/dialog-header.d.mts +8 -0
  64. package/dist/dialog-header.d.ts +8 -0
  65. package/dist/dialog-header.js +91 -0
  66. package/dist/dialog-header.js.map +1 -0
  67. package/dist/dialog-header.mjs +10 -0
  68. package/dist/dialog-header.mjs.map +1 -0
  69. package/dist/dialog-overlay.d.mts +8 -0
  70. package/dist/dialog-overlay.d.ts +8 -0
  71. package/dist/dialog-overlay.js +108 -0
  72. package/dist/dialog-overlay.js.map +1 -0
  73. package/dist/dialog-overlay.mjs +10 -0
  74. package/dist/dialog-overlay.mjs.map +1 -0
  75. package/dist/dialog.d.mts +7 -21
  76. package/dist/dialog.d.ts +7 -21
  77. package/dist/dialog.js +593 -678
  78. package/dist/dialog.js.map +1 -1
  79. package/dist/dialog.mjs +20 -13
  80. package/dist/drawer-body.d.mts +8 -0
  81. package/dist/drawer-body.d.ts +8 -0
  82. package/dist/drawer-body.js +94 -0
  83. package/dist/drawer-body.js.map +1 -0
  84. package/dist/drawer-body.mjs +10 -0
  85. package/dist/drawer-body.mjs.map +1 -0
  86. package/dist/drawer-close-button.d.mts +9 -0
  87. package/dist/drawer-close-button.d.ts +9 -0
  88. package/dist/drawer-close-button.js +96 -0
  89. package/dist/drawer-close-button.js.map +1 -0
  90. package/dist/drawer-close-button.mjs +10 -0
  91. package/dist/drawer-close-button.mjs.map +1 -0
  92. package/dist/drawer-content.d.mts +16 -0
  93. package/dist/drawer-content.d.ts +16 -0
  94. package/dist/drawer-content.js +278 -0
  95. package/dist/drawer-content.js.map +1 -0
  96. package/dist/drawer-content.mjs +12 -0
  97. package/dist/drawer-content.mjs.map +1 -0
  98. package/dist/drawer-drag-bar.d.mts +8 -0
  99. package/dist/drawer-drag-bar.d.ts +8 -0
  100. package/dist/drawer-drag-bar.js +66 -0
  101. package/dist/drawer-drag-bar.js.map +1 -0
  102. package/dist/drawer-drag-bar.mjs +9 -0
  103. package/dist/drawer-drag-bar.mjs.map +1 -0
  104. package/dist/drawer-footer.d.mts +8 -0
  105. package/dist/drawer-footer.d.ts +8 -0
  106. package/dist/drawer-footer.js +91 -0
  107. package/dist/drawer-footer.js.map +1 -0
  108. package/dist/drawer-footer.mjs +10 -0
  109. package/dist/drawer-footer.mjs.map +1 -0
  110. package/dist/drawer-header.d.mts +8 -0
  111. package/dist/drawer-header.d.ts +8 -0
  112. package/dist/drawer-header.js +91 -0
  113. package/dist/drawer-header.js.map +1 -0
  114. package/dist/drawer-header.mjs +10 -0
  115. package/dist/drawer-header.mjs.map +1 -0
  116. package/dist/drawer-overlay.d.mts +8 -0
  117. package/dist/drawer-overlay.d.ts +8 -0
  118. package/dist/drawer-overlay.js +108 -0
  119. package/dist/drawer-overlay.js.map +1 -0
  120. package/dist/drawer-overlay.mjs +10 -0
  121. package/dist/drawer-overlay.mjs.map +1 -0
  122. package/dist/drawer.d.mts +8 -27
  123. package/dist/drawer.d.ts +8 -27
  124. package/dist/drawer.js +405 -640
  125. package/dist/drawer.js.map +1 -1
  126. package/dist/drawer.mjs +14 -17
  127. package/dist/index.d.mts +13 -2
  128. package/dist/index.d.ts +13 -2
  129. package/dist/index.js +492 -413
  130. package/dist/index.js.map +1 -1
  131. package/dist/index.mjs +56 -18
  132. package/dist/modal-body.d.mts +3 -2
  133. package/dist/modal-body.d.ts +3 -2
  134. package/dist/modal-body.js +13 -856
  135. package/dist/modal-body.js.map +1 -1
  136. package/dist/modal-body.mjs +2 -1
  137. package/dist/modal-close-button.d.mts +3 -2
  138. package/dist/modal-close-button.d.ts +3 -2
  139. package/dist/modal-close-button.js +13 -854
  140. package/dist/modal-close-button.js.map +1 -1
  141. package/dist/modal-close-button.mjs +2 -1
  142. package/dist/modal-content.d.mts +9 -0
  143. package/dist/modal-content.d.ts +9 -0
  144. package/dist/modal-content.js +178 -0
  145. package/dist/modal-content.js.map +1 -0
  146. package/dist/modal-content.mjs +11 -0
  147. package/dist/modal-content.mjs.map +1 -0
  148. package/dist/modal-context.d.mts +27 -0
  149. package/dist/modal-context.d.ts +27 -0
  150. package/dist/modal-context.js +54 -0
  151. package/dist/modal-context.js.map +1 -0
  152. package/dist/modal-context.mjs +18 -0
  153. package/dist/modal-context.mjs.map +1 -0
  154. package/dist/modal-footer.d.mts +2 -1
  155. package/dist/modal-footer.d.ts +2 -1
  156. package/dist/modal-footer.js +13 -857
  157. package/dist/modal-footer.js.map +1 -1
  158. package/dist/modal-footer.mjs +2 -1
  159. package/dist/modal-header.d.mts +2 -1
  160. package/dist/modal-header.d.ts +2 -1
  161. package/dist/modal-header.js +13 -857
  162. package/dist/modal-header.js.map +1 -1
  163. package/dist/modal-header.mjs +2 -1
  164. package/dist/modal-overlay.d.mts +2 -1
  165. package/dist/modal-overlay.d.ts +2 -1
  166. package/dist/modal-overlay.js +16 -843
  167. package/dist/modal-overlay.js.map +1 -1
  168. package/dist/modal-overlay.mjs +2 -1
  169. package/dist/modal.d.mts +10 -14
  170. package/dist/modal.d.ts +10 -14
  171. package/dist/modal.js +183 -508
  172. package/dist/modal.js.map +1 -1
  173. package/dist/modal.mjs +13 -5
  174. package/package.json +10 -10
  175. package/dist/chunk-7PS3HWMF.mjs +0 -938
  176. package/dist/chunk-7PS3HWMF.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drawer-close-button.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport type { ModalCloseButtonProps } from \"./modal-close-button\"\nimport { ModalCloseButton } from \"./modal-close-button\"\nimport { useDrawer } from \"./modal-context\"\n\nexport interface DrawerCloseButtonProps extends ModalCloseButtonProps {}\n\nexport const DrawerCloseButton = forwardRef<DrawerCloseButtonProps, \"button\">(\n ({ className, ...rest }, ref) => {\n const styles = useDrawer()\n\n const css: CSSUIObject = { ...styles.closeButton }\n\n return (\n <ModalCloseButton\n ref={ref}\n className={cx(\"ui-drawer__close-button\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAcb;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,176 @@
1
+ "use client"
2
+ import {
3
+ DrawerDragBar
4
+ } from "./chunk-WEDZHILB.mjs";
5
+ import {
6
+ DrawerCloseButton
7
+ } from "./chunk-DV6BTDBZ.mjs";
8
+ import {
9
+ useDrawer,
10
+ useModal
11
+ } from "./chunk-4J4ISPN7.mjs";
12
+
13
+ // src/drawer-content.tsx
14
+ import { ui } from "@yamada-ui/core";
15
+ import { motionForwardRef } from "@yamada-ui/motion";
16
+ import { Slide } from "@yamada-ui/transitions";
17
+ import { useValue } from "@yamada-ui/use-value";
18
+ import { getValidChildren, findChildren, cx, isArray } from "@yamada-ui/utils";
19
+ import { useCallback, useMemo } from "react";
20
+ import { jsx, jsxs } from "react/jsx-runtime";
21
+ var DrawerContent = motionForwardRef(
22
+ ({
23
+ className,
24
+ children,
25
+ placement: _placement,
26
+ withCloseButton,
27
+ withDragBar,
28
+ closeOnDrag,
29
+ dragConstraints,
30
+ dragElastic,
31
+ dragOffset,
32
+ dragVelocity,
33
+ blankForDragProps,
34
+ ...rest
35
+ }, ref) => {
36
+ const { isOpen, onClose, duration } = useModal();
37
+ const styles = useDrawer();
38
+ const placement = useValue(_placement);
39
+ const validChildren = getValidChildren(children);
40
+ const [customDrawerCloseButton, ...cloneChildren] = findChildren(
41
+ validChildren,
42
+ DrawerCloseButton
43
+ );
44
+ const blankForDragBg = useMemo(() => {
45
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
46
+ const propBg = (_c = (_b = (_a = rest.backgroundColor) != null ? _a : rest.bgColor) != null ? _b : rest.background) != null ? _c : rest.bg;
47
+ const styleBg = (_j = (_h = (_f = (_d = styles.container) == null ? void 0 : _d.backgroundColor) != null ? _f : (_e = styles.container) == null ? void 0 : _e.bgColor) != null ? _h : (_g = styles.container) == null ? void 0 : _g.background) != null ? _j : (_i = styles.container) == null ? void 0 : _i.bg;
48
+ const computedBg = propBg != null ? propBg : styleBg;
49
+ return isArray(computedBg) ? computedBg : [computedBg];
50
+ }, [rest, styles]);
51
+ const blankForDrag = useMemo(() => {
52
+ let position = {};
53
+ switch (placement) {
54
+ case "top":
55
+ position = { top: "calc(-100dvh + 1px)", left: 0, right: 0 };
56
+ break;
57
+ case "bottom":
58
+ position = { bottom: "calc(-100dvh + 1px)", left: 0, right: 0 };
59
+ break;
60
+ case "left":
61
+ position = { left: "calc(-100% + 1px)", top: 0, bottom: 0 };
62
+ break;
63
+ case "right":
64
+ position = { right: "calc(-100% + 1px)", top: 0, bottom: 0 };
65
+ break;
66
+ }
67
+ const [lightBg, darkBg] = blankForDragBg;
68
+ return {
69
+ _after: {
70
+ content: '""',
71
+ display: "block",
72
+ w: "100%",
73
+ h: "100dvh",
74
+ bg: lightBg,
75
+ position: "absolute",
76
+ ...position,
77
+ ...blankForDragProps
78
+ },
79
+ _dark: {
80
+ _after: {
81
+ bg: darkBg
82
+ }
83
+ }
84
+ };
85
+ }, [placement, blankForDragBg, blankForDragProps]);
86
+ const css = useMemo(
87
+ () => ({
88
+ display: "flex",
89
+ flexDirection: placement === "top" || placement === "bottom" ? "column" : "row",
90
+ outline: 0,
91
+ ...closeOnDrag ? blankForDrag : {},
92
+ ...styles.container
93
+ }),
94
+ [blankForDrag, closeOnDrag, placement, styles]
95
+ );
96
+ const getDragDirectionRestriction = useCallback(
97
+ (value) => {
98
+ switch (placement) {
99
+ case "top":
100
+ return { bottom: value };
101
+ case "bottom":
102
+ return { top: value };
103
+ case "left":
104
+ return { right: value };
105
+ case "right":
106
+ return { left: value };
107
+ }
108
+ },
109
+ [placement]
110
+ );
111
+ const getDragDirection = useCallback(() => {
112
+ switch (placement) {
113
+ case "top":
114
+ case "bottom":
115
+ return "y";
116
+ case "left":
117
+ case "right":
118
+ return "x";
119
+ }
120
+ }, [placement]);
121
+ const isCloseByDragInfo = useCallback(
122
+ (info) => {
123
+ switch (placement) {
124
+ case "top":
125
+ return info.velocity.y <= dragVelocity * -1 || info.offset.y <= dragOffset * -1;
126
+ case "bottom":
127
+ return info.velocity.y >= dragVelocity || info.offset.y >= dragOffset;
128
+ case "left":
129
+ return info.velocity.x <= dragVelocity * -1 || info.offset.x <= dragOffset * -1;
130
+ case "right":
131
+ return info.velocity.x >= dragVelocity || info.offset.x >= dragOffset;
132
+ }
133
+ },
134
+ [placement, dragVelocity, dragOffset]
135
+ );
136
+ return /* @__PURE__ */ jsxs(
137
+ Slide,
138
+ {
139
+ ref,
140
+ className: cx("ui-drawer", className),
141
+ isOpen,
142
+ placement,
143
+ duration,
144
+ drag: closeOnDrag ? getDragDirection() : false,
145
+ dragConstraints: getDragDirectionRestriction(dragConstraints),
146
+ dragElastic: getDragDirectionRestriction(dragElastic),
147
+ dragSnapToOrigin: true,
148
+ dragMomentum: false,
149
+ onDragEnd: (_, info) => {
150
+ if (isCloseByDragInfo(info)) onClose == null ? void 0 : onClose();
151
+ },
152
+ tabIndex: -1,
153
+ __css: css,
154
+ ...rest,
155
+ children: [
156
+ customDrawerCloseButton != null ? customDrawerCloseButton : withCloseButton && onClose ? /* @__PURE__ */ jsx(DrawerCloseButton, {}) : null,
157
+ withDragBar && closeOnDrag && (placement === "bottom" || placement === "right") ? /* @__PURE__ */ jsx(DrawerDragBar, {}) : null,
158
+ /* @__PURE__ */ jsx(
159
+ ui.div,
160
+ {
161
+ className: "ui-drawer__inner",
162
+ __css: { display: "flex", flexDirection: "column", ...styles.inner },
163
+ children: cloneChildren
164
+ }
165
+ ),
166
+ withDragBar && closeOnDrag && (placement === "top" || placement === "left") ? /* @__PURE__ */ jsx(DrawerDragBar, {}) : null
167
+ ]
168
+ }
169
+ );
170
+ }
171
+ );
172
+
173
+ export {
174
+ DrawerContent
175
+ };
176
+ //# sourceMappingURL=chunk-G646NVHY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drawer-content.tsx"],"sourcesContent":["import type { CSSUIObject, ThemeProps } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { motionForwardRef } from \"@yamada-ui/motion\"\nimport type { MotionPanInfo } from \"@yamada-ui/motion\"\nimport { Slide } from \"@yamada-ui/transitions\"\nimport { useValue } from \"@yamada-ui/use-value\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport { getValidChildren, findChildren, cx, isArray } from \"@yamada-ui/utils\"\nimport { useCallback, useMemo } from \"react\"\nimport type { DrawerProps } from \"./drawer\"\nimport { DrawerCloseButton } from \"./drawer-close-button\"\nimport { DrawerDragBar } from \"./drawer-drag-bar\"\nimport { useDrawer, useModal } from \"./modal-context\"\n\nexport interface DrawerContentProps\n extends Merge<\n Omit<DrawerProps, \"isOpen\" | \"placement\" | keyof ThemeProps>,\n Required<\n Pick<\n DrawerProps,\n | \"placement\"\n | \"dragConstraints\"\n | \"dragElastic\"\n | \"dragOffset\"\n | \"dragVelocity\"\n | \"placement\"\n >\n >\n > {}\n\nexport const DrawerContent = motionForwardRef<DrawerContentProps, \"div\">(\n (\n {\n className,\n children,\n placement: _placement,\n withCloseButton,\n withDragBar,\n closeOnDrag,\n dragConstraints,\n dragElastic,\n dragOffset,\n dragVelocity,\n blankForDragProps,\n ...rest\n },\n ref,\n ) => {\n const { isOpen, onClose, duration } = useModal()\n const styles = useDrawer()\n const placement = useValue(_placement)\n\n const validChildren = getValidChildren(children)\n\n const [customDrawerCloseButton, ...cloneChildren] = findChildren(\n validChildren,\n DrawerCloseButton,\n )\n\n const blankForDragBg = useMemo(() => {\n const propBg =\n rest.backgroundColor ?? rest.bgColor ?? rest.background ?? rest.bg\n const styleBg =\n styles.container?.backgroundColor ??\n styles.container?.bgColor ??\n styles.container?.background ??\n styles.container?.bg\n const computedBg = propBg ?? styleBg\n\n return isArray(computedBg) ? computedBg : [computedBg]\n }, [rest, styles])\n\n const blankForDrag = useMemo<CSSUIObject>(() => {\n let position: CSSUIObject = {}\n\n switch (placement) {\n case \"top\":\n position = { top: \"calc(-100dvh + 1px)\", left: 0, right: 0 }\n break\n\n case \"bottom\":\n position = { bottom: \"calc(-100dvh + 1px)\", left: 0, right: 0 }\n break\n\n case \"left\":\n position = { left: \"calc(-100% + 1px)\", top: 0, bottom: 0 }\n break\n\n case \"right\":\n position = { right: \"calc(-100% + 1px)\", top: 0, bottom: 0 }\n break\n }\n\n const [lightBg, darkBg] = blankForDragBg\n\n return {\n _after: {\n content: '\"\"',\n display: \"block\",\n w: \"100%\",\n h: \"100dvh\",\n bg: lightBg,\n position: \"absolute\",\n ...position,\n ...blankForDragProps,\n },\n _dark: {\n _after: {\n bg: darkBg,\n },\n },\n }\n }, [placement, blankForDragBg, blankForDragProps])\n\n const css = useMemo<CSSUIObject>(\n () => ({\n display: \"flex\",\n flexDirection:\n placement === \"top\" || placement === \"bottom\" ? \"column\" : \"row\",\n outline: 0,\n ...(closeOnDrag ? blankForDrag : {}),\n ...styles.container,\n }),\n [blankForDrag, closeOnDrag, placement, styles],\n )\n\n const getDragDirectionRestriction = useCallback(\n (value: number) => {\n switch (placement) {\n case \"top\":\n return { bottom: value }\n case \"bottom\":\n return { top: value }\n case \"left\":\n return { right: value }\n case \"right\":\n return { left: value }\n }\n },\n [placement],\n )\n\n const getDragDirection = useCallback(() => {\n switch (placement) {\n case \"top\":\n case \"bottom\":\n return \"y\"\n case \"left\":\n case \"right\":\n return \"x\"\n }\n }, [placement])\n\n const isCloseByDragInfo = useCallback(\n (info: MotionPanInfo) => {\n switch (placement) {\n case \"top\":\n return (\n info.velocity.y <= dragVelocity * -1 ||\n info.offset.y <= dragOffset * -1\n )\n case \"bottom\":\n return (\n info.velocity.y >= dragVelocity || info.offset.y >= dragOffset\n )\n case \"left\":\n return (\n info.velocity.x <= dragVelocity * -1 ||\n info.offset.x <= dragOffset * -1\n )\n case \"right\":\n return (\n info.velocity.x >= dragVelocity || info.offset.x >= dragOffset\n )\n }\n },\n [placement, dragVelocity, dragOffset],\n )\n\n return (\n <Slide\n ref={ref}\n className={cx(\"ui-drawer\", className)}\n isOpen={isOpen}\n placement={placement}\n duration={duration}\n drag={closeOnDrag ? getDragDirection() : false}\n dragConstraints={getDragDirectionRestriction(dragConstraints)}\n dragElastic={getDragDirectionRestriction(dragElastic)}\n dragSnapToOrigin\n dragMomentum={false}\n onDragEnd={(_, info) => {\n if (isCloseByDragInfo(info)) onClose?.()\n }}\n tabIndex={-1}\n __css={css}\n {...rest}\n >\n {customDrawerCloseButton ??\n (withCloseButton && onClose ? <DrawerCloseButton /> : null)}\n\n {withDragBar &&\n closeOnDrag &&\n (placement === \"bottom\" || placement === \"right\") ? (\n <DrawerDragBar />\n ) : null}\n\n <ui.div\n className=\"ui-drawer__inner\"\n __css={{ display: \"flex\", flexDirection: \"column\", ...styles.inner }}\n >\n {cloneChildren}\n </ui.div>\n\n {withDragBar &&\n closeOnDrag &&\n (placement === \"top\" || placement === \"left\") ? (\n <DrawerDragBar />\n ) : null}\n </Slide>\n )\n },\n)\n"],"mappings":"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","names":[]}
@@ -0,0 +1,32 @@
1
+ "use client"
2
+ import {
3
+ ModalBody
4
+ } from "./chunk-2EF6C34T.mjs";
5
+ import {
6
+ useDrawer
7
+ } from "./chunk-4J4ISPN7.mjs";
8
+
9
+ // src/drawer-body.tsx
10
+ import { forwardRef } from "@yamada-ui/core";
11
+ import { cx } from "@yamada-ui/utils";
12
+ import { jsx } from "react/jsx-runtime";
13
+ var DrawerBody = forwardRef(
14
+ ({ className, ...rest }, ref) => {
15
+ const styles = useDrawer();
16
+ const css = { ...styles.body };
17
+ return /* @__PURE__ */ jsx(
18
+ ModalBody,
19
+ {
20
+ ref,
21
+ className: cx("ui-drawer__body", className),
22
+ __css: css,
23
+ ...rest
24
+ }
25
+ );
26
+ }
27
+ );
28
+
29
+ export {
30
+ DrawerBody
31
+ };
32
+ //# sourceMappingURL=chunk-HM447TIY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drawer-body.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport type { ModalBodyProps } from \"./modal-body\"\nimport { ModalBody } from \"./modal-body\"\nimport { useDrawer } from \"./modal-context\"\n\nexport interface DrawerBodyProps extends ModalBodyProps {}\n\nexport const DrawerBody = forwardRef<DrawerBodyProps, \"main\">(\n ({ className, ...rest }, ref) => {\n const styles = useDrawer()\n\n const css: CSSUIObject = { ...styles.body }\n\n return (\n <ModalBody\n ref={ref}\n className={cx(\"ui-drawer__body\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAcb;AAPC,IAAM,aAAa;AAAA,EACxB,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,KAAK;AAE1C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,mBAAmB,SAAS;AAAA,QAC1C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
@@ -0,0 +1,95 @@
1
+ "use client"
2
+ import {
3
+ DialogCloseButton
4
+ } from "./chunk-3S4JQQU3.mjs";
5
+ import {
6
+ ModalCloseButton
7
+ } from "./chunk-5OKOSAXO.mjs";
8
+ import {
9
+ useModal
10
+ } from "./chunk-4J4ISPN7.mjs";
11
+
12
+ // src/modal-content.tsx
13
+ import { motion, motionForwardRef } from "@yamada-ui/motion";
14
+ import { scaleFadeProps, slideFadeProps } from "@yamada-ui/transitions";
15
+ import { cx, getValidChildren, findChildren } from "@yamada-ui/utils";
16
+ import { jsx, jsxs } from "react/jsx-runtime";
17
+ var getModalContentProps = (animation = "scale", duration) => {
18
+ switch (animation) {
19
+ case "scale":
20
+ return {
21
+ ...scaleFadeProps,
22
+ custom: { scale: 0.95, reverse: true, duration }
23
+ };
24
+ case "top":
25
+ return {
26
+ ...slideFadeProps,
27
+ custom: { offsetY: -16, reverse: true, duration }
28
+ };
29
+ case "right":
30
+ return {
31
+ ...slideFadeProps,
32
+ custom: { offsetX: 16, reverse: true, duration }
33
+ };
34
+ case "left":
35
+ return {
36
+ ...slideFadeProps,
37
+ custom: { offsetX: -16, reverse: true, duration }
38
+ };
39
+ case "bottom":
40
+ return {
41
+ ...slideFadeProps,
42
+ custom: { offsetY: 16, reverse: true, duration }
43
+ };
44
+ }
45
+ };
46
+ var ModalContent = motionForwardRef(
47
+ ({ className, children, __css, ...rest }, ref) => {
48
+ const {
49
+ styles,
50
+ scrollBehavior,
51
+ withCloseButton,
52
+ onClose,
53
+ animation,
54
+ duration
55
+ } = useModal();
56
+ const validChildren = getValidChildren(children);
57
+ const [customModalCloseButton, ...cloneChildren] = findChildren(
58
+ validChildren,
59
+ ModalCloseButton,
60
+ DialogCloseButton
61
+ );
62
+ const props = animation !== "none" ? getModalContentProps(animation, duration) : {};
63
+ const css = {
64
+ position: "relative",
65
+ maxH: "100%",
66
+ display: "flex",
67
+ flexDirection: "column",
68
+ overflow: scrollBehavior === "inside" ? "hidden" : "auto",
69
+ outline: 0,
70
+ ...__css ? __css : styles.container
71
+ };
72
+ return /* @__PURE__ */ jsxs(
73
+ motion.section,
74
+ {
75
+ role: "dialog",
76
+ "aria-modal": "true",
77
+ ref,
78
+ className: cx("ui-modal", className),
79
+ tabIndex: -1,
80
+ __css: css,
81
+ ...props,
82
+ ...rest,
83
+ children: [
84
+ customModalCloseButton != null ? customModalCloseButton : withCloseButton && onClose ? /* @__PURE__ */ jsx(ModalCloseButton, {}) : null,
85
+ cloneChildren
86
+ ]
87
+ }
88
+ );
89
+ }
90
+ );
91
+
92
+ export {
93
+ ModalContent
94
+ };
95
+ //# sourceMappingURL=chunk-I6LPF3F6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modal-content.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport type { MotionProps, MotionTransitionProps } from \"@yamada-ui/motion\"\nimport { motion, motionForwardRef } from \"@yamada-ui/motion\"\nimport { scaleFadeProps, slideFadeProps } from \"@yamada-ui/transitions\"\nimport { cx, getValidChildren, findChildren } from \"@yamada-ui/utils\"\nimport type { PropsWithChildren } from \"react\"\nimport { DialogCloseButton } from \"./dialog-close-button\"\nimport type { ModalProps } from \"./modal\"\nimport { ModalCloseButton } from \"./modal-close-button\"\nimport { useModal } from \"./modal-context\"\n\nconst getModalContentProps = (\n animation: ModalProps[\"animation\"] = \"scale\",\n duration?: MotionTransitionProps[\"duration\"],\n) => {\n switch (animation) {\n case \"scale\":\n return {\n ...scaleFadeProps,\n custom: { scale: 0.95, reverse: true, duration },\n }\n case \"top\":\n return {\n ...slideFadeProps,\n custom: { offsetY: -16, reverse: true, duration },\n }\n case \"right\":\n return {\n ...slideFadeProps,\n custom: { offsetX: 16, reverse: true, duration },\n }\n case \"left\":\n return {\n ...slideFadeProps,\n custom: { offsetX: -16, reverse: true, duration },\n }\n case \"bottom\":\n return {\n ...slideFadeProps,\n custom: { offsetY: 16, reverse: true, duration },\n }\n }\n}\n\nexport interface ModalContentProps\n extends Omit<\n MotionProps<\"section\">,\n \"transition\" | \"scrollBehavior\" | \"animation\" | \"children\"\n >,\n PropsWithChildren {}\n\nexport const ModalContent = motionForwardRef<ModalContentProps, \"section\">(\n ({ className, children, __css, ...rest }, ref) => {\n const {\n styles,\n scrollBehavior,\n withCloseButton,\n onClose,\n animation,\n duration,\n } = useModal()\n\n const validChildren = getValidChildren(children)\n\n const [customModalCloseButton, ...cloneChildren] = findChildren(\n validChildren,\n ModalCloseButton,\n DialogCloseButton,\n )\n\n const props =\n animation !== \"none\" ? getModalContentProps(animation, duration) : {}\n\n const css: CSSUIObject = {\n position: \"relative\",\n maxH: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: scrollBehavior === \"inside\" ? \"hidden\" : \"auto\",\n outline: 0,\n ...(__css ? __css : styles.container),\n }\n\n return (\n <motion.section\n role=\"dialog\"\n aria-modal=\"true\"\n ref={ref}\n className={cx(\"ui-modal\", className)}\n tabIndex={-1}\n __css={css}\n {...props}\n {...rest}\n >\n {customModalCloseButton ??\n (withCloseButton && onClose ? <ModalCloseButton /> : null)}\n\n {cloneChildren}\n </motion.section>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;AAEA,SAAS,QAAQ,wBAAwB;AACzC,SAAS,gBAAgB,sBAAsB;AAC/C,SAAS,IAAI,kBAAkB,oBAAoB;AAgF7C,SAWkC,KAXlC;AAzEN,IAAM,uBAAuB,CAC3B,YAAqC,SACrC,aACG;AACH,UAAQ,WAAW;AAAA,IACjB,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ,EAAE,OAAO,MAAM,SAAS,MAAM,SAAS;AAAA,MACjD;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ,EAAE,SAAS,KAAK,SAAS,MAAM,SAAS;AAAA,MAClD;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ,EAAE,SAAS,IAAI,SAAS,MAAM,SAAS;AAAA,MACjD;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ,EAAE,SAAS,KAAK,SAAS,MAAM,SAAS;AAAA,MAClD;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH,QAAQ,EAAE,SAAS,IAAI,SAAS,MAAM,SAAS;AAAA,MACjD;AAAA,EACJ;AACF;AASO,IAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,WAAW,UAAU,OAAO,GAAG,KAAK,GAAG,QAAQ;AAChD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,SAAS;AAEb,UAAM,gBAAgB,iBAAiB,QAAQ;AAE/C,UAAM,CAAC,wBAAwB,GAAG,aAAa,IAAI;AAAA,MACjD;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,QACJ,cAAc,SAAS,qBAAqB,WAAW,QAAQ,IAAI,CAAC;AAEtE,UAAM,MAAmB;AAAA,MACvB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,MACT,eAAe;AAAA,MACf,UAAU,mBAAmB,WAAW,WAAW;AAAA,MACnD,SAAS;AAAA,MACT,GAAI,QAAQ,QAAQ,OAAO;AAAA,IAC7B;AAEA,WACE;AAAA,MAAC,OAAO;AAAA,MAAP;AAAA,QACC,MAAK;AAAA,QACL,cAAW;AAAA,QACX;AAAA,QACA,WAAW,GAAG,YAAY,SAAS;AAAA,QACnC,UAAU;AAAA,QACV,OAAO;AAAA,QACN,GAAG;AAAA,QACH,GAAG;AAAA,QAEH;AAAA,oEACE,mBAAmB,UAAU,oBAAC,oBAAiB,IAAK;AAAA,UAEtD;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;","names":[]}
@@ -0,0 +1,32 @@
1
+ "use client"
2
+ import {
3
+ ModalOverlay
4
+ } from "./chunk-4G6PCQ4G.mjs";
5
+ import {
6
+ useDialog
7
+ } from "./chunk-4J4ISPN7.mjs";
8
+
9
+ // src/dialog-overlay.tsx
10
+ import { motionForwardRef } from "@yamada-ui/motion";
11
+ import { cx } from "@yamada-ui/utils";
12
+ import { jsx } from "react/jsx-runtime";
13
+ var DialogOverlay = motionForwardRef(
14
+ ({ className, ...rest }, ref) => {
15
+ const styles = useDialog();
16
+ const css = { ...styles.overlay };
17
+ return /* @__PURE__ */ jsx(
18
+ ModalOverlay,
19
+ {
20
+ ref,
21
+ className: cx("ui-dialog__overlay", className),
22
+ __css: css,
23
+ ...rest
24
+ }
25
+ );
26
+ }
27
+ );
28
+
29
+ export {
30
+ DialogOverlay
31
+ };
32
+ //# sourceMappingURL=chunk-OFDDT2JT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dialog-overlay.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { motionForwardRef } from \"@yamada-ui/motion\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useDialog } from \"./modal-context\"\nimport { ModalOverlay } from \"./modal-overlay\"\nimport type { ModalOverlayProps } from \"./modal-overlay\"\n\nexport interface DialogOverlayProps extends ModalOverlayProps {}\n\nexport const DialogOverlay = motionForwardRef<DialogOverlayProps, \"div\">(\n ({ className, ...rest }, ref) => {\n const styles = useDialog()\n\n const css: CSSUIObject = { ...styles.overlay }\n\n return (\n <ModalOverlay\n ref={ref}\n className={cx(\"ui-dialog__overlay\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,wBAAwB;AACjC,SAAS,UAAU;AAcb;AAPC,IAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,QAAQ;AAE7C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,sBAAsB,SAAS;AAAA,QAC7C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
@@ -0,0 +1,32 @@
1
+ "use client"
2
+ import {
3
+ ModalBody
4
+ } from "./chunk-2EF6C34T.mjs";
5
+ import {
6
+ useDialog
7
+ } from "./chunk-4J4ISPN7.mjs";
8
+
9
+ // src/dialog-body.tsx
10
+ import { forwardRef } from "@yamada-ui/core";
11
+ import { cx } from "@yamada-ui/utils";
12
+ import { jsx } from "react/jsx-runtime";
13
+ var DialogBody = forwardRef(
14
+ ({ className, ...rest }, ref) => {
15
+ const styles = useDialog();
16
+ const css = { ...styles.body };
17
+ return /* @__PURE__ */ jsx(
18
+ ModalBody,
19
+ {
20
+ ref,
21
+ className: cx("ui-dialog__body", className),
22
+ __css: css,
23
+ ...rest
24
+ }
25
+ );
26
+ }
27
+ );
28
+
29
+ export {
30
+ DialogBody
31
+ };
32
+ //# sourceMappingURL=chunk-RSAJUBWR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dialog-body.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport type { ModalBodyProps } from \"./modal-body\"\nimport { ModalBody } from \"./modal-body\"\nimport { useDialog } from \"./modal-context\"\n\nexport interface DialogBodyProps extends ModalBodyProps {}\n\nexport const DialogBody = forwardRef<DialogBodyProps, \"main\">(\n ({ className, ...rest }, ref) => {\n const styles = useDialog()\n\n const css: CSSUIObject = { ...styles.body }\n\n return (\n <ModalBody\n ref={ref}\n className={cx(\"ui-dialog__body\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,UAAU;AAcb;AAPC,IAAM,aAAa;AAAA,EACxB,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,KAAK;AAE1C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,mBAAmB,SAAS;AAAA,QAC1C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
@@ -0,0 +1,29 @@
1
+ "use client"
2
+ import {
3
+ useDrawer
4
+ } from "./chunk-4J4ISPN7.mjs";
5
+
6
+ // src/drawer-drag-bar.tsx
7
+ import { forwardRef, ui } from "@yamada-ui/core";
8
+ import { cx } from "@yamada-ui/utils";
9
+ import { jsx } from "react/jsx-runtime";
10
+ var DrawerDragBar = forwardRef(
11
+ ({ className, __css, ...rest }, ref) => {
12
+ const styles = useDrawer();
13
+ const css = { ...styles.dragBar };
14
+ return /* @__PURE__ */ jsx(
15
+ ui.div,
16
+ {
17
+ ref,
18
+ className: cx("ui-drawer__drag-bar", className),
19
+ __css: css,
20
+ ...rest
21
+ }
22
+ );
23
+ }
24
+ );
25
+
26
+ export {
27
+ DrawerDragBar
28
+ };
29
+ //# sourceMappingURL=chunk-WEDZHILB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drawer-drag-bar.tsx"],"sourcesContent":["import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef, ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useDrawer } from \"./modal-context\"\n\nexport interface DrawerDragBarProps extends HTMLUIProps {}\n\nexport const DrawerDragBar = forwardRef<DrawerDragBarProps, \"div\">(\n ({ className, __css, ...rest }, ref) => {\n const styles = useDrawer()\n\n const css: CSSUIObject = { ...styles.dragBar }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-drawer__drag-bar\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;AACA,SAAS,YAAY,UAAU;AAC/B,SAAS,UAAU;AAYb;AAPC,IAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,WAAW,OAAO,GAAG,KAAK,GAAG,QAAQ;AACtC,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,QAAQ;AAE7C,WACE;AAAA,MAAC,GAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,WAAW,GAAG,uBAAuB,SAAS;AAAA,QAC9C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}
@@ -0,0 +1,138 @@
1
+ "use client"
2
+ import {
3
+ Modal
4
+ } from "./chunk-2UHL64SV.mjs";
5
+ import {
6
+ DialogBody
7
+ } from "./chunk-RSAJUBWR.mjs";
8
+ import {
9
+ DialogCloseButton
10
+ } from "./chunk-3S4JQQU3.mjs";
11
+ import {
12
+ DialogFooter
13
+ } from "./chunk-2GGZOTUT.mjs";
14
+ import {
15
+ DialogHeader
16
+ } from "./chunk-3CPIBNSS.mjs";
17
+ import {
18
+ DialogOverlay
19
+ } from "./chunk-OFDDT2JT.mjs";
20
+ import {
21
+ DialogProvider
22
+ } from "./chunk-4J4ISPN7.mjs";
23
+
24
+ // src/dialog.tsx
25
+ import { Button } from "@yamada-ui/button";
26
+ import { useComponentMultiStyle, omitThemeProps } from "@yamada-ui/core";
27
+ import { motionForwardRef } from "@yamada-ui/motion";
28
+ import {
29
+ getValidChildren,
30
+ findChildren,
31
+ omitChildren,
32
+ isValidElement,
33
+ isEmpty,
34
+ cx
35
+ } from "@yamada-ui/utils";
36
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
37
+ var Dialog = motionForwardRef(
38
+ ({ size, ...props }, ref) => {
39
+ const [styles, mergedProps] = useComponentMultiStyle("Dialog", {
40
+ size,
41
+ ...props
42
+ });
43
+ const {
44
+ className,
45
+ children,
46
+ withOverlay = true,
47
+ withCloseButton = true,
48
+ header,
49
+ footer,
50
+ cancel,
51
+ other,
52
+ success,
53
+ onClose,
54
+ onCancel,
55
+ onOther,
56
+ onSuccess,
57
+ containerProps,
58
+ ...rest
59
+ } = omitThemeProps(mergedProps);
60
+ const validChildren = getValidChildren(children);
61
+ const [customDialogOverlay] = findChildren(validChildren, DialogOverlay);
62
+ const [customDialogCloseButton] = findChildren(
63
+ validChildren,
64
+ DialogCloseButton
65
+ );
66
+ const [customDialogHeader] = findChildren(validChildren, DialogHeader);
67
+ const [customDialogBody] = findChildren(validChildren, DialogBody);
68
+ const [customDialogFooter] = findChildren(validChildren, DialogFooter);
69
+ const cloneChildren = !isEmpty(validChildren) ? omitChildren(
70
+ validChildren,
71
+ DialogOverlay,
72
+ DialogCloseButton,
73
+ DialogHeader,
74
+ DialogBody,
75
+ DialogFooter
76
+ ) : children;
77
+ const css = { ...styles.container };
78
+ const cancelButtonProps = isValidElement(cancel) ? { children: cancel } : cancel;
79
+ const otherButtonProps = isValidElement(other) ? { children: other } : other;
80
+ const successButtonProps = isValidElement(success) ? { children: success } : success;
81
+ if (cancelButtonProps && !cancelButtonProps.variant)
82
+ cancelButtonProps.variant = "ghost";
83
+ if (otherButtonProps && !otherButtonProps.colorScheme)
84
+ otherButtonProps.colorScheme = "secondary";
85
+ if (successButtonProps && !successButtonProps.colorScheme)
86
+ successButtonProps.colorScheme = "primary";
87
+ return /* @__PURE__ */ jsx(DialogProvider, { value: styles, children: /* @__PURE__ */ jsxs(
88
+ Modal,
89
+ {
90
+ ref,
91
+ className: cx("ui-dialog", className),
92
+ __css: css,
93
+ ...{
94
+ onClose,
95
+ withOverlay: false,
96
+ withCloseButton: false,
97
+ containerProps,
98
+ ...rest,
99
+ size
100
+ },
101
+ children: [
102
+ customDialogOverlay != null ? customDialogOverlay : withOverlay && size !== "full" ? /* @__PURE__ */ jsx(DialogOverlay, {}) : null,
103
+ customDialogCloseButton != null ? customDialogCloseButton : withCloseButton && onClose ? /* @__PURE__ */ jsx(DialogCloseButton, {}) : null,
104
+ customDialogHeader != null ? customDialogHeader : header ? /* @__PURE__ */ jsx(DialogHeader, { children: header }) : null,
105
+ customDialogBody != null ? customDialogBody : cloneChildren ? /* @__PURE__ */ jsx(DialogBody, { children: cloneChildren }) : null,
106
+ customDialogFooter != null ? customDialogFooter : footer || cancelButtonProps || otherButtonProps || successButtonProps ? /* @__PURE__ */ jsx(DialogFooter, { children: footer != null ? footer : /* @__PURE__ */ jsxs(Fragment, { children: [
107
+ cancelButtonProps ? /* @__PURE__ */ jsx(
108
+ Button,
109
+ {
110
+ onClick: () => onCancel == null ? void 0 : onCancel(onClose),
111
+ ...cancelButtonProps
112
+ }
113
+ ) : null,
114
+ otherButtonProps ? /* @__PURE__ */ jsx(
115
+ Button,
116
+ {
117
+ onClick: () => onOther == null ? void 0 : onOther(onClose),
118
+ ...otherButtonProps
119
+ }
120
+ ) : null,
121
+ successButtonProps ? /* @__PURE__ */ jsx(
122
+ Button,
123
+ {
124
+ onClick: () => onSuccess == null ? void 0 : onSuccess(onClose),
125
+ ...successButtonProps
126
+ }
127
+ ) : null
128
+ ] }) }) : null
129
+ ]
130
+ }
131
+ ) });
132
+ }
133
+ );
134
+
135
+ export {
136
+ Dialog
137
+ };
138
+ //# sourceMappingURL=chunk-Y2QXIJZA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dialog.tsx"],"sourcesContent":["import type { ButtonProps } from \"@yamada-ui/button\"\nimport { Button } from \"@yamada-ui/button\"\nimport type { CSSUIObject, ThemeProps } from \"@yamada-ui/core\"\nimport { useComponentMultiStyle, omitThemeProps } from \"@yamada-ui/core\"\nimport { motionForwardRef } from \"@yamada-ui/motion\"\nimport {\n getValidChildren,\n findChildren,\n omitChildren,\n isValidElement,\n isEmpty,\n cx,\n} from \"@yamada-ui/utils\"\nimport type { ReactNode } from \"react\"\nimport { DialogBody } from \"./dialog-body\"\nimport { DialogCloseButton } from \"./dialog-close-button\"\nimport { DialogFooter } from \"./dialog-footer\"\nimport { DialogHeader } from \"./dialog-header\"\nimport { DialogOverlay } from \"./dialog-overlay\"\nimport type { ModalProps } from \"./modal\"\nimport { Modal } from \"./modal\"\nimport { DialogProvider } from \"./modal-context\"\n\ninterface DialogOptions {\n /**\n * The dialog header to use.\n */\n header?: ReactNode\n /**\n * The dialog footer to use.\n */\n footer?: ReactNode\n /**\n * The dialog cancel to use.\n */\n cancel?: ReactNode | ButtonProps\n /**\n * The dialog other to use.\n */\n other?: ReactNode | ButtonProps\n /**\n * The dialog success to use.\n */\n success?: ReactNode | ButtonProps\n /**\n * The callback invoked when cancel button clicked.\n */\n onCancel?: (onClose: (() => void) | undefined) => void\n /**\n * The callback invoked when other button clicked.\n */\n onOther?: (onClose: (() => void) | undefined) => void\n /**\n * The callback invoked when success button clicked.\n */\n onSuccess?: (onClose: (() => void) | undefined) => void\n}\n\nexport interface DialogProps\n extends Omit<ModalProps, keyof ThemeProps>,\n ThemeProps<\"Dialog\">,\n DialogOptions {}\n\n/**\n * `Dialog` is a component used to confirm or interrupt user actions.\n *\n * @see Docs https://yamada-ui.com/components/overlay/dialog\n */\nexport const Dialog = motionForwardRef<DialogProps, \"section\">(\n ({ size, ...props }, ref) => {\n const [styles, mergedProps] = useComponentMultiStyle(\"Dialog\", {\n size,\n ...props,\n })\n const {\n className,\n children,\n withOverlay = true,\n withCloseButton = true,\n header,\n footer,\n cancel,\n other,\n success,\n onClose,\n onCancel,\n onOther,\n onSuccess,\n containerProps,\n ...rest\n } = omitThemeProps(mergedProps)\n\n const validChildren = getValidChildren(children)\n\n const [customDialogOverlay] = findChildren(validChildren, DialogOverlay)\n const [customDialogCloseButton] = findChildren(\n validChildren,\n DialogCloseButton,\n )\n const [customDialogHeader] = findChildren(validChildren, DialogHeader)\n const [customDialogBody] = findChildren(validChildren, DialogBody)\n const [customDialogFooter] = findChildren(validChildren, DialogFooter)\n\n const cloneChildren = !isEmpty(validChildren)\n ? omitChildren(\n validChildren,\n DialogOverlay,\n DialogCloseButton,\n DialogHeader,\n DialogBody,\n DialogFooter,\n )\n : children\n\n const css: CSSUIObject = { ...styles.container }\n\n const cancelButtonProps: ButtonProps = isValidElement(cancel)\n ? { children: cancel }\n : cancel\n const otherButtonProps: ButtonProps = isValidElement(other)\n ? { children: other }\n : other\n const successButtonProps: ButtonProps = isValidElement(success)\n ? { children: success }\n : success\n\n if (cancelButtonProps && !cancelButtonProps.variant)\n cancelButtonProps.variant = \"ghost\"\n if (otherButtonProps && !otherButtonProps.colorScheme)\n otherButtonProps.colorScheme = \"secondary\"\n if (successButtonProps && !successButtonProps.colorScheme)\n successButtonProps.colorScheme = \"primary\"\n\n return (\n <DialogProvider value={styles}>\n <Modal\n ref={ref}\n className={cx(\"ui-dialog\", className)}\n __css={css}\n {...{\n onClose,\n withOverlay: false,\n withCloseButton: false,\n containerProps,\n ...rest,\n size,\n }}\n >\n {customDialogOverlay ??\n (withOverlay && size !== \"full\" ? <DialogOverlay /> : null)}\n {customDialogCloseButton ??\n (withCloseButton && onClose ? <DialogCloseButton /> : null)}\n {customDialogHeader ??\n (header ? <DialogHeader>{header}</DialogHeader> : null)}\n {customDialogBody ??\n (cloneChildren ? <DialogBody>{cloneChildren}</DialogBody> : null)}\n {customDialogFooter ??\n (footer ||\n cancelButtonProps ||\n otherButtonProps ||\n successButtonProps ? (\n <DialogFooter>\n {footer ?? (\n <>\n {cancelButtonProps ? (\n <Button\n onClick={() => onCancel?.(onClose)}\n {...cancelButtonProps}\n />\n ) : null}\n {otherButtonProps ? (\n <Button\n onClick={() => onOther?.(onClose)}\n {...otherButtonProps}\n />\n ) : null}\n {successButtonProps ? (\n <Button\n onClick={() => onSuccess?.(onClose)}\n {...successButtonProps}\n />\n ) : null}\n </>\n )}\n </DialogFooter>\n ) : null)}\n </Modal>\n </DialogProvider>\n )\n },\n)\n"],"mappings":"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","names":[]}
@@ -0,0 +1,32 @@
1
+ "use client"
2
+ import {
3
+ ModalOverlay
4
+ } from "./chunk-4G6PCQ4G.mjs";
5
+ import {
6
+ useDrawer
7
+ } from "./chunk-4J4ISPN7.mjs";
8
+
9
+ // src/drawer-overlay.tsx
10
+ import { motionForwardRef } from "@yamada-ui/motion";
11
+ import { cx } from "@yamada-ui/utils";
12
+ import { jsx } from "react/jsx-runtime";
13
+ var DrawerOverlay = motionForwardRef(
14
+ ({ className, ...rest }, ref) => {
15
+ const styles = useDrawer();
16
+ const css = { ...styles.overlay };
17
+ return /* @__PURE__ */ jsx(
18
+ ModalOverlay,
19
+ {
20
+ ref,
21
+ className: cx("ui-drawer__overlay", className),
22
+ __css: css,
23
+ ...rest
24
+ }
25
+ );
26
+ }
27
+ );
28
+
29
+ export {
30
+ DrawerOverlay
31
+ };
32
+ //# sourceMappingURL=chunk-Y5NCRCDU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drawer-overlay.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport { motionForwardRef } from \"@yamada-ui/motion\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useDrawer } from \"./modal-context\"\nimport type { ModalOverlayProps } from \"./modal-overlay\"\nimport { ModalOverlay } from \"./modal-overlay\"\n\nexport interface DrawerOverlayProps extends ModalOverlayProps {}\n\nexport const DrawerOverlay = motionForwardRef<DrawerOverlayProps, \"div\">(\n ({ className, ...rest }, ref) => {\n const styles = useDrawer()\n\n const css: CSSUIObject = { ...styles.overlay }\n\n return (\n <ModalOverlay\n ref={ref}\n className={cx(\"ui-drawer__overlay\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n"],"mappings":";;;;;;;;;AACA,SAAS,wBAAwB;AACjC,SAAS,UAAU;AAcb;AAPC,IAAM,gBAAgB;AAAA,EAC3B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,SAAS,UAAU;AAEzB,UAAM,MAAmB,EAAE,GAAG,OAAO,QAAQ;AAE7C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,sBAAsB,SAAS;AAAA,QAC7C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":[]}