@deftui/react 0.3.0 → 0.3.2
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/dist/index.d.mts +4 -3
- package/dist/index.mjs +2 -3
- package/dist/vendor/README.md +4 -2
- package/dist/vendor/coss/calendar.mjs +2 -0
- package/dist/vendor/coss/card.d.mts +0 -6
- package/dist/vendor/coss/card.mjs +1 -68
- package/dist/vendor/reui.io/cascader/cascader-async.d.mts +20 -0
- package/dist/vendor/reui.io/cascader/cascader-async.mjs +578 -0
- package/dist/vendor/reui.io/cascader/cascader-context.d.mts +12 -0
- package/dist/vendor/reui.io/cascader/cascader-context.mjs +56 -0
- package/dist/vendor/reui.io/cascader/cascader-footer.d.mts +60 -0
- package/dist/vendor/reui.io/cascader/cascader-footer.mjs +445 -0
- package/dist/vendor/reui.io/cascader/cascader-i18n.mjs +64 -0
- package/dist/vendor/reui.io/cascader/cascader-item.d.mts +92 -0
- package/dist/vendor/reui.io/cascader/cascader-item.mjs +533 -0
- package/dist/vendor/reui.io/cascader/cascader-lib.d.mts +3 -0
- package/dist/vendor/reui.io/cascader/cascader-lib.mjs +688 -0
- package/dist/vendor/reui.io/cascader/cascader-nav.d.mts +56 -0
- package/dist/vendor/reui.io/cascader/cascader-nav.mjs +310 -0
- package/dist/vendor/reui.io/cascader/cascader-types.d.mts +140 -0
- package/dist/vendor/reui.io/cascader/cascader-virtual.d.mts +18 -0
- package/dist/vendor/reui.io/cascader/cascader-virtual.mjs +159 -0
- package/dist/vendor/reui.io/cascader/cascader.d.mts +299 -0
- package/dist/vendor/reui.io/cascader/cascader.mjs +1470 -0
- package/dist/vendor/reui.io/frame.d.mts +22 -0
- package/dist/vendor/reui.io/frame.mjs +106 -0
- package/dist/vendor/reui.io/timeline.d.mts +21 -0
- package/dist/vendor/reui.io/timeline.mjs +127 -0
- package/dist/widgets/datetime.mjs +0 -5
- package/dist/widgets/export.d.mts +28 -0
- package/dist/widgets/index.d.mts +64 -19
- package/dist/widgets/index.mjs +54 -10
- package/package.json +2 -2
- package/dist/vendor/tailored/file-tree.d.mts +0 -21
- package/dist/vendor/tailored/file-tree.mjs +0 -146
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
/**
|
|
3
|
+
* Frame sets --frame-panel-bg and --frame-panel-border-color; FramePanel reads
|
|
4
|
+
* them back as bg-(--frame-panel-bg) and border-(--frame-panel-border-color).
|
|
5
|
+
* So variant="inverse" re-points every panel from one place, and a consumer's
|
|
6
|
+
* own bg-* on a panel still wins on source order, with no :not() and no `!`.
|
|
7
|
+
*/
|
|
8
|
+
declare const frameVariants: (props?: ({
|
|
9
|
+
variant?: "default" | "ghost" | "inverse" | null | undefined;
|
|
10
|
+
spacing?: "default" | "lg" | "sm" | "xs" | null | undefined;
|
|
11
|
+
stacked?: boolean | null | undefined;
|
|
12
|
+
dense?: boolean | null | undefined;
|
|
13
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
14
|
+
declare function Frame({ className, variant, spacing, stacked, dense, ...props }: React.ComponentProps<"div"> & VariantProps<typeof frameVariants>): import("react").JSX.Element;
|
|
15
|
+
declare function FramePanel({ className, fit, ...props }: React.ComponentProps<"div"> & {
|
|
16
|
+
fit?: boolean;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
declare function FrameHeader({ className, ...props }: React.ComponentProps<"header">): import("react").JSX.Element;
|
|
19
|
+
declare function FrameTitle({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
|
|
20
|
+
declare function FrameDescription({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
|
|
21
|
+
declare function FrameFooter({ className, ...props }: React.ComponentProps<"footer">): import("react").JSX.Element;
|
|
22
|
+
export { Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, frameVariants };
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { cn } from "cn";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
// src/vendor/reui.io/frame.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Frame sets --frame-panel-bg and --frame-panel-border-color; FramePanel reads
|
|
7
|
+
* them back as bg-(--frame-panel-bg) and border-(--frame-panel-border-color).
|
|
8
|
+
* So variant="inverse" re-points every panel from one place, and a consumer's
|
|
9
|
+
* own bg-* on a panel still wins on source order, with no :not() and no `!`.
|
|
10
|
+
*/
|
|
11
|
+
const frameVariants = cva([
|
|
12
|
+
"relative flex flex-col bg-muted/50 gap-(--frame-gap) px-(--frame-px) py-(--frame-py) rounded-(--frame-radius)",
|
|
13
|
+
"[--frame-radius:var(--radius-xl)]",
|
|
14
|
+
"[--frame-gap:--spacing(0.75)] [--frame-px:--spacing(0.75)] [--frame-py:--spacing(0.75)] [--frame-panel-header-gap:0rem] [--frame-panel-footer-gap:--spacing(1)]",
|
|
15
|
+
"[--frame-panel-px-adjust:0px] [--frame-panel-py-adjust:0px] [--frame-panel-header-px-adjust:0px] [--frame-panel-header-py-adjust:0px] [--frame-panel-footer-px-adjust:0px] [--frame-panel-footer-py-adjust:0px]",
|
|
16
|
+
"[--frame-panel-px:calc(var(--frame-panel-px-base)+var(--frame-panel-px-adjust))] [--frame-panel-py:calc(var(--frame-panel-py-base)+var(--frame-panel-py-adjust))] [--frame-panel-header-px:calc(var(--frame-panel-header-px-base)+var(--frame-panel-header-px-adjust))] [--frame-panel-header-py:calc(var(--frame-panel-header-py-base)+var(--frame-panel-header-py-adjust))] [--frame-panel-footer-px:calc(var(--frame-panel-footer-px-base)+var(--frame-panel-footer-px-adjust))] [--frame-panel-footer-py:calc(var(--frame-panel-footer-py-base)+var(--frame-panel-footer-py-adjust))]",
|
|
17
|
+
"",
|
|
18
|
+
"[--frame-panel-bg:var(--color-card)] [--frame-panel-border-color:var(--color-border)] [--frame-border-color:var(--color-border)]",
|
|
19
|
+
"[--frame-panel-radius:calc(var(--frame-radius)-var(--frame-px)-1px)]"
|
|
20
|
+
], {
|
|
21
|
+
variants: {
|
|
22
|
+
variant: {
|
|
23
|
+
default: "border border-[var(--frame-border-color)] bg-clip-padding",
|
|
24
|
+
inverse: "[--frame-panel-bg:color-mix(in_oklch,var(--color-muted)_40%,transparent)] border border-[var(--frame-border-color)] bg-background bg-clip-padding",
|
|
25
|
+
ghost: "[--frame-panel-radius:calc(var(--frame-radius)-var(--frame-px))]"
|
|
26
|
+
},
|
|
27
|
+
spacing: {
|
|
28
|
+
xs: "[--frame-panel-px-base:--spacing(2)] [--frame-panel-py-base:--spacing(2)] [--frame-panel-header-px-base:--spacing(2)] [--frame-panel-header-py-base:--spacing(0.5)] [--frame-panel-footer-px-base:--spacing(2)] [--frame-panel-footer-py-base:--spacing(0.5)]",
|
|
29
|
+
sm: "[--frame-panel-px-base:--spacing(3)] [--frame-panel-py-base:--spacing(3.5)] [--frame-panel-header-px-base:--spacing(3)] [--frame-panel-header-py-base:--spacing(1.5)] [--frame-panel-footer-px-base:--spacing(3)] [--frame-panel-footer-py-base:--spacing(1.5)]",
|
|
30
|
+
default: "[--frame-panel-px-base:--spacing(4)] [--frame-panel-py-base:--spacing(4)] [--frame-panel-header-px-base:--spacing(4)] [--frame-panel-header-py-base:--spacing(2)] [--frame-panel-footer-px-base:--spacing(4)] [--frame-panel-footer-py-base:--spacing(2)]",
|
|
31
|
+
lg: "[--frame-panel-px-base:--spacing(5)] [--frame-panel-py-base:--spacing(5)] [--frame-panel-header-px-base:--spacing(5)] [--frame-panel-header-py-base:--spacing(2.5)] [--frame-panel-footer-px-base:--spacing(5)] [--frame-panel-footer-py-base:--spacing(2.5)]"
|
|
32
|
+
},
|
|
33
|
+
stacked: {
|
|
34
|
+
true: [
|
|
35
|
+
"gap-0 *:has-[+[data-slot=frame-panel]]:rounded-b-none",
|
|
36
|
+
"*:has-[+[data-slot=frame-panel]]:before:hidden",
|
|
37
|
+
"*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:rounded-t-none",
|
|
38
|
+
"*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:border-t-0"
|
|
39
|
+
],
|
|
40
|
+
false: [
|
|
41
|
+
"data-[spacing=sm]:*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:mt-0.5",
|
|
42
|
+
"data-[spacing=default]:*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:mt-1",
|
|
43
|
+
"data-[spacing=lg]:*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:mt-2"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
dense: {
|
|
47
|
+
true: "p-0 gap-0 border-[var(--frame-border-color)] [--frame-panel-radius:var(--frame-radius)] [&_[data-slot=frame-panel]]:-mx-px [&_[data-slot=frame-panel]]:before:hidden [&_[data-slot=frame-panel]:last-child]:-mb-px [&:not(:has([data-slot=frame-panel-header]))_[data-slot=frame-panel]:is(:first-child)]:-mt-px",
|
|
48
|
+
false: ""
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
defaultVariants: {
|
|
52
|
+
variant: "default",
|
|
53
|
+
spacing: "default",
|
|
54
|
+
stacked: false,
|
|
55
|
+
dense: false
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
function Frame({ className, variant, spacing, stacked, dense, ...props }) {
|
|
59
|
+
return /* @__PURE__ */ jsx("div", {
|
|
60
|
+
className: cn(frameVariants({
|
|
61
|
+
variant,
|
|
62
|
+
spacing,
|
|
63
|
+
stacked,
|
|
64
|
+
dense
|
|
65
|
+
}), className),
|
|
66
|
+
"data-slot": "frame",
|
|
67
|
+
"data-spacing": spacing,
|
|
68
|
+
...props
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function FramePanel({ className, fit, ...props }) {
|
|
72
|
+
return /* @__PURE__ */ jsx("div", {
|
|
73
|
+
className: cn("relative overflow-hidden rounded-(--frame-panel-radius) border border-(--frame-panel-border-color) bg-(--frame-panel-bg) bg-clip-padding shadow-xs", !fit && "grow", "before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--frame-panel-radius)-1px)] before:shadow-black/5", "dark:bg-clip-border dark:before:shadow-white/5", "px-(--frame-panel-px) py-(--frame-panel-py)", className),
|
|
74
|
+
"data-slot": "frame-panel",
|
|
75
|
+
...props
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function FrameHeader({ className, ...props }) {
|
|
79
|
+
return /* @__PURE__ */ jsx("header", {
|
|
80
|
+
className: cn("flex flex-col gap-(--frame-panel-header-gap) px-(--frame-panel-header-px) py-(--frame-panel-header-py)", className),
|
|
81
|
+
"data-slot": "frame-panel-header",
|
|
82
|
+
...props
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function FrameTitle({ className, ...props }) {
|
|
86
|
+
return /* @__PURE__ */ jsx("div", {
|
|
87
|
+
className: cn("text-sm font-semibold", className),
|
|
88
|
+
"data-slot": "frame-panel-title",
|
|
89
|
+
...props
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
function FrameDescription({ className, ...props }) {
|
|
93
|
+
return /* @__PURE__ */ jsx("div", {
|
|
94
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
95
|
+
"data-slot": "frame-panel-description",
|
|
96
|
+
...props
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function FrameFooter({ className, ...props }) {
|
|
100
|
+
return /* @__PURE__ */ jsx("footer", {
|
|
101
|
+
className: cn("flex flex-col gap-(--frame-panel-footer-gap) px-(--frame-panel-footer-px) py-(--frame-panel-footer-py)", className),
|
|
102
|
+
"data-slot": "frame-panel-footer",
|
|
103
|
+
...props
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
export { Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, frameVariants };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
interface TimelineProps extends useRender.ComponentProps<"div"> {
|
|
3
|
+
defaultValue?: number;
|
|
4
|
+
value?: number;
|
|
5
|
+
onValueChange?: (value: number) => void;
|
|
6
|
+
orientation?: "horizontal" | "vertical";
|
|
7
|
+
}
|
|
8
|
+
declare function Timeline({ defaultValue, value, onValueChange, orientation, className, render, children, ...props }: TimelineProps): import("react").JSX.Element;
|
|
9
|
+
declare function TimelineContent({ className, render, children, ...props }: useRender.ComponentProps<"div">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
10
|
+
type TimelineDateProps = useRender.ComponentProps<"time">;
|
|
11
|
+
declare function TimelineDate({ className, render, children, ...props }: TimelineDateProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
12
|
+
declare function TimelineHeader({ className, render, children, ...props }: useRender.ComponentProps<"div">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
13
|
+
type TimelineIndicatorProps = useRender.ComponentProps<"div">;
|
|
14
|
+
declare function TimelineIndicator({ className, children, render, ...props }: TimelineIndicatorProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
15
|
+
interface TimelineItemProps extends useRender.ComponentProps<"div"> {
|
|
16
|
+
step: number;
|
|
17
|
+
}
|
|
18
|
+
declare function TimelineItem({ step, className, render, children, ...props }: TimelineItemProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
19
|
+
declare function TimelineSeparator({ className, render, children, ...props }: useRender.ComponentProps<"div">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
20
|
+
declare function TimelineTitle({ className, render, children, ...props }: useRender.ComponentProps<"h3">): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
21
|
+
export { Timeline, TimelineContent, TimelineDate, TimelineHeader, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle };
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "cn";
|
|
3
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
4
|
+
import { createContext, useCallback, useContext, useState } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
7
|
+
// src/vendor/reui.io/timeline.tsx
|
|
8
|
+
const TimelineContext = createContext(void 0);
|
|
9
|
+
const useTimeline = () => {
|
|
10
|
+
const context = useContext(TimelineContext);
|
|
11
|
+
if (!context) throw new Error("useTimeline must be used within a Timeline");
|
|
12
|
+
return context;
|
|
13
|
+
};
|
|
14
|
+
function Timeline({ defaultValue = 1, value, onValueChange, orientation = "vertical", className, render, children, ...props }) {
|
|
15
|
+
const [activeStep, setInternalStep] = useState(defaultValue);
|
|
16
|
+
const setActiveStep = useCallback((step) => {
|
|
17
|
+
if (value === void 0) setInternalStep(step);
|
|
18
|
+
onValueChange?.(step);
|
|
19
|
+
}, [value, onValueChange]);
|
|
20
|
+
const currentStep = value ?? activeStep;
|
|
21
|
+
const defaultProps = {
|
|
22
|
+
className: cn("group/timeline flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col", className),
|
|
23
|
+
"data-orientation": orientation,
|
|
24
|
+
"data-slot": "timeline",
|
|
25
|
+
children
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ jsx(TimelineContext.Provider, {
|
|
28
|
+
value: {
|
|
29
|
+
activeStep: currentStep,
|
|
30
|
+
setActiveStep
|
|
31
|
+
},
|
|
32
|
+
children: useRender({
|
|
33
|
+
defaultTagName: "div",
|
|
34
|
+
render,
|
|
35
|
+
props: mergeProps(defaultProps, props)
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function TimelineContent({ className, render, children, ...props }) {
|
|
40
|
+
const defaultProps = {
|
|
41
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
42
|
+
"data-slot": "timeline-content",
|
|
43
|
+
children
|
|
44
|
+
};
|
|
45
|
+
return useRender({
|
|
46
|
+
defaultTagName: "div",
|
|
47
|
+
render,
|
|
48
|
+
props: mergeProps(defaultProps, props)
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function TimelineDate({ className, render, children, ...props }) {
|
|
52
|
+
const defaultProps = {
|
|
53
|
+
className: cn("mb-1 block font-medium text-muted-foreground text-xs group-data-[orientation=vertical]/timeline:max-sm:h-4", className),
|
|
54
|
+
"data-slot": "timeline-date",
|
|
55
|
+
children
|
|
56
|
+
};
|
|
57
|
+
return useRender({
|
|
58
|
+
defaultTagName: "time",
|
|
59
|
+
render,
|
|
60
|
+
props: mergeProps(defaultProps, props)
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function TimelineHeader({ className, render, children, ...props }) {
|
|
64
|
+
const defaultProps = {
|
|
65
|
+
className: cn(className),
|
|
66
|
+
"data-slot": "timeline-header",
|
|
67
|
+
children
|
|
68
|
+
};
|
|
69
|
+
return useRender({
|
|
70
|
+
defaultTagName: "div",
|
|
71
|
+
render,
|
|
72
|
+
props: mergeProps(defaultProps, props)
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function TimelineIndicator({ className, children, render, ...props }) {
|
|
76
|
+
const defaultProps = {
|
|
77
|
+
"aria-hidden": true,
|
|
78
|
+
className: cn("group-data-[orientation=horizontal]/timeline:-top-6 group-data-[orientation=horizontal]/timeline:-translate-y-1/2 group-data-[orientation=vertical]/timeline:-left-6 group-data-[orientation=vertical]/timeline:-translate-x-1/2 absolute size-4 rounded-full border-2 border-primary/20 group-data-[orientation=vertical]/timeline:top-0 group-data-[orientation=horizontal]/timeline:left-0 group-data-completed/timeline-item:border-primary", className),
|
|
79
|
+
"data-slot": "timeline-indicator",
|
|
80
|
+
children
|
|
81
|
+
};
|
|
82
|
+
return useRender({
|
|
83
|
+
defaultTagName: "div",
|
|
84
|
+
render,
|
|
85
|
+
props: mergeProps(defaultProps, props)
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function TimelineItem({ step, className, render, children, ...props }) {
|
|
89
|
+
const { activeStep } = useTimeline();
|
|
90
|
+
const defaultProps = {
|
|
91
|
+
className: cn("group/timeline-item relative flex flex-1 flex-col gap-0.5 group-data-[orientation=vertical]/timeline:ms-8 group-data-[orientation=horizontal]/timeline:mt-8 group-data-[orientation=horizontal]/timeline:not-last:pe-8 group-data-[orientation=vertical]/timeline:not-last:pb-6 has-[+[data-completed]]:**:data-[slot=timeline-separator]:bg-primary", className),
|
|
92
|
+
"data-completed": step <= activeStep || void 0,
|
|
93
|
+
"data-slot": "timeline-item",
|
|
94
|
+
children
|
|
95
|
+
};
|
|
96
|
+
return useRender({
|
|
97
|
+
defaultTagName: "div",
|
|
98
|
+
render,
|
|
99
|
+
props: mergeProps(defaultProps, props)
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
function TimelineSeparator({ className, render, children, ...props }) {
|
|
103
|
+
const defaultProps = {
|
|
104
|
+
"aria-hidden": true,
|
|
105
|
+
className: cn("group-data-[orientation=horizontal]/timeline:-top-6 group-data-[orientation=horizontal]/timeline:-translate-y-1/2 group-data-[orientation=vertical]/timeline:-left-6 group-data-[orientation=vertical]/timeline:-translate-x-1/2 absolute self-start bg-primary/10 group-last/timeline-item:hidden group-data-[orientation=horizontal]/timeline:h-0.5 group-data-[orientation=vertical]/timeline:h-[calc(100%-1rem-0.25rem)] group-data-[orientation=horizontal]/timeline:w-[calc(100%-1rem-0.25rem)] group-data-[orientation=vertical]/timeline:w-0.5 group-data-[orientation=horizontal]/timeline:translate-x-4.5 group-data-[orientation=vertical]/timeline:translate-y-4.5", className),
|
|
106
|
+
"data-slot": "timeline-separator",
|
|
107
|
+
children
|
|
108
|
+
};
|
|
109
|
+
return useRender({
|
|
110
|
+
defaultTagName: "div",
|
|
111
|
+
render,
|
|
112
|
+
props: mergeProps(defaultProps, props)
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function TimelineTitle({ className, render, children, ...props }) {
|
|
116
|
+
const defaultProps = {
|
|
117
|
+
className: cn("font-medium text-sm", className),
|
|
118
|
+
"data-slot": "timeline-title",
|
|
119
|
+
children
|
|
120
|
+
};
|
|
121
|
+
return useRender({
|
|
122
|
+
defaultTagName: "h3",
|
|
123
|
+
render,
|
|
124
|
+
props: mergeProps(defaultProps, props)
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
export { Timeline, TimelineContent, TimelineDate, TimelineHeader, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle };
|
|
@@ -6,7 +6,6 @@ import { cn } from "cn";
|
|
|
6
6
|
import { useState } from "react";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
import { CalendarIcon } from "lucide-react";
|
|
9
|
-
import { enUS, zhCN } from "@daypicker/react/locale";
|
|
10
9
|
import { format } from "date-fns";
|
|
11
10
|
// src/widgets/datetime.tsx
|
|
12
11
|
function TimePicker({ className, step = "1", ...props }) {
|
|
@@ -19,7 +18,6 @@ function TimePicker({ className, step = "1", ...props }) {
|
|
|
19
18
|
}
|
|
20
19
|
function DatePicker({ value, defaultValue = null, placeholder = "请选择日期", disabled, onChange, className, calendarProps, ...props }) {
|
|
21
20
|
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
22
|
-
const locale = navigator.language.startsWith("zh") ? zhCN : enUS;
|
|
23
21
|
const date = value === void 0 ? internalValue : value;
|
|
24
22
|
function handleSelect(selected) {
|
|
25
23
|
const nextValue = selected ?? null;
|
|
@@ -36,7 +34,6 @@ function DatePicker({ value, defaultValue = null, placeholder = "请选择日期
|
|
|
36
34
|
}),
|
|
37
35
|
children: [/* @__PURE__ */ jsx(CalendarIcon, { "aria-hidden": "true" }), date ? format(date, "PPP") : placeholder]
|
|
38
36
|
}), /* @__PURE__ */ jsx(PopoverContent, { children: /* @__PURE__ */ jsx(Calendar, {
|
|
39
|
-
locale,
|
|
40
37
|
defaultMonth: date ?? void 0,
|
|
41
38
|
...calendarProps,
|
|
42
39
|
disabled: disabled || calendarProps?.disabled,
|
|
@@ -47,7 +44,6 @@ function DatePicker({ value, defaultValue = null, placeholder = "请选择日期
|
|
|
47
44
|
}
|
|
48
45
|
function DateRangePicker({ value, defaultValue = null, placeholder = "请选择日期范围", disabled, onChange, className, calendarProps, ...props }) {
|
|
49
46
|
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
50
|
-
const locale = navigator.language.startsWith("zh") ? zhCN : enUS;
|
|
51
47
|
const date = value === void 0 ? internalValue : value;
|
|
52
48
|
function handleSelect(selected) {
|
|
53
49
|
const nextValue = selected ?? null;
|
|
@@ -68,7 +64,6 @@ function DateRangePicker({ value, defaultValue = null, placeholder = "请选择
|
|
|
68
64
|
date?.to && /* @__PURE__ */ jsxs(Fragment, { children: [" - ", format(date.to, "LLL dd, y")] })
|
|
69
65
|
]
|
|
70
66
|
}), /* @__PURE__ */ jsx(PopoverContent, { children: /* @__PURE__ */ jsx(Calendar, {
|
|
71
|
-
locale,
|
|
72
67
|
defaultMonth: date?.from,
|
|
73
68
|
...calendarProps,
|
|
74
69
|
disabled: disabled || calendarProps?.disabled,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import "./toast.mjs";
|
|
2
|
+
import { Sidebar } from "./sidebar.mjs";
|
|
3
|
+
import { DatePicker, DateRange, DateRangePicker, TimePicker } from "./datetime.mjs";
|
|
4
|
+
import { Dropzone, formatBytes, useDropzone } from "./dropzone.mjs";
|
|
5
|
+
import { Carousel, Image, ImageProps, Lightbox } from "./multimedia.mjs";
|
|
6
|
+
import { Toaster, toast } from "../vendor/shadcn/toast.mjs";
|
|
7
|
+
import { Pagination } from "./pagination.mjs";
|
|
8
|
+
import { Label } from "../vendor/shadcn/label.mjs";
|
|
9
|
+
import { useSidebar } from "../vendor/shadcn/sidebar.mjs";
|
|
10
|
+
import { Input } from "../vendor/shadcn/input.mjs";
|
|
11
|
+
import { Badge } from "../vendor/shadcn/badge.mjs";
|
|
12
|
+
import { Button } from "../vendor/shadcn/button.mjs";
|
|
13
|
+
import { Switch } from "../vendor/shadcn/switch.mjs";
|
|
14
|
+
import { LightboxActions, LightboxBackdrop, LightboxCaptions, LightboxChangeReason, LightboxClose, LightboxContent, LightboxControl, LightboxControlContext, LightboxCounter, LightboxDownload, LightboxImageChangeEventDetails, LightboxImageItem, LightboxItem, LightboxMore, LightboxNext, LightboxOpenEventDetails, LightboxPrevious, LightboxProps, LightboxSlide, LightboxSlides, LightboxThumbnail, LightboxThumbnails, LightboxToolbar, LightboxTrigger, LightboxTriggerProps, LightboxVideoItem, LightboxViewport, LightboxZoom, LightboxZoomButton, useLightbox } from "../vendor/tailored/lightbox.mjs";
|
|
15
|
+
import { Spinner } from "../vendor/shadcn/spinner.mjs";
|
|
16
|
+
import { Skeleton } from "../vendor/shadcn/skeleton.mjs";
|
|
17
|
+
import { Checkbox } from "../vendor/shadcn/checkbox.mjs";
|
|
18
|
+
import { Textarea } from "../vendor/shadcn/textarea.mjs";
|
|
19
|
+
import { Separator } from "../vendor/shadcn/separator.mjs";
|
|
20
|
+
import { Form } from "../vendor/coss/form.mjs";
|
|
21
|
+
import { Calendar } from "../vendor/coss/calendar.mjs";
|
|
22
|
+
import { ScrollArea } from "../vendor/coss/scroll-area.mjs";
|
|
23
|
+
import { IconSwap } from "../vendor/tailored/icon-swap.mjs";
|
|
24
|
+
import { JsonViewer } from "../vendor/tailored/json-viewer.mjs";
|
|
25
|
+
import { CascaderProps, CascaderSingleProps } from "../vendor/reui.io/cascader/cascader.mjs";
|
|
26
|
+
import { CascaderChangeDetails, CascaderLabels, CascaderMode, CascaderNode } from "../vendor/reui.io/cascader/cascader-types.mjs";
|
|
27
|
+
export * from "react-dropzone";
|
|
28
|
+
export { Badge, Button, Calendar, Carousel, type CascaderChangeDetails, type CascaderLabels, type CascaderMode, type CascaderNode, type CascaderProps, type CascaderSingleProps, Checkbox, DatePicker, type DateRange, DateRangePicker, Dropzone, Form, IconSwap, Image, ImageProps, Input, JsonViewer, Label, Lightbox, type LightboxActions, type LightboxBackdrop, type LightboxCaptions, type LightboxChangeReason, type LightboxClose, type LightboxContent, type LightboxControl, type LightboxControlContext, type LightboxCounter, type LightboxDownload, type LightboxImageChangeEventDetails, type LightboxImageItem, type LightboxItem, type LightboxMore, type LightboxNext, type LightboxOpenEventDetails, type LightboxPrevious, type LightboxProps, type LightboxSlide, type LightboxSlides, type LightboxThumbnail, type LightboxThumbnails, type LightboxToolbar, type LightboxTrigger, type LightboxTriggerProps, type LightboxVideoItem, type LightboxViewport, type LightboxZoom, type LightboxZoomButton, Pagination, ScrollArea, Separator, Sidebar, Skeleton, Spinner, Switch, Textarea, TimePicker, Toaster as ToastProvider, formatBytes, toast, useDropzone, type useLightbox, useSidebar };
|
package/dist/widgets/index.d.mts
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
import { AlertDialogClose, AlertDialogContent as AlertDialogPopup, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPrimitive, AlertDialogTitle, AlertDialogTrigger } from "../vendor/coss/alert-dialog.mjs";
|
|
2
|
-
import { Card as Card$1, CardAction, CardContent as CardPanel, CardDescription, CardFooter,
|
|
2
|
+
import { Card as Card$1, CardAction, CardContent as CardPanel, CardDescription, CardFooter, CardHeader, CardTitle } from "../vendor/coss/card.mjs";
|
|
3
3
|
import { DialogClose, DialogContent as DialogPopup, DialogDescription, DialogFooter, DialogHeader, DialogPanel, DialogPrimitive, DialogTitle, DialogTrigger } from "../vendor/coss/dialog.mjs";
|
|
4
4
|
import { Drawer as Drawer$1, DrawerClose, DrawerDescription, DrawerFooter, DrawerHeader, DrawerPanel, DrawerPopup, DrawerTitle, DrawerTrigger } from "../vendor/coss/drawer.mjs";
|
|
5
5
|
import { Empty as Empty$1, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "../vendor/coss/empty.mjs";
|
|
6
6
|
import { Table as Table$1, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "../vendor/coss/table.mjs";
|
|
7
|
+
import { CascaderChangeDetails, CascaderLabels, CascaderMode, CascaderNode } from "../vendor/reui.io/cascader/cascader-types.mjs";
|
|
8
|
+
import { Cascader as Cascader$1, CascaderChip, CascaderChips, CascaderContent, CascaderEmpty, CascaderList, CascaderPanel, CascaderProps, CascaderSingleProps, CascaderStatus, CascaderTrigger } from "../vendor/reui.io/cascader/cascader.mjs";
|
|
9
|
+
import { CascaderAction, CascaderFooter, CascaderSubmenu, CascaderSubmenuContent, CascaderSubmenuTrigger } from "../vendor/reui.io/cascader/cascader-footer.mjs";
|
|
10
|
+
import { CascaderGroup, CascaderItemProps, CascaderItems, CascaderLabel, CascaderSeparator } from "../vendor/reui.io/cascader/cascader-item.mjs";
|
|
11
|
+
import { CascaderBack, CascaderBreadcrumb, CascaderInput, CascaderNav, CascaderValue } from "../vendor/reui.io/cascader/cascader-nav.mjs";
|
|
12
|
+
import { CascaderVirtualItems } from "../vendor/reui.io/cascader/cascader-virtual.mjs";
|
|
13
|
+
import { Frame as Frame$1, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle } from "../vendor/reui.io/frame.mjs";
|
|
14
|
+
import { Timeline as Timeline$1, TimelineContent, TimelineDate, TimelineHeader, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle } from "../vendor/reui.io/timeline.mjs";
|
|
7
15
|
import { Breadcrumb as Breadcrumb$1, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "../vendor/shadcn/breadcrumb.mjs";
|
|
16
|
+
import { Separator } from "../vendor/shadcn/separator.mjs";
|
|
8
17
|
import { ButtonGroup as ButtonGroup$1, ButtonGroupSeparator, ButtonGroupText } from "../vendor/shadcn/button-group.mjs";
|
|
9
18
|
import { ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxValue } from "../vendor/shadcn/combobox.mjs";
|
|
10
19
|
import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "../vendor/shadcn/dropdown-menu.mjs";
|
|
20
|
+
import { Label } from "../vendor/shadcn/label.mjs";
|
|
11
21
|
import { Field as Field$1, FieldDescription, FieldError, FieldLabel } from "../vendor/shadcn/field.mjs";
|
|
22
|
+
import { Button } from "../vendor/shadcn/button.mjs";
|
|
12
23
|
import { InputGroup as InputGroup$1, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "../vendor/shadcn/input-group.mjs";
|
|
13
24
|
import { Kbd as Kbd$1, KbdGroup } from "../vendor/shadcn/kbd.mjs";
|
|
14
25
|
import { Popover as Popover$1, PopoverContent, PopoverDescription, PopoverTitle, PopoverTrigger } from "../vendor/shadcn/popover.mjs";
|
|
@@ -17,31 +28,27 @@ import { RadioGroup, RadioGroupItem } from "../vendor/shadcn/radio-group.mjs";
|
|
|
17
28
|
import { SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from "../vendor/shadcn/select.mjs";
|
|
18
29
|
import { Tabs as Tabs$1, TabsContent, TabsList, TabsTrigger } from "../vendor/shadcn/tabs.mjs";
|
|
19
30
|
import { Tooltip as Tooltip$1, TooltipContent, TooltipProvider, TooltipTrigger } from "../vendor/shadcn/tooltip.mjs";
|
|
20
|
-
import "
|
|
31
|
+
import { Toaster, toast } from "../vendor/shadcn/toast.mjs";
|
|
32
|
+
import { Input } from "../vendor/shadcn/input.mjs";
|
|
33
|
+
import { useSidebar } from "../vendor/shadcn/sidebar.mjs";
|
|
21
34
|
import { Sidebar } from "./sidebar.mjs";
|
|
35
|
+
import { Calendar } from "../vendor/coss/calendar.mjs";
|
|
22
36
|
import { DatePicker, DateRange, DateRangePicker, TimePicker } from "./datetime.mjs";
|
|
23
|
-
import { Toaster, toast } from "../vendor/shadcn/toast.mjs";
|
|
24
37
|
import { Dropzone, formatBytes, useDropzone } from "./dropzone.mjs";
|
|
38
|
+
import { LightboxActions, LightboxBackdrop, LightboxCaptions, LightboxChangeReason, LightboxClose, LightboxContent, LightboxControl, LightboxControlContext, LightboxCounter, LightboxDownload, LightboxImageChangeEventDetails, LightboxImageItem, LightboxItem, LightboxMore, LightboxNext, LightboxOpenEventDetails, LightboxPrevious, LightboxProps, LightboxSlide, LightboxSlides, LightboxThumbnail, LightboxThumbnails, LightboxToolbar, LightboxTrigger, LightboxTriggerProps, LightboxVideoItem, LightboxViewport, LightboxZoom, LightboxZoomButton, useLightbox } from "../vendor/tailored/lightbox.mjs";
|
|
25
39
|
import { Carousel, Image, ImageProps, Lightbox } from "./multimedia.mjs";
|
|
26
|
-
import { useSidebar } from "../vendor/shadcn/sidebar.mjs";
|
|
27
40
|
import { Pagination } from "./pagination.mjs";
|
|
28
|
-
import { Label } from "../vendor/shadcn/label.mjs";
|
|
29
|
-
import { Input } from "../vendor/shadcn/input.mjs";
|
|
30
41
|
import { Badge } from "../vendor/shadcn/badge.mjs";
|
|
31
|
-
import { LightboxActions, LightboxBackdrop, LightboxCaptions, LightboxChangeReason, LightboxClose, LightboxContent, LightboxControl, LightboxControlContext, LightboxCounter, LightboxDownload, LightboxImageChangeEventDetails, LightboxImageItem, LightboxItem, LightboxMore, LightboxNext, LightboxOpenEventDetails, LightboxPrevious, LightboxProps, LightboxSlide, LightboxSlides, LightboxThumbnail, LightboxThumbnails, LightboxToolbar, LightboxTrigger, LightboxTriggerProps, LightboxVideoItem, LightboxViewport, LightboxZoom, LightboxZoomButton, useLightbox } from "../vendor/tailored/lightbox.mjs";
|
|
32
|
-
import { Button } from "../vendor/shadcn/button.mjs";
|
|
33
42
|
import { Switch } from "../vendor/shadcn/switch.mjs";
|
|
34
43
|
import { Spinner } from "../vendor/shadcn/spinner.mjs";
|
|
35
44
|
import { Skeleton } from "../vendor/shadcn/skeleton.mjs";
|
|
36
45
|
import { Checkbox } from "../vendor/shadcn/checkbox.mjs";
|
|
37
46
|
import { Textarea } from "../vendor/shadcn/textarea.mjs";
|
|
38
|
-
import { Separator } from "../vendor/shadcn/separator.mjs";
|
|
39
47
|
import { Form } from "../vendor/coss/form.mjs";
|
|
40
|
-
import { Calendar } from "../vendor/coss/calendar.mjs";
|
|
41
48
|
import { ScrollArea } from "../vendor/coss/scroll-area.mjs";
|
|
42
49
|
import { IconSwap } from "../vendor/tailored/icon-swap.mjs";
|
|
43
50
|
import { JsonViewer } from "../vendor/tailored/json-viewer.mjs";
|
|
44
|
-
import
|
|
51
|
+
import "./export.mjs";
|
|
45
52
|
export * from "react-dropzone";
|
|
46
53
|
/** https://ui.shadcn.com/docs/components/base/kbd */
|
|
47
54
|
export declare const Kbd: typeof Kbd$1 & {
|
|
@@ -62,13 +69,13 @@ export declare const Card: typeof Card$1 & {
|
|
|
62
69
|
Action: typeof CardAction;
|
|
63
70
|
Description: typeof CardDescription;
|
|
64
71
|
};
|
|
65
|
-
/** https://
|
|
66
|
-
export declare const Frame: typeof
|
|
67
|
-
Header: typeof
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
/** https://reui.io/docs/components/base/frame */
|
|
73
|
+
export declare const Frame: typeof Frame$1 & {
|
|
74
|
+
Header: typeof FrameHeader;
|
|
75
|
+
Panel: typeof FramePanel;
|
|
76
|
+
Footer: typeof FrameFooter;
|
|
77
|
+
Title: typeof FrameTitle;
|
|
78
|
+
Description: typeof FrameDescription;
|
|
72
79
|
};
|
|
73
80
|
/** https://ui.shadcn.com/docs/components/base/field */
|
|
74
81
|
export declare const Field: typeof Field$1 & {
|
|
@@ -143,6 +150,34 @@ export declare const Popover: typeof Popover$1 & {
|
|
|
143
150
|
Title: typeof PopoverTitle;
|
|
144
151
|
Description: typeof PopoverDescription;
|
|
145
152
|
};
|
|
153
|
+
/** https://reui.io/docs/components/cascader */
|
|
154
|
+
export declare const Cascader: typeof Cascader$1 & {
|
|
155
|
+
Trigger: typeof CascaderTrigger;
|
|
156
|
+
Popup: typeof CascaderContent;
|
|
157
|
+
Panel: typeof CascaderPanel;
|
|
158
|
+
List: typeof CascaderList;
|
|
159
|
+
Empty: typeof CascaderEmpty;
|
|
160
|
+
Status: typeof CascaderStatus;
|
|
161
|
+
Chips: typeof CascaderChips;
|
|
162
|
+
Chip: typeof CascaderChip;
|
|
163
|
+
Nav: typeof CascaderNav;
|
|
164
|
+
Back: typeof CascaderBack;
|
|
165
|
+
Breadcrumb: typeof CascaderBreadcrumb;
|
|
166
|
+
Input: typeof CascaderInput;
|
|
167
|
+
Value: typeof CascaderValue;
|
|
168
|
+
Item: import("react").MemoExoticComponent<({ node, index, depth, showPath, as, expanded, indent, branch: branchProp, selectable: selectableProp, selected: selectedProp, indeterminate: indeterminateProp, selectedCount: selectedCountProp, loading, error, childrenLoading, childrenError, className, children, onClick, onMouseUp, style, ...props }: CascaderItemProps) => import("react").JSX.Element>;
|
|
169
|
+
Items: typeof CascaderItems;
|
|
170
|
+
Group: typeof CascaderGroup;
|
|
171
|
+
Label: typeof CascaderLabel;
|
|
172
|
+
Separator: typeof CascaderSeparator;
|
|
173
|
+
Footer: typeof CascaderFooter;
|
|
174
|
+
Action: typeof CascaderAction;
|
|
175
|
+
Submenu: typeof CascaderSubmenu;
|
|
176
|
+
SubmenuTrigger: typeof CascaderSubmenuTrigger;
|
|
177
|
+
SubmenuContent: typeof CascaderSubmenuContent;
|
|
178
|
+
/** Windowed replacement for `Items` inside `List`. */
|
|
179
|
+
VirtualItems: typeof CascaderVirtualItems;
|
|
180
|
+
};
|
|
146
181
|
/** https://ui.shadcn.com/docs/components/base/dropdown-menu */
|
|
147
182
|
export declare const Dropdown: typeof DropdownMenu & {
|
|
148
183
|
Trigger: typeof DropdownMenuTrigger;
|
|
@@ -182,6 +217,16 @@ export declare const Progress: typeof Progress$1 & {
|
|
|
182
217
|
Track: typeof ProgressTrack;
|
|
183
218
|
Indicator: typeof ProgressIndicator;
|
|
184
219
|
};
|
|
220
|
+
/** https://reui.io/docs/components/timeline */
|
|
221
|
+
export declare const Timeline: typeof Timeline$1 & {
|
|
222
|
+
Item: typeof TimelineItem;
|
|
223
|
+
Header: typeof TimelineHeader;
|
|
224
|
+
Content: typeof TimelineContent;
|
|
225
|
+
Indicator: typeof TimelineIndicator;
|
|
226
|
+
Separator: typeof TimelineSeparator;
|
|
227
|
+
Date: typeof TimelineDate;
|
|
228
|
+
Title: typeof TimelineTitle;
|
|
229
|
+
};
|
|
185
230
|
/** https://ui.shadcn.com/docs/components/base/breadcrumb */
|
|
186
231
|
export declare const Breadcrumb: typeof Breadcrumb$1 & {
|
|
187
232
|
List: typeof BreadcrumbList;
|
|
@@ -214,4 +259,4 @@ export declare const InputGroup: typeof InputGroup$1 & {
|
|
|
214
259
|
Textarea: typeof InputGroupTextarea;
|
|
215
260
|
Button: typeof InputGroupButton;
|
|
216
261
|
};
|
|
217
|
-
export { Badge, Button, Calendar, Carousel,
|
|
262
|
+
export { Badge, Button, Calendar, Carousel, type CascaderChangeDetails, type CascaderLabels, type CascaderMode, type CascaderNode, type CascaderProps, type CascaderSingleProps, Checkbox, DatePicker, type DateRange, DateRangePicker, Dropzone, Form, IconSwap, Image, ImageProps, Input, JsonViewer, Label, Lightbox, type LightboxActions, type LightboxBackdrop, type LightboxCaptions, type LightboxChangeReason, type LightboxClose, type LightboxContent, type LightboxControl, type LightboxControlContext, type LightboxCounter, type LightboxDownload, type LightboxImageChangeEventDetails, type LightboxImageItem, type LightboxItem, type LightboxMore, type LightboxNext, type LightboxOpenEventDetails, type LightboxPrevious, type LightboxProps, type LightboxSlide, type LightboxSlides, type LightboxThumbnail, type LightboxThumbnails, type LightboxToolbar, type LightboxTrigger, type LightboxTriggerProps, type LightboxVideoItem, type LightboxViewport, type LightboxZoom, type LightboxZoomButton, Pagination, ScrollArea, Separator, Sidebar, Skeleton, Spinner, Switch, Textarea, TimePicker, Toaster as ToastProvider, formatBytes, toast, useDropzone, type useLightbox, useSidebar };
|
package/dist/widgets/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AlertDialog as AlertDialog$1, AlertDialogClose, AlertDialogContent as AlertDialogPopup, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger } from "../vendor/coss/alert-dialog.mjs";
|
|
2
|
-
import { Card as Card$1, CardAction, CardContent as CardPanel, CardDescription, CardFooter,
|
|
2
|
+
import { Card as Card$1, CardAction, CardContent as CardPanel, CardDescription, CardFooter, CardHeader, CardTitle } from "../vendor/coss/card.mjs";
|
|
3
3
|
import { Spinner } from "../vendor/shadcn/spinner.mjs";
|
|
4
4
|
import { Button } from "../vendor/shadcn/button.mjs";
|
|
5
5
|
import { ScrollArea } from "../vendor/coss/scroll-area.mjs";
|
|
@@ -7,6 +7,13 @@ import { Dialog as Dialog$1, DialogClose, DialogContent as DialogPopup, DialogDe
|
|
|
7
7
|
import { Drawer as Drawer$1, DrawerClose, DrawerDescription, DrawerFooter, DrawerHeader, DrawerPanel, DrawerPopup, DrawerTitle, DrawerTrigger } from "../vendor/coss/drawer.mjs";
|
|
8
8
|
import { Empty as Empty$1, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "../vendor/coss/empty.mjs";
|
|
9
9
|
import { Table as Table$1, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "../vendor/coss/table.mjs";
|
|
10
|
+
import { Cascader as Cascader$1, CascaderChip, CascaderChips, CascaderContent, CascaderEmpty, CascaderList, CascaderPanel, CascaderStatus, CascaderTrigger } from "../vendor/reui.io/cascader/cascader.mjs";
|
|
11
|
+
import { CascaderAction, CascaderFooter, CascaderSubmenu, CascaderSubmenuContent, CascaderSubmenuTrigger } from "../vendor/reui.io/cascader/cascader-footer.mjs";
|
|
12
|
+
import { CascaderGroup, CascaderItem, CascaderItems, CascaderLabel, CascaderSeparator } from "../vendor/reui.io/cascader/cascader-item.mjs";
|
|
13
|
+
import { CascaderBack, CascaderBreadcrumb, CascaderInput, CascaderNav, CascaderValue } from "../vendor/reui.io/cascader/cascader-nav.mjs";
|
|
14
|
+
import { CascaderVirtualItems } from "../vendor/reui.io/cascader/cascader-virtual.mjs";
|
|
15
|
+
import { Frame as Frame$1, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle } from "../vendor/reui.io/frame.mjs";
|
|
16
|
+
import { Timeline as Timeline$1, TimelineContent, TimelineDate, TimelineHeader, TimelineIndicator, TimelineItem, TimelineSeparator, TimelineTitle } from "../vendor/reui.io/timeline.mjs";
|
|
10
17
|
import { Breadcrumb as Breadcrumb$1, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "../vendor/shadcn/breadcrumb.mjs";
|
|
11
18
|
import { Separator } from "../vendor/shadcn/separator.mjs";
|
|
12
19
|
import { ButtonGroup as ButtonGroup$1, ButtonGroupSeparator, ButtonGroupText } from "../vendor/shadcn/button-group.mjs";
|
|
@@ -39,7 +46,6 @@ import { Checkbox } from "../vendor/shadcn/checkbox.mjs";
|
|
|
39
46
|
import { Form } from "../vendor/coss/form.mjs";
|
|
40
47
|
import { IconSwap } from "../vendor/tailored/icon-swap.mjs";
|
|
41
48
|
import { JsonViewer } from "../vendor/tailored/json-viewer.mjs";
|
|
42
|
-
import { FileTree } from "../vendor/tailored/file-tree.mjs";
|
|
43
49
|
// src/widgets/index.ts
|
|
44
50
|
/** https://ui.shadcn.com/docs/components/base/kbd */
|
|
45
51
|
const Kbd = /* @__PURE__ */ Object.assign(Kbd$1, { Group: KbdGroup });
|
|
@@ -58,13 +64,13 @@ const Card = /* @__PURE__ */ Object.assign(Card$1, {
|
|
|
58
64
|
Action: CardAction,
|
|
59
65
|
Description: CardDescription
|
|
60
66
|
});
|
|
61
|
-
/** https://
|
|
62
|
-
const Frame = /* @__PURE__ */ Object.assign(
|
|
63
|
-
Header:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
/** https://reui.io/docs/components/base/frame */
|
|
68
|
+
const Frame = /* @__PURE__ */ Object.assign(Frame$1, {
|
|
69
|
+
Header: FrameHeader,
|
|
70
|
+
Panel: FramePanel,
|
|
71
|
+
Footer: FrameFooter,
|
|
72
|
+
Title: FrameTitle,
|
|
73
|
+
Description: FrameDescription
|
|
68
74
|
});
|
|
69
75
|
/** https://ui.shadcn.com/docs/components/base/field */
|
|
70
76
|
const Field = /* @__PURE__ */ Object.assign(Field$1, {
|
|
@@ -137,6 +143,34 @@ const Popover = /* @__PURE__ */ Object.assign(Popover$1, {
|
|
|
137
143
|
Title: PopoverTitle,
|
|
138
144
|
Description: PopoverDescription
|
|
139
145
|
});
|
|
146
|
+
/** https://reui.io/docs/components/cascader */
|
|
147
|
+
const Cascader = /* @__PURE__ */ Object.assign(Cascader$1, {
|
|
148
|
+
Trigger: CascaderTrigger,
|
|
149
|
+
Popup: CascaderContent,
|
|
150
|
+
Panel: CascaderPanel,
|
|
151
|
+
List: CascaderList,
|
|
152
|
+
Empty: CascaderEmpty,
|
|
153
|
+
Status: CascaderStatus,
|
|
154
|
+
Chips: CascaderChips,
|
|
155
|
+
Chip: CascaderChip,
|
|
156
|
+
Nav: CascaderNav,
|
|
157
|
+
Back: CascaderBack,
|
|
158
|
+
Breadcrumb: CascaderBreadcrumb,
|
|
159
|
+
Input: CascaderInput,
|
|
160
|
+
Value: CascaderValue,
|
|
161
|
+
Item: CascaderItem,
|
|
162
|
+
Items: CascaderItems,
|
|
163
|
+
Group: CascaderGroup,
|
|
164
|
+
Label: CascaderLabel,
|
|
165
|
+
Separator: CascaderSeparator,
|
|
166
|
+
Footer: CascaderFooter,
|
|
167
|
+
Action: CascaderAction,
|
|
168
|
+
Submenu: CascaderSubmenu,
|
|
169
|
+
SubmenuTrigger: CascaderSubmenuTrigger,
|
|
170
|
+
SubmenuContent: CascaderSubmenuContent,
|
|
171
|
+
/** Windowed replacement for `Items` inside `List`. */
|
|
172
|
+
VirtualItems: CascaderVirtualItems
|
|
173
|
+
});
|
|
140
174
|
/** https://ui.shadcn.com/docs/components/base/dropdown-menu */
|
|
141
175
|
const Dropdown = /* @__PURE__ */ Object.assign(DropdownMenu, {
|
|
142
176
|
Trigger: DropdownMenuTrigger,
|
|
@@ -176,6 +210,16 @@ const Progress = /* @__PURE__ */ Object.assign(Progress$1, {
|
|
|
176
210
|
Track: ProgressTrack,
|
|
177
211
|
Indicator: ProgressIndicator
|
|
178
212
|
});
|
|
213
|
+
/** https://reui.io/docs/components/timeline */
|
|
214
|
+
const Timeline = /* @__PURE__ */ Object.assign(Timeline$1, {
|
|
215
|
+
Item: TimelineItem,
|
|
216
|
+
Header: TimelineHeader,
|
|
217
|
+
Content: TimelineContent,
|
|
218
|
+
Indicator: TimelineIndicator,
|
|
219
|
+
Separator: TimelineSeparator,
|
|
220
|
+
Date: TimelineDate,
|
|
221
|
+
Title: TimelineTitle
|
|
222
|
+
});
|
|
179
223
|
/** https://ui.shadcn.com/docs/components/base/breadcrumb */
|
|
180
224
|
const Breadcrumb = /* @__PURE__ */ Object.assign(Breadcrumb$1, {
|
|
181
225
|
List: BreadcrumbList,
|
|
@@ -208,4 +252,4 @@ const InputGroup = /* @__PURE__ */ Object.assign(InputGroup$1, {
|
|
|
208
252
|
Textarea: InputGroupTextarea,
|
|
209
253
|
Button: InputGroupButton
|
|
210
254
|
});
|
|
211
|
-
export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, DatePicker, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field,
|
|
255
|
+
export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Cascader, Checkbox, Combobox, DatePicker, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field, Form, Frame, IconSwap, Image, Input, InputGroup, JsonViewer, Kbd, Label, Lightbox, Pagination, Popover, Progress, Radio, ScrollArea, Select, Separator, Sidebar, Skeleton, Spinner, Switch, Table, Tabs, Textarea, TimePicker, Timeline, Toaster as ToastProvider, Tooltip, formatBytes, toast, useDropzone, useSidebar };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deftui/react",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/KiriRainCat/deftui.git",
|
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
"tw-animate-css": "^1.4.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@base-ui/react": "^1.9.0",
|
|
49
48
|
"@types/react": "^19.3.0",
|
|
50
49
|
"@types/react-dom": "^19.3.0",
|
|
51
50
|
"shadcn": "^4.23.0",
|
|
@@ -53,6 +52,7 @@
|
|
|
53
52
|
},
|
|
54
53
|
"peerDependencies": {
|
|
55
54
|
"@base-ui/react": "^1.9.0",
|
|
55
|
+
"@tanstack/react-virtual": "^3.14.0",
|
|
56
56
|
"react": "^19.0.0",
|
|
57
57
|
"react-dom": "^19.0.0",
|
|
58
58
|
"tailwindcss": "^4.3.0"
|