@zentauri-ui/zentauri-components 1.7.1 → 1.7.3
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 +9 -5
- package/cli/registry.json +2 -0
- package/dist/chunk-BC6M42HQ.mjs +251 -0
- package/dist/chunk-BC6M42HQ.mjs.map +1 -0
- package/dist/chunk-KEKMMNL5.mjs +600 -0
- package/dist/chunk-KEKMMNL5.mjs.map +1 -0
- package/dist/chunk-NZDHSIIC.js +616 -0
- package/dist/chunk-NZDHSIIC.js.map +1 -0
- package/dist/chunk-QSPXPU72.js +259 -0
- package/dist/chunk-QSPXPU72.js.map +1 -0
- package/dist/design-system/command.d.ts +41 -0
- package/dist/design-system/command.d.ts.map +1 -0
- package/dist/design-system/index.d.ts +2 -0
- package/dist/design-system/index.d.ts.map +1 -1
- package/dist/design-system/popover.d.ts +40 -0
- package/dist/design-system/popover.d.ts.map +1 -0
- package/dist/ui/command/animated/animations.d.ts +3 -0
- package/dist/ui/command/animated/animations.d.ts.map +1 -0
- package/dist/ui/command/animated/command-content-animated.d.ts +6 -0
- package/dist/ui/command/animated/command-content-animated.d.ts.map +1 -0
- package/dist/ui/command/animated/index.d.ts +4 -0
- package/dist/ui/command/animated/index.d.ts.map +1 -0
- package/dist/ui/command/animated/types.d.ts +9 -0
- package/dist/ui/command/animated/types.d.ts.map +1 -0
- package/dist/ui/command/animated.js +92 -0
- package/dist/ui/command/animated.js.map +1 -0
- package/dist/ui/command/animated.mjs +89 -0
- package/dist/ui/command/animated.mjs.map +1 -0
- package/dist/ui/command/command-base.d.ts +53 -0
- package/dist/ui/command/command-base.d.ts.map +1 -0
- package/dist/ui/command/command.d.ts +6 -0
- package/dist/ui/command/command.d.ts.map +1 -0
- package/dist/ui/command/index.d.ts +5 -0
- package/dist/ui/command/index.d.ts.map +1 -0
- package/dist/ui/command/types.d.ts +111 -0
- package/dist/ui/command/types.d.ts.map +1 -0
- package/dist/ui/command/variants.d.ts +15 -0
- package/dist/ui/command/variants.d.ts.map +1 -0
- package/dist/ui/command.js +69 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/command.mjs +16 -0
- package/dist/ui/command.mjs.map +1 -0
- package/dist/ui/popover/animated/animations.d.ts +3 -0
- package/dist/ui/popover/animated/animations.d.ts.map +1 -0
- package/dist/ui/popover/animated/index.d.ts +4 -0
- package/dist/ui/popover/animated/index.d.ts.map +1 -0
- package/dist/ui/popover/animated/popover-content-animated.d.ts +3 -0
- package/dist/ui/popover/animated/popover-content-animated.d.ts.map +1 -0
- package/dist/ui/popover/animated/types.d.ts +9 -0
- package/dist/ui/popover/animated/types.d.ts.map +1 -0
- package/dist/ui/popover/animated.js +67 -0
- package/dist/ui/popover/animated.js.map +1 -0
- package/dist/ui/popover/animated.mjs +64 -0
- package/dist/ui/popover/animated.mjs.map +1 -0
- package/dist/ui/popover/index.d.ts +4 -0
- package/dist/ui/popover/index.d.ts.map +1 -0
- package/dist/ui/popover/popover-base.d.ts +8 -0
- package/dist/ui/popover/popover-base.d.ts.map +1 -0
- package/dist/ui/popover/popover.d.ts +2 -0
- package/dist/ui/popover/popover.d.ts.map +1 -0
- package/dist/ui/popover/types.d.ts +34 -0
- package/dist/ui/popover/types.d.ts.map +1 -0
- package/dist/ui/popover/variants.d.ts +6 -0
- package/dist/ui/popover/variants.d.ts.map +1 -0
- package/dist/ui/popover.js +34 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/popover.mjs +5 -0
- package/dist/ui/popover.mjs.map +1 -0
- package/package.json +1 -1
- package/src/design-system/command.ts +80 -0
- package/src/design-system/index.ts +2 -0
- package/src/design-system/popover.ts +66 -0
- package/src/ui/command/animated/animations.ts +29 -0
- package/src/ui/command/animated/command-content-animated.tsx +58 -0
- package/src/ui/command/animated/index.ts +10 -0
- package/src/ui/command/animated/types.ts +23 -0
- package/src/ui/command/command-base.tsx +660 -0
- package/src/ui/command/command.test.tsx +130 -0
- package/src/ui/command/command.tsx +8 -0
- package/src/ui/command/index.ts +34 -0
- package/src/ui/command/types.ts +129 -0
- package/src/ui/command/variants.ts +41 -0
- package/src/ui/popover/animated/animations.ts +15 -0
- package/src/ui/popover/animated/index.ts +10 -0
- package/src/ui/popover/animated/popover-content-animated.tsx +54 -0
- package/src/ui/popover/animated/types.ts +18 -0
- package/src/ui/popover/index.ts +18 -0
- package/src/ui/popover/popover-base.tsx +261 -0
- package/src/ui/popover/popover.test.tsx +84 -0
- package/src/ui/popover/popover.tsx +8 -0
- package/src/ui/popover/types.ts +38 -0
- package/src/ui/popover/variants.ts +21 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkQSPXPU72_js = require('../../chunk-QSPXPU72.js');
|
|
5
|
+
var chunkZS5756ZC_js = require('../../chunk-ZS5756ZC.js');
|
|
6
|
+
var framerMotion = require('framer-motion');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
// src/ui/popover/animated/animations.ts
|
|
10
|
+
var popoverAnimationPresets = {
|
|
11
|
+
none: {},
|
|
12
|
+
fade: {
|
|
13
|
+
initial: { opacity: 0, y: -4 },
|
|
14
|
+
animate: { opacity: 1, y: 0 },
|
|
15
|
+
transition: { duration: 0.16, ease: "easeOut" }
|
|
16
|
+
},
|
|
17
|
+
scale: {
|
|
18
|
+
initial: { opacity: 0, scale: 0.96 },
|
|
19
|
+
animate: { opacity: 1, scale: 1 },
|
|
20
|
+
transition: { duration: 0.16, ease: "easeOut" }
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var PopoverContentAnimated = ({
|
|
24
|
+
children,
|
|
25
|
+
className,
|
|
26
|
+
variant,
|
|
27
|
+
size,
|
|
28
|
+
width,
|
|
29
|
+
side = "bottom",
|
|
30
|
+
align = "center",
|
|
31
|
+
role = "dialog",
|
|
32
|
+
animation = "none",
|
|
33
|
+
onDrag: _onDrag,
|
|
34
|
+
onDragStart: _onDragStart,
|
|
35
|
+
onDragEnd: _onDragEnd,
|
|
36
|
+
onAnimationStart: _onAnimationStart,
|
|
37
|
+
...props
|
|
38
|
+
}) => {
|
|
39
|
+
const { open, contentId, contentRef } = chunkQSPXPU72_js.usePopover();
|
|
40
|
+
if (!open) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const motionProps = popoverAnimationPresets[animation];
|
|
44
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
+
framerMotion.motion.div,
|
|
46
|
+
{
|
|
47
|
+
ref: contentRef,
|
|
48
|
+
id: contentId,
|
|
49
|
+
"data-open": open,
|
|
50
|
+
role,
|
|
51
|
+
tabIndex: -1,
|
|
52
|
+
...motionProps,
|
|
53
|
+
className: chunkZS5756ZC_js.cn(
|
|
54
|
+
chunkQSPXPU72_js.popoverContentVariants({ variant, size, width }),
|
|
55
|
+
chunkQSPXPU72_js.sideAlignClass(side, align),
|
|
56
|
+
className
|
|
57
|
+
),
|
|
58
|
+
...props,
|
|
59
|
+
children
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
exports.PopoverContentAnimated = PopoverContentAnimated;
|
|
65
|
+
exports.popoverAnimationPresets = popoverAnimationPresets;
|
|
66
|
+
//# sourceMappingURL=animated.js.map
|
|
67
|
+
//# sourceMappingURL=animated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ui/popover/animated/animations.ts","../../../src/ui/popover/animated/popover-content-animated.tsx"],"names":["usePopover","jsx","motion","cn","popoverContentVariants","sideAlignClass"],"mappings":";;;;;;;;AAEO,IAAM,uBAAA,GAAmD;AAAA,EAC9D,MAAM,EAAC;AAAA,EACP,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,EAAA,EAAG;AAAA,IAC7B,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,IAC5B,UAAA,EAAY,EAAE,QAAA,EAAU,IAAA,EAAM,MAAM,SAAA;AAAU,GAChD;AAAA,EACA,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,OAAO,IAAA,EAAK;AAAA,IACnC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,OAAO,CAAA,EAAE;AAAA,IAChC,UAAA,EAAY,EAAE,QAAA,EAAU,IAAA,EAAM,MAAM,SAAA;AAAU;AAElD;ACHO,IAAM,yBAAyB,CAAC;AAAA,EACrC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,KAAA,GAAQ,QAAA;AAAA,EACR,IAAA,GAAO,QAAA;AAAA,EACP,SAAA,GAAY,MAAA;AAAA,EACZ,MAAA,EAAQ,OAAA;AAAA,EACR,WAAA,EAAa,YAAA;AAAA,EACb,SAAA,EAAW,UAAA;AAAA,EACX,gBAAA,EAAkB,iBAAA;AAAA,EAClB,GAAG;AACL,CAAA,KAAmC;AACjC,EAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAW,UAAA,KAAeA,2BAAA,EAAW;AAEnD,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,wBAAwB,SAAS,CAAA;AAErD,EAAA,uBACEC,cAAA;AAAA,IAACC,mBAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,GAAA,EAAK,UAAA;AAAA,MACL,EAAA,EAAI,SAAA;AAAA,MACJ,WAAA,EAAW,IAAA;AAAA,MACX,IAAA;AAAA,MACA,QAAA,EAAU,EAAA;AAAA,MACT,GAAG,WAAA;AAAA,MACJ,SAAA,EAAWC,mBAAA;AAAA,QACTC,uCAAA,CAAuB,EAAE,OAAA,EAAS,IAAA,EAAM,OAAO,CAAA;AAAA,QAC/CC,+BAAA,CAAe,MAAM,KAAK,CAAA;AAAA,QAC1B;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"animated.js","sourcesContent":["import type { PopoverAnimationPresets } from \"./types\";\n\nexport const popoverAnimationPresets: PopoverAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0, y: -4 },\n animate: { opacity: 1, y: 0 },\n transition: { duration: 0.16, ease: \"easeOut\" },\n },\n scale: {\n initial: { opacity: 0, scale: 0.96 },\n animate: { opacity: 1, scale: 1 },\n transition: { duration: 0.16, ease: \"easeOut\" },\n },\n};\n","\"use client\";\n\nimport { motion } from \"framer-motion\";\n\nimport { cn } from \"../../../lib/utils\";\n\nimport { popoverAnimationPresets } from \"./animations\";\nimport type { PopoverContentAnimatedProps } from \"./types\";\nimport { sideAlignClass, usePopover } from \"../popover-base\";\nimport { popoverContentVariants } from \"../variants\";\n\nexport const PopoverContentAnimated = ({\n children,\n className,\n variant,\n size,\n width,\n side = \"bottom\",\n align = \"center\",\n role = \"dialog\",\n animation = \"none\",\n onDrag: _onDrag,\n onDragStart: _onDragStart,\n onDragEnd: _onDragEnd,\n onAnimationStart: _onAnimationStart,\n ...props\n}: PopoverContentAnimatedProps) => {\n const { open, contentId, contentRef } = usePopover();\n\n if (!open) {\n return null;\n }\n\n const motionProps = popoverAnimationPresets[animation];\n\n return (\n <motion.div\n ref={contentRef}\n id={contentId}\n data-open={open}\n role={role}\n tabIndex={-1}\n {...motionProps}\n className={cn(\n popoverContentVariants({ variant, size, width }),\n sideAlignClass(side, align),\n className,\n )}\n {...props}\n >\n {children}\n </motion.div>\n );\n};\n"]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { usePopover, popoverContentVariants, sideAlignClass } from '../../chunk-BC6M42HQ.mjs';
|
|
3
|
+
import { cn } from '../../chunk-4D54YOL6.mjs';
|
|
4
|
+
import { motion } from 'framer-motion';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
// src/ui/popover/animated/animations.ts
|
|
8
|
+
var popoverAnimationPresets = {
|
|
9
|
+
none: {},
|
|
10
|
+
fade: {
|
|
11
|
+
initial: { opacity: 0, y: -4 },
|
|
12
|
+
animate: { opacity: 1, y: 0 },
|
|
13
|
+
transition: { duration: 0.16, ease: "easeOut" }
|
|
14
|
+
},
|
|
15
|
+
scale: {
|
|
16
|
+
initial: { opacity: 0, scale: 0.96 },
|
|
17
|
+
animate: { opacity: 1, scale: 1 },
|
|
18
|
+
transition: { duration: 0.16, ease: "easeOut" }
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var PopoverContentAnimated = ({
|
|
22
|
+
children,
|
|
23
|
+
className,
|
|
24
|
+
variant,
|
|
25
|
+
size,
|
|
26
|
+
width,
|
|
27
|
+
side = "bottom",
|
|
28
|
+
align = "center",
|
|
29
|
+
role = "dialog",
|
|
30
|
+
animation = "none",
|
|
31
|
+
onDrag: _onDrag,
|
|
32
|
+
onDragStart: _onDragStart,
|
|
33
|
+
onDragEnd: _onDragEnd,
|
|
34
|
+
onAnimationStart: _onAnimationStart,
|
|
35
|
+
...props
|
|
36
|
+
}) => {
|
|
37
|
+
const { open, contentId, contentRef } = usePopover();
|
|
38
|
+
if (!open) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const motionProps = popoverAnimationPresets[animation];
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
motion.div,
|
|
44
|
+
{
|
|
45
|
+
ref: contentRef,
|
|
46
|
+
id: contentId,
|
|
47
|
+
"data-open": open,
|
|
48
|
+
role,
|
|
49
|
+
tabIndex: -1,
|
|
50
|
+
...motionProps,
|
|
51
|
+
className: cn(
|
|
52
|
+
popoverContentVariants({ variant, size, width }),
|
|
53
|
+
sideAlignClass(side, align),
|
|
54
|
+
className
|
|
55
|
+
),
|
|
56
|
+
...props,
|
|
57
|
+
children
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export { PopoverContentAnimated, popoverAnimationPresets };
|
|
63
|
+
//# sourceMappingURL=animated.mjs.map
|
|
64
|
+
//# sourceMappingURL=animated.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ui/popover/animated/animations.ts","../../../src/ui/popover/animated/popover-content-animated.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,uBAAA,GAAmD;AAAA,EAC9D,MAAM,EAAC;AAAA,EACP,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,EAAA,EAAG;AAAA,IAC7B,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,IAC5B,UAAA,EAAY,EAAE,QAAA,EAAU,IAAA,EAAM,MAAM,SAAA;AAAU,GAChD;AAAA,EACA,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,OAAO,IAAA,EAAK;AAAA,IACnC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,OAAO,CAAA,EAAE;AAAA,IAChC,UAAA,EAAY,EAAE,QAAA,EAAU,IAAA,EAAM,MAAM,SAAA;AAAU;AAElD;ACHO,IAAM,yBAAyB,CAAC;AAAA,EACrC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,KAAA,GAAQ,QAAA;AAAA,EACR,IAAA,GAAO,QAAA;AAAA,EACP,SAAA,GAAY,MAAA;AAAA,EACZ,MAAA,EAAQ,OAAA;AAAA,EACR,WAAA,EAAa,YAAA;AAAA,EACb,SAAA,EAAW,UAAA;AAAA,EACX,gBAAA,EAAkB,iBAAA;AAAA,EAClB,GAAG;AACL,CAAA,KAAmC;AACjC,EAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAW,UAAA,KAAe,UAAA,EAAW;AAEnD,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,wBAAwB,SAAS,CAAA;AAErD,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,GAAA,EAAK,UAAA;AAAA,MACL,EAAA,EAAI,SAAA;AAAA,MACJ,WAAA,EAAW,IAAA;AAAA,MACX,IAAA;AAAA,MACA,QAAA,EAAU,EAAA;AAAA,MACT,GAAG,WAAA;AAAA,MACJ,SAAA,EAAW,EAAA;AAAA,QACT,sBAAA,CAAuB,EAAE,OAAA,EAAS,IAAA,EAAM,OAAO,CAAA;AAAA,QAC/C,cAAA,CAAe,MAAM,KAAK,CAAA;AAAA,QAC1B;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"animated.mjs","sourcesContent":["import type { PopoverAnimationPresets } from \"./types\";\n\nexport const popoverAnimationPresets: PopoverAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0, y: -4 },\n animate: { opacity: 1, y: 0 },\n transition: { duration: 0.16, ease: \"easeOut\" },\n },\n scale: {\n initial: { opacity: 0, scale: 0.96 },\n animate: { opacity: 1, scale: 1 },\n transition: { duration: 0.16, ease: \"easeOut\" },\n },\n};\n","\"use client\";\n\nimport { motion } from \"framer-motion\";\n\nimport { cn } from \"../../../lib/utils\";\n\nimport { popoverAnimationPresets } from \"./animations\";\nimport type { PopoverContentAnimatedProps } from \"./types\";\nimport { sideAlignClass, usePopover } from \"../popover-base\";\nimport { popoverContentVariants } from \"../variants\";\n\nexport const PopoverContentAnimated = ({\n children,\n className,\n variant,\n size,\n width,\n side = \"bottom\",\n align = \"center\",\n role = \"dialog\",\n animation = \"none\",\n onDrag: _onDrag,\n onDragStart: _onDragStart,\n onDragEnd: _onDragEnd,\n onAnimationStart: _onAnimationStart,\n ...props\n}: PopoverContentAnimatedProps) => {\n const { open, contentId, contentRef } = usePopover();\n\n if (!open) {\n return null;\n }\n\n const motionProps = popoverAnimationPresets[animation];\n\n return (\n <motion.div\n ref={contentRef}\n id={contentId}\n data-open={open}\n role={role}\n tabIndex={-1}\n {...motionProps}\n className={cn(\n popoverContentVariants({ variant, size, width }),\n sideAlignClass(side, align),\n className,\n )}\n {...props}\n >\n {children}\n </motion.div>\n );\n};\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Popover, PopoverTrigger, PopoverContent, PopoverContext, usePopover, } from "./popover";
|
|
2
|
+
export { popoverContentVariants } from "./variants";
|
|
3
|
+
export type { PopoverAlign, PopoverContentProps, PopoverContextType, PopoverProps, PopoverSide, PopoverTriggerProps, } from "./types";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/popover/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PopoverAlign, PopoverContentProps, PopoverContextType, PopoverProps, PopoverSide, PopoverTriggerProps } from "./types";
|
|
2
|
+
export declare const PopoverContext: import("react").Context<PopoverContextType | null>;
|
|
3
|
+
export declare const usePopover: () => PopoverContextType;
|
|
4
|
+
export declare function sideAlignClass(side: PopoverSide, align: PopoverAlign): string;
|
|
5
|
+
export declare const Popover: ({ children, defaultOpen, open: controlledOpen, onOpenChange, closeOnEscape, closeOnOutsideClick, }: PopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const PopoverTrigger: ({ children, className, }: PopoverTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const PopoverContent: ({ children, className, variant, size, width, side, align, role, ...props }: PopoverContentProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
//# sourceMappingURL=popover-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-base.d.ts","sourceRoot":"","sources":["../../../src/ui/popover/popover-base.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,cAAc,oDAAiD,CAAC;AAE7E,eAAO,MAAM,UAAU,0BAMtB,CAAC;AAcF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,UA0BpE;AAED,eAAO,MAAM,OAAO,GAAI,oGAOrB,YAAY,4CA2Ed,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,0BAG5B,mBAAmB,4CAsDrB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,4EAU5B,mBAAmB,mDAwBrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/ui/popover/popover.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import type { ComponentPropsWithRef, ReactNode } from "react";
|
|
3
|
+
import { popoverContentVariants } from "./variants";
|
|
4
|
+
export type PopoverSide = "top" | "left" | "bottom" | "right";
|
|
5
|
+
export type PopoverAlign = "start" | "center" | "end";
|
|
6
|
+
export type PopoverContextType = {
|
|
7
|
+
open: boolean;
|
|
8
|
+
setOpen: (value: boolean) => void;
|
|
9
|
+
toggleOpen: () => void;
|
|
10
|
+
contentId: string;
|
|
11
|
+
triggerRef: React.RefObject<HTMLElement | null>;
|
|
12
|
+
contentRef: React.RefObject<HTMLDivElement | null>;
|
|
13
|
+
};
|
|
14
|
+
export type PopoverProps = {
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
defaultOpen?: boolean;
|
|
17
|
+
open?: boolean;
|
|
18
|
+
onOpenChange?: (open: boolean) => void;
|
|
19
|
+
closeOnEscape?: boolean;
|
|
20
|
+
closeOnOutsideClick?: boolean;
|
|
21
|
+
};
|
|
22
|
+
export type PopoverTriggerProps = {
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
className?: string;
|
|
25
|
+
};
|
|
26
|
+
export type PopoverContentProps = ComponentPropsWithRef<"div"> & {
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
variant?: VariantProps<typeof popoverContentVariants>["variant"];
|
|
29
|
+
size?: VariantProps<typeof popoverContentVariants>["size"];
|
|
30
|
+
width?: VariantProps<typeof popoverContentVariants>["width"];
|
|
31
|
+
side?: PopoverSide;
|
|
32
|
+
align?: PopoverAlign;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/popover/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAC/D,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAA;IAChE,IAAI,CAAC,EAAE,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const popoverContentVariants: (props?: ({
|
|
2
|
+
variant?: "default" | "outline" | "glass" | "sky" | "emerald" | "rose" | "indigo" | "green" | "orange" | "pink" | "purple" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "ghost" | null | undefined;
|
|
3
|
+
size?: "md" | "sm" | "lg" | null | undefined;
|
|
4
|
+
width?: "md" | "sm" | "lg" | "xl" | "2xl" | "xs" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
+
//# sourceMappingURL=variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/popover/variants.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB;;;;8EAWjC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkQSPXPU72_js = require('../chunk-QSPXPU72.js');
|
|
5
|
+
require('../chunk-ZS5756ZC.js');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "Popover", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return chunkQSPXPU72_js.Popover; }
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "PopoverContent", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return chunkQSPXPU72_js.PopoverContent; }
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "PopoverContext", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return chunkQSPXPU72_js.PopoverContext; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "PopoverTrigger", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return chunkQSPXPU72_js.PopoverTrigger; }
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "popoverContentVariants", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () { return chunkQSPXPU72_js.popoverContentVariants; }
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "usePopover", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () { return chunkQSPXPU72_js.usePopover; }
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=popover.js.map
|
|
34
|
+
//# sourceMappingURL=popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"popover.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"popover.mjs"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zentauri-ui/zentauri-components",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.3",
|
|
4
4
|
"description": "React + Tailwind UI kit with charts, ESM/CJS builds, per-entry exports, and a zentauri-components / zentauri-ui CLI to vendor UI or hook source into your app",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export const zuiCommandOverlayBase =
|
|
2
|
+
"fixed inset-0 z-9999 bg-[var(--zui-command-overlay-bg,oklch(12.9%_0.042_264.695_/_0.6))] backdrop-blur-sm";
|
|
3
|
+
|
|
4
|
+
export const zuiCommandTriggerBase =
|
|
5
|
+
"relative inline-flex shrink-0 cursor-pointer items-center gap-2 rounded-md border border-[color:var(--zui-command-trigger-border,#0000001a)] dark:border-[color:var(--zui-command-trigger-border-dark,#ffffff1a)] bg-[var(--zui-command-trigger-bg,oklch(98.4%_0.003_247.858))] dark:bg-[var(--zui-command-trigger-bg-dark,oklch(12.9%_0.042_264.695))] px-3 py-2 text-sm text-[color:var(--zui-command-trigger-fg,oklch(44.6%_0.03_256.802))] dark:text-[color:var(--zui-command-trigger-fg-dark,oklch(86.9%_0.022_252.894))] transition hover:bg-black/5 dark:hover:bg-white/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-cyan-500/40";
|
|
6
|
+
|
|
7
|
+
export const zuiCommandContentBase =
|
|
8
|
+
"fixed left-1/2 top-[15%] z-9999 w-[calc(100%-2rem)] -translate-x-1/2 overflow-hidden rounded-xl border border-[color:var(--zui-command-content-border,#0000001a)] dark:border-[color:var(--zui-command-content-border-dark,#ffffff1a)] bg-[var(--zui-command-content-bg,oklch(98.4%_0.003_247.858))] dark:bg-[var(--zui-command-content-bg-dark,oklch(12.9%_0.042_264.695))] text-[color:var(--zui-command-content-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-command-content-fg-dark,oklch(98.4%_0.003_247.858))] shadow-[var(--zui-command-content-shadow,0_12px_40px_rgba(15,23,42,0.18))] dark:shadow-[var(--zui-command-content-shadow-dark,0_24px_80px_rgba(15,23,42,0.6))] focus:outline-none";
|
|
9
|
+
|
|
10
|
+
export const zuiCommandContentSizes = {
|
|
11
|
+
sm: "max-w-md",
|
|
12
|
+
md: "max-w-lg",
|
|
13
|
+
lg: "max-w-2xl",
|
|
14
|
+
} as const;
|
|
15
|
+
|
|
16
|
+
export const zuiCommandInputRowBase =
|
|
17
|
+
"flex items-center gap-2 border-b border-[color:var(--zui-command-input-border,#0000000f)] dark:border-[color:var(--zui-command-input-border-dark,#ffffff14)] px-4";
|
|
18
|
+
|
|
19
|
+
export const zuiCommandInputBase =
|
|
20
|
+
"h-12 w-full bg-transparent text-sm text-[color:var(--zui-command-input-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-command-input-fg-dark,oklch(98.4%_0.003_247.858))] placeholder:text-[color:var(--zui-command-input-placeholder,oklch(55.1%_0.027_264.364))] dark:placeholder:text-[color:var(--zui-command-input-placeholder-dark,oklch(55.1%_0.027_264.364))] focus:outline-none";
|
|
21
|
+
|
|
22
|
+
export const zuiCommandListBase =
|
|
23
|
+
"max-h-[min(60vh,420px)] overflow-y-auto overscroll-contain p-2";
|
|
24
|
+
|
|
25
|
+
export const zuiCommandGroupHeadingBase =
|
|
26
|
+
"px-2 pb-1 pt-3 text-xs font-semibold uppercase tracking-[0.12em] text-[color:var(--zui-command-group-heading-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-command-group-heading-fg-dark,oklch(70.7%_0.022_261.325))]";
|
|
27
|
+
|
|
28
|
+
export const zuiCommandItemBase =
|
|
29
|
+
"flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2 text-sm text-[color:var(--zui-command-item-fg,oklch(27.8%_0.033_256.848))] dark:text-[color:var(--zui-command-item-fg-dark,oklch(86.9%_0.022_252.894))] transition-colors data-[active=true]:bg-[var(--zui-command-item-active-bg,oklch(95.1%_0.026_236.824))] dark:data-[active=true]:bg-[var(--zui-command-item-active-bg-dark,oklch(28.2%_0.091_267.935_/_0.55))] data-[active=true]:text-[color:var(--zui-command-item-active-fg,oklch(20.8%_0.042_265.755))] dark:data-[active=true]:text-[color:var(--zui-command-item-active-fg-dark,oklch(98.4%_0.003_247.858))] aria-disabled:cursor-not-allowed aria-disabled:opacity-50";
|
|
30
|
+
|
|
31
|
+
export const zuiCommandSeparatorBase =
|
|
32
|
+
"my-1 h-px bg-[var(--zui-command-separator-bg,#0000000f)] dark:bg-[var(--zui-command-separator-bg-dark,#ffffff14)]";
|
|
33
|
+
|
|
34
|
+
export const zuiCommandEmptyBase =
|
|
35
|
+
"px-3 py-8 text-center text-sm text-[color:var(--zui-command-empty-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-command-empty-fg-dark,oklch(70.7%_0.022_261.325))]";
|
|
36
|
+
|
|
37
|
+
export const zuiCommandFooterBase =
|
|
38
|
+
"flex items-center gap-3 border-t border-[color:var(--zui-command-footer-border,#0000000f)] dark:border-[color:var(--zui-command-footer-border-dark,#ffffff14)] px-4 py-2 text-xs text-[color:var(--zui-command-footer-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-command-footer-fg-dark,oklch(70.7%_0.022_261.325))]";
|
|
39
|
+
|
|
40
|
+
export const zuiCommandContentAppearances = {
|
|
41
|
+
default:
|
|
42
|
+
"bg-[var(--zui-command-content-default-bg,oklch(98.4%_0.003_247.858))] dark:bg-[var(--zui-command-content-default-bg-dark,oklch(12.9%_0.042_264.695))]",
|
|
43
|
+
glass:
|
|
44
|
+
"border-[color:var(--zui-command-content-glass-border,#00000026)] dark:border-[color:var(--zui-command-content-glass-border-dark,#ffffff26)] bg-[var(--zui-command-content-glass-bg,oklch(98.4%_0.003_247.858_/_0.7))] dark:bg-[var(--zui-command-content-glass-bg-dark,oklch(12.9%_0.042_264.695_/_0.7))] backdrop-blur-xl",
|
|
45
|
+
sky: "border-[color:var(--zui-command-content-sky-border,oklch(44.3%_0.11_240.79))] dark:border-[color:var(--zui-command-content-sky-border-dark,oklch(58.8%_0.158_241.966))] bg-[var(--zui-command-content-sky-bg,oklch(97.7%_0.013_236.62))] dark:bg-[var(--zui-command-content-sky-bg-dark,oklch(29.3%_0.066_243.157_/_0.7))] backdrop-blur-xl",
|
|
46
|
+
rose: "border-[color:var(--zui-command-content-rose-border,oklch(45.5%_0.188_13.697))] dark:border-[color:var(--zui-command-content-rose-border-dark,oklch(58.6%_0.253_17.585))] bg-[var(--zui-command-content-rose-bg,oklch(96.9%_0.015_12.422))] dark:bg-[var(--zui-command-content-rose-bg-dark,oklch(27.1%_0.105_12.094_/_0.7))] backdrop-blur-xl",
|
|
47
|
+
purple:
|
|
48
|
+
"border-[color:var(--zui-command-content-purple-border,oklch(43.8%_0.218_303.724))] dark:border-[color:var(--zui-command-content-purple-border-dark,oklch(55.8%_0.288_302.321))] bg-[var(--zui-command-content-purple-bg,oklch(97.7%_0.014_308.299))] dark:bg-[var(--zui-command-content-purple-bg-dark,oklch(29.1%_0.149_302.717_/_0.7))] backdrop-blur-xl",
|
|
49
|
+
pink: "border-[color:var(--zui-command-content-pink-border,oklch(45.9%_0.187_3.815))] dark:border-[color:var(--zui-command-content-pink-border-dark,oklch(59.2%_0.249_0.584))] bg-[var(--zui-command-content-pink-bg,oklch(97.1%_0.014_343.198))] dark:bg-[var(--zui-command-content-pink-bg-dark,oklch(28.4%_0.109_3.907_/_0.7))] backdrop-blur-xl",
|
|
50
|
+
orange:
|
|
51
|
+
"border-[color:var(--zui-command-content-orange-border,oklch(47%_0.157_37.304))] dark:border-[color:var(--zui-command-content-orange-border-dark,oklch(64.6%_0.222_41.116))] bg-[var(--zui-command-content-orange-bg,oklch(98%_0.016_73.684))] dark:bg-[var(--zui-command-content-orange-bg-dark,oklch(26.6%_0.079_36.259_/_0.7))] backdrop-blur-xl",
|
|
52
|
+
yellow:
|
|
53
|
+
"border-[color:var(--zui-command-content-yellow-border,oklch(47.6%_0.114_61.907))] dark:border-[color:var(--zui-command-content-yellow-border-dark,oklch(68.1%_0.162_75.834))] bg-[var(--zui-command-content-yellow-bg,oklch(98.7%_0.026_102.212))] dark:bg-[var(--zui-command-content-yellow-bg-dark,oklch(28.6%_0.066_53.813_/_0.7))] backdrop-blur-xl",
|
|
54
|
+
teal: "border-[color:var(--zui-command-content-teal-border,oklch(43.7%_0.078_188.216))] dark:border-[color:var(--zui-command-content-teal-border-dark,oklch(60%_0.118_184.704))] bg-[var(--zui-command-content-teal-bg,oklch(98.4%_0.014_180.72))] dark:bg-[var(--zui-command-content-teal-bg-dark,oklch(27.7%_0.046_192.524_/_0.7))] backdrop-blur-xl",
|
|
55
|
+
indigo:
|
|
56
|
+
"border-[color:var(--zui-command-content-indigo-border,oklch(39.8%_0.195_277.366))] dark:border-[color:var(--zui-command-content-indigo-border-dark,oklch(51.1%_0.262_276.966))] bg-[var(--zui-command-content-indigo-bg,oklch(96.2%_0.018_272.314))] dark:bg-[var(--zui-command-content-indigo-bg-dark,oklch(25.7%_0.09_281.288_/_0.7))] backdrop-blur-xl",
|
|
57
|
+
emerald:
|
|
58
|
+
"border-[color:var(--zui-command-content-emerald-border,oklch(43.2%_0.095_166.913))] dark:border-[color:var(--zui-command-content-emerald-border-dark,oklch(59.6%_0.145_163.225))] bg-[var(--zui-command-content-emerald-bg,oklch(97.9%_0.021_166.113))] dark:bg-[var(--zui-command-content-emerald-bg-dark,oklch(26.2%_0.051_172.552_/_0.7))] backdrop-blur-xl",
|
|
59
|
+
gray: "border-[color:var(--zui-command-content-gray-border,oklch(27.8%_0.033_256.848))] dark:border-[color:var(--zui-command-content-gray-border-dark,oklch(44.6%_0.03_256.802))] bg-[var(--zui-command-content-gray-bg,oklch(98.5%_0.002_247.839))] dark:bg-[var(--zui-command-content-gray-bg-dark,oklch(13%_0.028_261.692_/_0.7))] backdrop-blur-xl",
|
|
60
|
+
amber:
|
|
61
|
+
"border-[color:var(--zui-command-content-amber-border,oklch(47.3%_0.137_46.201))] dark:border-[color:var(--zui-command-content-amber-border-dark,oklch(66.6%_0.179_58.318))] bg-[var(--zui-command-content-amber-bg,oklch(98.7%_0.022_95.277))] dark:bg-[var(--zui-command-content-amber-bg-dark,oklch(27.9%_0.077_45.635_/_0.7))] backdrop-blur-xl",
|
|
62
|
+
violet:
|
|
63
|
+
"border-[color:var(--zui-command-content-violet-border,oklch(43.2%_0.232_292.759))] dark:border-[color:var(--zui-command-content-violet-border-dark,oklch(54.1%_0.281_293.009))] bg-[var(--zui-command-content-violet-bg,oklch(96.9%_0.016_293.756))] dark:bg-[var(--zui-command-content-violet-bg-dark,oklch(28.3%_0.141_291.089_/_0.7))] backdrop-blur-xl",
|
|
64
|
+
"gradient-blue":
|
|
65
|
+
"border-[color:var(--zui-command-content-gradient-blue-border,oklch(42.4%_0.199_265.638))] dark:border-[color:var(--zui-command-content-gradient-blue-border-dark,oklch(54.6%_0.245_262.881))] bg-linear-to-br from-[var(--zui-command-content-gradient-blue-from,oklch(97%_0.014_254.604))] dark:from-[var(--zui-command-content-gradient-blue-from-dark,oklch(28.2%_0.091_267.935_/_0.85))] to-[var(--zui-command-content-gradient-blue-to,oklch(97.7%_0.014_308.299))] dark:to-[var(--zui-command-content-gradient-blue-to-dark,oklch(29.1%_0.149_302.717_/_0.85))] backdrop-blur-xl",
|
|
66
|
+
"gradient-green":
|
|
67
|
+
"border-[color:var(--zui-command-content-gradient-green-border,oklch(44.8%_0.119_151.328))] dark:border-[color:var(--zui-command-content-gradient-green-border-dark,oklch(62.7%_0.194_149.214))] bg-linear-to-br from-[var(--zui-command-content-gradient-green-from,oklch(98.2%_0.018_155.826))] dark:from-[var(--zui-command-content-gradient-green-from-dark,oklch(26.6%_0.065_152.934_/_0.85))] to-[var(--zui-command-content-gradient-green-to,oklch(98.6%_0.031_120.757))] dark:to-[var(--zui-command-content-gradient-green-to-dark,oklch(27.4%_0.072_132.109_/_0.85))] backdrop-blur-xl",
|
|
68
|
+
"gradient-red":
|
|
69
|
+
"border-[color:var(--zui-command-content-gradient-red-border,oklch(44.4%_0.177_26.899))] dark:border-[color:var(--zui-command-content-gradient-red-border-dark,oklch(57.7%_0.245_27.325))] bg-linear-to-br from-[var(--zui-command-content-gradient-red-from,oklch(97.1%_0.013_17.38))] dark:from-[var(--zui-command-content-gradient-red-from-dark,oklch(25.8%_0.092_26.042_/_0.85))] to-[var(--zui-command-content-gradient-red-to,oklch(97.1%_0.014_343.198))] dark:to-[var(--zui-command-content-gradient-red-to-dark,oklch(28.4%_0.109_3.907_/_0.85))] backdrop-blur-xl",
|
|
70
|
+
"gradient-yellow":
|
|
71
|
+
"border-[color:var(--zui-command-content-gradient-yellow-border,oklch(47.6%_0.114_61.907))] dark:border-[color:var(--zui-command-content-gradient-yellow-border-dark,oklch(68.1%_0.162_75.834))] bg-linear-to-br from-[var(--zui-command-content-gradient-yellow-from,oklch(98.7%_0.026_102.212))] dark:from-[var(--zui-command-content-gradient-yellow-from-dark,oklch(28.6%_0.066_53.813_/_0.85))] to-[var(--zui-command-content-gradient-yellow-to,oklch(98%_0.016_73.684))] dark:to-[var(--zui-command-content-gradient-yellow-to-dark,oklch(26.6%_0.079_36.259_/_0.85))] backdrop-blur-xl",
|
|
72
|
+
"gradient-purple":
|
|
73
|
+
"border-[color:var(--zui-command-content-gradient-purple-border,oklch(43.8%_0.218_303.724))] dark:border-[color:var(--zui-command-content-gradient-purple-border-dark,oklch(55.8%_0.288_302.321))] bg-linear-to-br from-[var(--zui-command-content-gradient-purple-from,oklch(97.7%_0.014_308.299))] dark:from-[var(--zui-command-content-gradient-purple-from-dark,oklch(29.1%_0.149_302.717_/_0.85))] to-[var(--zui-command-content-gradient-purple-to,oklch(97.1%_0.014_343.198))] dark:to-[var(--zui-command-content-gradient-purple-to-dark,oklch(28.4%_0.109_3.907_/_0.85))] backdrop-blur-xl",
|
|
74
|
+
"gradient-teal":
|
|
75
|
+
"border-[color:var(--zui-command-content-gradient-teal-border,oklch(43.7%_0.078_188.216))] dark:border-[color:var(--zui-command-content-gradient-teal-border-dark,oklch(60%_0.118_184.704))] bg-linear-to-br from-[var(--zui-command-content-gradient-teal-from,oklch(98.4%_0.014_180.72))] dark:from-[var(--zui-command-content-gradient-teal-from-dark,oklch(27.7%_0.046_192.524_/_0.85))] to-[var(--zui-command-content-gradient-teal-to,oklch(98.4%_0.019_200.873))] dark:to-[var(--zui-command-content-gradient-teal-to-dark,oklch(30.2%_0.056_229.695_/_0.85))] backdrop-blur-xl",
|
|
76
|
+
"gradient-indigo":
|
|
77
|
+
"border-[color:var(--zui-command-content-gradient-indigo-border,oklch(39.8%_0.195_277.366))] dark:border-[color:var(--zui-command-content-gradient-indigo-border-dark,oklch(51.1%_0.262_276.966))] bg-linear-to-br from-[var(--zui-command-content-gradient-indigo-from,oklch(96.2%_0.018_272.314))] dark:from-[var(--zui-command-content-gradient-indigo-from-dark,oklch(25.7%_0.09_281.288_/_0.85))] to-[var(--zui-command-content-gradient-indigo-to,oklch(97.7%_0.014_308.299))] dark:to-[var(--zui-command-content-gradient-indigo-to-dark,oklch(29.1%_0.149_302.717_/_0.85))] backdrop-blur-xl",
|
|
78
|
+
"gradient-pink":
|
|
79
|
+
"border-[color:var(--zui-command-content-gradient-pink-border,oklch(45.9%_0.187_3.815))] dark:border-[color:var(--zui-command-content-gradient-pink-border-dark,oklch(59.2%_0.249_0.584))] bg-linear-to-br from-[var(--zui-command-content-gradient-pink-from,oklch(97.1%_0.014_343.198))] dark:from-[var(--zui-command-content-gradient-pink-from-dark,oklch(28.4%_0.109_3.907_/_0.85))] to-[var(--zui-command-content-gradient-pink-to,oklch(96.9%_0.015_12.422))] dark:to-[var(--zui-command-content-gradient-pink-to-dark,oklch(27.1%_0.105_12.094_/_0.85))] backdrop-blur-xl",
|
|
80
|
+
} as const;
|
|
@@ -6,6 +6,7 @@ export * from "./breadcrumb";
|
|
|
6
6
|
export * from "./button";
|
|
7
7
|
export * from "./card";
|
|
8
8
|
export * from "./checkbox";
|
|
9
|
+
export * from "./command";
|
|
9
10
|
export * from "./divider";
|
|
10
11
|
export * from "./drawer";
|
|
11
12
|
export * from "./dropdown";
|
|
@@ -15,6 +16,7 @@ export * from "./file-upload";
|
|
|
15
16
|
export * from "./inputs";
|
|
16
17
|
export * from "./modal";
|
|
17
18
|
export * from "./pagination";
|
|
19
|
+
export * from "./popover";
|
|
18
20
|
export * from "./progress";
|
|
19
21
|
export * from "./radio-group";
|
|
20
22
|
export * from "./select";
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export const zuiPopoverContentBase =
|
|
2
|
+
"absolute z-50 rounded-lg border shadow-lg transition-all duration-200 outline-none";
|
|
3
|
+
|
|
4
|
+
export const zuiPopoverContentVariants = {
|
|
5
|
+
default:
|
|
6
|
+
"border-[color:var(--zui-popover-default-border,oklch(20.8%_0.042_265.755_/_0.1))] dark:border-[color:var(--zui-popover-default-border-dark,#ffffff1a)] bg-[var(--zui-popover-default-bg,#ffffff)] dark:bg-[var(--zui-popover-default-bg-dark,oklch(20.8%_0.042_265.755))] text-[color:var(--zui-popover-default-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-popover-default-fg-dark,oklch(96.8%_0.007_247.896))]",
|
|
7
|
+
outline:
|
|
8
|
+
"border-[color:var(--zui-popover-outline-border,oklch(37.3%_0.034_259.733))] dark:border-[color:var(--zui-popover-outline-border-dark,oklch(87.2%_0.01_258.338))] bg-[var(--zui-popover-outline-bg,#ffffff)] dark:bg-[var(--zui-popover-outline-bg-dark,#000000)] text-[color:var(--zui-popover-outline-fg,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-popover-outline-fg-dark,#ffffff)]",
|
|
9
|
+
ghost:
|
|
10
|
+
"border-transparent bg-[var(--zui-popover-ghost-bg,oklch(96.7%_0.003_264.542))] dark:bg-[var(--zui-popover-ghost-bg-dark,oklch(27.8%_0.033_256.848))] text-[color:var(--zui-popover-ghost-fg,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-popover-ghost-fg-dark,#ffffffe6)]",
|
|
11
|
+
glass:
|
|
12
|
+
"border-[color:var(--zui-popover-glass-border,#00000026)] dark:border-[color:var(--zui-popover-glass-border-dark,#ffffff26)] bg-[var(--zui-popover-glass-bg,#ffffffb3)] dark:bg-[var(--zui-popover-glass-bg-dark,#020617b3)] text-[color:var(--zui-popover-glass-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-popover-glass-fg-dark,#ffffff)] backdrop-blur-md",
|
|
13
|
+
emerald:
|
|
14
|
+
"border-[color:var(--zui-popover-emerald-border,oklch(43.2%_0.095_166.913_/_0.35))] bg-[var(--zui-popover-emerald-bg,oklch(90.5%_0.093_164.15))] text-[color:var(--zui-popover-emerald-fg,oklch(37.8%_0.077_168.94))] dark:bg-[var(--zui-popover-emerald-bg-dark,oklch(26.2%_0.051_172.552))] dark:text-[color:var(--zui-popover-emerald-fg-dark,oklch(90.5%_0.093_164.15))]",
|
|
15
|
+
indigo:
|
|
16
|
+
"border-[color:var(--zui-popover-indigo-border,oklch(39.8%_0.195_277.366_/_0.35))] bg-[var(--zui-popover-indigo-bg,oklch(87%_0.065_274.039))] text-[color:var(--zui-popover-indigo-fg,oklch(35.9%_0.144_278.697))] dark:bg-[var(--zui-popover-indigo-bg-dark,oklch(25.7%_0.09_281.288))] dark:text-[color:var(--zui-popover-indigo-fg-dark,oklch(87%_0.065_274.039))]",
|
|
17
|
+
purple:
|
|
18
|
+
"border-[color:var(--zui-popover-purple-border,oklch(43.8%_0.218_303.724_/_0.35))] bg-[var(--zui-popover-purple-bg,oklch(90.2%_0.063_306.703))] text-[color:var(--zui-popover-purple-fg,oklch(38.1%_0.176_304.987))] dark:bg-[var(--zui-popover-purple-bg-dark,oklch(29.1%_0.149_302.717))] dark:text-[color:var(--zui-popover-purple-fg-dark,oklch(90.2%_0.063_306.703))]",
|
|
19
|
+
pink:
|
|
20
|
+
"border-[color:var(--zui-popover-pink-border,oklch(45.9%_0.187_3.815_/_0.35))] bg-[var(--zui-popover-pink-bg,oklch(89.9%_0.061_343.231))] text-[color:var(--zui-popover-pink-fg,oklch(40.8%_0.153_2.432))] dark:bg-[var(--zui-popover-pink-bg-dark,oklch(28.4%_0.109_3.907))] dark:text-[color:var(--zui-popover-pink-fg-dark,oklch(89.9%_0.061_343.231))]",
|
|
21
|
+
rose:
|
|
22
|
+
"border-[color:var(--zui-popover-rose-border,oklch(45.5%_0.188_13.697_/_0.35))] bg-[var(--zui-popover-rose-bg,oklch(89.2%_0.058_10.001))] text-[color:var(--zui-popover-rose-fg,oklch(41%_0.159_10.272))] dark:bg-[var(--zui-popover-rose-bg-dark,oklch(27.1%_0.105_12.094))] dark:text-[color:var(--zui-popover-rose-fg-dark,oklch(89.2%_0.058_10.001))]",
|
|
23
|
+
sky:
|
|
24
|
+
"border-[color:var(--zui-popover-sky-border,oklch(44.3%_0.11_240.79_/_0.35))] bg-[var(--zui-popover-sky-bg,oklch(90.1%_0.058_230.902))] text-[color:var(--zui-popover-sky-fg,oklch(39.1%_0.09_240.876))] dark:bg-[var(--zui-popover-sky-bg-dark,oklch(29.3%_0.066_243.157))] dark:text-[color:var(--zui-popover-sky-fg-dark,oklch(90.1%_0.058_230.902))]",
|
|
25
|
+
teal:
|
|
26
|
+
"border-[color:var(--zui-popover-teal-border,oklch(43.7%_0.078_188.216_/_0.35))] bg-[var(--zui-popover-teal-bg,oklch(91%_0.096_180.426))] text-[color:var(--zui-popover-teal-fg,oklch(38.6%_0.063_188.416))] dark:bg-[var(--zui-popover-teal-bg-dark,oklch(27.7%_0.046_192.524))] dark:text-[color:var(--zui-popover-teal-fg-dark,oklch(91%_0.096_180.426))]",
|
|
27
|
+
yellow:
|
|
28
|
+
"border-[color:var(--zui-popover-yellow-border,oklch(47.6%_0.114_61.907_/_0.35))] bg-[var(--zui-popover-yellow-bg,oklch(94.5%_0.129_101.54))] text-[color:var(--zui-popover-yellow-fg,oklch(42.1%_0.095_57.708))] dark:bg-[var(--zui-popover-yellow-bg-dark,oklch(28.6%_0.066_53.813))] dark:text-[color:var(--zui-popover-yellow-fg-dark,oklch(94.5%_0.129_101.54))]",
|
|
29
|
+
orange:
|
|
30
|
+
"border-[color:var(--zui-popover-orange-border,oklch(47%_0.157_37.304_/_0.35))] bg-[var(--zui-popover-orange-bg,oklch(90.1%_0.076_70.697))] text-[color:var(--zui-popover-orange-fg,oklch(40.8%_0.123_38.172))] dark:bg-[var(--zui-popover-orange-bg-dark,oklch(26.6%_0.079_36.259))] dark:text-[color:var(--zui-popover-orange-fg-dark,oklch(90.1%_0.076_70.697))]",
|
|
31
|
+
green:
|
|
32
|
+
"border-[color:var(--zui-popover-green-border,oklch(44.8%_0.119_151.328_/_0.35))] bg-[var(--zui-popover-green-bg,oklch(92.5%_0.084_155.995))] text-[color:var(--zui-popover-green-fg,oklch(39.3%_0.095_152.535))] dark:bg-[var(--zui-popover-green-bg-dark,oklch(26.6%_0.065_152.934))] dark:text-[color:var(--zui-popover-green-fg-dark,oklch(92.5%_0.084_155.995))]",
|
|
33
|
+
"gradient-blue":
|
|
34
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-blue-from,oklch(42.4%_0.199_265.638))] to-[var(--zui-popover-gradient-blue-to,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-popover-gradient-blue-fg,#ffffff)]",
|
|
35
|
+
"gradient-green":
|
|
36
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-green-from,oklch(44.8%_0.119_151.328))] to-[var(--zui-popover-gradient-green-to,oklch(45.3%_0.124_130.933))] text-[color:var(--zui-popover-gradient-green-fg,#ffffff)]",
|
|
37
|
+
"gradient-red":
|
|
38
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-red-from,oklch(44.4%_0.177_26.899))] to-[var(--zui-popover-gradient-red-to,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-popover-gradient-red-fg,#ffffff)]",
|
|
39
|
+
"gradient-yellow":
|
|
40
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-yellow-from,oklch(47.6%_0.114_61.907))] to-[var(--zui-popover-gradient-yellow-to,oklch(47%_0.157_37.304))] text-[color:var(--zui-popover-gradient-yellow-fg,#ffffff)]",
|
|
41
|
+
"gradient-purple":
|
|
42
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-purple-from,oklch(43.8%_0.218_303.724))] to-[var(--zui-popover-gradient-purple-to,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-popover-gradient-purple-fg,#ffffff)]",
|
|
43
|
+
"gradient-teal":
|
|
44
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-teal-from,oklch(43.7%_0.078_188.216))] to-[var(--zui-popover-gradient-teal-to,oklch(45%_0.085_224.283))] text-[color:var(--zui-popover-gradient-teal-fg,#ffffff)]",
|
|
45
|
+
"gradient-indigo":
|
|
46
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-indigo-from,oklch(39.8%_0.195_277.366))] to-[var(--zui-popover-gradient-indigo-to,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-popover-gradient-indigo-fg,#ffffff)]",
|
|
47
|
+
"gradient-pink":
|
|
48
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-pink-from,oklch(45.9%_0.187_3.815))] to-[var(--zui-popover-gradient-pink-to,oklch(45.5%_0.188_13.697))] text-[color:var(--zui-popover-gradient-pink-fg,#ffffff)]",
|
|
49
|
+
"gradient-orange":
|
|
50
|
+
"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-orange-from,oklch(47%_0.157_37.304))] to-[var(--zui-popover-gradient-orange-to,oklch(44.4%_0.177_26.899))] text-[color:var(--zui-popover-gradient-orange-fg,#ffffff)]",
|
|
51
|
+
} as const;
|
|
52
|
+
|
|
53
|
+
export const zuiPopoverContentSizes = {
|
|
54
|
+
sm: "p-3 text-sm",
|
|
55
|
+
md: "p-4 text-sm",
|
|
56
|
+
lg: "p-5 text-base",
|
|
57
|
+
} as const;
|
|
58
|
+
|
|
59
|
+
export const zuiPopoverContentWidths = {
|
|
60
|
+
xs: "min-w-50 md:min-w-xs",
|
|
61
|
+
sm: "min-w-50 md:min-w-sm",
|
|
62
|
+
md: "min-w-50 md:min-w-md",
|
|
63
|
+
lg: "min-w-50 md:min-w-lg",
|
|
64
|
+
xl: "min-w-50 md:min-w-xl",
|
|
65
|
+
"2xl": "min-w-50 md:min-w-2xl",
|
|
66
|
+
} as const;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CommandAnimationPresets } from "./types";
|
|
2
|
+
|
|
3
|
+
export const commandOverlayAnimationPresets: CommandAnimationPresets = {
|
|
4
|
+
none: {},
|
|
5
|
+
fade: {
|
|
6
|
+
initial: { opacity: 0 },
|
|
7
|
+
animate: { opacity: 1 },
|
|
8
|
+
exit: { opacity: 0 },
|
|
9
|
+
transition: { duration: 0.18 },
|
|
10
|
+
},
|
|
11
|
+
scale: {
|
|
12
|
+
initial: { opacity: 0, scale: 0.97 },
|
|
13
|
+
animate: { opacity: 1, scale: 1 },
|
|
14
|
+
exit: { opacity: 0, scale: 0.97 },
|
|
15
|
+
transition: { type: "spring", stiffness: 440, damping: 34 },
|
|
16
|
+
},
|
|
17
|
+
"slide-down": {
|
|
18
|
+
initial: { opacity: 0, y: -20 },
|
|
19
|
+
animate: { opacity: 1, y: 0 },
|
|
20
|
+
exit: { opacity: 0, y: -12 },
|
|
21
|
+
transition: { type: "spring", stiffness: 420, damping: 32 },
|
|
22
|
+
},
|
|
23
|
+
"slide-up": {
|
|
24
|
+
initial: { opacity: 0, y: 20 },
|
|
25
|
+
animate: { opacity: 1, y: 0 },
|
|
26
|
+
exit: { opacity: 0, y: 12 },
|
|
27
|
+
transition: { type: "spring", stiffness: 420, damping: 32 },
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { AnimatePresence, motion, useReducedMotion } from "framer-motion";
|
|
4
|
+
|
|
5
|
+
import { commandOverlayAnimationPresets } from "./animations";
|
|
6
|
+
import type { CommandContentAnimatedProps } from "./types";
|
|
7
|
+
import { CommandContentLayer } from "../command-base";
|
|
8
|
+
|
|
9
|
+
export function CommandContentAnimated({
|
|
10
|
+
className,
|
|
11
|
+
size,
|
|
12
|
+
appearance,
|
|
13
|
+
animation = "slide-down",
|
|
14
|
+
children,
|
|
15
|
+
ref,
|
|
16
|
+
id,
|
|
17
|
+
style,
|
|
18
|
+
}: CommandContentAnimatedProps) {
|
|
19
|
+
const reduceMotion = useReducedMotion();
|
|
20
|
+
const overlayMotion = commandOverlayAnimationPresets.fade;
|
|
21
|
+
const panelMotion =
|
|
22
|
+
commandOverlayAnimationPresets[reduceMotion ? "fade" : animation];
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<CommandContentLayer
|
|
26
|
+
appearance={appearance}
|
|
27
|
+
className={className}
|
|
28
|
+
componentName="CommandContent"
|
|
29
|
+
id={id}
|
|
30
|
+
ref={ref}
|
|
31
|
+
renderOverlay={(overlayProps) => (
|
|
32
|
+
<motion.div
|
|
33
|
+
{...overlayProps}
|
|
34
|
+
initial={overlayMotion.initial}
|
|
35
|
+
animate={overlayMotion.animate}
|
|
36
|
+
exit={overlayMotion.exit}
|
|
37
|
+
transition={overlayMotion.transition}
|
|
38
|
+
/>
|
|
39
|
+
)}
|
|
40
|
+
renderPanel={(panelProps) => (
|
|
41
|
+
<motion.div
|
|
42
|
+
{...panelProps}
|
|
43
|
+
initial={animation === "none" ? false : panelMotion.initial}
|
|
44
|
+
animate={animation === "none" ? undefined : panelMotion.animate}
|
|
45
|
+
exit={animation === "none" ? undefined : panelMotion.exit}
|
|
46
|
+
transition={panelMotion.transition}
|
|
47
|
+
/>
|
|
48
|
+
)}
|
|
49
|
+
renderPresence={(content) => <AnimatePresence>{content}</AnimatePresence>}
|
|
50
|
+
size={size}
|
|
51
|
+
style={style}
|
|
52
|
+
>
|
|
53
|
+
{children}
|
|
54
|
+
</CommandContentLayer>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
CommandContentAnimated.displayName = "CommandContent";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
export { CommandContentAnimated } from "./command-content-animated";
|
|
4
|
+
export type {
|
|
5
|
+
CommandContentAnimatedProps,
|
|
6
|
+
CommandAnimation,
|
|
7
|
+
CommandAnimationPresets,
|
|
8
|
+
CommandPresetMotionProps,
|
|
9
|
+
} from "./types";
|
|
10
|
+
export { commandOverlayAnimationPresets } from "./animations";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HTMLMotionProps } from "framer-motion";
|
|
2
|
+
import type { CommandContentProps } from "../types";
|
|
3
|
+
|
|
4
|
+
export type CommandAnimation =
|
|
5
|
+
| "none"
|
|
6
|
+
| "fade"
|
|
7
|
+
| "scale"
|
|
8
|
+
| "slide-down"
|
|
9
|
+
| "slide-up";
|
|
10
|
+
|
|
11
|
+
export type CommandContentAnimatedProps = CommandContentProps & {
|
|
12
|
+
animation?: CommandAnimation;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type CommandPresetMotionProps = Pick<
|
|
16
|
+
HTMLMotionProps<"div">,
|
|
17
|
+
"initial" | "animate" | "exit" | "transition"
|
|
18
|
+
>;
|
|
19
|
+
|
|
20
|
+
export type CommandAnimationPresets = Record<
|
|
21
|
+
CommandAnimation,
|
|
22
|
+
CommandPresetMotionProps
|
|
23
|
+
>;
|