@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
|
@@ -1,50 +1,22 @@
|
|
|
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
|
-
Drawer: () => Drawer,
|
|
24
|
-
DrawerBody: () => DrawerBody,
|
|
25
|
-
DrawerClose: () => DrawerClose,
|
|
26
|
-
DrawerContent: () => DrawerContent,
|
|
27
|
-
DrawerFooter: () => DrawerFooter,
|
|
28
|
-
DrawerHeader: () => DrawerHeader,
|
|
29
|
-
DrawerTitle: () => DrawerTitle,
|
|
30
|
-
DrawerTrigger: () => DrawerTrigger,
|
|
31
|
-
drawerContentVariants: () => drawerContentVariants,
|
|
32
|
-
drawerOverlayVariants: () => drawerOverlayVariants,
|
|
33
|
-
drawerPanelPresets: () => drawerPanelPresets
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(drawer_exports);
|
|
3
|
+
import {
|
|
4
|
+
cn
|
|
5
|
+
} from "../chunk-MEWYFWBX.mjs";
|
|
36
6
|
|
|
37
7
|
// src/ui/drawer/drawer.tsx
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
8
|
+
import { AnimatePresence, motion, useReducedMotion } from "framer-motion";
|
|
9
|
+
import {
|
|
10
|
+
createContext,
|
|
11
|
+
useCallback,
|
|
12
|
+
useContext,
|
|
13
|
+
useEffect,
|
|
14
|
+
useId,
|
|
15
|
+
useMemo,
|
|
16
|
+
useRef,
|
|
17
|
+
useState
|
|
18
|
+
} from "react";
|
|
19
|
+
import { createPortal } from "react-dom";
|
|
48
20
|
|
|
49
21
|
// src/ui/drawer/animations.ts
|
|
50
22
|
var drawerPanelPresets = (side) => ({
|
|
@@ -70,9 +42,9 @@ var drawerPanelPresets = (side) => ({
|
|
|
70
42
|
});
|
|
71
43
|
|
|
72
44
|
// src/ui/drawer/variants.ts
|
|
73
|
-
|
|
74
|
-
var drawerOverlayVariants =
|
|
75
|
-
var drawerTriggerVariants =
|
|
45
|
+
import { cva } from "class-variance-authority";
|
|
46
|
+
var drawerOverlayVariants = cva("fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm");
|
|
47
|
+
var drawerTriggerVariants = cva(
|
|
76
48
|
"relative inline-flex shrink-0 cursor-pointer rounded-md border",
|
|
77
49
|
{
|
|
78
50
|
variants: {
|
|
@@ -107,7 +79,7 @@ var drawerTriggerVariants = (0, import_class_variance_authority.cva)(
|
|
|
107
79
|
}
|
|
108
80
|
}
|
|
109
81
|
);
|
|
110
|
-
var drawerContentVariants =
|
|
82
|
+
var drawerContentVariants = cva(
|
|
111
83
|
"fixed z-50 flex max-h-[min(92vh,900px)] flex-col 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",
|
|
112
84
|
{
|
|
113
85
|
variants: {
|
|
@@ -171,10 +143,10 @@ var drawerContentVariants = (0, import_class_variance_authority.cva)(
|
|
|
171
143
|
);
|
|
172
144
|
|
|
173
145
|
// src/ui/drawer/drawer.tsx
|
|
174
|
-
|
|
175
|
-
var DrawerContext =
|
|
146
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
147
|
+
var DrawerContext = createContext(null);
|
|
176
148
|
function useDrawerContext(component) {
|
|
177
|
-
const ctx =
|
|
149
|
+
const ctx = useContext(DrawerContext);
|
|
178
150
|
if (!ctx) {
|
|
179
151
|
throw new Error(`${component} must be used within <Drawer>`);
|
|
180
152
|
}
|
|
@@ -182,7 +154,7 @@ function useDrawerContext(component) {
|
|
|
182
154
|
}
|
|
183
155
|
var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])';
|
|
184
156
|
function useBodyScrollLock(locked) {
|
|
185
|
-
|
|
157
|
+
useEffect(() => {
|
|
186
158
|
if (!locked) {
|
|
187
159
|
return;
|
|
188
160
|
}
|
|
@@ -195,9 +167,9 @@ function useBodyScrollLock(locked) {
|
|
|
195
167
|
}
|
|
196
168
|
function Drawer({ open, defaultOpen = false, onOpenChange, children }) {
|
|
197
169
|
const isControlled = open !== void 0;
|
|
198
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
170
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
199
171
|
const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;
|
|
200
|
-
const setOpen =
|
|
172
|
+
const setOpen = useCallback(
|
|
201
173
|
(next) => {
|
|
202
174
|
if (!isControlled) {
|
|
203
175
|
setUncontrolledOpen(next);
|
|
@@ -206,11 +178,11 @@ function Drawer({ open, defaultOpen = false, onOpenChange, children }) {
|
|
|
206
178
|
},
|
|
207
179
|
[isControlled, onOpenChange]
|
|
208
180
|
);
|
|
209
|
-
const baseId =
|
|
181
|
+
const baseId = useId();
|
|
210
182
|
const titleId = `${baseId}-title`;
|
|
211
183
|
const descriptionId = `${baseId}-description`;
|
|
212
|
-
const contentRef =
|
|
213
|
-
const ctx =
|
|
184
|
+
const contentRef = useRef(null);
|
|
185
|
+
const ctx = useMemo(
|
|
214
186
|
() => ({
|
|
215
187
|
open: resolvedOpen,
|
|
216
188
|
setOpen,
|
|
@@ -220,12 +192,12 @@ function Drawer({ open, defaultOpen = false, onOpenChange, children }) {
|
|
|
220
192
|
}),
|
|
221
193
|
[descriptionId, resolvedOpen, setOpen, titleId]
|
|
222
194
|
);
|
|
223
|
-
return /* @__PURE__ */
|
|
195
|
+
return /* @__PURE__ */ jsx(DrawerContext.Provider, { value: ctx, children });
|
|
224
196
|
}
|
|
225
197
|
Drawer.displayName = "Drawer";
|
|
226
198
|
function DrawerTrigger({ className, children, appearance, onClick, ref, ...rest }) {
|
|
227
199
|
const { setOpen } = useDrawerContext("DrawerTrigger");
|
|
228
|
-
return /* @__PURE__ */
|
|
200
|
+
return /* @__PURE__ */ jsx(
|
|
229
201
|
"button",
|
|
230
202
|
{
|
|
231
203
|
ref,
|
|
@@ -257,11 +229,11 @@ function DrawerContent({
|
|
|
257
229
|
}) {
|
|
258
230
|
const { open, setOpen, titleId, descriptionId, contentRef } = useDrawerContext("DrawerContent");
|
|
259
231
|
const resolvedSide = side ?? "right";
|
|
260
|
-
const reduceMotion =
|
|
232
|
+
const reduceMotion = useReducedMotion();
|
|
261
233
|
const overlayMotion = drawerPanelPresets(resolvedSide)[reduceMotion ? "fade" : animation];
|
|
262
234
|
const panelMotion = drawerPanelPresets(resolvedSide)[reduceMotion ? "fade" : animation];
|
|
263
235
|
useBodyScrollLock(open);
|
|
264
|
-
|
|
236
|
+
useEffect(() => {
|
|
265
237
|
if (!open) {
|
|
266
238
|
return;
|
|
267
239
|
}
|
|
@@ -273,7 +245,7 @@ function DrawerContent({
|
|
|
273
245
|
window.addEventListener("keydown", handleKeyDown);
|
|
274
246
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
275
247
|
}, [open, setOpen]);
|
|
276
|
-
|
|
248
|
+
useEffect(() => {
|
|
277
249
|
if (!open) {
|
|
278
250
|
return;
|
|
279
251
|
}
|
|
@@ -303,10 +275,10 @@ function DrawerContent({
|
|
|
303
275
|
if (!portalTarget) {
|
|
304
276
|
return null;
|
|
305
277
|
}
|
|
306
|
-
return
|
|
307
|
-
/* @__PURE__ */
|
|
308
|
-
/* @__PURE__ */
|
|
309
|
-
|
|
278
|
+
return createPortal(
|
|
279
|
+
/* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50", "data-slot": "drawer-portal", children: [
|
|
280
|
+
/* @__PURE__ */ jsx(
|
|
281
|
+
motion.button,
|
|
310
282
|
{
|
|
311
283
|
type: "button",
|
|
312
284
|
"aria-hidden": true,
|
|
@@ -320,8 +292,8 @@ function DrawerContent({
|
|
|
320
292
|
transition: overlayMotion.transition
|
|
321
293
|
}
|
|
322
294
|
),
|
|
323
|
-
/* @__PURE__ */
|
|
324
|
-
|
|
295
|
+
/* @__PURE__ */ jsx(
|
|
296
|
+
motion.div,
|
|
325
297
|
{
|
|
326
298
|
ref: (node) => {
|
|
327
299
|
contentRef.current = node;
|
|
@@ -356,25 +328,25 @@ function DrawerContent({
|
|
|
356
328
|
}
|
|
357
329
|
DrawerContent.displayName = "DrawerContent";
|
|
358
330
|
function DrawerHeader({ className, children }) {
|
|
359
|
-
return /* @__PURE__ */
|
|
331
|
+
return /* @__PURE__ */ jsx("header", { "data-slot": "drawer-header", className: cn("mb-4 flex flex-col gap-2", className), children });
|
|
360
332
|
}
|
|
361
333
|
DrawerHeader.displayName = "DrawerHeader";
|
|
362
334
|
function DrawerBody({ className, children }) {
|
|
363
|
-
return /* @__PURE__ */
|
|
335
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "drawer-body", className: cn("flex-1 text-sm text-slate-300", className), children });
|
|
364
336
|
}
|
|
365
337
|
DrawerBody.displayName = "DrawerBody";
|
|
366
338
|
function DrawerFooter({ className, children }) {
|
|
367
|
-
return /* @__PURE__ */
|
|
339
|
+
return /* @__PURE__ */ jsx("footer", { "data-slot": "drawer-footer", className: cn("mt-6 flex justify-end gap-2", className), children });
|
|
368
340
|
}
|
|
369
341
|
DrawerFooter.displayName = "DrawerFooter";
|
|
370
342
|
function DrawerTitle({ className, children }) {
|
|
371
343
|
const { titleId } = useDrawerContext("DrawerTitle");
|
|
372
|
-
return /* @__PURE__ */
|
|
344
|
+
return /* @__PURE__ */ jsx("h2", { id: titleId, "data-slot": "drawer-title", className: cn("text-lg font-semibold", className), children });
|
|
373
345
|
}
|
|
374
346
|
DrawerTitle.displayName = "DrawerTitle";
|
|
375
347
|
function DrawerClose({ className, children, ...rest }) {
|
|
376
348
|
const { setOpen } = useDrawerContext("DrawerClose");
|
|
377
|
-
return /* @__PURE__ */
|
|
349
|
+
return /* @__PURE__ */ jsx(
|
|
378
350
|
"button",
|
|
379
351
|
{
|
|
380
352
|
type: "button",
|
|
@@ -391,8 +363,7 @@ function DrawerClose({ className, children, ...rest }) {
|
|
|
391
363
|
);
|
|
392
364
|
}
|
|
393
365
|
DrawerClose.displayName = "DrawerClose";
|
|
394
|
-
|
|
395
|
-
0 && (module.exports = {
|
|
366
|
+
export {
|
|
396
367
|
Drawer,
|
|
397
368
|
DrawerBody,
|
|
398
369
|
DrawerClose,
|
|
@@ -404,5 +375,5 @@ DrawerClose.displayName = "DrawerClose";
|
|
|
404
375
|
drawerContentVariants,
|
|
405
376
|
drawerOverlayVariants,
|
|
406
377
|
drawerPanelPresets
|
|
407
|
-
}
|
|
408
|
-
//# sourceMappingURL=drawer.
|
|
378
|
+
};
|
|
379
|
+
//# sourceMappingURL=drawer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/drawer/drawer.tsx","../../src/ui/drawer/animations.ts","../../src/ui/drawer/variants.ts"],"sourcesContent":["\"use client\";\n\nimport { AnimatePresence, motion, useReducedMotion } 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 { drawerPanelPresets } from \"./animations\";\nimport type {\n DrawerContentProps,\n DrawerProps,\n DrawerSectionProps,\n DrawerTriggerProps,\n} from \"./types\";\nimport { drawerContentVariants, drawerOverlayVariants, drawerTriggerVariants } from \"./variants\";\n\ntype DrawerCtx = {\n open: boolean;\n setOpen: (next: boolean) => void;\n titleId: string;\n descriptionId: string;\n contentRef: React.RefObject<HTMLDivElement | null>;\n};\n\nconst DrawerContext = createContext<DrawerCtx | null>(null);\n\nfunction useDrawerContext(component: string): DrawerCtx {\n const ctx = useContext(DrawerContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Drawer>`);\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 Drawer({ open, defaultOpen = false, onOpenChange, children }: DrawerProps) {\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 <DrawerContext.Provider value={ctx}>{children}</DrawerContext.Provider>;\n}\n\nDrawer.displayName = \"Drawer\";\n\nexport function DrawerTrigger({ className, children, appearance, onClick, ref, ...rest }: DrawerTriggerProps) {\n const { setOpen } = useDrawerContext(\"DrawerTrigger\");\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"drawer-trigger\"\n className={cn(drawerTriggerVariants({ 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\nDrawerTrigger.displayName = \"DrawerTrigger\";\n\nexport function DrawerContent({\n className,\n side = \"right\",\n size,\n appearance,\n animation = \"slide\",\n children,\n ref,\n id,\n style,\n}: DrawerContentProps) {\n const { open, setOpen, titleId, descriptionId, contentRef } = useDrawerContext(\"DrawerContent\");\n const resolvedSide = side ?? \"right\";\n const reduceMotion = useReducedMotion();\n const overlayMotion = drawerPanelPresets(resolvedSide)[reduceMotion ? \"fade\" : animation];\n const panelMotion = drawerPanelPresets(resolvedSide)[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 if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50\" data-slot=\"drawer-portal\">\n <motion.button\n type=\"button\"\n aria-hidden\n tabIndex={-1}\n data-slot=\"drawer-overlay\"\n className={drawerOverlayVariants()}\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.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-slot=\"drawer-content\"\n tabIndex={-1}\n className={cn(\n drawerContentVariants({ side: resolvedSide, size, appearance }),\n className,\n )}\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\nDrawerContent.displayName = \"DrawerContent\";\n\nexport function DrawerHeader({ className, children }: DrawerSectionProps) {\n return (\n <header data-slot=\"drawer-header\" className={cn(\"mb-4 flex flex-col gap-2\", className)}>\n {children}\n </header>\n );\n}\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport function DrawerBody({ className, children }: DrawerSectionProps) {\n return (\n <div data-slot=\"drawer-body\" className={cn(\"flex-1 text-sm text-slate-300\", className)}>\n {children}\n </div>\n );\n}\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport function DrawerFooter({ className, children }: DrawerSectionProps) {\n return (\n <footer data-slot=\"drawer-footer\" className={cn(\"mt-6 flex justify-end gap-2\", className)}>\n {children}\n </footer>\n );\n}\n\nDrawerFooter.displayName = \"DrawerFooter\";\n\nexport function DrawerTitle({ className, children }: DrawerSectionProps) {\n const { titleId } = useDrawerContext(\"DrawerTitle\");\n return (\n <h2 id={titleId} data-slot=\"drawer-title\" className={cn(\"text-lg font-semibold\", className)}>\n {children}\n </h2>\n );\n}\n\nDrawerTitle.displayName = \"DrawerTitle\";\n\nexport function DrawerClose({ className, children, ...rest }: DrawerSectionProps) {\n const { setOpen } = useDrawerContext(\"DrawerClose\");\n return (\n <button\n type=\"button\"\n data-slot=\"drawer-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 drawer\"\n onClick={() => setOpen(false)}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nDrawerClose.displayName = \"DrawerClose\";\n","import type { HTMLMotionProps } from \"framer-motion\";\n\nexport type DrawerAnimation = \"none\" | \"fade\" | \"scale\" | \"slide\";\n\ntype DrawerPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"initial\" | \"animate\" | \"exit\" | \"transition\"\n>;\n\nexport type DrawerAnimationPresets = Record<DrawerAnimation, DrawerPresetMotionProps>;\n\nexport const drawerPanelPresets = (\n side: \"left\" | \"right\" | \"top\" | \"bottom\",\n): DrawerAnimationPresets => ({\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.98 },\n animate: { opacity: 1, scale: 1 },\n exit: { opacity: 0, scale: 0.98 },\n transition: { type: \"spring\", stiffness: 420, damping: 32 },\n },\n slide: {\n initial:\n side === \"left\"\n ? { x: -24, opacity: 0 }\n : side === \"right\"\n ? { x: 24, opacity: 0 }\n : side === \"top\"\n ? { y: -24, opacity: 0 }\n : { y: 24, opacity: 0 },\n animate: { x: 0, y: 0, opacity: 1 },\n exit:\n side === \"left\"\n ? { x: -16, opacity: 0 }\n : side === \"right\"\n ? { x: 16, opacity: 0 }\n : side === \"top\"\n ? { y: -16, opacity: 0 }\n : { y: 16, opacity: 0 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n});\n","import { cva } from \"class-variance-authority\";\n\nexport const drawerOverlayVariants = cva(\"fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm\");\n\nexport const drawerTriggerVariants = 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 drawerContentVariants = cva(\n \"fixed z-50 flex max-h-[min(92vh,900px)] flex-col 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 side: {\n left: \"left-0 top-0 h-full w-[min(100%,420px)]\",\n right: \"right-0 top-0 h-full w-[min(100%,420px)]\",\n top: \"left-0 top-0 w-full max-h-[min(92vh,520px)]\",\n bottom: \"bottom-0 left-0 w-full max-h-[min(92vh,520px)]\",\n },\n size: {\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n full: \"\",\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 compoundVariants: [\n { side: \"left\", size: \"sm\", class: \"w-[min(100%,320px)]\" },\n { side: \"left\", size: \"md\", class: \"w-[min(100%,420px)]\" },\n { side: \"left\", size: \"lg\", class: \"w-[min(100%,520px)]\" },\n { side: \"left\", size: \"xl\", class: \"w-[min(100%,640px)]\" },\n { side: \"left\", size: \"full\", class: \"w-full max-w-none\" },\n { side: \"right\", size: \"sm\", class: \"w-[min(100%,320px)]\" },\n { side: \"right\", size: \"md\", class: \"w-[min(100%,420px)]\" },\n { side: \"right\", size: \"lg\", class: \"w-[min(100%,520px)]\" },\n { side: \"right\", size: \"xl\", class: \"w-[min(100%,640px)]\" },\n { side: \"right\", size: \"full\", class: \"w-full max-w-none\" },\n ],\n defaultVariants: {\n side: \"right\",\n size: \"md\",\n appearance: \"default\",\n },\n },\n);\n"],"mappings":"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","names":[]}
|
|
@@ -36,15 +36,15 @@ declare const DropdownContent: ({ children, className, placement, spacing, divid
|
|
|
36
36
|
declare const DropdownItem: ({ children, value, className, variant, onSelect, leftIcon, rightIcon, ...props }: DropdownItemProps) => react_jsx_runtime.JSX.Element;
|
|
37
37
|
|
|
38
38
|
declare const triggerVariants: (props?: ({
|
|
39
|
-
variant?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" |
|
|
39
|
+
variant?: "default" | "outline" | "ghost" | "white" | "black" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
|
|
40
40
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
41
41
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
42
42
|
declare const contentVariants: (props?: ({
|
|
43
|
-
placement?: "
|
|
44
|
-
spacing?: "
|
|
43
|
+
placement?: "top" | "bottom" | "left" | "right" | null | undefined;
|
|
44
|
+
spacing?: "default" | "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
|
|
45
45
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
46
46
|
declare const itemVariants: (props?: ({
|
|
47
|
-
variant?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" |
|
|
47
|
+
variant?: "default" | "outline" | "ghost" | "white" | "black" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
|
|
48
48
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
49
49
|
|
|
50
50
|
export { Dropdown, DropdownContent, type DropdownContentProps, DropdownItem, type DropdownItemProps, type DropdownProps, DropdownTrigger, type DropdownTriggerProps, contentVariants, itemVariants, triggerVariants };
|
package/dist/ui/dropdown.d.ts
CHANGED
|
@@ -36,15 +36,15 @@ declare const DropdownContent: ({ children, className, placement, spacing, divid
|
|
|
36
36
|
declare const DropdownItem: ({ children, value, className, variant, onSelect, leftIcon, rightIcon, ...props }: DropdownItemProps) => react_jsx_runtime.JSX.Element;
|
|
37
37
|
|
|
38
38
|
declare const triggerVariants: (props?: ({
|
|
39
|
-
variant?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" |
|
|
39
|
+
variant?: "default" | "outline" | "ghost" | "white" | "black" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
|
|
40
40
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
41
41
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
42
42
|
declare const contentVariants: (props?: ({
|
|
43
|
-
placement?: "
|
|
44
|
-
spacing?: "
|
|
43
|
+
placement?: "top" | "bottom" | "left" | "right" | null | undefined;
|
|
44
|
+
spacing?: "default" | "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
|
|
45
45
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
46
46
|
declare const itemVariants: (props?: ({
|
|
47
|
-
variant?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" |
|
|
47
|
+
variant?: "default" | "outline" | "ghost" | "white" | "black" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gray" | "amber" | "violet" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
|
|
48
48
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
49
49
|
|
|
50
50
|
export { Dropdown, DropdownContent, type DropdownContentProps, DropdownItem, type DropdownItemProps, type DropdownProps, DropdownTrigger, type DropdownTriggerProps, contentVariants, itemVariants, triggerVariants };
|
package/dist/ui/dropdown.js
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
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/dropdown/dropdown.tsx
|
|
5
|
-
import {
|
|
6
|
-
createContext,
|
|
7
|
-
useContext,
|
|
8
|
-
useState,
|
|
9
|
-
useRef,
|
|
10
|
-
useEffect
|
|
11
|
-
} from "react";
|
|
12
|
-
import { FiCheck } from "react-icons/fi";
|
|
13
6
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _react = require('react');
|
|
13
|
+
var _fi = require('react-icons/fi');
|
|
20
14
|
|
|
21
15
|
// src/ui/dropdown/variants.ts
|
|
22
|
-
|
|
23
|
-
var triggerVariants = cva(
|
|
16
|
+
var _classvarianceauthority = require('class-variance-authority');
|
|
17
|
+
var triggerVariants = _classvarianceauthority.cva.call(void 0,
|
|
24
18
|
"inline-flex items-center justify-between rounded-md font-medium transition focus:outline-none cursor-pointer",
|
|
25
19
|
{
|
|
26
20
|
variants: {
|
|
@@ -64,7 +58,7 @@ var triggerVariants = cva(
|
|
|
64
58
|
}
|
|
65
59
|
}
|
|
66
60
|
);
|
|
67
|
-
var contentVariants = cva(
|
|
61
|
+
var contentVariants = _classvarianceauthority.cva.call(void 0,
|
|
68
62
|
"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border",
|
|
69
63
|
{
|
|
70
64
|
variants: {
|
|
@@ -89,7 +83,7 @@ var contentVariants = cva(
|
|
|
89
83
|
}
|
|
90
84
|
}
|
|
91
85
|
);
|
|
92
|
-
var itemVariants = cva(
|
|
86
|
+
var itemVariants = _classvarianceauthority.cva.call(void 0,
|
|
93
87
|
"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors",
|
|
94
88
|
{
|
|
95
89
|
variants: {
|
|
@@ -129,10 +123,10 @@ var itemVariants = cva(
|
|
|
129
123
|
);
|
|
130
124
|
|
|
131
125
|
// src/ui/dropdown/dropdown.tsx
|
|
132
|
-
|
|
133
|
-
var DropdownContext = createContext(null);
|
|
126
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
127
|
+
var DropdownContext = _react.createContext.call(void 0, null);
|
|
134
128
|
var useDropdown = () => {
|
|
135
|
-
const ctx = useContext(DropdownContext);
|
|
129
|
+
const ctx = _react.useContext.call(void 0, DropdownContext);
|
|
136
130
|
if (!ctx) throw new Error("Use inside Dropdown");
|
|
137
131
|
return ctx;
|
|
138
132
|
};
|
|
@@ -143,12 +137,12 @@ var Dropdown = ({
|
|
|
143
137
|
onOpenChange,
|
|
144
138
|
multiSelect = false
|
|
145
139
|
}) => {
|
|
146
|
-
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
147
|
-
const [selectedValues, setSelectedValues] = useState([]);
|
|
148
|
-
const open = controlledOpen
|
|
140
|
+
const [uncontrolledOpen, setUncontrolledOpen] = _react.useState.call(void 0, defaultOpen);
|
|
141
|
+
const [selectedValues, setSelectedValues] = _react.useState.call(void 0, []);
|
|
142
|
+
const open = _nullishCoalesce(controlledOpen, () => ( uncontrolledOpen));
|
|
149
143
|
const setOpen = (val) => {
|
|
150
144
|
if (controlledOpen !== void 0) {
|
|
151
|
-
onOpenChange
|
|
145
|
+
_optionalChain([onOpenChange, 'optionalCall', _ => _(val)]);
|
|
152
146
|
} else {
|
|
153
147
|
setUncontrolledOpen(val);
|
|
154
148
|
}
|
|
@@ -164,7 +158,7 @@ var Dropdown = ({
|
|
|
164
158
|
(prev) => prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value]
|
|
165
159
|
);
|
|
166
160
|
};
|
|
167
|
-
return /* @__PURE__ */ jsx(
|
|
161
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
168
162
|
DropdownContext.Provider,
|
|
169
163
|
{
|
|
170
164
|
value: {
|
|
@@ -175,7 +169,7 @@ var Dropdown = ({
|
|
|
175
169
|
toggleSelect,
|
|
176
170
|
multiSelect
|
|
177
171
|
},
|
|
178
|
-
children: /* @__PURE__ */ jsx("div", { className: "relative inline-block", children })
|
|
172
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative inline-block", children })
|
|
179
173
|
}
|
|
180
174
|
);
|
|
181
175
|
};
|
|
@@ -187,11 +181,11 @@ var DropdownTrigger = ({
|
|
|
187
181
|
...props
|
|
188
182
|
}) => {
|
|
189
183
|
const { toggle } = useDropdown();
|
|
190
|
-
return /* @__PURE__ */ jsx(
|
|
184
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
191
185
|
"button",
|
|
192
186
|
{
|
|
193
187
|
onClick: toggle,
|
|
194
|
-
className: cn(triggerVariants({ variant, size }), className),
|
|
188
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, triggerVariants({ variant, size }), className),
|
|
195
189
|
...props,
|
|
196
190
|
children
|
|
197
191
|
}
|
|
@@ -206,8 +200,8 @@ var DropdownContent = ({
|
|
|
206
200
|
...props
|
|
207
201
|
}) => {
|
|
208
202
|
const { open, setOpen } = useDropdown();
|
|
209
|
-
const ref = useRef(null);
|
|
210
|
-
useEffect(() => {
|
|
203
|
+
const ref = _react.useRef.call(void 0, null);
|
|
204
|
+
_react.useEffect.call(void 0, () => {
|
|
211
205
|
const handleClickOutside = (e) => {
|
|
212
206
|
if (ref.current && !ref.current.contains(e.target)) {
|
|
213
207
|
setOpen(false);
|
|
@@ -217,11 +211,11 @@ var DropdownContent = ({
|
|
|
217
211
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
218
212
|
}, [setOpen]);
|
|
219
213
|
if (!open) return null;
|
|
220
|
-
return /* @__PURE__ */ jsx(
|
|
214
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
221
215
|
"div",
|
|
222
216
|
{
|
|
223
217
|
ref,
|
|
224
|
-
className: cn(contentVariants({ placement, spacing }), className, divider && "divide-y divide-current"),
|
|
218
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, contentVariants({ placement, spacing }), className, divider && "divide-y divide-current"),
|
|
225
219
|
...props,
|
|
226
220
|
children
|
|
227
221
|
}
|
|
@@ -241,9 +235,9 @@ var DropdownItem = ({
|
|
|
241
235
|
const isSelected = selectedValues.includes(value);
|
|
242
236
|
const handleClick = () => {
|
|
243
237
|
toggleSelect(value);
|
|
244
|
-
onSelect
|
|
238
|
+
_optionalChain([onSelect, 'optionalCall', _2 => _2()]);
|
|
245
239
|
};
|
|
246
|
-
return /* @__PURE__ */ jsxs(
|
|
240
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
247
241
|
"div",
|
|
248
242
|
{
|
|
249
243
|
tabIndex: 0,
|
|
@@ -251,28 +245,28 @@ var DropdownItem = ({
|
|
|
251
245
|
onKeyDown: (e) => {
|
|
252
246
|
if (e.key === "Enter") handleClick();
|
|
253
247
|
},
|
|
254
|
-
className: cn(itemVariants({ variant }), className),
|
|
248
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, itemVariants({ variant }), className),
|
|
255
249
|
...props,
|
|
256
250
|
children: [
|
|
257
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
251
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
258
252
|
leftIcon,
|
|
259
253
|
children
|
|
260
254
|
] }),
|
|
261
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
262
|
-
isSelected && /* @__PURE__ */ jsx(FiCheck, {}),
|
|
255
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
256
|
+
isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _fi.FiCheck, {}),
|
|
263
257
|
rightIcon
|
|
264
258
|
] })
|
|
265
259
|
]
|
|
266
260
|
}
|
|
267
261
|
);
|
|
268
262
|
};
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
exports.Dropdown = Dropdown; exports.DropdownContent = DropdownContent; exports.DropdownItem = DropdownItem; exports.DropdownTrigger = DropdownTrigger; exports.contentVariants = contentVariants; exports.itemVariants = itemVariants; exports.triggerVariants = triggerVariants;
|
|
278
272
|
//# sourceMappingURL=dropdown.js.map
|
package/dist/ui/dropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/dropdown/dropdown.tsx","../../src/lib/utils.ts","../../src/ui/dropdown/variants.ts"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type { DropdownContextType, DropdownProps, DropdownTriggerProps, DropdownContentProps, DropdownItemProps } from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value)\n ? prev.filter((v) => v !== value)\n : [...prev, value]\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle } = useDropdown();\n\n return (\n <button\n onClick={toggle}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () =>\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }, [setOpen]);\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n className={cn(contentVariants({ placement, spacing }), className, divider && \"divide-y divide-current\")}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") handleClick();\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\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 { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus:outline-none cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-900 text-white\",\n outline: \"border border-gray-300\",\n ghost: \"bg-transparent\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-600 text-sky-600\",\n rose: \"border border-rose-600 text-rose-600\",\n purple: \"border border-purple-600 text-purple-600\",\n pink: \"border border-pink-600 text-pink-600\",\n orange: \"border border-orange-600 text-orange-600\",\n yellow: \"border border-yellow-600 text-yellow-600\",\n teal: \"border border-teal-600 text-teal-600\",\n indigo: \"border border-indigo-600 text-indigo-600\",\n emerald: \"border border-emerald-600 text-emerald-600\",\n gray: \"border border-gray-600 text-gray-600\",\n amber: \"border border-amber-600 text-amber-600\",\n violet: \"border border-violet-600 text-violet-600\",\n \"gradient-blue\": \"bg-gradient-to-r from-blue-600 to-purple-600 text-gradient-to-r from-blue-600 to-purple-600\",\n \"gradient-green\": \"bg-gradient-to-r from-green-600 to-lime-600 text-gradient-to-r from-green-600 to-lime-600\",\n \"gradient-red\": \"bg-gradient-to-r from-red-600 to-pink-600 text-gradient-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\": \"bg-gradient-to-r from-yellow-600 to-orange-600 text-gradient-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\": \"bg-gradient-to-r from-purple-600 to-pink-600 text-gradient-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\": \"bg-gradient-to-r from-teal-600 to-cyan-600 text-gradient-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\": \"bg-gradient-to-r from-indigo-600 to-purple-600 text-gradient-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\": \"bg-gradient-to-r from-pink-600 to-rose-600 text-gradient-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\": \"bg-gradient-to-r from-orange-600 to-red-600 text-gradient-to-r from-orange-600 to-red-600\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\n },\n spacing:{\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n }\n },\n defaultVariants: {\n placement: \"bottom\",\n spacing: \"default\",\n },\n }\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors\",\n {\n variants: {\n variant: {\n default: \"hover:bg-gray-100 hover:text-gray-900 text-gray-100\",\n outline: \"hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100\",\n ghost: \"hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100\",\n white: \"hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900\",\n black: \"hover:bg-gray-100 hover:text-gray-900 bg-black text-white\",\n sky: \"hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800\",\n purple: \"hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800\",\n orange: \"hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800\",\n yellow: \"hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800\",\n indigo: \"hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800\",\n emerald: \"hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800\",\n amber: \"hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800\",\n violet: \"hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800\",\n \"gradient-blue\": \"hover:bg-gradient-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-gradient-to-r from-blue-200 to-purple-200 text-blue-800\",\n \"gradient-green\": \"hover:bg-gradient-to-r from-green-600 to-lime-600 hover:text-green-900 bg-gradient-to-r from-green-200 to-lime-200 text-green-800\",\n \"gradient-red\": \"hover:bg-gradient-to-r from-red-600 to-pink-600 hover:text-red-900 bg-gradient-to-r from-red-200 to-pink-200 text-red-800\",\n \"gradient-yellow\": \"hover:bg-gradient-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-gradient-to-r from-yellow-200 to-orange-200 text-yellow-800\",\n \"gradient-purple\": \"hover:bg-gradient-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-gradient-to-r from-purple-200 to-pink-200 text-purple-800\",\n \"gradient-teal\": \"hover:bg-gradient-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-gradient-to-r from-teal-200 to-cyan-200 text-teal-800\",\n \"gradient-indigo\": \"hover:bg-gradient-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-gradient-to-r from-indigo-200 to-purple-200 text-indigo-800\",\n \"gradient-pink\": \"hover:bg-gradient-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-gradient-to-r from-pink-200 to-rose-200 text-pink-800\",\n \"gradient-orange\": \"hover:bg-gradient-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-gradient-to-r from-orange-200 to-red-200 text-orange-800\",\n },\n },\n defaultVariants: {\n variant: \"default\",\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/dropdown.js"],"names":[],"mappings":"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","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/dropdown.js","sourcesContent":[null]}
|