@deftui/react 0.2.3 → 0.2.5

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 (49) hide show
  1. package/README.md +0 -2
  2. package/dist/index.d.mts +3 -4
  3. package/dist/index.mjs +2 -3
  4. package/dist/styles.css +0 -1
  5. package/dist/vendor/README.md +4 -4
  6. package/dist/vendor/coss/alert-dialog.mjs +2 -2
  7. package/dist/vendor/coss/dialog.mjs +2 -2
  8. package/dist/vendor/coss/drawer.mjs +2 -2
  9. package/dist/vendor/coss/form.d.mts +1 -0
  10. package/dist/vendor/coss/form.mjs +1 -0
  11. package/dist/vendor/coss/scroll-area.d.mts +1 -0
  12. package/dist/vendor/coss/scroll-area.mjs +1 -0
  13. package/dist/vendor/shadcn/badge.d.mts +1 -0
  14. package/dist/vendor/shadcn/badge.mjs +1 -0
  15. package/dist/vendor/shadcn/button.d.mts +1 -0
  16. package/dist/vendor/shadcn/button.mjs +1 -0
  17. package/dist/vendor/shadcn/checkbox.d.mts +1 -0
  18. package/dist/vendor/shadcn/checkbox.mjs +1 -0
  19. package/dist/vendor/shadcn/input.d.mts +1 -0
  20. package/dist/vendor/shadcn/input.mjs +1 -0
  21. package/dist/vendor/shadcn/label.d.mts +1 -0
  22. package/dist/vendor/shadcn/label.mjs +1 -0
  23. package/dist/vendor/shadcn/separator.d.mts +1 -0
  24. package/dist/vendor/shadcn/separator.mjs +1 -0
  25. package/dist/vendor/shadcn/skeleton.d.mts +1 -0
  26. package/dist/vendor/shadcn/skeleton.mjs +1 -0
  27. package/dist/vendor/shadcn/spinner.d.mts +1 -0
  28. package/dist/vendor/shadcn/spinner.mjs +1 -0
  29. package/dist/vendor/shadcn/switch.d.mts +1 -0
  30. package/dist/vendor/shadcn/switch.mjs +1 -0
  31. package/dist/vendor/shadcn/textarea.d.mts +1 -0
  32. package/dist/vendor/shadcn/textarea.mjs +1 -0
  33. package/dist/vendor/tailored/file-tree.d.mts +1 -0
  34. package/dist/vendor/tailored/file-tree.mjs +1 -0
  35. package/dist/vendor/tailored/icon-swap.d.mts +1 -0
  36. package/dist/vendor/tailored/icon-swap.mjs +1 -0
  37. package/dist/vendor/tailored/json-viewer.d.mts +1 -0
  38. package/dist/vendor/tailored/json-viewer.mjs +1 -0
  39. package/dist/widgets/dropzone.d.mts +5 -3
  40. package/dist/widgets/dropzone.mjs +11 -7
  41. package/dist/widgets/index.d.mts +24 -3
  42. package/dist/widgets/index.mjs +22 -2
  43. package/dist/widgets/multimedia.d.mts +2 -0
  44. package/dist/widgets/multimedia.mjs +2 -0
  45. package/dist/widgets/pagination.d.mts +1 -0
  46. package/dist/widgets/pagination.mjs +1 -0
  47. package/dist/widgets/sidebar.d.mts +1 -0
  48. package/dist/widgets/sidebar.mjs +1 -0
  49. package/package.json +1 -2
package/README.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  A React component library built on Base UI, shadcn/ui, and their open-source registry ecosystem, offering easy-to-use compound component APIs.
4
4
 
5
- [Upstream documentation](./dist/vendor/README.md): To look up component usage, check the local exports first, then consult the upstream.
6
-
7
5
  > Most basic components expose exactly the same APIs as their shadcn/ui counterparts backed by Base UI.
8
6
 
9
7
  ## Installation
package/dist/index.d.mts CHANGED
@@ -8,7 +8,7 @@ import { Input } from "./vendor/shadcn/input.mjs";
8
8
  import { useSidebar } from "./vendor/shadcn/sidebar.mjs";
9
9
  import { Sidebar } from "./widgets/sidebar.mjs";
10
10
  import { DatePicker, DateRange, DateRangePicker, TimePicker } from "./widgets/datetime.mjs";
11
- import { Dropzone, formatSize } from "./widgets/dropzone.mjs";
11
+ import { Dropzone, formatBytes, useDropzone } from "./widgets/dropzone.mjs";
12
12
  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";
13
13
  import { Carousel, Image, ImageProps, Lightbox } from "./widgets/multimedia.mjs";
14
14
  import { Pagination } from "./widgets/pagination.mjs";
@@ -27,6 +27,5 @@ import { AlertDialog, Breadcrumb, ButtonGroup, Calendar, Card, Combobox, Dialog,
27
27
  import { cn } from "cn";
28
28
  import { cva } from "class-variance-authority";
29
29
  import { mergeProps } from "@base-ui/react/merge-props";
30
- import { useDropzone } from "react-dropzone";
31
- export type * from "react-dropzone";
32
- export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, DatePicker, type DateRange, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field, FileTree, type FileTreeNode, Form, IconSwap, Image, ImageProps, Input, InputGroup, JsonViewer, Kbd, 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, Popover, Progress, Radio, ScrollArea, Select, Separator, Sidebar, Skeleton, Spinner, Switch, Table, Tabs, Textarea, TimePicker, Toaster as ToastProvider, Tooltip, cn, cva, formatSize, mergeProps, toast, useCopyToClipboard, useDropzone, useIsMobile, type useLightbox, useMediaQuery, useSidebar };
30
+ export * from "react-dropzone";
31
+ export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, DatePicker, type DateRange, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field, FileTree, type FileTreeNode, Form, IconSwap, Image, ImageProps, Input, InputGroup, JsonViewer, Kbd, 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, Popover, Progress, Radio, ScrollArea, Select, Separator, Sidebar, Skeleton, Spinner, Switch, Table, Tabs, Textarea, TimePicker, Toaster as ToastProvider, Tooltip, cn, cva, formatBytes, mergeProps, toast, useCopyToClipboard, useDropzone, useIsMobile, type useLightbox, useMediaQuery, useSidebar };
package/dist/index.mjs CHANGED
@@ -12,7 +12,7 @@ import { Skeleton } from "./vendor/shadcn/skeleton.mjs";
12
12
  import { useSidebar } from "./vendor/shadcn/sidebar.mjs";
13
13
  import { Sidebar } from "./widgets/sidebar.mjs";
14
14
  import { DatePicker, DateRangePicker, TimePicker } from "./widgets/datetime.mjs";
15
- import { Dropzone, formatSize } from "./widgets/dropzone.mjs";
15
+ import { Dropzone, formatBytes, useDropzone } from "./widgets/dropzone.mjs";
16
16
  import { Carousel, Image, Lightbox } from "./widgets/multimedia.mjs";
17
17
  import { Pagination } from "./widgets/pagination.mjs";
18
18
  import { Form } from "./vendor/coss/form.mjs";
@@ -26,5 +26,4 @@ import { AlertDialog, Breadcrumb, ButtonGroup, Calendar, Card, Combobox, Dialog,
26
26
  import { cn } from "cn";
27
27
  import { cva } from "class-variance-authority";
28
28
  import { mergeProps } from "@base-ui/react/merge-props";
29
- import { useDropzone } from "react-dropzone";
30
- export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, DatePicker, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field, FileTree, Form, 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, cn, cva, formatSize, mergeProps, toast, useCopyToClipboard, useDropzone, useIsMobile, useMediaQuery, useSidebar };
29
+ export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, DatePicker, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field, FileTree, Form, 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, cn, cva, formatBytes, mergeProps, toast, useCopyToClipboard, useDropzone, useIsMobile, useMediaQuery, useSidebar };
package/dist/styles.css CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  @import "tailwindcss";
4
4
  @import "tw-animate-css";
5
- @import "@fontsource-variable/inter";
6
5
 
7
6
  @import "./styles.shadcn.css";
8
7
  @import "./styles.tokens.css";
@@ -11,10 +11,10 @@ shadcn 组件使用 `components.json` 中的 `base-vega` 风格和 Lucide 图标
11
11
 
12
12
  | ID | File | Docs | Modifications |
13
13
  | --- | --- | --- | --- |
