@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.
Files changed (35) hide show
  1. package/dist/index.d.mts +4 -3
  2. package/dist/index.mjs +2 -3
  3. package/dist/vendor/README.md +4 -2
  4. package/dist/vendor/coss/calendar.mjs +2 -0
  5. package/dist/vendor/coss/card.d.mts +0 -6
  6. package/dist/vendor/coss/card.mjs +1 -68
  7. package/dist/vendor/reui.io/cascader/cascader-async.d.mts +20 -0
  8. package/dist/vendor/reui.io/cascader/cascader-async.mjs +578 -0
  9. package/dist/vendor/reui.io/cascader/cascader-context.d.mts +12 -0
  10. package/dist/vendor/reui.io/cascader/cascader-context.mjs +56 -0
  11. package/dist/vendor/reui.io/cascader/cascader-footer.d.mts +60 -0
  12. package/dist/vendor/reui.io/cascader/cascader-footer.mjs +445 -0
  13. package/dist/vendor/reui.io/cascader/cascader-i18n.mjs +64 -0
  14. package/dist/vendor/reui.io/cascader/cascader-item.d.mts +92 -0
  15. package/dist/vendor/reui.io/cascader/cascader-item.mjs +533 -0
  16. package/dist/vendor/reui.io/cascader/cascader-lib.d.mts +3 -0
  17. package/dist/vendor/reui.io/cascader/cascader-lib.mjs +688 -0
  18. package/dist/vendor/reui.io/cascader/cascader-nav.d.mts +56 -0
  19. package/dist/vendor/reui.io/cascader/cascader-nav.mjs +310 -0
  20. package/dist/vendor/reui.io/cascader/cascader-types.d.mts +140 -0
  21. package/dist/vendor/reui.io/cascader/cascader-virtual.d.mts +18 -0
  22. package/dist/vendor/reui.io/cascader/cascader-virtual.mjs +159 -0
  23. package/dist/vendor/reui.io/cascader/cascader.d.mts +299 -0
  24. package/dist/vendor/reui.io/cascader/cascader.mjs +1470 -0
  25. package/dist/vendor/reui.io/frame.d.mts +22 -0
  26. package/dist/vendor/reui.io/frame.mjs +106 -0
  27. package/dist/vendor/reui.io/timeline.d.mts +21 -0
  28. package/dist/vendor/reui.io/timeline.mjs +127 -0
  29. package/dist/widgets/datetime.mjs +0 -5
  30. package/dist/widgets/export.d.mts +28 -0
  31. package/dist/widgets/index.d.mts +64 -19
  32. package/dist/widgets/index.mjs +54 -10
  33. package/package.json +2 -2
  34. package/dist/vendor/tailored/file-tree.d.mts +0 -21
  35. 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 };
@@ -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, CardFrame, CardFrameAction, CardFrameDescription, CardFrameFooter, CardFrameHeader, CardFrameTitle, CardHeader, CardTitle } from "../vendor/coss/card.mjs";
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 "./toast.mjs";
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 { FileTree, FileTreeNode } from "../vendor/tailored/file-tree.mjs";
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://coss.com/ui/docs/components/card#cardframe */
66
- export declare const Frame: typeof CardFrame & {
67
- Header: typeof CardFrameHeader;
68
- Footer: typeof CardFrameFooter;
69
- Title: typeof CardFrameTitle;
70
- Description: typeof CardFrameDescription;
71
- Action: typeof CardFrameAction;
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, Checkbox, DatePicker, type DateRange, DateRangePicker, Dropzone, FileTree, type FileTreeNode, 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 };
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 };
@@ -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, CardFrame, CardFrameAction, CardFrameDescription, CardFrameFooter, CardFrameHeader, CardFrameTitle, CardHeader, CardTitle } from "../vendor/coss/card.mjs";
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://coss.com/ui/docs/components/card#cardframe */
62
- const Frame = /* @__PURE__ */ Object.assign(CardFrame, {
63
- Header: CardFrameHeader,
64
- Footer: CardFrameFooter,
65
- Title: CardFrameTitle,
66
- Description: CardFrameDescription,
67
- Action: CardFrameAction
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, FileTree, 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, Toaster as ToastProvider, Tooltip, formatBytes, toast, useDropzone, useSidebar };
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.0",
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"