@zentauri-ui/zentauri-components 1.7.5 → 1.7.7
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 +11 -6
- package/cli/registry.json +3 -0
- package/dist/chunk-DEZRB6DS.mjs +83 -0
- package/dist/chunk-DEZRB6DS.mjs.map +1 -0
- package/dist/chunk-GRJFGIZC.mjs +417 -0
- package/dist/chunk-GRJFGIZC.mjs.map +1 -0
- package/dist/chunk-QHEHBC6M.js +421 -0
- package/dist/chunk-QHEHBC6M.js.map +1 -0
- package/dist/chunk-V5JTDRV5.mjs +278 -0
- package/dist/chunk-V5JTDRV5.mjs.map +1 -0
- package/dist/chunk-Z4KHAD6Y.js +295 -0
- package/dist/chunk-Z4KHAD6Y.js.map +1 -0
- package/dist/chunk-ZX2IBIZT.js +92 -0
- package/dist/chunk-ZX2IBIZT.js.map +1 -0
- package/dist/design-system/context-menu.d.ts +41 -0
- package/dist/design-system/context-menu.d.ts.map +1 -0
- package/dist/design-system/index.d.ts +3 -0
- package/dist/design-system/index.d.ts.map +1 -1
- package/dist/design-system/timeline.d.ts +56 -0
- package/dist/design-system/timeline.d.ts.map +1 -0
- package/dist/design-system/tree-view.d.ts +66 -0
- package/dist/design-system/tree-view.d.ts.map +1 -0
- package/dist/ui/context-menu/context-menu.d.ts +11 -0
- package/dist/ui/context-menu/context-menu.d.ts.map +1 -0
- package/dist/ui/context-menu/index.d.ts +4 -0
- package/dist/ui/context-menu/index.d.ts.map +1 -0
- package/dist/ui/context-menu/types.d.ts +81 -0
- package/dist/ui/context-menu/types.d.ts.map +1 -0
- package/dist/ui/context-menu/variants.d.ts +7 -0
- package/dist/ui/context-menu/variants.d.ts.map +1 -0
- package/dist/ui/context-menu.js +500 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/context-menu.mjs +488 -0
- package/dist/ui/context-menu.mjs.map +1 -0
- package/dist/ui/dropdown.js +9 -89
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/dropdown.mjs +1 -81
- package/dist/ui/dropdown.mjs.map +1 -1
- package/dist/ui/scroll-area/scroll-area.d.ts.map +1 -1
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/timeline/animated/animations.d.ts +8 -0
- package/dist/ui/timeline/animated/animations.d.ts.map +1 -0
- package/dist/ui/timeline/animated/index.d.ts +6 -0
- package/dist/ui/timeline/animated/index.d.ts.map +1 -0
- package/dist/ui/timeline/animated/timeline-item-animated.d.ts +8 -0
- package/dist/ui/timeline/animated/timeline-item-animated.d.ts.map +1 -0
- package/dist/ui/timeline/animated/types.d.ts +12 -0
- package/dist/ui/timeline/animated/types.d.ts.map +1 -0
- package/dist/ui/timeline/animated.js +94 -0
- package/dist/ui/timeline/animated.js.map +1 -0
- package/dist/ui/timeline/animated.mjs +71 -0
- package/dist/ui/timeline/animated.mjs.map +1 -0
- package/dist/ui/timeline/index.d.ts +4 -0
- package/dist/ui/timeline/index.d.ts.map +1 -0
- package/dist/ui/timeline/timeline-base.d.ts +37 -0
- package/dist/ui/timeline/timeline-base.d.ts.map +1 -0
- package/dist/ui/timeline/timeline.d.ts +8 -0
- package/dist/ui/timeline/timeline.d.ts.map +1 -0
- package/dist/ui/timeline/types.d.ts +38 -0
- package/dist/ui/timeline/types.d.ts.map +1 -0
- package/dist/ui/timeline/variants.d.ts +19 -0
- package/dist/ui/timeline/variants.d.ts.map +1 -0
- package/dist/ui/timeline.js +63 -0
- package/dist/ui/timeline.js.map +1 -0
- package/dist/ui/timeline.mjs +14 -0
- package/dist/ui/timeline.mjs.map +1 -0
- package/dist/ui/tree-view/animated/animations.d.ts +6 -0
- package/dist/ui/tree-view/animated/animations.d.ts.map +1 -0
- package/dist/ui/tree-view/animated/index.d.ts +5 -0
- package/dist/ui/tree-view/animated/index.d.ts.map +1 -0
- package/dist/ui/tree-view/animated/tree-view-animated.d.ts +6 -0
- package/dist/ui/tree-view/animated/tree-view-animated.d.ts.map +1 -0
- package/dist/ui/tree-view/animated/types.d.ts +6 -0
- package/dist/ui/tree-view/animated/types.d.ts.map +1 -0
- package/dist/ui/tree-view/animated.js +53 -0
- package/dist/ui/tree-view/animated.js.map +1 -0
- package/dist/ui/tree-view/animated.mjs +50 -0
- package/dist/ui/tree-view/animated.mjs.map +1 -0
- package/dist/ui/tree-view/index.d.ts +5 -0
- package/dist/ui/tree-view/index.d.ts.map +1 -0
- package/dist/ui/tree-view/tree-view-base.d.ts +15 -0
- package/dist/ui/tree-view/tree-view-base.d.ts.map +1 -0
- package/dist/ui/tree-view/tree-view.d.ts +6 -0
- package/dist/ui/tree-view/tree-view.d.ts.map +1 -0
- package/dist/ui/tree-view/types.d.ts +61 -0
- package/dist/ui/tree-view/types.d.ts.map +1 -0
- package/dist/ui/tree-view/variants.d.ts +9 -0
- package/dist/ui/tree-view/variants.d.ts.map +1 -0
- package/dist/ui/tree-view.js +27 -0
- package/dist/ui/tree-view.js.map +1 -0
- package/dist/ui/tree-view.mjs +14 -0
- package/dist/ui/tree-view.mjs.map +1 -0
- package/package.json +1 -1
- package/src/design-system/context-menu.ts +44 -0
- package/src/design-system/index.ts +3 -0
- package/src/design-system/timeline.ts +87 -0
- package/src/design-system/tree-view.ts +113 -0
- package/src/ui/context-menu/context-menu.test.tsx +176 -0
- package/src/ui/context-menu/context-menu.tsx +536 -0
- package/src/ui/context-menu/index.ts +29 -0
- package/src/ui/context-menu/types.ts +110 -0
- package/src/ui/context-menu/variants.ts +26 -0
- package/src/ui/scroll-area/scroll-area.tsx +0 -2
- package/src/ui/timeline/animated/animations.ts +16 -0
- package/src/ui/timeline/animated/index.ts +22 -0
- package/src/ui/timeline/animated/timeline-item-animated.tsx +76 -0
- package/src/ui/timeline/animated/types.ts +21 -0
- package/src/ui/timeline/index.ts +30 -0
- package/src/ui/timeline/timeline-base.tsx +232 -0
- package/src/ui/timeline/timeline.test.tsx +262 -0
- package/src/ui/timeline/timeline.tsx +24 -0
- package/src/ui/timeline/types.ts +61 -0
- package/src/ui/timeline/variants.ts +60 -0
- package/src/ui/tree-view/animated/animations.ts +13 -0
- package/src/ui/tree-view/animated/index.ts +6 -0
- package/src/ui/tree-view/animated/tree-view-animated.tsx +52 -0
- package/src/ui/tree-view/animated/types.ts +6 -0
- package/src/ui/tree-view/index.ts +13 -0
- package/src/ui/tree-view/tree-view-base.tsx +496 -0
- package/src/ui/tree-view/tree-view.test.tsx +136 -0
- package/src/ui/tree-view/tree-view.tsx +9 -0
- package/src/ui/tree-view/types.ts +68 -0
- package/src/ui/tree-view/variants.ts +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/tree-view/animated/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TreeViewAnimatedProps } from "./types";
|
|
2
|
+
export declare function TreeViewAnimated({ transitionVariant, ...props }: TreeViewAnimatedProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace TreeViewAnimated {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=tree-view-animated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-view-animated.d.ts","sourceRoot":"","sources":["../../../../src/ui/tree-view/animated/tree-view-animated.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+BrD,wBAAgB,gBAAgB,CAAC,EAC/B,iBAA6B,EAC7B,GAAG,KAAK,EACT,EAAE,qBAAqB,2CAMvB;yBATe,gBAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ui/tree-view/animated/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACtD,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACxC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkQHEHBC6M_js = require('../../chunk-QHEHBC6M.js');
|
|
5
|
+
require('../../chunk-ZS5756ZC.js');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var framerMotion = require('framer-motion');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
|
|
10
|
+
// src/ui/tree-view/animated/animations.ts
|
|
11
|
+
var treeViewTransitionPresets = {
|
|
12
|
+
none: { duration: 0 },
|
|
13
|
+
default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
|
|
14
|
+
smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },
|
|
15
|
+
slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] }
|
|
16
|
+
};
|
|
17
|
+
function createAnimatedGroup(transitionVariant) {
|
|
18
|
+
const transition = treeViewTransitionPresets[transitionVariant];
|
|
19
|
+
const motionless = transitionVariant === "none";
|
|
20
|
+
function AnimatedTreeGroup({ open, children }) {
|
|
21
|
+
return /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, children: open ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22
|
+
framerMotion.motion.ul,
|
|
23
|
+
{
|
|
24
|
+
role: "group",
|
|
25
|
+
"data-slot": "tree-view-group",
|
|
26
|
+
className: "m-0 list-none overflow-hidden p-0",
|
|
27
|
+
initial: motionless ? false : { height: 0, opacity: 0 },
|
|
28
|
+
animate: motionless ? void 0 : { height: "auto", opacity: 1 },
|
|
29
|
+
exit: motionless ? void 0 : { height: 0, opacity: 0 },
|
|
30
|
+
transition,
|
|
31
|
+
children
|
|
32
|
+
}
|
|
33
|
+
) : null });
|
|
34
|
+
}
|
|
35
|
+
AnimatedTreeGroup.displayName = "AnimatedTreeGroup";
|
|
36
|
+
return AnimatedTreeGroup;
|
|
37
|
+
}
|
|
38
|
+
function TreeViewAnimated({
|
|
39
|
+
transitionVariant = "default",
|
|
40
|
+
...props
|
|
41
|
+
}) {
|
|
42
|
+
const GroupComponent = react.useMemo(
|
|
43
|
+
() => createAnimatedGroup(transitionVariant),
|
|
44
|
+
[transitionVariant]
|
|
45
|
+
);
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQHEHBC6M_js.TreeViewBase, { ...props, GroupComponent });
|
|
47
|
+
}
|
|
48
|
+
TreeViewAnimated.displayName = "TreeViewAnimated";
|
|
49
|
+
|
|
50
|
+
exports.TreeViewAnimated = TreeViewAnimated;
|
|
51
|
+
exports.treeViewTransitionPresets = treeViewTransitionPresets;
|
|
52
|
+
//# sourceMappingURL=animated.js.map
|
|
53
|
+
//# sourceMappingURL=animated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ui/tree-view/animated/animations.ts","../../../src/ui/tree-view/animated/tree-view-animated.tsx"],"names":["jsx","AnimatePresence","motion","useMemo","TreeViewBase"],"mappings":";;;;;;;;;AAOO,IAAM,yBAAA,GAAuD;AAAA,EAClE,IAAA,EAAM,EAAE,QAAA,EAAU,CAAA,EAAE;AAAA,EACpB,OAAA,EAAS,EAAE,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,CAAC,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAC,CAAA,EAAE;AAAA,EACjD,MAAA,EAAQ,EAAE,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,CAAC,IAAA,EAAM,CAAA,EAAG,IAAA,EAAM,CAAC,CAAA,EAAE;AAAA,EACnD,IAAA,EAAM,EAAE,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,CAAC,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAC,CAAA;AAC/C;ACAA,SAAS,oBAAoB,iBAAA,EAAuC;AAClE,EAAA,MAAM,UAAA,GAAa,0BAA0B,iBAAiB,CAAA;AAC9D,EAAA,MAAM,aAAa,iBAAA,KAAsB,MAAA;AAEzC,EAAA,SAAS,iBAAA,CAAkB,EAAE,IAAA,EAAM,QAAA,EAAS,EAAmB;AAC7D,IAAA,uBACEA,cAAA,CAACC,4BAAA,EAAA,EAAgB,OAAA,EAAS,KAAA,EACvB,QAAA,EAAA,IAAA,mBACCD,cAAA;AAAA,MAACE,mBAAA,CAAO,EAAA;AAAA,MAAP;AAAA,QACC,IAAA,EAAK,OAAA;AAAA,QACL,WAAA,EAAU,iBAAA;AAAA,QACV,SAAA,EAAU,mCAAA;AAAA,QACV,SAAS,UAAA,GAAa,KAAA,GAAQ,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAS,CAAA,EAAE;AAAA,QACtD,SAAS,UAAA,GAAa,MAAA,GAAY,EAAE,MAAA,EAAQ,MAAA,EAAQ,SAAS,CAAA,EAAE;AAAA,QAC/D,MAAM,UAAA,GAAa,MAAA,GAAY,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAS,CAAA,EAAE;AAAA,QACvD,UAAA;AAAA,QAEC;AAAA;AAAA,QAED,IAAA,EACN,CAAA;AAAA,EAEJ;AAEA,EAAA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AAChC,EAAA,OAAO,iBAAA;AACT;AAEO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,iBAAA,GAAoB,SAAA;AAAA,EACpB,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,MAAM,cAAA,GAAiBC,aAAA;AAAA,IACrB,MAAM,oBAAoB,iBAAiB,CAAA;AAAA,IAC3C,CAAC,iBAAiB;AAAA,GACpB;AACA,EAAA,uBAAOH,cAAA,CAACI,6BAAA,EAAA,EAAc,GAAG,KAAA,EAAO,cAAA,EAAgC,CAAA;AAClE;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"animated.js","sourcesContent":["import type { Transition } from \"framer-motion\";\n\n/** Easing and duration presets for tree group expand/collapse. */\nexport type TreeViewTransition = \"none\" | \"default\" | \"smooth\" | \"slow\";\n\nexport type TreeViewTransitionPresets = Record<TreeViewTransition, Transition>;\n\nexport const treeViewTransitionPresets: TreeViewTransitionPresets = {\n none: { duration: 0 },\n default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },\n smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },\n slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] },\n};\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { AnimatePresence, motion } from \"framer-motion\";\n\nimport { TreeViewBase } from \"../tree-view-base\";\nimport type { TreeGroupProps } from \"../types\";\n\nimport { treeViewTransitionPresets } from \"./animations\";\nimport type { TreeViewAnimatedProps } from \"./types\";\nimport type { TreeViewTransition } from \"./animations\";\n\nfunction createAnimatedGroup(transitionVariant: TreeViewTransition) {\n const transition = treeViewTransitionPresets[transitionVariant];\n const motionless = transitionVariant === \"none\";\n\n function AnimatedTreeGroup({ open, children }: TreeGroupProps) {\n return (\n <AnimatePresence initial={false}>\n {open ? (\n <motion.ul\n role=\"group\"\n data-slot=\"tree-view-group\"\n className=\"m-0 list-none overflow-hidden p-0\"\n initial={motionless ? false : { height: 0, opacity: 0 }}\n animate={motionless ? undefined : { height: \"auto\", opacity: 1 }}\n exit={motionless ? undefined : { height: 0, opacity: 0 }}\n transition={transition}\n >\n {children}\n </motion.ul>\n ) : null}\n </AnimatePresence>\n );\n }\n\n AnimatedTreeGroup.displayName = \"AnimatedTreeGroup\";\n return AnimatedTreeGroup;\n}\n\nexport function TreeViewAnimated({\n transitionVariant = \"default\",\n ...props\n}: TreeViewAnimatedProps) {\n const GroupComponent = useMemo(\n () => createAnimatedGroup(transitionVariant),\n [transitionVariant],\n );\n return <TreeViewBase {...props} GroupComponent={GroupComponent} />;\n}\n\nTreeViewAnimated.displayName = \"TreeViewAnimated\";\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TreeViewBase } from '../../chunk-GRJFGIZC.mjs';
|
|
3
|
+
import '../../chunk-4D54YOL6.mjs';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { AnimatePresence, motion } from 'framer-motion';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
// src/ui/tree-view/animated/animations.ts
|
|
9
|
+
var treeViewTransitionPresets = {
|
|
10
|
+
none: { duration: 0 },
|
|
11
|
+
default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
|
|
12
|
+
smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },
|
|
13
|
+
slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] }
|
|
14
|
+
};
|
|
15
|
+
function createAnimatedGroup(transitionVariant) {
|
|
16
|
+
const transition = treeViewTransitionPresets[transitionVariant];
|
|
17
|
+
const motionless = transitionVariant === "none";
|
|
18
|
+
function AnimatedTreeGroup({ open, children }) {
|
|
19
|
+
return /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: open ? /* @__PURE__ */ jsx(
|
|
20
|
+
motion.ul,
|
|
21
|
+
{
|
|
22
|
+
role: "group",
|
|
23
|
+
"data-slot": "tree-view-group",
|
|
24
|
+
className: "m-0 list-none overflow-hidden p-0",
|
|
25
|
+
initial: motionless ? false : { height: 0, opacity: 0 },
|
|
26
|
+
animate: motionless ? void 0 : { height: "auto", opacity: 1 },
|
|
27
|
+
exit: motionless ? void 0 : { height: 0, opacity: 0 },
|
|
28
|
+
transition,
|
|
29
|
+
children
|
|
30
|
+
}
|
|
31
|
+
) : null });
|
|
32
|
+
}
|
|
33
|
+
AnimatedTreeGroup.displayName = "AnimatedTreeGroup";
|
|
34
|
+
return AnimatedTreeGroup;
|
|
35
|
+
}
|
|
36
|
+
function TreeViewAnimated({
|
|
37
|
+
transitionVariant = "default",
|
|
38
|
+
...props
|
|
39
|
+
}) {
|
|
40
|
+
const GroupComponent = useMemo(
|
|
41
|
+
() => createAnimatedGroup(transitionVariant),
|
|
42
|
+
[transitionVariant]
|
|
43
|
+
);
|
|
44
|
+
return /* @__PURE__ */ jsx(TreeViewBase, { ...props, GroupComponent });
|
|
45
|
+
}
|
|
46
|
+
TreeViewAnimated.displayName = "TreeViewAnimated";
|
|
47
|
+
|
|
48
|
+
export { TreeViewAnimated, treeViewTransitionPresets };
|
|
49
|
+
//# sourceMappingURL=animated.mjs.map
|
|
50
|
+
//# sourceMappingURL=animated.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ui/tree-view/animated/animations.ts","../../../src/ui/tree-view/animated/tree-view-animated.tsx"],"names":[],"mappings":";;;;;;;AAOO,IAAM,yBAAA,GAAuD;AAAA,EAClE,IAAA,EAAM,EAAE,QAAA,EAAU,CAAA,EAAE;AAAA,EACpB,OAAA,EAAS,EAAE,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,CAAC,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAC,CAAA,EAAE;AAAA,EACjD,MAAA,EAAQ,EAAE,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,CAAC,IAAA,EAAM,CAAA,EAAG,IAAA,EAAM,CAAC,CAAA,EAAE;AAAA,EACnD,IAAA,EAAM,EAAE,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,CAAC,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAC,CAAA;AAC/C;ACAA,SAAS,oBAAoB,iBAAA,EAAuC;AAClE,EAAA,MAAM,UAAA,GAAa,0BAA0B,iBAAiB,CAAA;AAC9D,EAAA,MAAM,aAAa,iBAAA,KAAsB,MAAA;AAEzC,EAAA,SAAS,iBAAA,CAAkB,EAAE,IAAA,EAAM,QAAA,EAAS,EAAmB;AAC7D,IAAA,uBACE,GAAA,CAAC,eAAA,EAAA,EAAgB,OAAA,EAAS,KAAA,EACvB,QAAA,EAAA,IAAA,mBACC,GAAA;AAAA,MAAC,MAAA,CAAO,EAAA;AAAA,MAAP;AAAA,QACC,IAAA,EAAK,OAAA;AAAA,QACL,WAAA,EAAU,iBAAA;AAAA,QACV,SAAA,EAAU,mCAAA;AAAA,QACV,SAAS,UAAA,GAAa,KAAA,GAAQ,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAS,CAAA,EAAE;AAAA,QACtD,SAAS,UAAA,GAAa,MAAA,GAAY,EAAE,MAAA,EAAQ,MAAA,EAAQ,SAAS,CAAA,EAAE;AAAA,QAC/D,MAAM,UAAA,GAAa,MAAA,GAAY,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAS,CAAA,EAAE;AAAA,QACvD,UAAA;AAAA,QAEC;AAAA;AAAA,QAED,IAAA,EACN,CAAA;AAAA,EAEJ;AAEA,EAAA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AAChC,EAAA,OAAO,iBAAA;AACT;AAEO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,iBAAA,GAAoB,SAAA;AAAA,EACpB,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,MAAM,cAAA,GAAiB,OAAA;AAAA,IACrB,MAAM,oBAAoB,iBAAiB,CAAA;AAAA,IAC3C,CAAC,iBAAiB;AAAA,GACpB;AACA,EAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAO,cAAA,EAAgC,CAAA;AAClE;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"animated.mjs","sourcesContent":["import type { Transition } from \"framer-motion\";\n\n/** Easing and duration presets for tree group expand/collapse. */\nexport type TreeViewTransition = \"none\" | \"default\" | \"smooth\" | \"slow\";\n\nexport type TreeViewTransitionPresets = Record<TreeViewTransition, Transition>;\n\nexport const treeViewTransitionPresets: TreeViewTransitionPresets = {\n none: { duration: 0 },\n default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },\n smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },\n slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] },\n};\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { AnimatePresence, motion } from \"framer-motion\";\n\nimport { TreeViewBase } from \"../tree-view-base\";\nimport type { TreeGroupProps } from \"../types\";\n\nimport { treeViewTransitionPresets } from \"./animations\";\nimport type { TreeViewAnimatedProps } from \"./types\";\nimport type { TreeViewTransition } from \"./animations\";\n\nfunction createAnimatedGroup(transitionVariant: TreeViewTransition) {\n const transition = treeViewTransitionPresets[transitionVariant];\n const motionless = transitionVariant === \"none\";\n\n function AnimatedTreeGroup({ open, children }: TreeGroupProps) {\n return (\n <AnimatePresence initial={false}>\n {open ? (\n <motion.ul\n role=\"group\"\n data-slot=\"tree-view-group\"\n className=\"m-0 list-none overflow-hidden p-0\"\n initial={motionless ? false : { height: 0, opacity: 0 }}\n animate={motionless ? undefined : { height: \"auto\", opacity: 1 }}\n exit={motionless ? undefined : { height: 0, opacity: 0 }}\n transition={transition}\n >\n {children}\n </motion.ul>\n ) : null}\n </AnimatePresence>\n );\n }\n\n AnimatedTreeGroup.displayName = \"AnimatedTreeGroup\";\n return AnimatedTreeGroup;\n}\n\nexport function TreeViewAnimated({\n transitionVariant = \"default\",\n ...props\n}: TreeViewAnimatedProps) {\n const GroupComponent = useMemo(\n () => createAnimatedGroup(transitionVariant),\n [transitionVariant],\n );\n return <TreeViewBase {...props} GroupComponent={GroupComponent} />;\n}\n\nTreeViewAnimated.displayName = \"TreeViewAnimated\";\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TreeView } from "./tree-view";
|
|
2
|
+
export { TreeViewBase } from "./tree-view-base";
|
|
3
|
+
export type { TreeNode, TreeViewBaseProps, TreeViewProps, TreeViewRenderArgs, TreeViewVariantProps, TreeGroupProps, } from "./types";
|
|
4
|
+
export { treeViewVariants, treeViewItemVariants } from "./variants";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tree-view/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TreeViewBaseProps, TreeViewCtx } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Reads the shared tree-view state from context and fails early when a tree item
|
|
4
|
+
* is rendered outside the TreeView provider. The component name keeps the error
|
|
5
|
+
* message actionable for consumers composing custom tree-view pieces.
|
|
6
|
+
*/
|
|
7
|
+
declare function useTreeViewContext(component: string): TreeViewCtx;
|
|
8
|
+
export declare function TreeViewBase({ data, defaultExpanded, expanded, onExpandedChange, defaultSelected, selected, onSelect, renderNode, showGuides, appearance, size, className, GroupComponent, ...rest }: TreeViewBaseProps & {
|
|
9
|
+
GroupComponent?: TreeViewCtx["GroupComponent"];
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare namespace TreeViewBase {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
export { useTreeViewContext };
|
|
15
|
+
//# sourceMappingURL=tree-view-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-view-base.d.ts","sourceRoot":"","sources":["../../../src/ui/tree-view/tree-view-base.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAGV,iBAAiB,EACjB,WAAW,EACZ,MAAM,SAAS,CAAC;AAMjB;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAM1D;AAwKD,wBAAgB,YAAY,CAAC,EAC3B,IAAS,EACT,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAkB,EAClB,UAAsB,EACtB,IAAW,EACX,SAAS,EACT,cAAgC,EAChC,GAAG,IAAI,EACR,EAAE,iBAAiB,GAAG;IACrB,cAAc,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;CAChD,2CA0QA;yBA3Re,YAAY;;;AA+R5B,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-view.d.ts","sourceRoot":"","sources":["../../../src/ui/tree-view/tree-view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAE5C;yBAFe,QAAQ"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { VariantProps } from "class-variance-authority";
|
|
2
|
+
import type { ComponentType, ReactNode } from "react";
|
|
3
|
+
import type { treeViewVariants } from "./variants";
|
|
4
|
+
export type TreeViewVariantProps = VariantProps<typeof treeViewVariants>;
|
|
5
|
+
export type TreeNode = {
|
|
6
|
+
/** Stable, unique identifier used for expansion and selection state. */
|
|
7
|
+
id: string;
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
/** Optional leading icon rendered before the label. */
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
children?: TreeNode[];
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type TreeViewRenderArgs = {
|
|
15
|
+
node: TreeNode;
|
|
16
|
+
depth: number;
|
|
17
|
+
isExpanded: boolean;
|
|
18
|
+
isSelected: boolean;
|
|
19
|
+
};
|
|
20
|
+
export type TreeViewBaseProps = TreeViewVariantProps & {
|
|
21
|
+
data: TreeNode[];
|
|
22
|
+
/** Uncontrolled set of expanded node ids. */
|
|
23
|
+
defaultExpanded?: string[];
|
|
24
|
+
/** Controlled set of expanded node ids. */
|
|
25
|
+
expanded?: string[];
|
|
26
|
+
onExpandedChange?: (ids: string[]) => void;
|
|
27
|
+
/** Uncontrolled selected node id. */
|
|
28
|
+
defaultSelected?: string;
|
|
29
|
+
/** Controlled selected node id. */
|
|
30
|
+
selected?: string;
|
|
31
|
+
onSelect?: (node: TreeNode) => void;
|
|
32
|
+
/** Replace the default label rendering for each node. */
|
|
33
|
+
renderNode?: (args: TreeViewRenderArgs) => ReactNode;
|
|
34
|
+
/** Draw vertical indentation guide lines for nested levels. */
|
|
35
|
+
showGuides?: boolean;
|
|
36
|
+
className?: string;
|
|
37
|
+
"aria-label"?: string;
|
|
38
|
+
"aria-labelledby"?: string;
|
|
39
|
+
};
|
|
40
|
+
export type TreeViewProps = TreeViewBaseProps;
|
|
41
|
+
export type TreeGroupProps = {
|
|
42
|
+
open: boolean;
|
|
43
|
+
level: number;
|
|
44
|
+
children: ReactNode;
|
|
45
|
+
};
|
|
46
|
+
export type TreeViewCtx = {
|
|
47
|
+
appearance: NonNullable<TreeViewBaseProps["appearance"]>;
|
|
48
|
+
size: NonNullable<TreeViewBaseProps["size"]>;
|
|
49
|
+
showGuides: boolean;
|
|
50
|
+
GroupComponent: ComponentType<TreeGroupProps>;
|
|
51
|
+
isExpanded: (id: string) => boolean;
|
|
52
|
+
toggleExpanded: (id: string) => void;
|
|
53
|
+
setExpanded: (id: string, open: boolean) => void;
|
|
54
|
+
selectedId: string | undefined;
|
|
55
|
+
activeId: string | undefined;
|
|
56
|
+
selectNode: (node: TreeNode) => void;
|
|
57
|
+
registerItem: (id: string, el: HTMLDivElement | null) => void;
|
|
58
|
+
onItemKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
59
|
+
renderNode?: (args: TreeViewRenderArgs) => ReactNode;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/tree-view/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzE,MAAM,MAAM,QAAQ,GAAG;IACrB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,uDAAuD;IACvD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG;IACrD,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,qCAAqC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,yDAAyD;IACzD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,SAAS,CAAC;IACrD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACzD,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC9C,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACpE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,SAAS,CAAC;CACtD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const treeViewVariants: (props?: ({
|
|
2
|
+
appearance?: "default" | "outline" | "sky" | "emerald" | "rose" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "ghost" | "card" | "separated" | null | undefined;
|
|
3
|
+
size?: "md" | "sm" | "lg" | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
|
+
export declare const treeViewItemVariants: (props?: ({
|
|
6
|
+
appearance?: "default" | "outline" | "sky" | "emerald" | "rose" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "ghost" | "card" | "separated" | null | undefined;
|
|
7
|
+
size?: "md" | "sm" | "lg" | null | undefined;
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
|
+
//# sourceMappingURL=variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/tree-view/variants.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB;;;8EAS3B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;8EAS/B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkQHEHBC6M_js = require('../chunk-QHEHBC6M.js');
|
|
5
|
+
require('../chunk-ZS5756ZC.js');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function TreeView(props) {
|
|
9
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkQHEHBC6M_js.TreeViewBase, { ...props });
|
|
10
|
+
}
|
|
11
|
+
TreeView.displayName = "TreeView";
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, "TreeViewBase", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return chunkQHEHBC6M_js.TreeViewBase; }
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "treeViewItemVariants", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return chunkQHEHBC6M_js.treeViewItemVariants; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "treeViewVariants", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return chunkQHEHBC6M_js.treeViewVariants; }
|
|
24
|
+
});
|
|
25
|
+
exports.TreeView = TreeView;
|
|
26
|
+
//# sourceMappingURL=tree-view.js.map
|
|
27
|
+
//# sourceMappingURL=tree-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/tree-view/tree-view.tsx"],"names":["jsx","TreeViewBase"],"mappings":";;;;;;AAIO,SAAS,SAAS,KAAA,EAAsB;AAC7C,EAAA,uBAAOA,cAAA,CAACC,6BAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAClC;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"tree-view.js","sourcesContent":["// tree-view.tsx — default static entry (no framer-motion on expand/collapse)\nimport { TreeViewBase } from \"./tree-view-base\";\nimport type { TreeViewProps } from \"./types\";\n\nexport function TreeView(props: TreeViewProps) {\n return <TreeViewBase {...props} />;\n}\n\nTreeView.displayName = \"TreeView\";\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TreeViewBase } from '../chunk-GRJFGIZC.mjs';
|
|
3
|
+
export { TreeViewBase, treeViewItemVariants, treeViewVariants } from '../chunk-GRJFGIZC.mjs';
|
|
4
|
+
import '../chunk-4D54YOL6.mjs';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function TreeView(props) {
|
|
8
|
+
return /* @__PURE__ */ jsx(TreeViewBase, { ...props });
|
|
9
|
+
}
|
|
10
|
+
TreeView.displayName = "TreeView";
|
|
11
|
+
|
|
12
|
+
export { TreeView };
|
|
13
|
+
//# sourceMappingURL=tree-view.mjs.map
|
|
14
|
+
//# sourceMappingURL=tree-view.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/tree-view/tree-view.tsx"],"names":[],"mappings":";;;;;AAIO,SAAS,SAAS,KAAA,EAAsB;AAC7C,EAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAClC;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"tree-view.mjs","sourcesContent":["// tree-view.tsx — default static entry (no framer-motion on expand/collapse)\nimport { TreeViewBase } from \"./tree-view-base\";\nimport type { TreeViewProps } from \"./types\";\n\nexport function TreeView(props: TreeViewProps) {\n return <TreeViewBase {...props} />;\n}\n\nTreeView.displayName = \"TreeView\";\n"]}
|
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.7",
|
|
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,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
zuiDropdownItemBase,
|
|
3
|
+
zuiDropdownItemVariants,
|
|
4
|
+
zuiDropdownSpacing,
|
|
5
|
+
} from "./dropdown";
|
|
6
|
+
|
|
7
|
+
export const zuiContextMenuContentBase =
|
|
8
|
+
"min-w-[220px] rounded-lg border border-[color:var(--zui-dropdown-content-border,oklch(20.8%_0.042_265.755_/_0.1))] bg-[var(--zui-dropdown-content-bg,oklch(96.8%_0.007_247.896))] p-2 text-[color:var(--zui-dropdown-content-fg,oklch(20.8%_0.042_265.755))] shadow-lg outline-none dark:border-[color:var(--zui-dropdown-content-border-dark,#ffffff1a)] dark:bg-[var(--zui-dropdown-content-bg-dark,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-dropdown-content-fg-dark,oklch(96.8%_0.007_247.896))]";
|
|
9
|
+
|
|
10
|
+
export const zuiContextMenuItemBase = zuiDropdownItemBase;
|
|
11
|
+
|
|
12
|
+
export const zuiContextMenuItemVariants = {
|
|
13
|
+
...zuiDropdownItemVariants,
|
|
14
|
+
ghost: `${zuiDropdownItemVariants.ghost} dark:bg-[var(--zui-dropdown-item-ghost-bg-dark,transparent)]`,
|
|
15
|
+
sky: `${zuiDropdownItemVariants.sky} dark:bg-[var(--zui-dropdown-item-sky-bg-dark,oklch(29.3%_0.066_243.157))] dark:text-[color:var(--zui-dropdown-item-sky-fg-dark,oklch(90.1%_0.058_230.902))] dark:hover:text-[color:var(--zui-dropdown-item-sky-fg-hover-dark,oklch(90.1%_0.058_230.902))]`,
|
|
16
|
+
rose: `${zuiDropdownItemVariants.rose} dark:bg-[var(--zui-dropdown-item-rose-bg-dark,oklch(27.1%_0.105_12.094))] dark:text-[color:var(--zui-dropdown-item-rose-fg-dark,oklch(89.2%_0.058_10.001))] dark:hover:text-[color:var(--zui-dropdown-item-rose-fg-hover-dark,oklch(89.2%_0.058_10.001))]`,
|
|
17
|
+
purple: `${zuiDropdownItemVariants.purple} dark:bg-[var(--zui-dropdown-item-purple-bg-dark,oklch(29.1%_0.149_302.717))] dark:text-[color:var(--zui-dropdown-item-purple-fg-dark,oklch(90.2%_0.063_306.703))] dark:hover:text-[color:var(--zui-dropdown-item-purple-fg-hover-dark,oklch(90.2%_0.063_306.703))]`,
|
|
18
|
+
pink: `${zuiDropdownItemVariants.pink} dark:bg-[var(--zui-dropdown-item-pink-bg-dark,oklch(28.4%_0.109_3.907))] dark:text-[color:var(--zui-dropdown-item-pink-fg-dark,oklch(89.9%_0.061_343.231))] dark:hover:text-[color:var(--zui-dropdown-item-pink-fg-hover-dark,oklch(89.9%_0.061_343.231))]`,
|
|
19
|
+
orange: `${zuiDropdownItemVariants.orange} dark:bg-[var(--zui-dropdown-item-orange-bg-dark,oklch(26.6%_0.079_36.259))] dark:text-[color:var(--zui-dropdown-item-orange-fg-dark,oklch(90.1%_0.076_70.697))] dark:hover:text-[color:var(--zui-dropdown-item-orange-fg-hover-dark,oklch(90.1%_0.076_70.697))]`,
|
|
20
|
+
yellow: `${zuiDropdownItemVariants.yellow} dark:bg-[var(--zui-dropdown-item-yellow-bg-dark,oklch(28.6%_0.066_53.813))] dark:text-[color:var(--zui-dropdown-item-yellow-fg-dark,oklch(94.5%_0.129_101.54))] dark:hover:text-[color:var(--zui-dropdown-item-yellow-fg-hover-dark,oklch(94.5%_0.129_101.54))]`,
|
|
21
|
+
teal: `${zuiDropdownItemVariants.teal} dark:bg-[var(--zui-dropdown-item-teal-bg-dark,oklch(27.7%_0.046_192.524))] dark:text-[color:var(--zui-dropdown-item-teal-fg-dark,oklch(91%_0.096_180.426))] dark:hover:text-[color:var(--zui-dropdown-item-teal-fg-hover-dark,oklch(91%_0.096_180.426))]`,
|
|
22
|
+
indigo: `${zuiDropdownItemVariants.indigo} dark:bg-[var(--zui-dropdown-item-indigo-bg-dark,oklch(25.7%_0.09_281.288))] dark:text-[color:var(--zui-dropdown-item-indigo-fg-dark,oklch(87%_0.065_274.039))] dark:hover:text-[color:var(--zui-dropdown-item-indigo-fg-hover-dark,oklch(87%_0.065_274.039))]`,
|
|
23
|
+
emerald: `${zuiDropdownItemVariants.emerald} dark:bg-[var(--zui-dropdown-item-emerald-bg-dark,oklch(26.2%_0.051_172.552))] dark:text-[color:var(--zui-dropdown-item-emerald-fg-dark,oklch(90.5%_0.093_164.15))] dark:hover:text-[color:var(--zui-dropdown-item-emerald-fg-hover-dark,oklch(90.5%_0.093_164.15))]`,
|
|
24
|
+
gray: `${zuiDropdownItemVariants.gray} dark:bg-[var(--zui-dropdown-item-gray-bg-dark,oklch(13%_0.028_261.692))] dark:text-[color:var(--zui-dropdown-item-gray-fg-dark,oklch(92.8%_0.006_264.531))] dark:hover:text-[color:var(--zui-dropdown-item-gray-fg-hover-dark,oklch(92.8%_0.006_264.531))]`,
|
|
25
|
+
amber: `${zuiDropdownItemVariants.amber} dark:bg-[var(--zui-dropdown-item-amber-bg-dark,oklch(27.9%_0.077_45.635))] dark:text-[color:var(--zui-dropdown-item-amber-fg-dark,oklch(92.4%_0.12_95.746))] dark:hover:text-[color:var(--zui-dropdown-item-amber-fg-hover-dark,oklch(92.4%_0.12_95.746))]`,
|
|
26
|
+
violet: `${zuiDropdownItemVariants.violet} dark:bg-[var(--zui-dropdown-item-violet-bg-dark,oklch(28.3%_0.141_291.089))] dark:text-[color:var(--zui-dropdown-item-violet-fg-dark,oklch(89.4%_0.057_293.283))] dark:hover:text-[color:var(--zui-dropdown-item-violet-fg-hover-dark,oklch(89.4%_0.057_293.283))]`,
|
|
27
|
+
"gradient-blue": `${zuiDropdownItemVariants["gradient-blue"]} dark:from-[var(--zui-dropdown-item-gradient-blue-from-dark,oklch(28.2%_0.091_267.935))] dark:to-[var(--zui-dropdown-item-gradient-blue-to-dark,oklch(29.1%_0.149_302.717))]`,
|
|
28
|
+
"gradient-green": `${zuiDropdownItemVariants["gradient-green"]} dark:from-[var(--zui-dropdown-item-gradient-green-from-dark,oklch(26.6%_0.065_152.934))] dark:to-[var(--zui-dropdown-item-gradient-green-to-dark,oklch(27.4%_0.072_132.109))]`,
|
|
29
|
+
"gradient-red": `${zuiDropdownItemVariants["gradient-red"]} dark:from-[var(--zui-dropdown-item-gradient-red-from-dark,oklch(25.8%_0.092_26.042))] dark:to-[var(--zui-dropdown-item-gradient-red-to-dark,oklch(28.4%_0.109_3.907))]`,
|
|
30
|
+
"gradient-yellow": `${zuiDropdownItemVariants["gradient-yellow"]} dark:from-[var(--zui-dropdown-item-gradient-yellow-from-dark,oklch(28.6%_0.066_53.813))] dark:to-[var(--zui-dropdown-item-gradient-yellow-to-dark,oklch(26.6%_0.079_36.259))]`,
|
|
31
|
+
"gradient-purple": `${zuiDropdownItemVariants["gradient-purple"]} dark:from-[var(--zui-dropdown-item-gradient-purple-from-dark,oklch(29.1%_0.149_302.717))] dark:to-[var(--zui-dropdown-item-gradient-purple-to-dark,oklch(28.4%_0.109_3.907))]`,
|
|
32
|
+
"gradient-teal": `${zuiDropdownItemVariants["gradient-teal"]} dark:from-[var(--zui-dropdown-item-gradient-teal-from-dark,oklch(27.7%_0.046_192.524))] dark:to-[var(--zui-dropdown-item-gradient-teal-to-dark,oklch(30.2%_0.056_229.695))]`,
|
|
33
|
+
"gradient-indigo": `${zuiDropdownItemVariants["gradient-indigo"]} dark:from-[var(--zui-dropdown-item-gradient-indigo-from-dark,oklch(25.7%_0.09_281.288))] dark:to-[var(--zui-dropdown-item-gradient-indigo-to-dark,oklch(29.1%_0.149_302.717))]`,
|
|
34
|
+
"gradient-pink": `${zuiDropdownItemVariants["gradient-pink"]} dark:from-[var(--zui-dropdown-item-gradient-pink-from-dark,oklch(28.4%_0.109_3.907))] dark:to-[var(--zui-dropdown-item-gradient-pink-to-dark,oklch(27.1%_0.105_12.094))]`,
|
|
35
|
+
"gradient-orange": `${zuiDropdownItemVariants["gradient-orange"]} dark:from-[var(--zui-dropdown-item-gradient-orange-from-dark,oklch(26.6%_0.079_36.259))] dark:to-[var(--zui-dropdown-item-gradient-orange-to-dark,oklch(25.8%_0.092_26.042))]`,
|
|
36
|
+
} as const;
|
|
37
|
+
|
|
38
|
+
export const zuiContextMenuSpacing = zuiDropdownSpacing;
|
|
39
|
+
|
|
40
|
+
export const zuiContextMenuLabelBase =
|
|
41
|
+
"px-3 py-2 text-xs font-semibold uppercase tracking-[0.18em] text-[color:var(--zui-dropdown-label-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-dropdown-label-fg-dark,oklch(70.7%_0.022_261.325))]";
|
|
42
|
+
|
|
43
|
+
export const zuiContextMenuSeparatorBase =
|
|
44
|
+
"my-1 h-px bg-[var(--zui-dropdown-separator-bg,oklch(20.8%_0.042_265.755_/_0.12))] dark:bg-[var(--zui-dropdown-separator-bg-dark,#ffffff1a)]";
|
|
@@ -7,6 +7,7 @@ export * from "./button";
|
|
|
7
7
|
export * from "./card";
|
|
8
8
|
export * from "./checkbox";
|
|
9
9
|
export * from "./command";
|
|
10
|
+
export * from "./context-menu";
|
|
10
11
|
export * from "./divider";
|
|
11
12
|
export * from "./drawer";
|
|
12
13
|
export * from "./dropdown";
|
|
@@ -28,8 +29,10 @@ export * from "./spinner";
|
|
|
28
29
|
export * from "./stepper";
|
|
29
30
|
export * from "./table";
|
|
30
31
|
export * from "./tabs";
|
|
32
|
+
export * from "./timeline";
|
|
31
33
|
export * from "./toast";
|
|
32
34
|
export * from "./tokens";
|
|
33
35
|
export * from "./toggle";
|
|
34
36
|
export * from "./tooltip";
|
|
37
|
+
export * from "./tree-view";
|
|
35
38
|
export * from "./typography";
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export const zuiTimelineBase = "flex w-full flex-col";
|
|
2
|
+
|
|
3
|
+
export const zuiTimelineItemBase = "relative flex gap-4";
|
|
4
|
+
|
|
5
|
+
export const zuiTimelineIndicatorBase =
|
|
6
|
+
"relative z-[1] grid shrink-0 place-items-center rounded-full border font-semibold transition-colors";
|
|
7
|
+
|
|
8
|
+
export const zuiTimelineIndicatorAppearances = {
|
|
9
|
+
default:
|
|
10
|
+
"border-[color:var(--zui-timeline-indicator-default-border,oklch(55.1%_0.027_264.364_/_0.6))] bg-[var(--zui-timeline-indicator-default-bg,oklch(55.1%_0.027_264.364_/_0.2))] text-[color:var(--zui-timeline-indicator-default-fg,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-timeline-indicator-default-fg-dark,oklch(96.7%_0.003_264.542))] ring-2 ring-[var(--zui-timeline-indicator-default-ring,oklch(70.7%_0.022_261.325_/_0.3))]",
|
|
11
|
+
sky: "border-[color:var(--zui-timeline-indicator-sky-border,oklch(68.5%_0.169_237.323_/_0.6))] bg-[var(--zui-timeline-indicator-sky-bg,oklch(68.5%_0.169_237.323_/_0.2))] text-[color:var(--zui-timeline-indicator-sky-fg,oklch(39.1%_0.09_240.876))] dark:text-[color:var(--zui-timeline-indicator-sky-fg-dark,oklch(95.1%_0.026_236.824))] ring-2 ring-[var(--zui-timeline-indicator-sky-ring,oklch(74.6%_0.16_232.661_/_0.3))]",
|
|
12
|
+
rose: "border-[color:var(--zui-timeline-indicator-rose-border,oklch(64.5%_0.246_16.439_/_0.6))] bg-[var(--zui-timeline-indicator-rose-bg,oklch(64.5%_0.246_16.439_/_0.2))] text-[color:var(--zui-timeline-indicator-rose-fg,oklch(41%_0.159_10.272))] dark:text-[color:var(--zui-timeline-indicator-rose-fg-dark,oklch(94.1%_0.03_12.58))] ring-2 ring-[var(--zui-timeline-indicator-rose-ring,oklch(71.2%_0.194_13.428_/_0.3))]",
|
|
13
|
+
purple:
|
|
14
|
+
"border-[color:var(--zui-timeline-indicator-purple-border,oklch(62.7%_0.265_303.9_/_0.6))] bg-[var(--zui-timeline-indicator-purple-bg,oklch(62.7%_0.265_303.9_/_0.2))] text-[color:var(--zui-timeline-indicator-purple-fg,oklch(38.1%_0.176_304.987))] dark:text-[color:var(--zui-timeline-indicator-purple-fg-dark,oklch(94.6%_0.033_307.174))] ring-2 ring-[var(--zui-timeline-indicator-purple-ring,oklch(71.4%_0.203_305.504_/_0.3))]",
|
|
15
|
+
pink: "border-[color:var(--zui-timeline-indicator-pink-border,oklch(65.6%_0.241_354.308_/_0.6))] bg-[var(--zui-timeline-indicator-pink-bg,oklch(65.6%_0.241_354.308_/_0.2))] text-[color:var(--zui-timeline-indicator-pink-fg,oklch(40.8%_0.153_2.432))] dark:text-[color:var(--zui-timeline-indicator-pink-fg-dark,oklch(94.8%_0.028_342.258))] ring-2 ring-[var(--zui-timeline-indicator-pink-ring,oklch(71.8%_0.202_349.761_/_0.3))]",
|
|
16
|
+
orange:
|
|
17
|
+
"border-[color:var(--zui-timeline-indicator-orange-border,oklch(70.5%_0.213_47.604_/_0.6))] bg-[var(--zui-timeline-indicator-orange-bg,oklch(70.5%_0.213_47.604_/_0.2))] text-[color:var(--zui-timeline-indicator-orange-fg,oklch(40.8%_0.123_38.172))] dark:text-[color:var(--zui-timeline-indicator-orange-fg-dark,oklch(95.4%_0.038_75.164))] ring-2 ring-[var(--zui-timeline-indicator-orange-ring,oklch(75%_0.183_55.934_/_0.3))]",
|
|
18
|
+
yellow:
|
|
19
|
+
"border-[color:var(--zui-timeline-indicator-yellow-border,oklch(79.5%_0.184_86.047_/_0.6))] bg-[var(--zui-timeline-indicator-yellow-bg,oklch(79.5%_0.184_86.047_/_0.2))] text-[color:var(--zui-timeline-indicator-yellow-fg,oklch(42.1%_0.095_57.708))] dark:text-[color:var(--zui-timeline-indicator-yellow-fg-dark,oklch(97.3%_0.071_103.193))] ring-2 ring-[var(--zui-timeline-indicator-yellow-ring,oklch(85.2%_0.199_91.936_/_0.3))]",
|
|
20
|
+
teal: "border-[color:var(--zui-timeline-indicator-teal-border,oklch(70.4%_0.14_182.503_/_0.6))] bg-[var(--zui-timeline-indicator-teal-bg,oklch(70.4%_0.14_182.503_/_0.2))] text-[color:var(--zui-timeline-indicator-teal-fg,oklch(38.6%_0.063_188.416))] dark:text-[color:var(--zui-timeline-indicator-teal-fg-dark,oklch(95.3%_0.051_180.801))] ring-2 ring-[var(--zui-timeline-indicator-teal-ring,oklch(77.7%_0.152_181.912_/_0.3))]",
|
|
21
|
+
indigo:
|
|
22
|
+
"border-[color:var(--zui-timeline-indicator-indigo-border,oklch(58.5%_0.233_277.117_/_0.6))] bg-[var(--zui-timeline-indicator-indigo-bg,oklch(58.5%_0.233_277.117_/_0.2))] text-[color:var(--zui-timeline-indicator-indigo-fg,oklch(35.9%_0.144_278.697))] dark:text-[color:var(--zui-timeline-indicator-indigo-fg-dark,oklch(93%_0.034_272.788))] ring-2 ring-[var(--zui-timeline-indicator-indigo-ring,oklch(67.3%_0.182_276.935_/_0.3))]",
|
|
23
|
+
emerald:
|
|
24
|
+
"border-[color:var(--zui-timeline-indicator-emerald-border,oklch(69.6%_0.17_162.48_/_0.6))] bg-[var(--zui-timeline-indicator-emerald-bg,oklch(69.6%_0.17_162.48_/_0.2))] text-[color:var(--zui-timeline-indicator-emerald-fg,oklch(37.8%_0.077_168.94))] dark:text-[color:var(--zui-timeline-indicator-emerald-fg-dark,oklch(95%_0.052_163.051))] ring-2 ring-[var(--zui-timeline-indicator-emerald-ring,oklch(76.5%_0.177_163.223_/_0.3))]",
|
|
25
|
+
gray: "border-[color:var(--zui-timeline-indicator-gray-border,oklch(55.1%_0.027_264.364_/_0.6))] bg-[var(--zui-timeline-indicator-gray-bg,oklch(55.1%_0.027_264.364_/_0.2))] text-[color:var(--zui-timeline-indicator-gray-fg,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-timeline-indicator-gray-fg-dark,oklch(96.7%_0.003_264.542))] ring-2 ring-[var(--zui-timeline-indicator-gray-ring,oklch(70.7%_0.022_261.325_/_0.3))]",
|
|
26
|
+
violet:
|
|
27
|
+
"border-[color:var(--zui-timeline-indicator-violet-border,oklch(60.6%_0.25_292.717_/_0.6))] bg-[var(--zui-timeline-indicator-violet-bg,oklch(60.6%_0.25_292.717_/_0.2))] text-[color:var(--zui-timeline-indicator-violet-fg,oklch(38%_0.189_293.745))] dark:text-[color:var(--zui-timeline-indicator-violet-fg-dark,oklch(94.3%_0.029_294.588))] ring-2 ring-[var(--zui-timeline-indicator-violet-ring,oklch(70.2%_0.183_293.541_/_0.3))]",
|
|
28
|
+
"gradient-blue":
|
|
29
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-blue-from,oklch(62.3%_0.214_259.815))] to-[var(--zui-timeline-indicator-gradient-blue-to,oklch(54.6%_0.245_262.881))] text-[color:var(--zui-timeline-indicator-gradient-blue-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-blue-ring,oklch(70.7%_0.165_254.624_/_0.3))]",
|
|
30
|
+
"gradient-green":
|
|
31
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-green-from,oklch(72.3%_0.219_149.579))] to-[var(--zui-timeline-indicator-gradient-green-to,oklch(62.7%_0.194_149.214))] text-[color:var(--zui-timeline-indicator-gradient-green-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-green-ring,oklch(79.2%_0.209_151.711_/_0.3))]",
|
|
32
|
+
"gradient-red":
|
|
33
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-red-from,oklch(63.7%_0.237_25.331))] to-[var(--zui-timeline-indicator-gradient-red-to,oklch(57.7%_0.245_27.325))] text-[color:var(--zui-timeline-indicator-gradient-red-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-red-ring,oklch(70.4%_0.191_22.216_/_0.3))]",
|
|
34
|
+
"gradient-yellow":
|
|
35
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-yellow-from,oklch(85.2%_0.199_91.936))] to-[var(--zui-timeline-indicator-gradient-yellow-to,oklch(79.5%_0.184_86.047))] text-[color:var(--zui-timeline-indicator-gradient-yellow-fg,oklch(42.1%_0.095_57.708))] ring-2 ring-[var(--zui-timeline-indicator-gradient-yellow-ring,oklch(85.2%_0.199_91.936_/_0.3))]",
|
|
36
|
+
"gradient-purple":
|
|
37
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-purple-from,oklch(71.4%_0.203_305.504))] to-[var(--zui-timeline-indicator-gradient-purple-to,oklch(62.7%_0.265_303.9))] text-[color:var(--zui-timeline-indicator-gradient-purple-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-purple-ring,oklch(71.4%_0.203_305.504_/_0.3))]",
|
|
38
|
+
"gradient-teal":
|
|
39
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-teal-from,oklch(77.7%_0.152_181.912))] to-[var(--zui-timeline-indicator-gradient-teal-to,oklch(70.4%_0.14_182.503))] text-[color:var(--zui-timeline-indicator-gradient-teal-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-teal-ring,oklch(77.7%_0.152_181.912_/_0.3))]",
|
|
40
|
+
"gradient-indigo":
|
|
41
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-indigo-from,oklch(67.3%_0.182_276.935))] to-[var(--zui-timeline-indicator-gradient-indigo-to,oklch(58.5%_0.233_277.117))] text-[color:var(--zui-timeline-indicator-gradient-indigo-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-indigo-ring,oklch(67.3%_0.182_276.935_/_0.3))]",
|
|
42
|
+
"gradient-pink":
|
|
43
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-pink-from,oklch(71.8%_0.202_349.761))] to-[var(--zui-timeline-indicator-gradient-pink-to,oklch(65.6%_0.241_354.308))] text-[color:var(--zui-timeline-indicator-gradient-pink-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-pink-ring,oklch(71.8%_0.202_349.761_/_0.3))]",
|
|
44
|
+
"gradient-orange":
|
|
45
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-orange-from,oklch(75%_0.183_55.934))] to-[var(--zui-timeline-indicator-gradient-orange-to,oklch(70.5%_0.213_47.604))] text-[color:var(--zui-timeline-indicator-gradient-orange-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-orange-ring,oklch(75%_0.183_55.934_/_0.3))]",
|
|
46
|
+
} as const;
|
|
47
|
+
|
|
48
|
+
export const zuiTimelineIndicatorSizes = {
|
|
49
|
+
sm: "size-5 text-[0.625rem]",
|
|
50
|
+
md: "size-6 text-xs",
|
|
51
|
+
lg: "size-7 text-sm",
|
|
52
|
+
} as const;
|
|
53
|
+
|
|
54
|
+
export const zuiTimelineConnectorBase =
|
|
55
|
+
"pointer-events-none absolute bottom-0 w-px -translate-x-1/2 rounded-full bg-[var(--zui-timeline-connector,#0000001f)] dark:bg-[var(--zui-timeline-connector-dark,#ffffff1f)]";
|
|
56
|
+
|
|
57
|
+
export const zuiTimelineConnectorSizes = {
|
|
58
|
+
sm: "left-2.5 top-6",
|
|
59
|
+
md: "left-3 top-7",
|
|
60
|
+
lg: "left-3.5 top-8",
|
|
61
|
+
} as const;
|
|
62
|
+
|
|
63
|
+
export const zuiTimelineContentBase = "min-w-0 flex-1";
|
|
64
|
+
|
|
65
|
+
export const zuiTimelineContentSizes = {
|
|
66
|
+
sm: "pb-5",
|
|
67
|
+
md: "pb-6",
|
|
68
|
+
lg: "pb-8",
|
|
69
|
+
} as const;
|
|
70
|
+
|
|
71
|
+
export const zuiTimelineTitleBase =
|
|
72
|
+
"font-semibold text-[color:var(--zui-timeline-title-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-timeline-title-fg-dark,#ffffff)]";
|
|
73
|
+
|
|
74
|
+
export const zuiTimelineTitleSizes = {
|
|
75
|
+
sm: "text-sm",
|
|
76
|
+
md: "text-sm",
|
|
77
|
+
lg: "text-base",
|
|
78
|
+
} as const;
|
|
79
|
+
|
|
80
|
+
export const zuiTimelineDescriptionBase =
|
|
81
|
+
"text-[color:var(--zui-timeline-description-fg,oklch(44.6%_0.03_256.802))] dark:text-[color:var(--zui-timeline-description-fg-dark,oklch(70.4%_0.04_256.788))]";
|
|
82
|
+
|
|
83
|
+
export const zuiTimelineDescriptionSizes = {
|
|
84
|
+
sm: "text-xs",
|
|
85
|
+
md: "text-xs",
|
|
86
|
+
lg: "text-sm",
|
|
87
|
+
} as const;
|