@zentauri-ui/zentauri-components 0.0.91 → 0.0.93
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/README.md +36 -4
- package/dist/chunk-BZSIXBA7.js +70 -0
- package/dist/chunk-BZSIXBA7.js.map +1 -0
- package/dist/chunk-E5UX537J.js +11 -0
- package/dist/chunk-E5UX537J.js.map +1 -0
- package/dist/chunk-MEWYFWBX.mjs +14 -0
- package/dist/chunk-MEWYFWBX.mjs.map +1 -0
- package/dist/chunk-VJHD7QZH.mjs +73 -0
- package/dist/chunk-VJHD7QZH.mjs.map +1 -0
- package/dist/ui/accordion.js +51 -57
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/{accordion.cjs → accordion.mjs} +38 -67
- package/dist/ui/accordion.mjs.map +1 -0
- package/dist/ui/{alert.d.cts → alert.d.mts} +1 -1
- package/dist/ui/alert.d.ts +1 -1
- package/dist/ui/alert.js +40 -46
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/{alert.cjs → alert.mjs} +29 -66
- package/dist/ui/alert.mjs.map +1 -0
- package/dist/ui/{badge.d.cts → badge.d.mts} +1 -1
- package/dist/ui/badge.d.ts +1 -1
- package/dist/ui/badge.js +20 -26
- package/dist/ui/badge.js.map +1 -1
- package/dist/ui/{badge.cjs → badge.mjs} +17 -48
- package/dist/ui/badge.mjs.map +1 -0
- package/dist/ui/{buttons.d.cts → buttons.d.mts} +1 -1
- package/dist/ui/buttons.d.ts +1 -1
- package/dist/ui/buttons.js +18 -87
- package/dist/ui/buttons.js.map +1 -1
- package/dist/ui/buttons.mjs +109 -0
- package/dist/ui/buttons.mjs.map +1 -0
- package/dist/ui/{card.d.cts → card.d.mts} +1 -1
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/card.js +40 -46
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/{card.cjs → card.mjs} +26 -65
- package/dist/ui/card.mjs.map +1 -0
- package/dist/ui/{divider.d.cts → divider.d.mts} +2 -2
- package/dist/ui/divider.d.ts +2 -2
- package/dist/ui/divider.js +30 -36
- package/dist/ui/divider.js.map +1 -1
- package/dist/ui/{divider.cjs → divider.mjs} +22 -55
- package/dist/ui/divider.mjs.map +1 -0
- package/dist/ui/{drawer.d.cts → drawer.d.mts} +3 -3
- package/dist/ui/drawer.d.ts +3 -3
- package/dist/ui/drawer.js +64 -70
- package/dist/ui/drawer.js.map +1 -1
- package/dist/ui/{drawer.cjs → drawer.mjs} +48 -77
- package/dist/ui/drawer.mjs.map +1 -0
- package/dist/ui/{dropdown.d.cts → dropdown.d.mts} +4 -4
- package/dist/ui/dropdown.d.ts +4 -4
- package/dist/ui/dropdown.js +43 -49
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/{dropdown.cjs → dropdown.mjs} +34 -62
- package/dist/ui/dropdown.mjs.map +1 -0
- package/dist/ui/{empty-state.d.cts → empty-state.d.mts} +1 -1
- package/dist/ui/empty-state.d.ts +1 -1
- package/dist/ui/empty-state.js +31 -37
- package/dist/ui/empty-state.js.map +1 -1
- package/dist/ui/empty-state.mjs +150 -0
- package/dist/ui/empty-state.mjs.map +1 -0
- package/dist/ui/{inputs.d.cts → inputs.d.mts} +2 -2
- package/dist/ui/inputs.d.ts +2 -2
- package/dist/ui/inputs.js +26 -32
- package/dist/ui/inputs.js.map +1 -1
- package/dist/ui/{inputs.cjs → inputs.mjs} +21 -51
- package/dist/ui/inputs.mjs.map +1 -0
- package/dist/ui/{modal.d.cts → modal.d.mts} +3 -3
- package/dist/ui/modal.d.ts +3 -3
- package/dist/ui/modal.js +69 -75
- package/dist/ui/modal.js.map +1 -1
- package/dist/ui/{modal.cjs → modal.mjs} +53 -79
- package/dist/ui/modal.mjs.map +1 -0
- package/dist/ui/{pagination.d.cts → pagination.d.mts} +3 -3
- package/dist/ui/pagination.d.ts +3 -3
- package/dist/ui/pagination.js +48 -117
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/{pagination.cjs → pagination.mjs} +35 -131
- package/dist/ui/pagination.mjs.map +1 -0
- package/dist/ui/{progress.d.cts → progress.d.mts} +5 -5
- package/dist/ui/progress.d.ts +5 -5
- package/dist/ui/progress.js +37 -43
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/{progress.cjs → progress.mjs} +25 -60
- package/dist/ui/progress.mjs.map +1 -0
- package/dist/ui/{select.d.cts → select.d.mts} +4 -4
- package/dist/ui/select.d.ts +4 -4
- package/dist/ui/select.js +43 -49
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/{select.cjs → select.mjs} +31 -68
- package/dist/ui/select.mjs.map +1 -0
- package/dist/ui/{skeleton.d.cts → skeleton.d.mts} +3 -3
- package/dist/ui/skeleton.d.ts +3 -3
- package/dist/ui/skeleton.js +45 -51
- package/dist/ui/skeleton.js.map +1 -1
- package/dist/ui/{skeleton.cjs → skeleton.mjs} +31 -67
- package/dist/ui/skeleton.mjs.map +1 -0
- package/dist/ui/{spinner.d.cts → spinner.d.mts} +3 -3
- package/dist/ui/spinner.d.ts +3 -3
- package/dist/ui/spinner.js +34 -40
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/{spinner.cjs → spinner.mjs} +27 -57
- package/dist/ui/spinner.mjs.map +1 -0
- package/dist/ui/{table.d.cts → table.d.mts} +4 -4
- package/dist/ui/table.d.ts +4 -4
- package/dist/ui/table.js +43 -49
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/{table.cjs → table.mjs} +26 -65
- package/dist/ui/table.mjs.map +1 -0
- package/dist/ui/{tabs.d.cts → tabs.d.mts} +1 -1
- package/dist/ui/tabs.d.ts +1 -1
- package/dist/ui/tabs.js +41 -47
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/{tabs.cjs → tabs.mjs} +29 -59
- package/dist/ui/tabs.mjs.map +1 -0
- package/dist/ui/{toast.d.cts → toast.d.mts} +1 -1
- package/dist/ui/toast.d.ts +1 -1
- package/dist/ui/toast.js +57 -63
- package/dist/ui/toast.js.map +1 -1
- package/dist/ui/{toast.cjs → toast.mjs} +43 -74
- package/dist/ui/toast.mjs.map +1 -0
- package/dist/ui/{toggle.d.cts → toggle.d.mts} +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toggle.js +23 -29
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/{toggle.cjs → toggle.mjs} +19 -50
- package/dist/ui/toggle.mjs.map +1 -0
- package/dist/ui/{tooltip.d.cts → tooltip.d.mts} +2 -2
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.js +29 -35
- package/dist/ui/tooltip.js.map +1 -1
- package/dist/ui/{tooltip.cjs → tooltip.mjs} +26 -58
- package/dist/ui/tooltip.mjs.map +1 -0
- package/dist/variants-Dd9pe-ov.d.mts +8 -0
- package/dist/variants-Dd9pe-ov.d.ts +8 -0
- package/package.json +10 -15
- package/dist/ui/accordion.cjs.map +0 -1
- package/dist/ui/alert.cjs.map +0 -1
- package/dist/ui/badge.cjs.map +0 -1
- package/dist/ui/buttons.cjs +0 -202
- package/dist/ui/buttons.cjs.map +0 -1
- package/dist/ui/card.cjs.map +0 -1
- package/dist/ui/divider.cjs.map +0 -1
- package/dist/ui/drawer.cjs.map +0 -1
- package/dist/ui/dropdown.cjs.map +0 -1
- package/dist/ui/empty-state.cjs +0 -186
- package/dist/ui/empty-state.cjs.map +0 -1
- package/dist/ui/index.cjs +0 -5764
- package/dist/ui/index.cjs.map +0 -1
- package/dist/ui/index.d.cts +0 -27
- package/dist/ui/index.d.ts +0 -27
- package/dist/ui/index.js +0 -5626
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/inputs.cjs.map +0 -1
- package/dist/ui/modal.cjs.map +0 -1
- package/dist/ui/pagination.cjs.map +0 -1
- package/dist/ui/progress.cjs.map +0 -1
- package/dist/ui/select.cjs.map +0 -1
- package/dist/ui/skeleton.cjs.map +0 -1
- package/dist/ui/spinner.cjs.map +0 -1
- package/dist/ui/table.cjs.map +0 -1
- package/dist/ui/tabs.cjs.map +0 -1
- package/dist/ui/toast.cjs.map +0 -1
- package/dist/ui/toggle.cjs.map +0 -1
- package/dist/ui/tooltip.cjs.map +0 -1
- package/dist/variants-1Bx3BEeS.d.cts +0 -8
- package/dist/variants-1Bx3BEeS.d.ts +0 -8
- /package/dist/ui/{accordion.d.cts → accordion.d.mts} +0 -0
package/dist/ui/modal.js
CHANGED
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
"use
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
+
var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
|
|
3
4
|
|
|
4
5
|
// src/ui/modal/modal.tsx
|
|
5
|
-
import {
|
|
6
|
-
AnimatePresence,
|
|
7
|
-
motion,
|
|
8
|
-
useReducedMotion
|
|
9
|
-
} from "framer-motion";
|
|
10
|
-
import {
|
|
11
|
-
createContext,
|
|
12
|
-
useCallback,
|
|
13
|
-
useContext,
|
|
14
|
-
useEffect,
|
|
15
|
-
useId,
|
|
16
|
-
useMemo,
|
|
17
|
-
useRef,
|
|
18
|
-
useState
|
|
19
|
-
} from "react";
|
|
20
|
-
import { createPortal } from "react-dom";
|
|
21
6
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var _framermotion = require('framer-motion');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
var _react = require('react');
|
|
21
|
+
var _reactdom = require('react-dom');
|
|
28
22
|
|
|
29
23
|
// src/ui/modal/animations.ts
|
|
30
24
|
var modalOverlayAnimationPresets = {
|
|
@@ -56,11 +50,11 @@ var modalOverlayAnimationPresets = {
|
|
|
56
50
|
};
|
|
57
51
|
|
|
58
52
|
// src/ui/modal/variants.ts
|
|
59
|
-
|
|
60
|
-
var modalOverlayVariants = cva(
|
|
53
|
+
var _classvarianceauthority = require('class-variance-authority');
|
|
54
|
+
var modalOverlayVariants = _classvarianceauthority.cva.call(void 0,
|
|
61
55
|
"fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm data-[state=open]:animate-in"
|
|
62
56
|
);
|
|
63
|
-
var modalTriggerVariants = cva(
|
|
57
|
+
var modalTriggerVariants = _classvarianceauthority.cva.call(void 0,
|
|
64
58
|
"relative inline-flex shrink-0 cursor-pointer rounded-md border",
|
|
65
59
|
{
|
|
66
60
|
variants: {
|
|
@@ -95,7 +89,7 @@ var modalTriggerVariants = cva(
|
|
|
95
89
|
}
|
|
96
90
|
}
|
|
97
91
|
);
|
|
98
|
-
var modalContentVariants = cva(
|
|
92
|
+
var modalContentVariants = _classvarianceauthority.cva.call(void 0,
|
|
99
93
|
"fixed left-1/2 z-50 w-[calc(100%-2rem)] max-h-[min(90vh,720px)] translate-x-[-50%] overflow-y-auto border border-white/10 bg-slate-950 p-6 text-slate-50 shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none",
|
|
100
94
|
{
|
|
101
95
|
variants: {
|
|
@@ -146,10 +140,10 @@ var modalContentVariants = cva(
|
|
|
146
140
|
);
|
|
147
141
|
|
|
148
142
|
// src/ui/modal/modal.tsx
|
|
149
|
-
|
|
150
|
-
var ModalContext = createContext(null);
|
|
143
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
144
|
+
var ModalContext = _react.createContext.call(void 0, null);
|
|
151
145
|
function useModalContext(component) {
|
|
152
|
-
const ctx = useContext(ModalContext);
|
|
146
|
+
const ctx = _react.useContext.call(void 0, ModalContext);
|
|
153
147
|
if (!ctx) {
|
|
154
148
|
throw new Error(`${component} must be used within <Modal>`);
|
|
155
149
|
}
|
|
@@ -157,7 +151,7 @@ function useModalContext(component) {
|
|
|
157
151
|
}
|
|
158
152
|
var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])';
|
|
159
153
|
function useBodyScrollLock(locked) {
|
|
160
|
-
useEffect(() => {
|
|
154
|
+
_react.useEffect.call(void 0, () => {
|
|
161
155
|
if (!locked) {
|
|
162
156
|
return;
|
|
163
157
|
}
|
|
@@ -170,22 +164,22 @@ function useBodyScrollLock(locked) {
|
|
|
170
164
|
}
|
|
171
165
|
function Modal({ open, defaultOpen = false, onOpenChange, children }) {
|
|
172
166
|
const isControlled = open !== void 0;
|
|
173
|
-
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
167
|
+
const [uncontrolledOpen, setUncontrolledOpen] = _react.useState.call(void 0, defaultOpen);
|
|
174
168
|
const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;
|
|
175
|
-
const setOpen = useCallback(
|
|
169
|
+
const setOpen = _react.useCallback.call(void 0,
|
|
176
170
|
(next) => {
|
|
177
171
|
if (!isControlled) {
|
|
178
172
|
setUncontrolledOpen(next);
|
|
179
173
|
}
|
|
180
|
-
onOpenChange
|
|
174
|
+
_optionalChain([onOpenChange, 'optionalCall', _ => _(next)]);
|
|
181
175
|
},
|
|
182
176
|
[isControlled, onOpenChange]
|
|
183
177
|
);
|
|
184
|
-
const baseId = useId();
|
|
178
|
+
const baseId = _react.useId.call(void 0, );
|
|
185
179
|
const titleId = `${baseId}-title`;
|
|
186
180
|
const descriptionId = `${baseId}-description`;
|
|
187
|
-
const contentRef = useRef(null);
|
|
188
|
-
const ctx = useMemo(
|
|
181
|
+
const contentRef = _react.useRef.call(void 0, null);
|
|
182
|
+
const ctx = _react.useMemo.call(void 0,
|
|
189
183
|
() => ({
|
|
190
184
|
open: resolvedOpen,
|
|
191
185
|
setOpen,
|
|
@@ -195,20 +189,20 @@ function Modal({ open, defaultOpen = false, onOpenChange, children }) {
|
|
|
195
189
|
}),
|
|
196
190
|
[descriptionId, resolvedOpen, setOpen, titleId]
|
|
197
191
|
);
|
|
198
|
-
return /* @__PURE__ */ jsx(ModalContext.Provider, { value: ctx, children });
|
|
192
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ModalContext.Provider, { value: ctx, children });
|
|
199
193
|
}
|
|
200
194
|
Modal.displayName = "Modal";
|
|
201
195
|
function ModalTrigger({ className, children, appearance, onClick, ref, ...rest }) {
|
|
202
196
|
const { setOpen } = useModalContext("ModalTrigger");
|
|
203
|
-
return /* @__PURE__ */ jsx(
|
|
197
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
204
198
|
"button",
|
|
205
199
|
{
|
|
206
200
|
ref,
|
|
207
201
|
type: "button",
|
|
208
202
|
"data-slot": "modal-trigger",
|
|
209
|
-
className: cn(modalTriggerVariants({ appearance }), className),
|
|
203
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, modalTriggerVariants({ appearance }), className),
|
|
210
204
|
onClick: (event) => {
|
|
211
|
-
onClick
|
|
205
|
+
_optionalChain([onClick, 'optionalCall', _2 => _2(event)]);
|
|
212
206
|
if (!event.defaultPrevented) {
|
|
213
207
|
setOpen(true);
|
|
214
208
|
}
|
|
@@ -231,11 +225,11 @@ function ModalContent({
|
|
|
231
225
|
style
|
|
232
226
|
}) {
|
|
233
227
|
const { open, setOpen, titleId, descriptionId, contentRef } = useModalContext("ModalContent");
|
|
234
|
-
const reduceMotion = useReducedMotion();
|
|
228
|
+
const reduceMotion = _framermotion.useReducedMotion.call(void 0, );
|
|
235
229
|
const overlayMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
|
|
236
230
|
const panelMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
|
|
237
231
|
useBodyScrollLock(open);
|
|
238
|
-
useEffect(() => {
|
|
232
|
+
_react.useEffect.call(void 0, () => {
|
|
239
233
|
if (!open) {
|
|
240
234
|
return;
|
|
241
235
|
}
|
|
@@ -247,7 +241,7 @@ function ModalContent({
|
|
|
247
241
|
window.addEventListener("keydown", handleKeyDown);
|
|
248
242
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
249
243
|
}, [open, setOpen]);
|
|
250
|
-
useEffect(() => {
|
|
244
|
+
_react.useEffect.call(void 0, () => {
|
|
251
245
|
if (!open) {
|
|
252
246
|
return;
|
|
253
247
|
}
|
|
@@ -258,7 +252,7 @@ function ModalContent({
|
|
|
258
252
|
const focusables = Array.from(
|
|
259
253
|
node.querySelectorAll(FOCUSABLE_SELECTOR)
|
|
260
254
|
).filter((element) => element.offsetParent !== null || element === node);
|
|
261
|
-
const target = focusables[0]
|
|
255
|
+
const target = _nullishCoalesce(focusables[0], () => ( node));
|
|
262
256
|
const previouslyFocused = document.activeElement;
|
|
263
257
|
target.focus();
|
|
264
258
|
const handleFocusIn = (event) => {
|
|
@@ -270,17 +264,17 @@ function ModalContent({
|
|
|
270
264
|
document.addEventListener("focusin", handleFocusIn);
|
|
271
265
|
return () => {
|
|
272
266
|
document.removeEventListener("focusin", handleFocusIn);
|
|
273
|
-
previouslyFocused
|
|
267
|
+
_optionalChain([previouslyFocused, 'optionalAccess', _3 => _3.focus, 'optionalCall', _4 => _4()]);
|
|
274
268
|
};
|
|
275
269
|
}, [contentRef, open]);
|
|
276
270
|
const portalTarget = typeof document !== "undefined" ? document.body : null;
|
|
277
271
|
if (!portalTarget) {
|
|
278
272
|
return null;
|
|
279
273
|
}
|
|
280
|
-
return createPortal(
|
|
281
|
-
/* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50", "data-slot": "modal-portal", children: [
|
|
282
|
-
/* @__PURE__ */ jsx(
|
|
283
|
-
motion.button,
|
|
274
|
+
return _reactdom.createPortal.call(void 0,
|
|
275
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _framermotion.AnimatePresence, { children: open ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "fixed inset-0 z-50", "data-slot": "modal-portal", children: [
|
|
276
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
277
|
+
_framermotion.motion.button,
|
|
284
278
|
{
|
|
285
279
|
type: "button",
|
|
286
280
|
"aria-hidden": true,
|
|
@@ -294,8 +288,8 @@ function ModalContent({
|
|
|
294
288
|
transition: overlayMotion.transition
|
|
295
289
|
}
|
|
296
290
|
),
|
|
297
|
-
/* @__PURE__ */ jsx(
|
|
298
|
-
motion.div,
|
|
291
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
292
|
+
_framermotion.motion.div,
|
|
299
293
|
{
|
|
300
294
|
ref: (node) => {
|
|
301
295
|
contentRef.current = node;
|
|
@@ -311,7 +305,7 @@ function ModalContent({
|
|
|
311
305
|
"aria-describedby": descriptionId,
|
|
312
306
|
"data-slot": "modal-content",
|
|
313
307
|
tabIndex: -1,
|
|
314
|
-
className: cn(modalContentVariants({ size, position, appearance }), className),
|
|
308
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, modalContentVariants({ size, position, appearance }), className),
|
|
315
309
|
initial: animation === "none" ? false : panelMotion.initial,
|
|
316
310
|
animate: animation === "none" ? void 0 : panelMotion.animate,
|
|
317
311
|
exit: animation === "none" ? void 0 : panelMotion.exit,
|
|
@@ -327,58 +321,58 @@ function ModalContent({
|
|
|
327
321
|
}
|
|
328
322
|
ModalContent.displayName = "ModalContent";
|
|
329
323
|
function ModalHeader({ className, children }) {
|
|
330
|
-
return /* @__PURE__ */ jsx("header", { "data-slot": "modal-header", className: cn("mb-4 flex flex-col gap-2", className), children });
|
|
324
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "header", { "data-slot": "modal-header", className: _chunkE5UX537Jjs.cn.call(void 0, "mb-4 flex flex-col gap-2", className), children });
|
|
331
325
|
}
|
|
332
326
|
ModalHeader.displayName = "ModalHeader";
|
|
333
327
|
function ModalBody({ className, children }) {
|
|
334
|
-
return /* @__PURE__ */ jsx("div", { "data-slot": "modal-body", className: cn("text-sm text-slate-300", className), children });
|
|
328
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "modal-body", className: _chunkE5UX537Jjs.cn.call(void 0, "text-sm text-slate-300", className), children });
|
|
335
329
|
}
|
|
336
330
|
ModalBody.displayName = "ModalBody";
|
|
337
331
|
function ModalFooter({ className, children }) {
|
|
338
|
-
return /* @__PURE__ */ jsx("footer", { "data-slot": "modal-footer", className: cn("mt-6 flex justify-end gap-2", className), children });
|
|
332
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "footer", { "data-slot": "modal-footer", className: _chunkE5UX537Jjs.cn.call(void 0, "mt-6 flex justify-end gap-2", className), children });
|
|
339
333
|
}
|
|
340
334
|
ModalFooter.displayName = "ModalFooter";
|
|
341
335
|
function ModalTitle({ className, children }) {
|
|
342
336
|
const { titleId } = useModalContext("ModalTitle");
|
|
343
|
-
return /* @__PURE__ */ jsx("h2", { id: titleId, "data-slot": "modal-title", className: cn("text-lg font-semibold", className), children });
|
|
337
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { id: titleId, "data-slot": "modal-title", className: _chunkE5UX537Jjs.cn.call(void 0, "text-lg font-semibold", className), children });
|
|
344
338
|
}
|
|
345
339
|
ModalTitle.displayName = "ModalTitle";
|
|
346
340
|
function ModalDescription({ className, children }) {
|
|
347
341
|
const { descriptionId } = useModalContext("ModalDescription");
|
|
348
|
-
return /* @__PURE__ */ jsx("p", { id: descriptionId, "data-slot": "modal-description", className: cn("text-sm text-slate-400", className), children });
|
|
342
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { id: descriptionId, "data-slot": "modal-description", className: _chunkE5UX537Jjs.cn.call(void 0, "text-sm text-slate-400", className), children });
|
|
349
343
|
}
|
|
350
344
|
ModalDescription.displayName = "ModalDescription";
|
|
351
345
|
function ModalClose({ className, children, ...rest }) {
|
|
352
346
|
const { setOpen } = useModalContext("ModalClose");
|
|
353
|
-
return /* @__PURE__ */ jsx(
|
|
347
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
354
348
|
"button",
|
|
355
349
|
{
|
|
356
350
|
type: "button",
|
|
357
351
|
"data-slot": "modal-close",
|
|
358
|
-
className: cn(
|
|
352
|
+
className: _chunkE5UX537Jjs.cn.call(void 0,
|
|
359
353
|
"absolute right-4 top-4 inline-flex size-9 items-center justify-center rounded-md text-slate-200 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/30",
|
|
360
354
|
className
|
|
361
355
|
),
|
|
362
356
|
"aria-label": "Close dialog",
|
|
363
357
|
onClick: () => setOpen(false),
|
|
364
358
|
...rest,
|
|
365
|
-
children: children
|
|
359
|
+
children: _nullishCoalesce(children, () => ( "\xD7"))
|
|
366
360
|
}
|
|
367
361
|
);
|
|
368
362
|
}
|
|
369
363
|
ModalClose.displayName = "ModalClose";
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
exports.Modal = Modal; exports.ModalBody = ModalBody; exports.ModalClose = ModalClose; exports.ModalContent = ModalContent; exports.ModalDescription = ModalDescription; exports.ModalFooter = ModalFooter; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalTrigger = ModalTrigger; exports.modalContentVariants = modalContentVariants; exports.modalOverlayAnimationPresets = modalOverlayAnimationPresets; exports.modalOverlayVariants = modalOverlayVariants;
|
|
384
378
|
//# sourceMappingURL=modal.js.map
|
package/dist/ui/modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/modal/modal.tsx","../../src/lib/utils.ts","../../src/ui/modal/animations.ts","../../src/ui/modal/variants.ts"],"sourcesContent":["\"use client\";\n\nimport {\n AnimatePresence,\n motion,\n useReducedMotion,\n} from \"framer-motion\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { modalOverlayAnimationPresets } from \"./animations\";\nimport type {\n ModalContentProps,\n ModalProps,\n ModalSectionProps,\n ModalTriggerProps,\n} from \"./types\";\nimport { modalContentVariants, modalOverlayVariants, modalTriggerVariants } from \"./variants\";\n\ntype ModalCtx = {\n open: boolean;\n setOpen: (next: boolean) => void;\n titleId: string;\n descriptionId: string;\n contentRef: React.RefObject<HTMLDivElement | null>;\n};\n\nconst ModalContext = createContext<ModalCtx | null>(null);\n\nfunction useModalContext(component: string): ModalCtx {\n const ctx = useContext(ModalContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Modal>`);\n }\n return ctx;\n}\n\nconst FOCUSABLE_SELECTOR =\n 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex=\"-1\"])';\n\nfunction useBodyScrollLock(locked: boolean) {\n useEffect(() => {\n if (!locked) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [locked]);\n}\n\nexport function Modal({ open, defaultOpen = false, onOpenChange, children }: ModalProps) {\n const isControlled = open !== undefined;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolledOpen(next);\n }\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const baseId = useId();\n const titleId = `${baseId}-title`;\n const descriptionId = `${baseId}-description`;\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const ctx = useMemo(\n () => ({\n open: resolvedOpen,\n setOpen,\n titleId,\n descriptionId,\n contentRef,\n }),\n [descriptionId, resolvedOpen, setOpen, titleId],\n );\n\n return <ModalContext.Provider value={ctx}>{children}</ModalContext.Provider>;\n}\n\nModal.displayName = \"Modal\";\n\nexport function ModalTrigger({ className, children, appearance, onClick, ref, ...rest }: ModalTriggerProps) {\n const { setOpen } = useModalContext(\"ModalTrigger\");\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"modal-trigger\"\n className={cn(modalTriggerVariants({ appearance }), className)}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(true);\n }\n }}\n {...rest}\n >\n {children}\n </button>\n );\n}\n\nModalTrigger.displayName = \"ModalTrigger\";\n\nexport function ModalContent({\n className,\n size,\n position,\n appearance,\n animation = \"scale\",\n children,\n ref,\n id,\n style,\n}: ModalContentProps) {\n const { open, setOpen, titleId, descriptionId, contentRef } = useModalContext(\"ModalContent\");\n const reduceMotion = useReducedMotion();\n const overlayMotion = modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n const panelMotion = modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n\n useBodyScrollLock(open);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [open, setOpen]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n const node = contentRef.current;\n if (!node) {\n return;\n }\n const focusables = Array.from(\n node.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR),\n ).filter((element) => element.offsetParent !== null || element === node);\n const target = focusables[0] ?? node;\n const previouslyFocused = document.activeElement as HTMLElement | null;\n target.focus();\n\n const handleFocusIn = (event: FocusEvent) => {\n if (!node.contains(event.target as Node)) {\n event.stopPropagation();\n target.focus();\n }\n };\n document.addEventListener(\"focusin\", handleFocusIn);\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn);\n previouslyFocused?.focus?.();\n };\n }, [contentRef, open]);\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50\" data-slot=\"modal-portal\">\n <motion.button\n type=\"button\"\n aria-hidden\n tabIndex={-1}\n data-slot=\"modal-overlay\"\n className={modalOverlayVariants()}\n onClick={() => setOpen(false)}\n initial={animation === \"none\" ? false : overlayMotion.initial}\n animate={animation === \"none\" ? undefined : overlayMotion.animate}\n exit={animation === \"none\" ? undefined : overlayMotion.exit}\n transition={overlayMotion.transition}\n />\n <motion.div\n ref={(node) => {\n contentRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.RefObject<HTMLDivElement | null>).current = node;\n }\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-slot=\"modal-content\"\n tabIndex={-1}\n className={cn(modalContentVariants({ size, position, appearance }), className)}\n initial={animation === \"none\" ? false : panelMotion.initial}\n animate={animation === \"none\" ? undefined : panelMotion.animate}\n exit={animation === \"none\" ? undefined : panelMotion.exit}\n transition={panelMotion.transition}\n id={id}\n style={style}\n >\n {children}\n </motion.div>\n </div>\n ) : null}\n </AnimatePresence>,\n portalTarget,\n );\n}\n\nModalContent.displayName = \"ModalContent\";\n\nexport function ModalHeader({ className, children }: ModalSectionProps) {\n return (\n <header data-slot=\"modal-header\" className={cn(\"mb-4 flex flex-col gap-2\", className)}>\n {children}\n </header>\n );\n}\n\nModalHeader.displayName = \"ModalHeader\";\n\nexport function ModalBody({ className, children }: ModalSectionProps) {\n return (\n <div data-slot=\"modal-body\" className={cn(\"text-sm text-slate-300\", className)}>\n {children}\n </div>\n );\n}\n\nModalBody.displayName = \"ModalBody\";\n\nexport function ModalFooter({ className, children }: ModalSectionProps) {\n return (\n <footer data-slot=\"modal-footer\" className={cn(\"mt-6 flex justify-end gap-2\", className)}>\n {children}\n </footer>\n );\n}\n\nModalFooter.displayName = \"ModalFooter\";\n\nexport function ModalTitle({ className, children }: ModalSectionProps) {\n const { titleId } = useModalContext(\"ModalTitle\");\n return (\n <h2 id={titleId} data-slot=\"modal-title\" className={cn(\"text-lg font-semibold\", className)}>\n {children}\n </h2>\n );\n}\n\nModalTitle.displayName = \"ModalTitle\";\n\nexport function ModalDescription({ className, children }: ModalSectionProps) {\n const { descriptionId } = useModalContext(\"ModalDescription\");\n return (\n <p id={descriptionId} data-slot=\"modal-description\" className={cn(\"text-sm text-slate-400\", className)}>\n {children}\n </p>\n );\n}\n\nModalDescription.displayName = \"ModalDescription\";\n\nexport function ModalClose({ className, children, ...rest }: ModalSectionProps) {\n const { setOpen } = useModalContext(\"ModalClose\");\n return (\n <button\n type=\"button\"\n data-slot=\"modal-close\"\n className={cn(\n \"absolute right-4 top-4 inline-flex size-9 items-center justify-center rounded-md text-slate-200 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/30\",\n className,\n )}\n aria-label=\"Close dialog\"\n onClick={() => setOpen(false)}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nModalClose.displayName = \"ModalClose\";\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}","import type { HTMLMotionProps } from \"framer-motion\";\n\nimport type { ModalAnimation } from \"./types\";\n\ntype ModalPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"exit\" | \"transition\"\n>;\n\nexport type ModalAnimationPresets = Record<ModalAnimation, ModalPresetMotionProps>;\n\nexport const modalOverlayAnimationPresets: ModalAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n transition: { duration: 0.2 },\n },\n scale: {\n initial: { opacity: 0, scale: 0.96 },\n animate: { opacity: 1, scale: 1 },\n exit: { opacity: 0, scale: 0.96 },\n transition: { type: \"spring\", stiffness: 420, damping: 32 },\n },\n \"slide-up\": {\n initial: { opacity: 0, y: 24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n \"slide-down\": {\n initial: { opacity: 0, y: -24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: -16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const modalOverlayVariants = cva(\n \"fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm data-[state=open]:animate-in\",\n);\n\nexport const modalTriggerVariants = cva(\n \"relative inline-flex shrink-0 cursor-pointer rounded-md border\",\n {\n variants: {\n appearance: {\n default: \"bg-slate-950\",\n glass: \"border-white/15 bg-slate-950/70 backdrop-blur-xl\",\n sky: \"border-sky-600 bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border-rose-600 bg-rose-950/70 backdrop-blur-xl\",\n purple: \"border-purple-600 bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-600 bg-pink-950/70 backdrop-blur-xl\",\n orange: \"border-orange-600 bg-orange-950/70 backdrop-blur-xl\",\n yellow: \"border-yellow-600 bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-600 bg-teal-950/70 backdrop-blur-xl\",\n indigo: \"border-indigo-600 bg-indigo-950/70 backdrop-blur-xl\",\n emerald: \"border-emerald-600 bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-600 bg-gray-950/70 backdrop-blur-xl\",\n amber: \"border-amber-600 bg-amber-950/70 backdrop-blur-xl\",\n violet: \"border-violet-600 bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\": \"border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\": \"border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\": \"border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\": \"border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\": \"border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\": \"border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\": \"border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\": \"border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\": \"border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n },\n);\n\nexport const modalContentVariants = cva(\n \"fixed left-1/2 z-50 w-[calc(100%-2rem)] max-h-[min(90vh,720px)] translate-x-[-50%] overflow-y-auto border border-white/10 bg-slate-950 p-6 text-slate-50 shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none\",\n {\n variants: {\n size: {\n sm: \"max-w-md\",\n md: \"max-w-lg\",\n lg: \"max-w-2xl\",\n xl: \"max-w-4xl\",\n full: \"max-w-[calc(100%-2rem)]\",\n },\n position: {\n center: \"top-1/2 translate-y-[-50%]\",\n top: \"top-10 translate-y-0\",\n bottom: \"bottom-10 translate-y-0\",\n },\n appearance: {\n default: \"bg-slate-950\",\n glass: \"border-white/15 bg-slate-950/70 backdrop-blur-xl\",\n sky: \"border-sky-600 bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border-rose-600 bg-rose-950/70 backdrop-blur-xl\",\n purple: \"border-purple-600 bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border-pink-600 bg-pink-950/70 backdrop-blur-xl\",\n orange: \"border-orange-600 bg-orange-950/70 backdrop-blur-xl\",\n yellow: \"border-yellow-600 bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border-teal-600 bg-teal-950/70 backdrop-blur-xl\",\n indigo: \"border-indigo-600 bg-indigo-950/70 backdrop-blur-xl\",\n emerald: \"border-emerald-600 bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border-gray-600 bg-gray-950/70 backdrop-blur-xl\",\n amber: \"border-amber-600 bg-amber-950/70 backdrop-blur-xl\",\n violet: \"border-violet-600 bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\": \"border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\": \"border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\": \"border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\": \"border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\": \"border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\": \"border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\": \"border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\": \"border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\": \"border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n },\n defaultVariants: {\n size: \"md\",\n position: \"center\",\n appearance: \"default\",\n },\n },\n);\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/modal.js"],"names":[],"mappings":"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AAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,sBAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,wBAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,sBAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,oBAAA;AACA,sBAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,sBAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,YAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/modal.js","sourcesContent":[null]}
|
|
@@ -1,51 +1,26 @@
|
|
|
1
|
-
"use
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use client";
|
|
19
2
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Modal: () => Modal,
|
|
24
|
-
ModalBody: () => ModalBody,
|
|
25
|
-
ModalClose: () => ModalClose,
|
|
26
|
-
ModalContent: () => ModalContent,
|
|
27
|
-
ModalDescription: () => ModalDescription,
|
|
28
|
-
ModalFooter: () => ModalFooter,
|
|
29
|
-
ModalHeader: () => ModalHeader,
|
|
30
|
-
ModalTitle: () => ModalTitle,
|
|
31
|
-
ModalTrigger: () => ModalTrigger,
|
|
32
|
-
modalContentVariants: () => modalContentVariants,
|
|
33
|
-
modalOverlayAnimationPresets: () => modalOverlayAnimationPresets,
|
|
34
|
-
modalOverlayVariants: () => modalOverlayVariants
|
|
35
|
-
});
|
|
36
|
-
module.exports = __toCommonJS(modal_exports);
|
|
3
|
+
import {
|
|
4
|
+
cn
|
|
5
|
+
} from "../chunk-MEWYFWBX.mjs";
|
|
37
6
|
|
|
38
7
|
// src/ui/modal/modal.tsx
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
8
|
+
import {
|
|
9
|
+
AnimatePresence,
|
|
10
|
+
motion,
|
|
11
|
+
useReducedMotion
|
|
12
|
+
} from "framer-motion";
|
|
13
|
+
import {
|
|
14
|
+
createContext,
|
|
15
|
+
useCallback,
|
|
16
|
+
useContext,
|
|
17
|
+
useEffect,
|
|
18
|
+
useId,
|
|
19
|
+
useMemo,
|
|
20
|
+
useRef,
|
|
21
|
+
useState
|
|
22
|
+
} from "react";
|
|
23
|
+
import { createPortal } from "react-dom";
|
|
49
24
|
|
|
50
25
|
// src/ui/modal/animations.ts
|
|
51
26
|
var modalOverlayAnimationPresets = {
|
|
@@ -77,11 +52,11 @@ var modalOverlayAnimationPresets = {
|
|
|
77
52
|
};
|
|
78
53
|
|
|
79
54
|
// src/ui/modal/variants.ts
|
|
80
|
-
|
|
81
|
-
var modalOverlayVariants =
|
|
55
|
+
import { cva } from "class-variance-authority";
|
|
56
|
+
var modalOverlayVariants = cva(
|
|
82
57
|
"fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm data-[state=open]:animate-in"
|
|
83
58
|
);
|
|
84
|
-
var modalTriggerVariants =
|
|
59
|
+
var modalTriggerVariants = cva(
|
|
85
60
|
"relative inline-flex shrink-0 cursor-pointer rounded-md border",
|
|
86
61
|
{
|
|
87
62
|
variants: {
|
|
@@ -116,7 +91,7 @@ var modalTriggerVariants = (0, import_class_variance_authority.cva)(
|
|
|
116
91
|
}
|
|
117
92
|
}
|
|
118
93
|
);
|
|
119
|
-
var modalContentVariants =
|
|
94
|
+
var modalContentVariants = cva(
|
|
120
95
|
"fixed left-1/2 z-50 w-[calc(100%-2rem)] max-h-[min(90vh,720px)] translate-x-[-50%] overflow-y-auto border border-white/10 bg-slate-950 p-6 text-slate-50 shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none",
|
|
121
96
|
{
|
|
122
97
|
variants: {
|
|
@@ -167,10 +142,10 @@ var modalContentVariants = (0, import_class_variance_authority.cva)(
|
|
|
167
142
|
);
|
|
168
143
|
|
|
169
144
|
// src/ui/modal/modal.tsx
|
|
170
|
-
|
|
171
|
-
var ModalContext =
|
|
145
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
146
|
+
var ModalContext = createContext(null);
|
|
172
147
|
function useModalContext(component) {
|
|
173
|
-
const ctx =
|
|
148
|
+
const ctx = useContext(ModalContext);
|
|
174
149
|
if (!ctx) {
|
|
175
150
|
throw new Error(`${component} must be used within <Modal>`);
|
|
176
151
|
}
|
|
@@ -178,7 +153,7 @@ function useModalContext(component) {
|
|
|
178
153
|
}
|
|
179
154
|
var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])';
|
|
180
155
|
function useBodyScrollLock(locked) {
|
|
181
|
-
|
|
156
|
+
useEffect(() => {
|
|
182
157
|
if (!locked) {
|
|
183
158
|
return;
|
|
184
159
|
}
|
|
@@ -191,9 +166,9 @@ function useBodyScrollLock(locked) {
|
|
|
191
166
|
}
|
|
192
167
|
function Modal({ open, defaultOpen = false, onOpenChange, children }) {
|
|
193
168
|
const isControlled = open !== void 0;
|
|
194
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
169
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
195
170
|
const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;
|
|
196
|
-
const setOpen =
|
|
171
|
+
const setOpen = useCallback(
|
|
197
172
|
(next) => {
|
|
198
173
|
if (!isControlled) {
|
|
199
174
|
setUncontrolledOpen(next);
|
|
@@ -202,11 +177,11 @@ function Modal({ open, defaultOpen = false, onOpenChange, children }) {
|
|
|
202
177
|
},
|
|
203
178
|
[isControlled, onOpenChange]
|
|
204
179
|
);
|
|
205
|
-
const baseId =
|
|
180
|
+
const baseId = useId();
|
|
206
181
|
const titleId = `${baseId}-title`;
|
|
207
182
|
const descriptionId = `${baseId}-description`;
|
|
208
|
-
const contentRef =
|
|
209
|
-
const ctx =
|
|
183
|
+
const contentRef = useRef(null);
|
|
184
|
+
const ctx = useMemo(
|
|
210
185
|
() => ({
|
|
211
186
|
open: resolvedOpen,
|
|
212
187
|
setOpen,
|
|
@@ -216,12 +191,12 @@ function Modal({ open, defaultOpen = false, onOpenChange, children }) {
|
|
|
216
191
|
}),
|
|
217
192
|
[descriptionId, resolvedOpen, setOpen, titleId]
|
|
218
193
|
);
|
|
219
|
-
return /* @__PURE__ */
|
|
194
|
+
return /* @__PURE__ */ jsx(ModalContext.Provider, { value: ctx, children });
|
|
220
195
|
}
|
|
221
196
|
Modal.displayName = "Modal";
|
|
222
197
|
function ModalTrigger({ className, children, appearance, onClick, ref, ...rest }) {
|
|
223
198
|
const { setOpen } = useModalContext("ModalTrigger");
|
|
224
|
-
return /* @__PURE__ */
|
|
199
|
+
return /* @__PURE__ */ jsx(
|
|
225
200
|
"button",
|
|
226
201
|
{
|
|
227
202
|
ref,
|
|
@@ -252,11 +227,11 @@ function ModalContent({
|
|
|
252
227
|
style
|
|
253
228
|
}) {
|
|
254
229
|
const { open, setOpen, titleId, descriptionId, contentRef } = useModalContext("ModalContent");
|
|
255
|
-
const reduceMotion =
|
|
230
|
+
const reduceMotion = useReducedMotion();
|
|
256
231
|
const overlayMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
|
|
257
232
|
const panelMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
|
|
258
233
|
useBodyScrollLock(open);
|
|
259
|
-
|
|
234
|
+
useEffect(() => {
|
|
260
235
|
if (!open) {
|
|
261
236
|
return;
|
|
262
237
|
}
|
|
@@ -268,7 +243,7 @@ function ModalContent({
|
|
|
268
243
|
window.addEventListener("keydown", handleKeyDown);
|
|
269
244
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
270
245
|
}, [open, setOpen]);
|
|
271
|
-
|
|
246
|
+
useEffect(() => {
|
|
272
247
|
if (!open) {
|
|
273
248
|
return;
|
|
274
249
|
}
|
|
@@ -298,10 +273,10 @@ function ModalContent({
|
|
|
298
273
|
if (!portalTarget) {
|
|
299
274
|
return null;
|
|
300
275
|
}
|
|
301
|
-
return
|
|
302
|
-
/* @__PURE__ */
|
|
303
|
-
/* @__PURE__ */
|
|
304
|
-
|
|
276
|
+
return createPortal(
|
|
277
|
+
/* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50", "data-slot": "modal-portal", children: [
|
|
278
|
+
/* @__PURE__ */ jsx(
|
|
279
|
+
motion.button,
|
|
305
280
|
{
|
|
306
281
|
type: "button",
|
|
307
282
|
"aria-hidden": true,
|
|
@@ -315,8 +290,8 @@ function ModalContent({
|
|
|
315
290
|
transition: overlayMotion.transition
|
|
316
291
|
}
|
|
317
292
|
),
|
|
318
|
-
/* @__PURE__ */
|
|
319
|
-
|
|
293
|
+
/* @__PURE__ */ jsx(
|
|
294
|
+
motion.div,
|
|
320
295
|
{
|
|
321
296
|
ref: (node) => {
|
|
322
297
|
contentRef.current = node;
|
|
@@ -348,30 +323,30 @@ function ModalContent({
|
|
|
348
323
|
}
|
|
349
324
|
ModalContent.displayName = "ModalContent";
|
|
350
325
|
function ModalHeader({ className, children }) {
|
|
351
|
-
return /* @__PURE__ */
|
|
326
|
+
return /* @__PURE__ */ jsx("header", { "data-slot": "modal-header", className: cn("mb-4 flex flex-col gap-2", className), children });
|
|
352
327
|
}
|
|
353
328
|
ModalHeader.displayName = "ModalHeader";
|
|
354
329
|
function ModalBody({ className, children }) {
|
|
355
|
-
return /* @__PURE__ */
|
|
330
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "modal-body", className: cn("text-sm text-slate-300", className), children });
|
|
356
331
|
}
|
|
357
332
|
ModalBody.displayName = "ModalBody";
|
|
358
333
|
function ModalFooter({ className, children }) {
|
|
359
|
-
return /* @__PURE__ */
|
|
334
|
+
return /* @__PURE__ */ jsx("footer", { "data-slot": "modal-footer", className: cn("mt-6 flex justify-end gap-2", className), children });
|
|
360
335
|
}
|
|
361
336
|
ModalFooter.displayName = "ModalFooter";
|
|
362
337
|
function ModalTitle({ className, children }) {
|
|
363
338
|
const { titleId } = useModalContext("ModalTitle");
|
|
364
|
-
return /* @__PURE__ */
|
|
339
|
+
return /* @__PURE__ */ jsx("h2", { id: titleId, "data-slot": "modal-title", className: cn("text-lg font-semibold", className), children });
|
|
365
340
|
}
|
|
366
341
|
ModalTitle.displayName = "ModalTitle";
|
|
367
342
|
function ModalDescription({ className, children }) {
|
|
368
343
|
const { descriptionId } = useModalContext("ModalDescription");
|
|
369
|
-
return /* @__PURE__ */
|
|
344
|
+
return /* @__PURE__ */ jsx("p", { id: descriptionId, "data-slot": "modal-description", className: cn("text-sm text-slate-400", className), children });
|
|
370
345
|
}
|
|
371
346
|
ModalDescription.displayName = "ModalDescription";
|
|
372
347
|
function ModalClose({ className, children, ...rest }) {
|
|
373
348
|
const { setOpen } = useModalContext("ModalClose");
|
|
374
|
-
return /* @__PURE__ */
|
|
349
|
+
return /* @__PURE__ */ jsx(
|
|
375
350
|
"button",
|
|
376
351
|
{
|
|
377
352
|
type: "button",
|
|
@@ -388,8 +363,7 @@ function ModalClose({ className, children, ...rest }) {
|
|
|
388
363
|
);
|
|
389
364
|
}
|
|
390
365
|
ModalClose.displayName = "ModalClose";
|
|
391
|
-
|
|
392
|
-
0 && (module.exports = {
|
|
366
|
+
export {
|
|
393
367
|
Modal,
|
|
394
368
|
ModalBody,
|
|
395
369
|
ModalClose,
|
|
@@ -402,5 +376,5 @@ ModalClose.displayName = "ModalClose";
|
|
|
402
376
|
modalContentVariants,
|
|
403
377
|
modalOverlayAnimationPresets,
|
|
404
378
|
modalOverlayVariants
|
|
405
|
-
}
|
|
406
|
-
//# sourceMappingURL=modal.
|
|
379
|
+
};
|
|
380
|
+
//# sourceMappingURL=modal.mjs.map
|