@websolutespa/ask-ui 1.0.3 → 1.0.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 (129) hide show
  1. package/dist/components/accordion.d.mts +25 -0
  2. package/dist/components/accordion.mjs +55 -0
  3. package/dist/components/ai-elements/attachments.d.mts +94 -0
  4. package/dist/components/ai-elements/attachments.mjs +174 -0
  5. package/dist/components/ai-elements/conversation.d.mts +51 -0
  6. package/dist/components/ai-elements/conversation.mjs +85 -0
  7. package/dist/components/ai-elements/message.d.mts +89 -0
  8. package/dist/components/ai-elements/message.mjs +175 -0
  9. package/dist/components/ai-elements/prompt-input.d.mts +277 -0
  10. package/dist/components/ai-elements/prompt-input.mjs +703 -0
  11. package/dist/components/ai-elements/speech-input.d.mts +64 -0
  12. package/dist/components/ai-elements/speech-input.mjs +153 -0
  13. package/dist/components/alert-dialog.d.mts +60 -0
  14. package/dist/components/alert-dialog.mjs +101 -0
  15. package/dist/components/alert.d.mts +28 -0
  16. package/dist/components/alert.mjs +43 -0
  17. package/dist/components/aspect-ratio.d.mts +9 -0
  18. package/dist/components/aspect-ratio.mjs +12 -0
  19. package/dist/components/avatar.d.mts +34 -0
  20. package/dist/components/avatar.mjs +51 -0
  21. package/dist/components/badge.d.mts +19 -0
  22. package/dist/components/badge.mjs +27 -0
  23. package/dist/components/breadcrumb.d.mts +38 -0
  24. package/dist/components/breadcrumb.mjs +70 -0
  25. package/dist/components/button-group.d.mts +28 -0
  26. package/dist/components/button-group.mjs +38 -0
  27. package/dist/components/button.d.mts +21 -0
  28. package/dist/components/button.mjs +47 -0
  29. package/dist/components/calendar.d.mts +30 -0
  30. package/dist/components/calendar.mjs +109 -0
  31. package/dist/components/card.d.mts +37 -0
  32. package/dist/components/card.mjs +56 -0
  33. package/dist/components/carousel.d.mts +56 -0
  34. package/dist/components/carousel.mjs +132 -0
  35. package/dist/components/chart.d.mts +78 -0
  36. package/dist/components/chart.mjs +146 -0
  37. package/dist/components/checkbox.d.mts +11 -0
  38. package/dist/components/checkbox.mjs +21 -0
  39. package/dist/components/collapsible.d.mts +15 -0
  40. package/dist/components/collapsible.mjs +24 -0
  41. package/dist/components/combobox.d.mts +81 -0
  42. package/dist/components/combobox.mjs +163 -0
  43. package/dist/components/command.d.mts +54 -0
  44. package/dist/components/command.mjs +88 -0
  45. package/dist/components/context-menu.d.mts +85 -0
  46. package/dist/components/context-menu.mjs +125 -0
  47. package/dist/components/dialog.d.mts +51 -0
  48. package/dist/components/dialog.mjs +96 -0
  49. package/dist/components/direction.d.mts +15 -0
  50. package/dist/components/direction.mjs +14 -0
  51. package/dist/components/drawer.d.mts +47 -0
  52. package/dist/components/drawer.mjs +79 -0
  53. package/dist/components/dropdown-menu.d.mts +87 -0
  54. package/dist/components/dropdown-menu.mjs +131 -0
  55. package/dist/components/empty.d.mts +35 -0
  56. package/dist/components/empty.mjs +59 -0
  57. package/dist/components/field.d.mts +64 -0
  58. package/dist/components/field.mjs +110 -0
  59. package/dist/components/hover-card.d.mts +22 -0
  60. package/dist/components/hover-card.mjs +33 -0
  61. package/dist/components/input-group.d.mts +43 -0
  62. package/dist/components/input-group.mjs +79 -0
  63. package/dist/components/input-otp.d.mts +28 -0
  64. package/dist/components/input-otp.mjs +47 -0
  65. package/dist/components/input.d.mts +11 -0
  66. package/dist/components/input.mjs +14 -0
  67. package/dist/components/item.d.mts +62 -0
  68. package/dist/components/item.mjs +117 -0
  69. package/dist/components/kbd.d.mts +13 -0
  70. package/dist/components/kbd.mjs +19 -0
  71. package/dist/components/label.d.mts +11 -0
  72. package/dist/components/label.mjs +15 -0
  73. package/dist/components/menubar.d.mts +90 -0
  74. package/dist/components/menubar.mjs +135 -0
  75. package/dist/components/native-select.d.mts +21 -0
  76. package/dist/components/native-select.mjs +37 -0
  77. package/dist/components/navigation-menu.d.mts +46 -0
  78. package/dist/components/navigation-menu.mjs +80 -0
  79. package/dist/components/pagination.d.mts +45 -0
  80. package/dist/components/pagination.mjs +80 -0
  81. package/dist/components/popover.d.mts +34 -0
  82. package/dist/components/popover.mjs +56 -0
  83. package/dist/components/progress.d.mts +12 -0
  84. package/dist/components/progress.mjs +20 -0
  85. package/dist/components/radio-group.d.mts +15 -0
  86. package/dist/components/radio-group.mjs +27 -0
  87. package/dist/components/resizable.d.mts +20 -0
  88. package/dist/components/resizable.mjs +28 -0
  89. package/dist/components/scroll-area.d.mts +17 -0
  90. package/dist/components/scroll-area.mjs +37 -0
  91. package/dist/components/select.d.mts +53 -0
  92. package/dist/components/select.mjs +100 -0
  93. package/dist/components/separator.d.mts +13 -0
  94. package/dist/components/separator.mjs +17 -0
  95. package/dist/components/sheet.d.mts +42 -0
  96. package/dist/components/sheet.mjs +90 -0
  97. package/dist/components/sidebar.d.mts +167 -0
  98. package/dist/components/sidebar.mjs +374 -0
  99. package/dist/components/skeleton.d.mts +9 -0
  100. package/dist/components/skeleton.mjs +12 -0
  101. package/dist/components/slider.d.mts +15 -0
  102. package/dist/components/slider.mjs +36 -0
  103. package/dist/components/sonner.d.mts +9 -0
  104. package/dist/components/sonner.mjs +30 -0
  105. package/dist/components/spinner.d.mts +9 -0
  106. package/dist/components/spinner.mjs +14 -0
  107. package/dist/components/switch.d.mts +14 -0
  108. package/dist/components/switch.mjs +20 -0
  109. package/dist/components/table.d.mts +38 -0
  110. package/dist/components/table.mjs +67 -0
  111. package/dist/components/tabs.d.mts +30 -0
  112. package/dist/components/tabs.mjs +46 -0
  113. package/dist/components/textarea.d.mts +10 -0
  114. package/dist/components/textarea.mjs +13 -0
  115. package/dist/components/toggle-group.d.mts +28 -0
  116. package/dist/components/toggle-group.mjs +51 -0
  117. package/dist/components/toggle.d.mts +19 -0
  118. package/dist/components/toggle.mjs +37 -0
  119. package/dist/components/tooltip.d.mts +23 -0
  120. package/dist/components/tooltip.mjs +36 -0
  121. package/dist/exports/components.d.mts +61 -0
  122. package/dist/exports/components.mjs +61 -0
  123. package/dist/exports/hooks.d.mts +2 -0
  124. package/dist/exports/hooks.mjs +2 -0
  125. package/dist/exports/lib.d.mts +2 -0
  126. package/dist/exports/lib.mjs +2 -0
  127. package/dist/hooks/use-mobile.d.mts +4 -0
  128. package/dist/hooks/use-mobile.mjs +18 -0
  129. package/package.json +7 -7