14
- | `@coss/alert-dialog` | [coss/alert-dialog.tsx](coss/alert-dialog.tsx) | [Alert Dialog](https://coss.com/ui/docs/components/alert-dialog) | 替换 `font-bold text-xl` 为 `font-semibold text-lg` |
15
- | `@coss/dialog` | [coss/dialog.tsx](coss/dialog.tsx) | [Dialog](https://coss.com/ui/docs/components/dialog) | 替换 `font-bold text-xl` 为 `font-semibold text-lg` |
16
- | `@coss/drawer` | [coss/drawer.tsx](coss/drawer.tsx) | [Drawer](https://coss.com/ui/docs/components/drawer) | 替换 `font-bold text-xl` 为 `font-semibold text-lg` |
17
- | `@coss/empty` | [coss/empty.tsx](coss/empty.tsx) | [Empty](https://coss.com/ui/docs/components/empty) | 替换 `font-bold text-xl` 为 `font-semibold text-lg` |
14
+ | `@coss/alert-dialog` | [coss/alert-dialog.tsx](coss/alert-dialog.tsx) | [Alert Dialog](https://coss.com/ui/docs/components/alert-dialog) | `font-bold text-xl` 换为 `font-semibold text-lg`;用 `@starting-style` 支持初始打开时的入场动画 |
15
+ | `@coss/dialog` | [coss/dialog.tsx](coss/dialog.tsx) | [Dialog](https://coss.com/ui/docs/components/dialog) | `font-bold text-xl` 换为 `font-semibold text-lg`;用 `@starting-style` 支持初始打开时的入场动画 |
16
+ | `@coss/drawer` | [coss/drawer.tsx](coss/drawer.tsx) | [Drawer](https://coss.com/ui/docs/components/drawer) | `font-bold text-xl` 换为 `font-semibold text-lg`;用 `@starting-style` 支持初始打开时的入场动画 |
17
+ | `@coss/empty` | [coss/empty.tsx](coss/empty.tsx) | [Empty](https://coss.com/ui/docs/components/empty) | `font-bold text-xl` 换为 `font-semibold text-lg` |
18
18
  | `@coss/form` | [coss/form.tsx](coss/form.tsx) | [Form](https://coss.com/ui/docs/components/form) | — |
19
19
  | `@coss/scroll-area` | [coss/scroll-area.tsx](coss/scroll-area.tsx) | [Scroll Area](https://coss.com/ui/docs/components/scroll-area) | — |
20
20
  | `@coss/use-copy-to-clipboard` | [coss/hooks/use-copy-to-clipboard.ts](coss/hooks/use-copy-to-clipboard.ts) | [useCopyToClipboard](https://coss.com/ui/docs/hooks/use-copy-to-clipboard) | — |
@@ -13,7 +13,7 @@ function AlertDialogTrigger(props) {
13
13
  }
14
14
  function AlertDialogBackdrop({ className, ...props }) {
15
15
  return /* @__PURE__ */ jsx(AlertDialogPrimitive.Backdrop, {
16
- className: cn("fixed inset-0 z-50 bg-black/32 backdrop-blur-sm transition-all duration-200 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute", className),
16
+ className: cn("fixed inset-0 z-50 bg-black/32 backdrop-blur-sm transition-all duration-200 data-ending-style:opacity-0 data-starting-style:opacity-0 starting:opacity-0 supports-[-webkit-touch-callout:none]:absolute", className),
17
17
  "data-slot": "alert-dialog-backdrop",
18
18
  ...props
19
19
  });
@@ -31,7 +31,7 @@ function AlertDialogPopup({ className, bottomStickOnMobile = true, portalProps,
31
31
  children: [/* @__PURE__ */ jsx(AlertDialogBackdrop, {}), /* @__PURE__ */ jsx(AlertDialogViewport, {
32
32
  className: cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12"),
33
33
  children: /* @__PURE__ */ jsx(AlertDialogPrimitive.Popup, {
34
- className: cn("relative row-start-2 flex max-h-full min-h-0 w-full min-w-0 max-w-lg origin-center flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-ending-style:opacity-0 data-starting-style:opacity-0 sm:scale-[calc(1-0.1*var(--nested-dialogs))] sm:data-ending-style:scale-98 sm:data-starting-style:scale-98 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", bottomStickOnMobile && "max-sm:max-w-none max-sm:origin-bottom max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none", className),
34
+ className: cn("relative row-start-2 flex max-h-full min-h-0 w-full min-w-0 max-w-lg origin-center flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-var(--nested-dialogs))] shadow-lg/5 transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-ending-style:opacity-0 data-starting-style:opacity-0 starting:opacity-0 sm:scale-[calc(1-0.1*var(--nested-dialogs))] sm:data-ending-style:scale-98 sm:data-starting-style:scale-98 sm:starting:scale-98 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", bottomStickOnMobile && "max-sm:max-w-none max-sm:origin-bottom max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 max-sm:data-ending-style:translate-y-4 max-sm:data-starting-style:translate-y-4 max-sm:starting:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none", className),
35
35
  "data-slot": "alert-dialog-popup",
36
36
  ...props
37
37
  })
@@ -24,7 +24,7 @@ function DialogClose(props) {
24
24
  }
25
25
  function DialogBackdrop({ className, ...props }) {
26
26
  return /* @__PURE__ */ jsx(DialogPrimitive.Backdrop, {
27
- className: cn("fixed inset-0 z-50 bg-black/32 backdrop-blur-sm transition-all duration-200 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute", className),
27
+ className: cn("fixed inset-0 z-50 bg-black/32 backdrop-blur-sm transition-all duration-200 data-ending-style:opacity-0 data-starting-style:opacity-0 starting:opacity-0 supports-[-webkit-touch-callout:none]:absolute", className),
28
28
  "data-slot": "dialog-backdrop",
29
29
  ...props
30
30
  });
@@ -42,7 +42,7 @@ function DialogPopup({ className, children, showCloseButton = true, bottomStickO
42
42
  children: [/* @__PURE__ */ jsx(DialogBackdrop, {}), /* @__PURE__ */ jsx(DialogViewport, {
43
43
  className: cn(bottomStickOnMobile && "max-sm:grid-rows-[1fr_auto] max-sm:p-0 max-sm:pt-12"),
44
44
  children: /* @__PURE__ */ jsxs(DialogPrimitive.Popup, {
45
- className: cn("relative row-start-2 flex max-h-full min-h-0 w-full min-w-0 max-w-lg origin-center flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-var(--nested-dialogs))] shadow-lg/5 outline-none transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:transition-opacity sm:scale-[calc(1-0.1*var(--nested-dialogs))] motion-safe:sm:data-ending-style:scale-98 motion-safe:sm:data-starting-style:scale-98 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", bottomStickOnMobile && "max-sm:max-w-none max-sm:origin-bottom max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 motion-safe:max-sm:data-ending-style:translate-y-4 motion-safe:max-sm:data-starting-style:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none", className),
45
+ className: cn("relative row-start-2 flex max-h-full min-h-0 w-full min-w-0 max-w-lg origin-center flex-col rounded-2xl border bg-popover not-dark:bg-clip-padding text-popover-foreground opacity-[calc(1-var(--nested-dialogs))] shadow-lg/5 outline-none transition-[scale,opacity,translate] duration-200 ease-in-out will-change-transform before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-ending-style:opacity-0 data-starting-style:opacity-0 starting:opacity-0 motion-reduce:transition-opacity sm:scale-[calc(1-0.1*var(--nested-dialogs))] motion-safe:sm:data-ending-style:scale-98 motion-safe:sm:data-starting-style:scale-98 motion-safe:sm:starting:scale-98 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", bottomStickOnMobile && "max-sm:max-w-none max-sm:origin-bottom max-sm:rounded-none max-sm:border-x-0 max-sm:border-t max-sm:border-b-0 motion-safe:max-sm:data-ending-style:translate-y-4 motion-safe:max-sm:data-starting-style:translate-y-4 motion-safe:max-sm:starting:translate-y-4 max-sm:before:hidden max-sm:before:rounded-none", className),
46
46
  "data-slot": "dialog-popup",
47
47
  ...props,
48
48
  children: [children, showCloseButton && /* @__PURE__ */ jsx(DialogPrimitive.Close, {
@@ -44,7 +44,7 @@ function DrawerClose(props) {
44
44
  }
45
45
  function DrawerBackdrop({ className, ...props }) {
46
46
  return /* @__PURE__ */ jsx(DrawerPrimitive.Backdrop, {
47
- className: cn("fixed inset-0 z-50 bg-black/32 opacity-[calc(1-var(--drawer-swipe-progress))] backdrop-blur-sm transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-swiping:duration-0 supports-[-webkit-touch-callout:none]:absolute", className),
47
+ className: cn("fixed inset-0 z-50 bg-black/32 opacity-[calc(1-var(--drawer-swipe-progress))] backdrop-blur-sm transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 starting:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-swiping:duration-0 supports-[-webkit-touch-callout:none]:absolute", className),
48
48
  "data-slot": "drawer-backdrop",
49
49
  ...props
50
50
  });
@@ -65,7 +65,7 @@ function DrawerPopup({ className, children, showCloseButton = false, position: p
65
65
  position,
66
66
  variant,
67
67
  children: /* @__PURE__ */ jsxs(DrawerPrimitive.Popup, {
68
- className: cn("relative flex max-h-full min-h-0 w-full min-w-0 flex-col bg-popover not-dark:bg-clip-padding text-popover-foreground shadow-lg/5 outline-none transition-[transform,box-shadow,height,background-color] duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] will-change-transform [--peek:calc(--spacing(6)-1px)] [--scale-base:calc(max(0,1-(var(--nested-drawers)*var(--stack-step))))] [--scale:clamp(0,calc(var(--scale-base)+(var(--stack-step)*var(--stack-progress))),1)] [--shrink:calc(1-var(--scale))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-step:0.05] before:pointer-events-none before:absolute before:inset-0 before:shadow-[0_1px_--theme(--color-black/4%)] after:pointer-events-none after:absolute after:bg-popover data-swiping:select-none data-nested-drawer-open:overflow-hidden data-nested-drawer-open:bg-[color-mix(in_srgb,var(--popover),var(--color-black)_calc(2%*(var(--nested-drawers)-var(--stack-progress))))] data-ending-style:shadow-transparent data-starting-style:shadow-transparent data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] dark:data-nested-drawer-open:bg-[color-mix(in_srgb,var(--popover),var(--color-black)_calc(6%*(var(--nested-drawers)-var(--stack-progress))))] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", "touch-none", position === "bottom" && "transform-[translateY(calc(var(--keyboard-snap-offset)+var(--drawer-swipe-movement-y)))] data-ending-style:transform-[translateY(calc(100%+env(safe-area-inset-bottom,0px)+var(--inset)))] data-starting-style:transform-[translateY(calc(100%+env(safe-area-inset-bottom,0px)+var(--inset)))] row-start-2 -mb-[max(0px,calc(var(--keyboard-snap-offset)+clamp(0,1,var(--keyboard-snap-offset)/1px)*var(--drawer-swipe-movement-y,0px)))] border-t pb-[max(0px,calc(max(env(safe-area-inset-bottom,0px),var(--drawer-keyboard-inset,0px))+var(--keyboard-snap-offset)+clamp(0,1,var(--keyboard-snap-offset)/1px)*var(--drawer-swipe-movement-y,0px)))] not-data-starting-style:not-data-ending-style:transition-[transform,box-shadow,height,background-color,margin,padding] [--keyboard-snap-offset:max(0px,calc(var(--drawer-snap-point-offset,0px)-var(--drawer-keyboard-inset,0px)))] after:inset-x-0 after:top-full after:h-(--bleed) has-data-[slot=drawer-bar]:pt-2 data-ending-style:mb-0 data-starting-style:mb-0 data-ending-style:pb-0 data-starting-style:pb-0", position === "top" && "data-starting-style:transform-[translateY(calc(-100%-var(--inset)))] data-ending-style:transform-[translateY(calc(-100%-var(--inset)))] transform-[translateY(var(--drawer-swipe-movement-y))] border-b after:inset-x-0 after:bottom-full after:h-(--bleed) has-data-[slot=drawer-bar]:pb-2", position === "left" && "data-starting-style:transform-[translateX(calc(-100%-var(--inset)))] data-ending-style:transform-[translateX(calc(-100%-var(--inset)))] transform-[translateX(var(--drawer-swipe-movement-x))] w-[calc(100%-(--spacing(12)))] max-w-md border-e after:inset-y-0 after:end-full after:w-(--bleed) has-data-[slot=drawer-bar]:pe-2", position === "right" && "transform-[translateX(var(--drawer-swipe-movement-x))] data-ending-style:transform-[translateX(calc(100%+var(--inset)))] data-starting-style:transform-[translateX(calc(100%+var(--inset)))] col-start-2 w-[calc(100%-(--spacing(12)))] max-w-md border-s after:inset-y-0 after:start-full after:w-(--bleed) has-data-[slot=drawer-bar]:ps-2", variant !== "straight" && cn(position === "bottom" && "rounded-t-2xl", position === "top" && "rounded-b-2xl **:data-[slot=drawer-footer]:rounded-b-[calc(var(--radius-2xl)-1px)]", position === "left" && "rounded-e-2xl **:data-[slot=drawer-footer]:rounded-ee-[calc(var(--radius-2xl)-1px)]", position === "right" && "rounded-s-2xl **:data-[slot=drawer-footer]:rounded-es-[calc(var(--radius-2xl)-1px)]"), variant === "default" && cn(position === "bottom" && "before:rounded-t-[calc(var(--radius-2xl)-1px)]", position === "top" && "before:rounded-b-[calc(var(--radius-2xl)-1px)]", position === "left" && "before:rounded-e-[calc(var(--radius-2xl)-1px)]", position === "right" && "before:rounded-s-[calc(var(--radius-2xl)-1px)]"), variant === "inset" && "before:hidden sm:rounded-2xl sm:border sm:after:bg-transparent sm:before:rounded-[calc(var(--radius-2xl)-1px)] sm:**:data-[slot=drawer-footer]:rounded-b-[calc(var(--radius-2xl)-1px)]", variant === "straight" && "[--stack-step:0]", (position === "bottom" || position === "top") && "h-(--drawer-height,auto) [--height:max(0px,calc(var(--drawer-frontmost-height,var(--drawer-height))))] data-nested-drawer-open:h-(--height)", position === "bottom" && "data-nested-drawer-open:transform-[translateY(calc(var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--shrink)*var(--height))))_scale(var(--scale))] origin-[50%_calc(100%-var(--inset))]", position === "top" && "data-nested-drawer-open:transform-[translateY(calc(var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--shrink)*var(--height))))_scale(var(--scale))] origin-[50%_var(--inset)]", position === "left" && "data-nested-drawer-open:transform-[translateX(calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)))_scale(var(--scale))] origin-right", position === "right" && "data-nested-drawer-open:transform-[translateX(calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)))_scale(var(--scale))] origin-left", className),
68
+ className: cn("relative flex max-h-full min-h-0 w-full min-w-0 flex-col bg-popover not-dark:bg-clip-padding text-popover-foreground shadow-lg/5 outline-none transition-[transform,box-shadow,height,background-color] duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] will-change-transform [--peek:calc(--spacing(6)-1px)] [--scale-base:calc(max(0,1-(var(--nested-drawers)*var(--stack-step))))] [--scale:clamp(0,calc(var(--scale-base)+(var(--stack-step)*var(--stack-progress))),1)] [--shrink:calc(1-var(--scale))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-step:0.05] before:pointer-events-none before:absolute before:inset-0 before:shadow-[0_1px_--theme(--color-black/4%)] after:pointer-events-none after:absolute after:bg-popover data-swiping:select-none data-nested-drawer-open:overflow-hidden data-nested-drawer-open:bg-[color-mix(in_srgb,var(--popover),var(--color-black)_calc(2%*(var(--nested-drawers)-var(--stack-progress))))] data-ending-style:shadow-transparent data-starting-style:shadow-transparent starting:shadow-transparent data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] dark:data-nested-drawer-open:bg-[color-mix(in_srgb,var(--popover),var(--color-black)_calc(6%*(var(--nested-drawers)-var(--stack-progress))))] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", "touch-none", position === "bottom" && "transform-[translateY(calc(var(--keyboard-snap-offset)+var(--drawer-swipe-movement-y)))] data-ending-style:transform-[translateY(calc(100%+env(safe-area-inset-bottom,0px)+var(--inset)))] data-starting-style:transform-[translateY(calc(100%+env(safe-area-inset-bottom,0px)+var(--inset)))] starting:transform-[translateY(calc(100%+env(safe-area-inset-bottom,0px)+var(--inset)))] row-start-2 -mb-[max(0px,calc(var(--keyboard-snap-offset)+clamp(0,1,var(--keyboard-snap-offset)/1px)*var(--drawer-swipe-movement-y,0px)))] border-t pb-[max(0px,calc(max(env(safe-area-inset-bottom,0px),var(--drawer-keyboard-inset,0px))+var(--keyboard-snap-offset)+clamp(0,1,var(--keyboard-snap-offset)/1px)*var(--drawer-swipe-movement-y,0px)))] not-data-starting-style:not-data-ending-style:transition-[transform,box-shadow,height,background-color,margin,padding] [--keyboard-snap-offset:max(0px,calc(var(--drawer-snap-point-offset,0px)-var(--drawer-keyboard-inset,0px)))] after:inset-x-0 after:top-full after:h-(--bleed) has-data-[slot=drawer-bar]:pt-2 data-ending-style:mb-0 data-starting-style:mb-0 starting:mb-0 data-ending-style:pb-0 data-starting-style:pb-0 starting:pb-0", position === "top" && "data-starting-style:transform-[translateY(calc(-100%-var(--inset)))] starting:transform-[translateY(calc(-100%-var(--inset)))] data-ending-style:transform-[translateY(calc(-100%-var(--inset)))] transform-[translateY(var(--drawer-swipe-movement-y))] border-b after:inset-x-0 after:bottom-full after:h-(--bleed) has-data-[slot=drawer-bar]:pb-2", position === "left" && "data-starting-style:transform-[translateX(calc(-100%-var(--inset)))] starting:transform-[translateX(calc(-100%-var(--inset)))] data-ending-style:transform-[translateX(calc(-100%-var(--inset)))] transform-[translateX(var(--drawer-swipe-movement-x))] w-[calc(100%-(--spacing(12)))] max-w-md border-e after:inset-y-0 after:end-full after:w-(--bleed) has-data-[slot=drawer-bar]:pe-2", position === "right" && "transform-[translateX(var(--drawer-swipe-movement-x))] data-ending-style:transform-[translateX(calc(100%+var(--inset)))] data-starting-style:transform-[translateX(calc(100%+var(--inset)))] starting:transform-[translateX(calc(100%+var(--inset)))] col-start-2 w-[calc(100%-(--spacing(12)))] max-w-md border-s after:inset-y-0 after:start-full after:w-(--bleed) has-data-[slot=drawer-bar]:ps-2", variant !== "straight" && cn(position === "bottom" && "rounded-t-2xl", position === "top" && "rounded-b-2xl **:data-[slot=drawer-footer]:rounded-b-[calc(var(--radius-2xl)-1px)]", position === "left" && "rounded-e-2xl **:data-[slot=drawer-footer]:rounded-ee-[calc(var(--radius-2xl)-1px)]", position === "right" && "rounded-s-2xl **:data-[slot=drawer-footer]:rounded-es-[calc(var(--radius-2xl)-1px)]"), variant === "default" && cn(position === "bottom" && "before:rounded-t-[calc(var(--radius-2xl)-1px)]", position === "top" && "before:rounded-b-[calc(var(--radius-2xl)-1px)]", position === "left" && "before:rounded-e-[calc(var(--radius-2xl)-1px)]", position === "right" && "before:rounded-s-[calc(var(--radius-2xl)-1px)]"), variant === "inset" && "before:hidden sm:rounded-2xl sm:border sm:after:bg-transparent sm:before:rounded-[calc(var(--radius-2xl)-1px)] sm:**:data-[slot=drawer-footer]:rounded-b-[calc(var(--radius-2xl)-1px)]", variant === "straight" && "[--stack-step:0]", (position === "bottom" || position === "top") && "h-(--drawer-height,auto) [--height:max(0px,calc(var(--drawer-frontmost-height,var(--drawer-height))))] data-nested-drawer-open:h-(--height)", position === "bottom" && "data-nested-drawer-open:transform-[translateY(calc(var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--shrink)*var(--height))))_scale(var(--scale))] origin-[50%_calc(100%-var(--inset))]", position === "top" && "data-nested-drawer-open:transform-[translateY(calc(var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--shrink)*var(--height))))_scale(var(--scale))] origin-[50%_var(--inset)]", position === "left" && "data-nested-drawer-open:transform-[translateX(calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)))_scale(var(--scale))] origin-right", position === "right" && "data-nested-drawer-open:transform-[translateX(calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)))_scale(var(--scale))] origin-left", className),
69
69
  "data-slot": "drawer-popup",
70
70
  ...props,
71
71
  children: [
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
2
  import { Form as FormPrimitive } from "@base-ui/react/form";
3
+ /** https://coss.com/ui/docs/components/form */
3
4
  export declare function Form({ className, ...props }: FormPrimitive.Props): React.ReactElement;
4
5
  export { FormPrimitive };
@@ -2,6 +2,7 @@
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { Form as FormPrimitive } from "@base-ui/react/form";
4
4
  // src/vendor/coss/form.tsx
5
+ /** https://coss.com/ui/docs/components/form */
5
6
  function Form({ className, ...props }) {
6
7
  return /* @__PURE__ */ jsx(FormPrimitive, {
7
8
  className,
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { ScrollArea as ScrollAreaPrimitive } from "@base-ui/react/scroll-area";
3
+ /** https://coss.com/ui/docs/components/scroll-area */
3
4
  declare function ScrollArea$1({ className, children, scrollFade, scrollbarGutter, fill, clampContentMinWidth, overscrollContain, ...props }: ScrollAreaPrimitive.Root.Props & {
4
5
  scrollFade?: boolean;
5
6
  scrollbarGutter?: boolean;
@@ -3,6 +3,7 @@ import { cn } from "../shadcn/lib/utils.mjs";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { ScrollArea as ScrollAreaPrimitive } from "@base-ui/react/scroll-area";
5
5
  // src/vendor/coss/scroll-area.tsx
6
+ /** https://coss.com/ui/docs/components/scroll-area */
6
7
  function ScrollArea$1({ className, children, scrollFade = false, scrollbarGutter = false, fill = false, clampContentMinWidth = true, overscrollContain = false, ...props }) {
7
8
  return /* @__PURE__ */ jsxs(ScrollAreaPrimitive.Root, {
8
9
  className: cn("size-full min-h-0", className),
@@ -3,5 +3,6 @@ import { useRender } from "@base-ui/react/use-render";
3
3
  declare const badgeVariants: (props?: ({
4
4
  variant?: "default" | "destructive" | "ghost" | "info" | "link" | "outline" | "secondary" | "success" | "warning" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ /** https://ui.shadcn.com/docs/components/base/badge */
6
7
  declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<"span"> & VariantProps<typeof badgeVariants>): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
7
8
  export { Badge, badgeVariants };
@@ -17,6 +17,7 @@ const badgeVariants = cva("group/badge inline-flex h-5 w-fit shrink-0 items-cent
17
17
  } },
18
18
  defaultVariants: { variant: "default" }
19
19
  });
20
+ /** https://ui.shadcn.com/docs/components/base/badge */
20
21
  function Badge({ className, variant = "default", render, ...props }) {
21
22
  return useRender({
22
23
  defaultTagName: "span",
@@ -5,6 +5,7 @@ declare const buttonVariants: (props?: ({
5
5
  size?: "default" | "icon" | "icon-lg" | "icon-sm" | "icon-xs" | "lg" | "sm" | "xs" | null | undefined;
6
6
  pill?: boolean | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ /** https://ui.shadcn.com/docs/components/base/button */
8
9
  declare function Button$1({ className, variant, size, pill, isPending, disabled, children, ...props }: Button.Props & VariantProps<typeof buttonVariants> & {
9
10
  isPending?: boolean;
10
11
  }): import("react").JSX.Element;
@@ -34,6 +34,7 @@ const buttonVariants = cva("group/button inline-flex shrink-0 items-center justi
34
34
  size: "default"
35
35
  }
36
36
  });
37
+ /** https://ui.shadcn.com/docs/components/base/button */
37
38
  function Button$1({ className, variant = "default", size = "default", pill = false, isPending = false, disabled, children, ...props }) {
38
39
  return /* @__PURE__ */ jsx(Button, {
39
40
  "data-slot": "button",
@@ -1,3 +1,4 @@
1
1
  import { Checkbox } from "@base-ui/react/checkbox";
2
+ /** https://ui.shadcn.com/docs/components/base/checkbox */
2
3
  declare function Checkbox$1({ className, ...props }: Checkbox.Root.Props): import("react").JSX.Element;
3
4
  export { Checkbox$1 as Checkbox };
@@ -4,6 +4,7 @@ import { jsx } from "react/jsx-runtime";
4
4
  import { CheckIcon } from "lucide-react";
5
5
  import { Checkbox } from "@base-ui/react/checkbox";
6
6
  // src/vendor/shadcn/checkbox.tsx
7
+ /** https://ui.shadcn.com/docs/components/base/checkbox */
7
8
  function Checkbox$1({ className, ...props }) {
8
9
  return /* @__PURE__ */ jsx(Checkbox.Root, {
9
10
  "data-slot": "checkbox",
@@ -1,3 +1,4 @@
1
1
  import * as React$1 from "react";
2
+ /** https://ui.shadcn.com/docs/components/base/input */
2
3
  declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): React$1.JSX.Element;
3
4
  export { Input };
@@ -3,6 +3,7 @@ import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Input } from "@base-ui/react/input";
5
5
  // src/vendor/shadcn/input.tsx
6
+ /** https://ui.shadcn.com/docs/components/base/input */
6
7
  function Input$1({ className, type, ...props }) {
7
8
  return /* @__PURE__ */ jsx(Input, {
8
9
  type,
@@ -1,3 +1,4 @@
1
1
  import * as React$1 from "react";
2
+ /** https://ui.shadcn.com/docs/components/base/label */
2
3
  declare function Label({ className, ...props }: React$1.ComponentProps<"label">): React$1.JSX.Element;
3
4
  export { Label };
@@ -3,6 +3,7 @@ import { cn } from "cn";
3
3
  import "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  // src/vendor/shadcn/label.tsx
6
+ /** https://ui.shadcn.com/docs/components/base/label */
6
7
  function Label({ className, ...props }) {
7
8
  return /* @__PURE__ */ jsx("label", {
8
9
  "data-slot": "label",
@@ -1,3 +1,4 @@
1
1
  import { Separator } from "@base-ui/react/separator";
2
+ /** https://ui.shadcn.com/docs/components/base/separator */
2
3
  declare function Separator$1({ className, orientation, ...props }: Separator.Props): import("react").JSX.Element;
3
4
  export { Separator$1 as Separator };
@@ -3,6 +3,7 @@ import { cn } from "cn";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Separator } from "@base-ui/react/separator";
5
5
  // src/vendor/shadcn/separator.tsx
6
+ /** https://ui.shadcn.com/docs/components/base/separator */
6
7
  function Separator$1({ className, orientation = "horizontal", ...props }) {
7
8
  return /* @__PURE__ */ jsx(Separator, {
8
9
  "data-slot": "separator",
@@ -1,2 +1,3 @@
1
+ /** https://ui.shadcn.com/docs/components/base/skeleton */
1
2
  declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
2
3
  export { Skeleton };
@@ -1,6 +1,7 @@
1
1
  import { cn } from "cn";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  // src/vendor/shadcn/skeleton.tsx
4
+ /** https://ui.shadcn.com/docs/components/base/skeleton */
4
5
  function Skeleton({ className, ...props }) {
5
6
  return /* @__PURE__ */ jsx("div", {
6
7
  "data-slot": "skeleton",
@@ -1,2 +1,3 @@
1
+ /** https://ui.shadcn.com/docs/components/base/spinner */
1
2
  declare function Spinner({ className, ...props }: React.ComponentProps<"svg">): import("react").JSX.Element;
2
3
  export { Spinner };
@@ -2,6 +2,7 @@ import { cn } from "cn";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { Loader2Icon } from "lucide-react";
4
4
  // src/vendor/shadcn/spinner.tsx
5
+ /** https://ui.shadcn.com/docs/components/base/spinner */
5
6
  function Spinner({ className, ...props }) {
6
7
  return /* @__PURE__ */ jsx(Loader2Icon, {
7
8
  "data-slot": "spinner",
@@ -1,4 +1,5 @@
1
1
  import { Switch } from "@base-ui/react/switch";
2
+ /** https://ui.shadcn.com/docs/components/base/switch */
2
3
  declare function Switch$1({ className, size, ...props }: Switch.Root.Props & {
3
4
  size?: "sm" | "default";
4
5
  }): import("react").JSX.Element;
@@ -3,6 +3,7 @@ import { cn } from "cn";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Switch } from "@base-ui/react/switch";
5
5
  // src/vendor/shadcn/switch.tsx
6
+ /** https://ui.shadcn.com/docs/components/base/switch */
6
7
  function Switch$1({ className, size = "default", ...props }) {
7
8
  return /* @__PURE__ */ jsx(Switch.Root, {
8
9
  "data-slot": "switch",
@@ -1,3 +1,4 @@
1
1
  import * as React$1 from "react";
2
+ /** https://ui.shadcn.com/docs/components/base/textarea */
2
3
  declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): React$1.JSX.Element;
3
4
  export { Textarea };
@@ -2,6 +2,7 @@ import { cn } from "cn";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  // src/vendor/shadcn/textarea.tsx
5
+ /** https://ui.shadcn.com/docs/components/base/textarea */
5
6
  function Textarea({ className, ...props }) {
6
7
  return /* @__PURE__ */ jsx("textarea", {
7
8
  "data-slot": "textarea",
@@ -17,4 +17,5 @@ export type FileTreeProps = Omit<React$1.HTMLAttributes<HTMLDivElement>, "childr
17
17
  onSelect?: (node: FileTreeNode) => void;
18
18
  label?: string;
19
19
  };
20
+ /** https://ui.tinkererslabs.com/docs/components/file-tree/ */
20
21
  export declare function FileTree({ nodes, expandedIds, defaultExpandedIds, onExpandedChange, selectedId, defaultSelectedId, onSelect, label, className, ...rootProps }: FileTreeProps): React$1.JSX.Element;
@@ -21,6 +21,7 @@ function flatten(nodes, expanded, level = 1) {
21
21
  return [self, ...flatten(node.children, expanded, level + 1)];
22
22
  });
23
23
  }
24
+ /** https://ui.tinkererslabs.com/docs/components/file-tree/ */
24
25
  function FileTree({ nodes, expandedIds, defaultExpandedIds = [], onExpandedChange, selectedId, defaultSelectedId = null, onSelect, label = "Files", className, ...rootProps }) {
25
26
  const [uncontrolledExpanded, setUncontrolledExpanded] = React$1.useState(defaultExpandedIds);
26
27
  const [uncontrolledSelected, setUncontrolledSelected] = React$1.useState(defaultSelectedId);
@@ -3,5 +3,6 @@ type IconSwapProps = Omit<HTMLMotionProps<"span">, "children"> & {
3
3
  children?: React.ReactNode;
4
4
  state: React.Key;
5
5
  };
6
+ /** https://ui.iandefined.com/docs/utilities/icon-swap/ */
6
7
  declare function IconSwap({ children, state, ...props }: IconSwapProps): import("react").JSX.Element;
7
8
  export { IconSwap, type IconSwapProps };
@@ -22,6 +22,7 @@ const ICON_SWAP_TRANSITION = {
22
22
  duration: .2,
23
23
  type: "spring"
24
24
  };
25
+ /** https://ui.iandefined.com/docs/utilities/icon-swap/ */
25
26
  function IconSwap({ children, state, ...props }) {
26
27
  return /* @__PURE__ */ jsx(MotionConfig, {
27
28
  reducedMotion: "user",
@@ -7,4 +7,5 @@ export type JsonViewerProps = Omit<React$1.HTMLAttributes<HTMLDivElement>, "chil
7
7
  copyable?: boolean;
8
8
  label?: string;
9
9
  };
10
+ /** https://ui.tinkererslabs.com/docs/components/json-viewer/ */
10
11
  export declare function JsonViewer({ value, rootName, defaultExpandedDepth, maxStringLength, copyable, label, className, ...rootProps }: JsonViewerProps): React$1.JSX.Element;
@@ -80,6 +80,7 @@ const VALUE_CLASS = {
80
80
  object: "text-muted-foreground",
81
81
  array: "text-muted-foreground"
82
82
  };
83
+ /** https://ui.tinkererslabs.com/docs/components/json-viewer/ */
83
84
  function JsonViewer({ value, rootName = "root", defaultExpandedDepth = 1, maxStringLength = 120, copyable = true, label = "JSON", className, ...rootProps }) {
84
85
  const [expanded, setExpanded] = React$1.useState(() => pathsToDepth(value, rootName, defaultExpandedDepth));
85
86
  const [copied, setCopied] = React$1.useState(null);
@@ -1,6 +1,8 @@
1
- import { DropzoneOptions } from "react-dropzone";
2
1
  import { ComponentProps } from "react";
2
+ import { DropzoneOptions, useDropzone as useDropzone$1 } from "react-dropzone";
3
+ export type * from "react-dropzone";
4
+ export declare function formatBytes(bytes: number, nospace?: boolean): string;
3
5
  type DropzoneProps = DropzoneOptions & Omit<ComponentProps<"div">, keyof DropzoneOptions>;
4
- export declare function formatSize(bytes: number): string;
6
+ /** https://react-dropzone.js.org/ */
5
7
  export declare function Dropzone({ accept, minSize, maxSize, maxFiles, multiple, disabled, preventDropOnDocument, noClick, noKeyboard, noDrag, noDragEventsBubbling, noPaste, onDrop, onDropAccepted, onDropRejected, onDragEnter, onDragOver, onDragLeave, getFilesFromEvent, onFileDialogCancel, onFileDialogOpen, onError, validator, getErrorMessage, useFsAccessApi, autoFocus, children, className, ref, ...props }: DropzoneProps): import("react").JSX.Element;
6
- export {};
8
+ export { useDropzone$1 as useDropzone };
@@ -1,22 +1,26 @@
1
1
  "use client";
2
2
  import { buttonVariants } from "../vendor/shadcn/button.mjs";
3
3
  import { cn } from "cn";
4
- import { useDropzone } from "react-dropzone";
5
4
  import { useId, useImperativeHandle } from "react";
6
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
6
  import { UploadIcon } from "lucide-react";
7
+ import { useDropzone, useDropzone as useDropzone$1 } from "react-dropzone";
8
8
  // src/widgets/dropzone.tsx
9
- function formatSize(bytes) {
9
+ function formatBytes(bytes, nospace = false) {
10
+ if (!Number.isFinite(bytes) || bytes < 0) return "—";
11
+ if (bytes === 0) return `0${nospace ? "" : " "}B`;
10
12
  const units = [
11
13
  "B",
12
14
  "KB",
13
15
  "MB",
14
16
  "GB",
15
- "TB"
17
+ "TB",
18
+ "PB"
16
19
  ];
17
- const index = bytes > 0 ? Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1) : 0;
18
- return `${Number((bytes / 1024 ** index).toFixed(1))} ${units[index]}`;
20
+ const index = Math.max(0, Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1));
21
+ return `${Number((bytes / 1024 ** index).toFixed(1))}${nospace ? "" : " "}${units[index]}`;
19
22
  }
23
+ /** https://react-dropzone.js.org/ */
20
24
  function Dropzone({ accept, minSize, maxSize, maxFiles, multiple, disabled, preventDropOnDocument, noClick, noKeyboard, noDrag, noDragEventsBubbling, noPaste, onDrop, onDropAccepted, onDropRejected, onDragEnter, onDragOver, onDragLeave, getFilesFromEvent, onFileDialogCancel, onFileDialogOpen, onError, validator, getErrorMessage, useFsAccessApi, autoFocus, children, className, ref, ...props }) {
21
25
  const { getRootProps, getInputProps, rootRef, isDragActive, isDragReject, isProcessing } = useDropzone({
22
26
  accept,
@@ -48,7 +52,7 @@ function Dropzone({ accept, minSize, maxSize, maxFiles, multiple, disabled, prev
48
52
  });
49
53
  useImperativeHandle(ref, () => rootRef.current);
50
54
  const descriptionId = useId();
51
- const limits = [multiple === false ? "单个文件" : maxFiles && maxFiles > 0 ? `最多 ${maxFiles} 个文件` : void 0, maxSize !== void 0 && Number.isFinite(maxSize) ? `每个不超过 ${formatSize(maxSize)}` : void 0].filter(Boolean);
55
+ const limits = [multiple === false ? "单个文件" : maxFiles && maxFiles > 0 ? `最多 ${maxFiles} 个文件` : void 0, maxSize !== void 0 && Number.isFinite(maxSize) ? `每个不超过 ${formatBytes(maxSize)}` : void 0].filter(Boolean);
52
56
  return /* @__PURE__ */ jsxs("div", {
53
57
  ...getRootProps({
54
58
  "role": "button",
@@ -95,4 +99,4 @@ function Dropzone({ accept, minSize, maxSize, maxFiles, multiple, disabled, prev
95
99
  ] })]
96
100
  });
97
101
  }
98
- export { Dropzone, formatSize };
102
+ export { Dropzone, formatBytes, useDropzone$1 as useDropzone };
@@ -22,7 +22,7 @@ import "./toast.mjs";
22
22
  import { Sidebar } from "./sidebar.mjs";
23
23
  import { DatePicker, DateRange, DateRangePicker, TimePicker } from "./datetime.mjs";
24
24
  import { Toaster, toast } from "../vendor/shadcn/toast.mjs";
25
- import { Dropzone, formatSize } from "./dropzone.mjs";
25
+ import { Dropzone, formatBytes, useDropzone } from "./dropzone.mjs";
26
26
  import { Carousel, Image, ImageProps, Lightbox } from "./multimedia.mjs";
27
27
  import { useSidebar } from "../vendor/shadcn/sidebar.mjs";
28
28
  import { Pagination } from "./pagination.mjs";
@@ -33,23 +33,27 @@ import { Input } from "../vendor/shadcn/input.mjs";
33
33
  import { Badge } from "../vendor/shadcn/badge.mjs";
34
34
  import { Button } from "../vendor/shadcn/button.mjs";
35
35
  import { Switch } from "../vendor/shadcn/switch.mjs";
36
- import { Checkbox } from "../vendor/shadcn/checkbox.mjs";
37
36
  import { Spinner } from "../vendor/shadcn/spinner.mjs";
38
37
  import { Skeleton } from "../vendor/shadcn/skeleton.mjs";
38
+ import { Checkbox } from "../vendor/shadcn/checkbox.mjs";
39
39
  import { Textarea } from "../vendor/shadcn/textarea.mjs";
40
40
  import { Separator } from "../vendor/shadcn/separator.mjs";
41
41
  import { ScrollArea } from "../vendor/coss/scroll-area.mjs";
42
42
  import { IconSwap } from "../vendor/tailored/icon-swap.mjs";
43
43
  import { JsonViewer } from "../vendor/tailored/json-viewer.mjs";
44
44
  import { FileTree, FileTreeNode } from "../vendor/tailored/file-tree.mjs";
45
+ export * from "react-dropzone";
46
+ /** https://ui.shadcn.com/docs/components/base/kbd */
45
47
  export declare const Kbd: typeof Kbd$1 & {
46
48
  Group: typeof KbdGroup;
47
49
  };
50
+ /** https://ui.shadcn.com/docs/components/base/tabs */
48
51
  export declare const Tabs: typeof Tabs$1 & {
49
52
  List: typeof TabsList;
50
53
  Trigger: typeof TabsTrigger;
51
54
  Content: typeof TabsContent;
52
55
  };
56
+ /** https://ui.shadcn.com/docs/components/base/card */
53
57
  export declare const Card: typeof Card$1 & {
54
58
  Header: typeof CardHeader;
55
59
  Content: typeof CardContent;
@@ -58,11 +62,13 @@ export declare const Card: typeof Card$1 & {
58
62
  Action: typeof CardAction;
59
63
  Description: typeof CardDescription;
60
64
  };
65
+ /** https://ui.shadcn.com/docs/components/base/field */
61
66
  export declare const Field: typeof Field$1 & {
62
67
  Label: typeof FieldLabel;
63
68
  Description: typeof FieldDescription;
64
69
  Error: typeof FieldError;
65
70
  };
71
+ /** https://coss.com/ui/docs/components/empty */
66
72
  export declare const Empty: typeof Empty$1 & {
67
73
  Header: typeof EmptyHeader;
68
74
  Content: typeof EmptyContent;
@@ -70,6 +76,7 @@ export declare const Empty: typeof Empty$1 & {
70
76
  Title: typeof EmptyTitle;
71
77
  Description: typeof EmptyDescription;
72
78
  };
79
+ /** https://ui.shadcn.com/docs/components/base/table */
73
80
  export declare const Table: typeof Table$1 & {
74
81
  Header: typeof TableHeader;
75
82
  Body: typeof TableBody;
@@ -78,9 +85,11 @@ export declare const Table: typeof Table$1 & {
78
85
  Head: typeof TableHead;
79
86
  Cell: typeof TableCell;
80
87
  };
88
+ /** https://ui.shadcn.com/docs/components/base/radio-group */
81
89
  export declare const Radio: typeof RadioGroupItem & {
82
90
  Group: typeof RadioGroup;
83
91
  };
92
+ /** https://ui.shadcn.com/docs/components/base/select */
84
93
  export declare const Select: typeof import("@base-ui/react").SelectRoot & {
85
94
  Trigger: typeof SelectTrigger;
86
95
  Value: typeof SelectValue;
@@ -90,6 +99,7 @@ export declare const Select: typeof import("@base-ui/react").SelectRoot & {
90
99
  Label: typeof SelectLabel;
91
100
  Item: typeof SelectItem;
92
101
  };
102
+ /** https://coss.com/ui/docs/components/drawer */
93
103
  export declare const Drawer: typeof Drawer$1 & {
94
104
  Trigger: typeof DrawerTrigger;
95
105
  Close: typeof DrawerClose;
@@ -100,6 +110,7 @@ export declare const Drawer: typeof Drawer$1 & {
100
110
  Title: typeof DrawerTitle;
101
111
  Description: typeof DrawerDescription;
102
112
  };
113
+ /** https://coss.com/ui/docs/components/dialog */
103
114
  export declare const Dialog: (<Payload>(props: DialogPrimitive.Root.Props<Payload>) => React.JSX.Element) & {
104
115
  Trigger: typeof DialogTrigger;
105
116
  Close: typeof DialogClose;
@@ -110,17 +121,20 @@ export declare const Dialog: (<Payload>(props: DialogPrimitive.Root.Props<Payloa
110
121
  Title: typeof DialogTitle;
111
122
  Description: typeof DialogDescription;
112
123
  };
124
+ /** https://ui.shadcn.com/docs/components/base/tooltip */
113
125
  export declare const Tooltip: typeof Tooltip$1 & {
114
126
  Provider: typeof TooltipProvider;
115
127
  Trigger: typeof TooltipTrigger;
116
128
  Content: typeof TooltipContent;
117
129
  };
130
+ /** https://ui.shadcn.com/docs/components/base/popover */
118
131
  export declare const Popover: typeof Popover$1 & {
119
132
  Trigger: typeof PopoverTrigger;
120
133
  Content: typeof PopoverContent;
121
134
  Title: typeof PopoverTitle;
122
135
  Description: typeof PopoverDescription;
123
136
  };
137
+ /** https://ui.shadcn.com/docs/components/base/dropdown-menu */
124
138
  export declare const Dropdown: typeof DropdownMenu & {
125
139
  Trigger: typeof DropdownMenuTrigger;
126
140
  Content: typeof DropdownMenuContent;
@@ -136,6 +150,7 @@ export declare const Dropdown: typeof DropdownMenu & {
136
150
  RadioGroup: typeof DropdownMenuRadioGroup;
137
151
  CheckboxItem: typeof DropdownMenuCheckboxItem;
138
152
  };
153
+ /** https://ui.shadcn.com/docs/components/base/combobox */
139
154
  export declare const Combobox: typeof import("@base-ui/react").ComboboxRoot & {
140
155
  Content: typeof ComboboxContent;
141
156
  Empty: typeof ComboboxEmpty;
@@ -151,15 +166,18 @@ export declare const Combobox: typeof import("@base-ui/react").ComboboxRoot & {
151
166
  Item: typeof ComboboxItem;
152
167
  Separator: typeof ComboboxSeparator;
153
168
  };
169
+ /** https://ui.shadcn.com/docs/components/base/progress */
154
170
  export declare const Progress: typeof Progress$1 & {
155
171
  Label: typeof ProgressLabel;
156
172
  Value: typeof ProgressValue;
157
173
  Track: typeof ProgressTrack;
158
174
  Indicator: typeof ProgressIndicator;
159
175
  };
176
+ /** https://ui.shadcn.com/docs/components/base/calendar */
160
177
  export declare const Calendar: typeof Calendar$1 & {
161
178
  DayButton: typeof CalendarDayButton;
162
179
  };
180
+ /** https://ui.shadcn.com/docs/components/base/breadcrumb */
163
181
  export declare const Breadcrumb: typeof Breadcrumb$1 & {
164
182
  List: typeof BreadcrumbList;
165
183
  Item: typeof BreadcrumbItem;
@@ -168,6 +186,7 @@ export declare const Breadcrumb: typeof Breadcrumb$1 & {
168
186
  Ellipsis: typeof BreadcrumbEllipsis;
169
187
  Page: typeof BreadcrumbPage;
170
188
  };
189
+ /** https://coss.com/ui/docs/components/alert-dialog */
171
190
  export declare const AlertDialog: typeof AlertDialogPrimitive.Root & {
172
191
  Trigger: typeof AlertDialogTrigger;
173
192
  Close: typeof AlertDialogClose;
@@ -177,10 +196,12 @@ export declare const AlertDialog: typeof AlertDialogPrimitive.Root & {
177
196
  Title: typeof AlertDialogTitle;
178
197
  Description: typeof AlertDialogDescription;
179
198
  };
199
+ /** https://ui.shadcn.com/docs/components/base/button-group */
180
200
  export declare const ButtonGroup: typeof ButtonGroup$1 & {
181
201
  Text: typeof ButtonGroupText;
182
202
  Separator: typeof ButtonGroupSeparator;
183
203
  };
204
+ /** https://ui.shadcn.com/docs/components/base/input-group */
184
205
  export declare const InputGroup: typeof InputGroup$1 & {
185
206
  Addon: typeof InputGroupAddon;
186
207
  AddonText: typeof InputGroupText;
@@ -188,4 +209,4 @@ export declare const InputGroup: typeof InputGroup$1 & {
188
209
  Textarea: typeof InputGroupTextarea;
189
210
  Button: typeof InputGroupButton;
190
211
  };
191
- export { Badge, Button, 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, formatSize, toast, type useLightbox, useSidebar };
212
+ export { Badge, Button, 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 };
@@ -30,7 +30,7 @@ import { Skeleton } from "../vendor/shadcn/skeleton.mjs";
30
30
  import { useSidebar } from "../vendor/shadcn/sidebar.mjs";
31
31
  import { Sidebar } from "./sidebar.mjs";
32
32
  import { DatePicker, DateRangePicker, TimePicker } from "./datetime.mjs";
33
- import { Dropzone, formatSize } from "./dropzone.mjs";
33
+ import { Dropzone, formatBytes, useDropzone } from "./dropzone.mjs";
34
34
  import { Carousel, Image, Lightbox } from "./multimedia.mjs";
35
35
  import { Pagination } from "./pagination.mjs";
36
36
  import { Form } from "../vendor/coss/form.mjs";
@@ -41,12 +41,15 @@ import { IconSwap } from "../vendor/tailored/icon-swap.mjs";
41
41
  import { JsonViewer } from "../vendor/tailored/json-viewer.mjs";
42
42
  import { FileTree } from "../vendor/tailored/file-tree.mjs";
43
43
  // src/widgets/index.ts
44
+ /** https://ui.shadcn.com/docs/components/base/kbd */
44
45
  const Kbd = /* @__PURE__ */ Object.assign(Kbd$1, { Group: KbdGroup });
46
+ /** https://ui.shadcn.com/docs/components/base/tabs */
45
47
  const Tabs = /* @__PURE__ */ Object.assign(Tabs$1, {
46
48
  List: TabsList,
47
49
  Trigger: TabsTrigger,
48
50
  Content: TabsContent
49
51
  });
52
+ /** https://ui.shadcn.com/docs/components/base/card */
50
53
  const Card = /* @__PURE__ */ Object.assign(Card$1, {
51
54
  Header: CardHeader,
52
55
  Content: CardContent,
@@ -55,11 +58,13 @@ const Card = /* @__PURE__ */ Object.assign(Card$1, {
55
58
  Action: CardAction,
56
59
  Description: CardDescription
57
60
  });
61
+ /** https://ui.shadcn.com/docs/components/base/field */
58
62
  const Field = /* @__PURE__ */ Object.assign(Field$1, {
59
63
  Label: FieldLabel,
60
64
  Description: FieldDescription,
61
65
  Error: FieldError
62
66
  });
67
+ /** https://coss.com/ui/docs/components/empty */
63
68
  const Empty = /* @__PURE__ */ Object.assign(Empty$1, {
64
69
  Header: EmptyHeader,
65
70
  Content: EmptyContent,
@@ -67,6 +72,7 @@ const Empty = /* @__PURE__ */ Object.assign(Empty$1, {
67
72
  Title: EmptyTitle,
68
73
  Description: EmptyDescription
69
74
  });
75
+ /** https://ui.shadcn.com/docs/components/base/table */
70
76
  const Table = /* @__PURE__ */ Object.assign(Table$1, {
71
77
  Header: TableHeader,
72
78
  Body: TableBody,
@@ -75,7 +81,9 @@ const Table = /* @__PURE__ */ Object.assign(Table$1, {
75
81
  Head: TableHead,
76
82
  Cell: TableCell
77
83
  });
84
+ /** https://ui.shadcn.com/docs/components/base/radio-group */
78
85
  const Radio = /* @__PURE__ */ Object.assign(RadioGroupItem, { Group: RadioGroup });
86
+ /** https://ui.shadcn.com/docs/components/base/select */
79
87
  const Select = /* @__PURE__ */ Object.assign(Select$1, {
80
88
  Trigger: SelectTrigger,
81
89
  Value: SelectValue,
@@ -85,6 +93,7 @@ const Select = /* @__PURE__ */ Object.assign(Select$1, {
85
93
  Label: SelectLabel,
86
94
  Item: SelectItem
87
95
  });
96
+ /** https://coss.com/ui/docs/components/drawer */
88
97
  const Drawer = /* @__PURE__ */ Object.assign(Drawer$1, {
89
98
  Trigger: DrawerTrigger,
90
99
  Close: DrawerClose,
@@ -95,6 +104,7 @@ const Drawer = /* @__PURE__ */ Object.assign(Drawer$1, {
95
104
  Title: DrawerTitle,
96
105
  Description: DrawerDescription
97
106
  });
107
+ /** https://coss.com/ui/docs/components/dialog */
98
108
  const Dialog = /* @__PURE__ */ Object.assign(Dialog$1, {
99
109
  Trigger: DialogTrigger,
100
110
  Close: DialogClose,
@@ -105,17 +115,20 @@ const Dialog = /* @__PURE__ */ Object.assign(Dialog$1, {
105
115
  Title: DialogTitle,
106
116
  Description: DialogDescription
107
117
  });
118
+ /** https://ui.shadcn.com/docs/components/base/tooltip */
108
119
  const Tooltip = /* @__PURE__ */ Object.assign(Tooltip$1, {
109
120
  Provider: TooltipProvider,
110
121
  Trigger: TooltipTrigger,
111
122
  Content: TooltipContent
112
123
  });
124
+ /** https://ui.shadcn.com/docs/components/base/popover */
113
125
  const Popover = /* @__PURE__ */ Object.assign(Popover$1, {
114
126
  Trigger: PopoverTrigger,
115
127
  Content: PopoverContent,
116
128
  Title: PopoverTitle,
117
129
  Description: PopoverDescription
118
130
  });
131
+ /** https://ui.shadcn.com/docs/components/base/dropdown-menu */
119
132
  const Dropdown = /* @__PURE__ */ Object.assign(DropdownMenu, {
120
133
  Trigger: DropdownMenuTrigger,
121
134
  Content: DropdownMenuContent,
@@ -131,6 +144,7 @@ const Dropdown = /* @__PURE__ */ Object.assign(DropdownMenu, {
131
144
  RadioGroup: DropdownMenuRadioGroup,
132
145
  CheckboxItem: DropdownMenuCheckboxItem
133
146
  });
147
+ /** https://ui.shadcn.com/docs/components/base/combobox */
134
148
  const Combobox = /* @__PURE__ */ Object.assign(Combobox$1, {
135
149
  Content: ComboboxContent,
136
150
  Empty: ComboboxEmpty,
@@ -146,13 +160,16 @@ const Combobox = /* @__PURE__ */ Object.assign(Combobox$1, {
146
160
  Item: ComboboxItem,
147
161
  Separator: ComboboxSeparator
148
162
  });
163
+ /** https://ui.shadcn.com/docs/components/base/progress */
149
164
  const Progress = /* @__PURE__ */ Object.assign(Progress$1, {
150
165
  Label: ProgressLabel,
151
166
  Value: ProgressValue,
152
167
  Track: ProgressTrack,
153
168
  Indicator: ProgressIndicator
154
169
  });
170
+ /** https://ui.shadcn.com/docs/components/base/calendar */
155
171
  const Calendar = /* @__PURE__ */ Object.assign(Calendar$1, { DayButton: CalendarDayButton });
172
+ /** https://ui.shadcn.com/docs/components/base/breadcrumb */
156
173
  const Breadcrumb = /* @__PURE__ */ Object.assign(Breadcrumb$1, {
157
174
  List: BreadcrumbList,
158
175
  Item: BreadcrumbItem,
@@ -161,6 +178,7 @@ const Breadcrumb = /* @__PURE__ */ Object.assign(Breadcrumb$1, {
161
178
  Ellipsis: BreadcrumbEllipsis,
162
179
  Page: BreadcrumbPage
163
180
  });
181
+ /** https://coss.com/ui/docs/components/alert-dialog */
164
182
  const AlertDialog = /* @__PURE__ */ Object.assign(AlertDialog$1, {
165
183
  Trigger: AlertDialogTrigger,
166
184
  Close: AlertDialogClose,
@@ -170,10 +188,12 @@ const AlertDialog = /* @__PURE__ */ Object.assign(AlertDialog$1, {
170
188
  Title: AlertDialogTitle,
171
189
  Description: AlertDialogDescription
172
190
  });
191
+ /** https://ui.shadcn.com/docs/components/base/button-group */
173
192
  const ButtonGroup = /* @__PURE__ */ Object.assign(ButtonGroup$1, {
174
193
  Text: ButtonGroupText,
175
194
  Separator: ButtonGroupSeparator
176
195
  });
196
+ /** https://ui.shadcn.com/docs/components/base/input-group */
177
197
  const InputGroup = /* @__PURE__ */ Object.assign(InputGroup$1, {
178
198
  Addon: InputGroupAddon,
179
199
  AddonText: InputGroupText,
@@ -181,4 +201,4 @@ const InputGroup = /* @__PURE__ */ Object.assign(InputGroup$1, {
181
201
  Textarea: InputGroupTextarea,
182
202
  Button: InputGroupButton
183
203
  });
184
- export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, DatePicker, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field, FileTree, Form, 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, formatSize, toast, useSidebar };
204
+ export { AlertDialog, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, DatePicker, DateRangePicker, Dialog, Drawer, Dropdown, Dropzone, Empty, Field, FileTree, Form, 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 };
@@ -1,10 +1,12 @@
1
1
  import { Carousel as Carousel$1, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "../vendor/shadcn/carousel.mjs";
2
2
  import { Lightbox as Lightbox$1, 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";
3
3
  import { ComponentProps, ReactNode } from "react";
4
+ /** https://ui.iandefined.com/docs/components/lightbox/ */
4
5
  export declare const Lightbox: typeof Lightbox$1 & {
5
6
  Trigger: typeof LightboxTrigger;
6
7
  Content: typeof LightboxContent;
7
8
  };
9
+ /** https://ui.shadcn.com/docs/components/base/carousel */
8
10
  export declare const Carousel: typeof Carousel$1 & {
9
11
  Content: typeof CarouselContent;
10
12
  Previous: typeof CarouselPrevious;
@@ -4,10 +4,12 @@ import { cn } from "cn";
4
4
  import { useEffect, useImperativeHandle, useRef, useState } from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  // src/widgets/multimedia.tsx
7
+ /** https://ui.iandefined.com/docs/components/lightbox/ */
7
8
  const Lightbox = /* @__PURE__ */ Object.assign(Lightbox$1, {
8
9
  Trigger: LightboxTrigger,
9
10
  Content: LightboxContent
10
11
  });
12
+ /** https://ui.shadcn.com/docs/components/base/carousel */
11
13
  const Carousel = /* @__PURE__ */ Object.assign(Carousel$1, {
12
14
  Content: CarouselContent,
13
15
  Previous: CarouselPrevious,
@@ -1,4 +1,5 @@
1
1
  import { Pagination as Pagination$1, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "../vendor/shadcn/pagination.mjs";
2
+ /** https://ui.shadcn.com/docs/components/base/pagination */
2
3
  export declare const Pagination: typeof Pagination$1 & {
3
4
  Content: typeof PaginationContent;
4
5
  Item: typeof PaginationItem;
@@ -1,5 +1,6 @@
1
1
  import { Pagination as Pagination$1, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "../vendor/shadcn/pagination.mjs";
2
2
  // src/widgets/pagination.tsx
3
+ /** https://ui.shadcn.com/docs/components/base/pagination */
3
4
  const Pagination = /* @__PURE__ */ Object.assign(Pagination$1, {
4
5
  Content: PaginationContent,
5
6
  Item: PaginationItem,
@@ -1,4 +1,5 @@
1
1
  import { Sidebar as Sidebar$1, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from "../vendor/shadcn/sidebar.mjs";
2
+ /** https://ui.shadcn.com/docs/components/base/sidebar */
2
3
  export declare const Sidebar: typeof Sidebar$1 & {
3
4
  Provider: typeof SidebarProvider;
4
5
  Inset: typeof SidebarInset;
@@ -1,5 +1,6 @@
1
1
  import { Sidebar as Sidebar$1, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from "../vendor/shadcn/sidebar.mjs";
2
2
  // src/widgets/sidebar.tsx
3
+ /** https://ui.shadcn.com/docs/components/base/sidebar */
3
4
  const Sidebar = /* @__PURE__ */ Object.assign(Sidebar$1, {
4
5
  Provider: SidebarProvider,
5
6
  Inset: SidebarInset,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deftui/react",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/KiriRainCat/deftui.git",
@@ -34,7 +34,6 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@daypicker/react": "^10.0.2",
37
- "@fontsource-variable/inter": "^5.3.0",
38
37
  "class-variance-authority": "^0.7.1",
39
38
  "cn": "^0.5.2",
40
39
  "date-fns": "^4.4.0",