@@ -0,0 +1,88 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "./dialog.mjs";
4
+ import { InputGroup, InputGroupAddon } from "./input-group.mjs";
5
+ import { CheckIcon, SearchIcon } from "lucide-react";
6
+ import "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { Command } from "cmdk";
9
+ //#region src/components/command.tsx
10
+ function Command$1({ className, ...props }) {
11
+ return /* @__PURE__ */ jsx(Command, {
12
+ "data-slot": "command",
13
+ className: cn("flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground", className),
14
+ ...props
15
+ });
16
+ }
17
+ function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, className, showCloseButton = false, ...props }) {
18
+ return /* @__PURE__ */ jsxs(Dialog, {
19
+ ...props,
20
+ children: [/* @__PURE__ */ jsxs(DialogHeader, {
21
+ className: "sr-only",
22
+ children: [/* @__PURE__ */ jsx(DialogTitle, { children: title }), /* @__PURE__ */ jsx(DialogDescription, { children: description })]
23
+ }), /* @__PURE__ */ jsx(DialogContent, {
24
+ className: cn("top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0", className),
25
+ showCloseButton,
26
+ children
27
+ })]
28
+ });
29
+ }
30
+ function CommandInput({ className, ...props }) {
31
+ return /* @__PURE__ */ jsx("div", {
32
+ "data-slot": "command-input-wrapper",
33
+ className: "p-1 pb-0",
34
+ children: /* @__PURE__ */ jsxs(InputGroup, {
35
+ className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!",
36
+ children: [/* @__PURE__ */ jsx(Command.Input, {
37
+ "data-slot": "command-input",
38
+ className: cn("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className),
39
+ ...props
40
+ }), /* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })]
41
+ })
42
+ });
43
+ }
44
+ function CommandList({ className, ...props }) {
45
+ return /* @__PURE__ */ jsx(Command.List, {
46
+ "data-slot": "command-list",
47
+ className: cn("no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none", className),
48
+ ...props
49
+ });
50
+ }
51
+ function CommandEmpty({ className, ...props }) {
52
+ return /* @__PURE__ */ jsx(Command.Empty, {
53
+ "data-slot": "command-empty",
54
+ className: cn("py-6 text-center text-sm", className),
55
+ ...props
56
+ });
57
+ }
58
+ function CommandGroup({ className, ...props }) {
59
+ return /* @__PURE__ */ jsx(Command.Group, {
60
+ "data-slot": "command-group",
61
+ className: cn("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground", className),
62
+ ...props
63
+ });
64
+ }
65
+ function CommandSeparator({ className, ...props }) {
66
+ return /* @__PURE__ */ jsx(Command.Separator, {
67
+ "data-slot": "command-separator",
68
+ className: cn("-mx-1 h-px w-auto bg-border", className),
69
+ ...props
70
+ });
71
+ }
72
+ function CommandItem({ className, children, ...props }) {
73
+ return /* @__PURE__ */ jsxs(Command.Item, {
74
+ "data-slot": "command-item",
75
+ className: cn("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:**:[svg]:text-foreground", className),
76
+ ...props,
77
+ children: [children, /* @__PURE__ */ jsx(CheckIcon, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })]
78
+ });
79
+ }
80
+ function CommandShortcut({ className, ...props }) {
81
+ return /* @__PURE__ */ jsx("span", {
82
+ "data-slot": "command-shortcut",
83
+ className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-data-selected/command-item:text-foreground", className),
84
+ ...props
85
+ });
86
+ }
87
+ //#endregion
88
+ export { Command$1 as Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
@@ -0,0 +1,85 @@
1
+ import { ContextMenu } from "radix-ui";
2
+ import * as React from "react";
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/context-menu.d.ts
6
+ declare function ContextMenu$1({
7
+ ...props
8
+ }: React.ComponentProps<typeof ContextMenu.Root>): _$react_jsx_runtime0.JSX.Element;
9
+ declare function ContextMenuTrigger({
10
+ className,
11
+ ...props
12
+ }: React.ComponentProps<typeof ContextMenu.Trigger>): _$react_jsx_runtime0.JSX.Element;
13
+ declare function ContextMenuGroup({
14
+ ...props
15
+ }: React.ComponentProps<typeof ContextMenu.Group>): _$react_jsx_runtime0.JSX.Element;
16
+ declare function ContextMenuPortal({
17
+ ...props
18
+ }: React.ComponentProps<typeof ContextMenu.Portal>): _$react_jsx_runtime0.JSX.Element;
19
+ declare function ContextMenuSub({
20
+ ...props
21
+ }: React.ComponentProps<typeof ContextMenu.Sub>): _$react_jsx_runtime0.JSX.Element;
22
+ declare function ContextMenuRadioGroup({
23
+ ...props
24
+ }: React.ComponentProps<typeof ContextMenu.RadioGroup>): _$react_jsx_runtime0.JSX.Element;
25
+ declare function ContextMenuContent({
26
+ className,
27
+ ...props
28
+ }: React.ComponentProps<typeof ContextMenu.Content> & {
29
+ side?: 'top' | 'right' | 'bottom' | 'left';
30
+ }): _$react_jsx_runtime0.JSX.Element;
31
+ declare function ContextMenuItem({
32
+ className,
33
+ inset,
34
+ variant,
35
+ ...props
36
+ }: React.ComponentProps<typeof ContextMenu.Item> & {
37
+ inset?: boolean;
38
+ variant?: 'default' | 'destructive';
39
+ }): _$react_jsx_runtime0.JSX.Element;
40
+ declare function ContextMenuSubTrigger({
41
+ className,
42
+ inset,
43
+ children,
44
+ ...props
45
+ }: React.ComponentProps<typeof ContextMenu.SubTrigger> & {
46
+ inset?: boolean;
47
+ }): _$react_jsx_runtime0.JSX.Element;
48
+ declare function ContextMenuSubContent({
49
+ className,
50
+ ...props
51
+ }: React.ComponentProps<typeof ContextMenu.SubContent>): _$react_jsx_runtime0.JSX.Element;
52
+ declare function ContextMenuCheckboxItem({
53
+ className,
54
+ children,
55
+ checked,
56
+ inset,
57
+ ...props
58
+ }: React.ComponentProps<typeof ContextMenu.CheckboxItem> & {
59
+ inset?: boolean;
60
+ }): _$react_jsx_runtime0.JSX.Element;
61
+ declare function ContextMenuRadioItem({
62
+ className,
63
+ children,
64
+ inset,
65
+ ...props
66
+ }: React.ComponentProps<typeof ContextMenu.RadioItem> & {
67
+ inset?: boolean;
68
+ }): _$react_jsx_runtime0.JSX.Element;
69
+ declare function ContextMenuLabel({
70
+ className,
71
+ inset,
72
+ ...props
73
+ }: React.ComponentProps<typeof ContextMenu.Label> & {
74
+ inset?: boolean;
75
+ }): _$react_jsx_runtime0.JSX.Element;
76
+ declare function ContextMenuSeparator({
77
+ className,
78
+ ...props
79
+ }: React.ComponentProps<typeof ContextMenu.Separator>): _$react_jsx_runtime0.JSX.Element;
80
+ declare function ContextMenuShortcut({
81
+ className,
82
+ ...props
83
+ }: React.ComponentProps<'span'>): _$react_jsx_runtime0.JSX.Element;
84
+ //#endregion
85
+ export { ContextMenu$1 as ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
@@ -0,0 +1,125 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { CheckIcon, ChevronRightIcon } from "lucide-react";
4
+ import { ContextMenu } from "radix-ui";
5
+ import "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/components/context-menu.tsx
8
+ function ContextMenu$1({ ...props }) {
9
+ return /* @__PURE__ */ jsx(ContextMenu.Root, {
10
+ "data-slot": "context-menu",
11
+ ...props
12
+ });
13
+ }
14
+ function ContextMenuTrigger({ className, ...props }) {
15
+ return /* @__PURE__ */ jsx(ContextMenu.Trigger, {
16
+ "data-slot": "context-menu-trigger",
17
+ className: cn("select-none", className),
18
+ ...props
19
+ });
20
+ }
21
+ function ContextMenuGroup({ ...props }) {
22
+ return /* @__PURE__ */ jsx(ContextMenu.Group, {
23
+ "data-slot": "context-menu-group",
24
+ ...props
25
+ });
26
+ }
27
+ function ContextMenuPortal({ ...props }) {
28
+ return /* @__PURE__ */ jsx(ContextMenu.Portal, {
29
+ "data-slot": "context-menu-portal",
30
+ ...props
31
+ });
32
+ }
33
+ function ContextMenuSub({ ...props }) {
34
+ return /* @__PURE__ */ jsx(ContextMenu.Sub, {
35
+ "data-slot": "context-menu-sub",
36
+ ...props
37
+ });
38
+ }
39
+ function ContextMenuRadioGroup({ ...props }) {
40
+ return /* @__PURE__ */ jsx(ContextMenu.RadioGroup, {
41
+ "data-slot": "context-menu-radio-group",
42
+ ...props
43
+ });
44
+ }
45
+ function ContextMenuContent({ className, ...props }) {
46
+ return /* @__PURE__ */ jsx(ContextMenu.Portal, { children: /* @__PURE__ */ jsx(ContextMenu.Content, {
47
+ "data-slot": "context-menu-content",
48
+ className: cn("z-50 max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
49
+ ...props
50
+ }) });
51
+ }
52
+ function ContextMenuItem({ className, inset, variant = "default", ...props }) {
53
+ return /* @__PURE__ */ jsx(ContextMenu.Item, {
54
+ "data-slot": "context-menu-item",
55
+ "data-inset": inset,
56
+ "data-variant": variant,
57
+ className: cn("group/context-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive", className),
58
+ ...props
59
+ });
60
+ }
61
+ function ContextMenuSubTrigger({ className, inset, children, ...props }) {
62
+ return /* @__PURE__ */ jsxs(ContextMenu.SubTrigger, {
63
+ "data-slot": "context-menu-sub-trigger",
64
+ "data-inset": inset,
65
+ className: cn("flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
66
+ ...props,
67
+ children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })]
68
+ });
69
+ }
70
+ function ContextMenuSubContent({ className, ...props }) {
71
+ return /* @__PURE__ */ jsx(ContextMenu.SubContent, {
72
+ "data-slot": "context-menu-sub-content",
73
+ className: cn("z-50 min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
74
+ ...props
75
+ });
76
+ }
77
+ function ContextMenuCheckboxItem({ className, children, checked, inset, ...props }) {
78
+ return /* @__PURE__ */ jsxs(ContextMenu.CheckboxItem, {
79
+ "data-slot": "context-menu-checkbox-item",
80
+ "data-inset": inset,
81
+ className: cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
82
+ checked,
83
+ ...props,
84
+ children: [/* @__PURE__ */ jsx("span", {
85
+ className: "pointer-events-none absolute right-2",
86
+ children: /* @__PURE__ */ jsx(ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
87
+ }), children]
88
+ });
89
+ }
90
+ function ContextMenuRadioItem({ className, children, inset, ...props }) {
91
+ return /* @__PURE__ */ jsxs(ContextMenu.RadioItem, {
92
+ "data-slot": "context-menu-radio-item",
93
+ "data-inset": inset,
94
+ className: cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
95
+ ...props,
96
+ children: [/* @__PURE__ */ jsx("span", {
97
+ className: "pointer-events-none absolute right-2",
98
+ children: /* @__PURE__ */ jsx(ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
99
+ }), children]
100
+ });
101
+ }
102
+ function ContextMenuLabel({ className, inset, ...props }) {
103
+ return /* @__PURE__ */ jsx(ContextMenu.Label, {
104
+ "data-slot": "context-menu-label",
105
+ "data-inset": inset,
106
+ className: cn("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:pl-8", className),
107
+ ...props
108
+ });
109
+ }
110
+ function ContextMenuSeparator({ className, ...props }) {
111
+ return /* @__PURE__ */ jsx(ContextMenu.Separator, {
112
+ "data-slot": "context-menu-separator",
113
+ className: cn("-mx-1 my-1 h-px bg-border", className),
114
+ ...props
115
+ });
116
+ }
117
+ function ContextMenuShortcut({ className, ...props }) {
118
+ return /* @__PURE__ */ jsx("span", {
119
+ "data-slot": "context-menu-shortcut",
120
+ className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground", className),
121
+ ...props
122
+ });
123
+ }
124
+ //#endregion
125
+ export { ContextMenu$1 as ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
@@ -0,0 +1,51 @@
1
+ import { Dialog } from "radix-ui";
2
+ import * as React from "react";
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/dialog.d.ts
6
+ declare function Dialog$1({
7
+ ...props
8
+ }: React.ComponentProps<typeof Dialog.Root>): _$react_jsx_runtime0.JSX.Element;
9
+ declare function DialogTrigger({
10
+ ...props
11
+ }: React.ComponentProps<typeof Dialog.Trigger>): _$react_jsx_runtime0.JSX.Element;
12
+ declare function DialogPortal({
13
+ ...props
14
+ }: React.ComponentProps<typeof Dialog.Portal>): _$react_jsx_runtime0.JSX.Element;
15
+ declare function DialogClose({
16
+ ...props
17
+ }: React.ComponentProps<typeof Dialog.Close>): _$react_jsx_runtime0.JSX.Element;
18
+ declare function DialogOverlay({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<typeof Dialog.Overlay>): _$react_jsx_runtime0.JSX.Element;
22
+ declare function DialogContent({
23
+ className,
24
+ children,
25
+ showCloseButton,
26
+ ...props
27
+ }: React.ComponentProps<typeof Dialog.Content> & {
28
+ showCloseButton?: boolean;
29
+ }): _$react_jsx_runtime0.JSX.Element;
30
+ declare function DialogHeader({
31
+ className,
32
+ ...props
33
+ }: React.ComponentProps<'div'>): _$react_jsx_runtime0.JSX.Element;
34
+ declare function DialogFooter({
35
+ className,
36
+ showCloseButton,
37
+ children,
38
+ ...props
39
+ }: React.ComponentProps<'div'> & {
40
+ showCloseButton?: boolean;
41
+ }): _$react_jsx_runtime0.JSX.Element;
42
+ declare function DialogTitle({
43
+ className,
44
+ ...props
45
+ }: React.ComponentProps<typeof Dialog.Title>): _$react_jsx_runtime0.JSX.Element;
46
+ declare function DialogDescription({
47
+ className,
48
+ ...props
49
+ }: React.ComponentProps<typeof Dialog.Description>): _$react_jsx_runtime0.JSX.Element;
50
+ //#endregion
51
+ export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
@@ -0,0 +1,96 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { Button } from "./button.mjs";
4
+ import { XIcon } from "lucide-react";
5
+ import { Dialog } from "radix-ui";
6
+ import "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region src/components/dialog.tsx
9
+ function Dialog$1({ ...props }) {
10
+ return /* @__PURE__ */ jsx(Dialog.Root, {
11
+ "data-slot": "dialog",
12
+ ...props
13
+ });
14
+ }
15
+ function DialogTrigger({ ...props }) {
16
+ return /* @__PURE__ */ jsx(Dialog.Trigger, {
17
+ "data-slot": "dialog-trigger",
18
+ ...props
19
+ });
20
+ }
21
+ function DialogPortal({ ...props }) {
22
+ return /* @__PURE__ */ jsx(Dialog.Portal, {
23
+ "data-slot": "dialog-portal",
24
+ ...props
25
+ });
26
+ }
27
+ function DialogClose({ ...props }) {
28
+ return /* @__PURE__ */ jsx(Dialog.Close, {
29
+ "data-slot": "dialog-close",
30
+ ...props
31
+ });
32
+ }
33
+ function DialogOverlay({ className, ...props }) {
34
+ return /* @__PURE__ */ jsx(Dialog.Overlay, {
35
+ "data-slot": "dialog-overlay",
36
+ className: cn("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
37
+ ...props
38
+ });
39
+ }
40
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
41
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Content, {
42
+ "data-slot": "dialog-content",
43
+ className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
44
+ ...props,
45
+ children: [children, showCloseButton && /* @__PURE__ */ jsx(Dialog.Close, {
46
+ "data-slot": "dialog-close",
47
+ asChild: true,
48
+ children: /* @__PURE__ */ jsxs(Button, {
49
+ variant: "ghost",
50
+ className: "absolute top-4 right-4",
51
+ size: "icon-sm",
52
+ children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
53
+ className: "sr-only",
54
+ children: "Close"
55
+ })]
56
+ })
57
+ })]
58
+ })] });
59
+ }
60
+ function DialogHeader({ className, ...props }) {
61
+ return /* @__PURE__ */ jsx("div", {
62
+ "data-slot": "dialog-header",
63
+ className: cn("flex flex-col gap-2", className),
64
+ ...props
65
+ });
66
+ }
67
+ function DialogFooter({ className, showCloseButton = false, children, ...props }) {
68
+ return /* @__PURE__ */ jsxs("div", {
69
+ "data-slot": "dialog-footer",
70
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
71
+ ...props,
72
+ children: [children, showCloseButton && /* @__PURE__ */ jsx(Dialog.Close, {
73
+ asChild: true,
74
+ children: /* @__PURE__ */ jsx(Button, {
75
+ variant: "outline",
76
+ children: "Close"
77
+ })
78
+ })]
79
+ });
80
+ }
81
+ function DialogTitle({ className, ...props }) {
82
+ return /* @__PURE__ */ jsx(Dialog.Title, {
83
+ "data-slot": "dialog-title",
84
+ className: cn("leading-none font-medium", className),
85
+ ...props
86
+ });
87
+ }
88
+ function DialogDescription({ className, ...props }) {
89
+ return /* @__PURE__ */ jsx(Dialog.Description, {
90
+ "data-slot": "dialog-description",
91
+ className: cn("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
92
+ ...props
93
+ });
94
+ }
95
+ //#endregion
96
+ export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
@@ -0,0 +1,15 @@
1
+ import { Direction } from "radix-ui";
2
+ import * as React from "react";
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/direction.d.ts
6
+ declare function DirectionProvider({
7
+ dir,
8
+ direction,
9
+ children
10
+ }: React.ComponentProps<typeof Direction.DirectionProvider> & {
11
+ direction?: React.ComponentProps<typeof Direction.DirectionProvider>['dir'];
12
+ }): _$react_jsx_runtime0.JSX.Element;
13
+ declare const useDirection: typeof Direction.useDirection;
14
+ //#endregion
15
+ export { DirectionProvider, useDirection };
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { Direction } from "radix-ui";
3
+ import "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/direction.tsx
6
+ function DirectionProvider({ dir, direction, children }) {
7
+ return /* @__PURE__ */ jsx(Direction.DirectionProvider, {
8
+ dir: direction ?? dir,
9
+ children
10
+ });
11
+ }
12
+ const useDirection = Direction.useDirection;
13
+ //#endregion
14
+ export { DirectionProvider, useDirection };
@@ -0,0 +1,47 @@
1
+ import * as React from "react";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { Drawer } from "vaul";
4
+
5
+ //#region src/components/drawer.d.ts
6
+ declare function Drawer$1({
7
+ ...props
8
+ }: React.ComponentProps<typeof Drawer.Root>): _$react_jsx_runtime0.JSX.Element;
9
+ declare function DrawerTrigger({
10
+ ...props
11
+ }: React.ComponentProps<typeof Drawer.Trigger>): _$react_jsx_runtime0.JSX.Element;
12
+ declare function DrawerPortal({
13
+ ...props
14
+ }: React.ComponentProps<typeof Drawer.Portal>): _$react_jsx_runtime0.JSX.Element;
15
+ declare function DrawerClose({
16
+ ...props
17
+ }: React.ComponentProps<typeof Drawer.Close>): _$react_jsx_runtime0.JSX.Element;
18
+ declare function DrawerOverlay({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<typeof Drawer.Overlay>): _$react_jsx_runtime0.JSX.Element;
22
+ declare function DrawerContent({
23
+ className,
24
+ container,
25
+ children,
26
+ ...props
27
+ }: React.ComponentProps<typeof Drawer.Content> & {
28
+ container?: HTMLDivElement | null;
29
+ }): _$react_jsx_runtime0.JSX.Element;
30
+ declare function DrawerHeader({
31
+ className,
32
+ ...props
33
+ }: React.ComponentProps<'div'>): _$react_jsx_runtime0.JSX.Element;
34
+ declare function DrawerFooter({
35
+ className,
36
+ ...props
37
+ }: React.ComponentProps<'div'>): _$react_jsx_runtime0.JSX.Element;
38
+ declare function DrawerTitle({
39
+ className,
40
+ ...props
41
+ }: React.ComponentProps<typeof Drawer.Title>): _$react_jsx_runtime0.JSX.Element;
42
+ declare function DrawerDescription({
43
+ className,
44
+ ...props
45
+ }: React.ComponentProps<typeof Drawer.Description>): _$react_jsx_runtime0.JSX.Element;
46
+ //#endregion
47
+ export { Drawer$1 as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
@@ -0,0 +1,79 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Drawer } from "vaul";
6
+ //#region src/components/drawer.tsx
7
+ function Drawer$1({ ...props }) {
8
+ return /* @__PURE__ */ jsx(Drawer.Root, {
9
+ "data-slot": "drawer",
10
+ ...props
11
+ });
12
+ }
13
+ function DrawerTrigger({ ...props }) {
14
+ return /* @__PURE__ */ jsx(Drawer.Trigger, {
15
+ "data-slot": "drawer-trigger",
16
+ ...props
17
+ });
18
+ }
19
+ function DrawerPortal({ ...props }) {
20
+ return /* @__PURE__ */ jsx(Drawer.Portal, {
21
+ "data-slot": "drawer-portal",
22
+ ...props
23
+ });
24
+ }
25
+ function DrawerClose({ ...props }) {
26
+ return /* @__PURE__ */ jsx(Drawer.Close, {
27
+ "data-slot": "drawer-close",
28
+ ...props
29
+ });
30
+ }
31
+ function DrawerOverlay({ className, ...props }) {
32
+ return /* @__PURE__ */ jsx(Drawer.Overlay, {
33
+ "data-slot": "drawer-overlay",
34
+ className: cn("fixed inset-0 z-9999 bg-black/10 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
35
+ ...props
36
+ });
37
+ }
38
+ function DrawerContent({ className, container, children, ...props }) {
39
+ return /* @__PURE__ */ jsxs(DrawerPortal, {
40
+ "data-slot": "drawer-portal",
41
+ container,
42
+ children: [/* @__PURE__ */ jsx(DrawerOverlay, {}), /* @__PURE__ */ jsxs(Drawer.Content, {
43
+ "data-slot": "drawer-content",
44
+ className: cn("group/drawer-content fixed z-9999 flex h-auto flex-col bg-popover text-sm text-popover-foreground data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm", className),
45
+ ...props,
46
+ children: [/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 hidden h-1.5 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }), children]
47
+ })]
48
+ });
49
+ }
50
+ function DrawerHeader({ className, ...props }) {
51
+ return /* @__PURE__ */ jsx("div", {
52
+ "data-slot": "drawer-header",
53
+ className: cn("flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left", className),
54
+ ...props
55
+ });
56
+ }
57
+ function DrawerFooter({ className, ...props }) {
58
+ return /* @__PURE__ */ jsx("div", {
59
+ "data-slot": "drawer-footer",
60
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
61
+ ...props
62
+ });
63
+ }
64
+ function DrawerTitle({ className, ...props }) {
65
+ return /* @__PURE__ */ jsx(Drawer.Title, {
66
+ "data-slot": "drawer-title",
67
+ className: cn("font-medium text-foreground", className),
68
+ ...props
69
+ });
70
+ }
71
+ function DrawerDescription({ className, ...props }) {
72
+ return /* @__PURE__ */ jsx(Drawer.Description, {
73
+ "data-slot": "drawer-description",
74
+ className: cn("text-sm text-muted-foreground", className),
75
+ ...props
76
+ });
77
+ }
78
+ //#endregion
79
+ export { Drawer$1 as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };