@uselets/ui 0.3.0 → 0.5.0

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 (193) hide show
  1. package/README.md +82 -1
  2. package/dist/components/accordion.d.ts +31 -0
  3. package/dist/components/accordion.js +2 -0
  4. package/dist/components/accordion.js.map +1 -0
  5. package/dist/components/alert-dialog.d.ts +74 -0
  6. package/dist/components/alert-dialog.js +2 -0
  7. package/dist/components/alert-dialog.js.map +1 -0
  8. package/dist/components/alert.d.ts +1 -1
  9. package/dist/components/alert.js +1 -1
  10. package/dist/components/alert.js.map +1 -1
  11. package/dist/components/anchor.d.ts +24 -0
  12. package/dist/components/anchor.js +2 -0
  13. package/dist/components/anchor.js.map +1 -0
  14. package/dist/components/avatar.d.ts +1 -1
  15. package/dist/components/avatar.js +1 -1
  16. package/dist/components/avatar.js.map +1 -1
  17. package/dist/components/badge.d.ts +22 -0
  18. package/dist/components/badge.js +2 -0
  19. package/dist/components/badge.js.map +1 -0
  20. package/dist/components/breadcrumb.d.ts +47 -0
  21. package/dist/components/breadcrumb.js +2 -0
  22. package/dist/components/breadcrumb.js.map +1 -0
  23. package/dist/components/button-group.d.ts +33 -0
  24. package/dist/components/button-group.js +2 -0
  25. package/dist/components/button-group.js.map +1 -0
  26. package/dist/components/button.d.ts +4 -2
  27. package/dist/components/button.js +1 -1
  28. package/dist/components/button.js.map +1 -1
  29. package/dist/components/calendar.d.ts +34 -0
  30. package/dist/components/calendar.js +2 -0
  31. package/dist/components/calendar.js.map +1 -0
  32. package/dist/components/card.js +1 -1
  33. package/dist/components/card.js.map +1 -1
  34. package/dist/components/carousel.d.ts +64 -0
  35. package/dist/components/carousel.js +2 -0
  36. package/dist/components/carousel.js.map +1 -0
  37. package/dist/components/center.d.ts +21 -0
  38. package/dist/components/center.js +2 -0
  39. package/dist/components/center.js.map +1 -0
  40. package/dist/components/chart.d.ts +263 -0
  41. package/dist/components/chart.js +8 -0
  42. package/dist/components/chart.js.map +1 -0
  43. package/dist/components/checkbox.d.ts +2 -2
  44. package/dist/components/checkbox.js +1 -1
  45. package/dist/components/checkbox.js.map +1 -1
  46. package/dist/components/code.d.ts +13 -0
  47. package/dist/components/code.js +2 -0
  48. package/dist/components/code.js.map +1 -0
  49. package/dist/components/collapsible.d.ts +20 -0
  50. package/dist/components/collapsible.js +2 -0
  51. package/dist/components/collapsible.js.map +1 -0
  52. package/dist/components/combobox.d.ts +103 -0
  53. package/dist/components/combobox.js +2 -0
  54. package/dist/components/combobox.js.map +1 -0
  55. package/dist/components/command.d.ts +65 -0
  56. package/dist/components/command.js +2 -0
  57. package/dist/components/command.js.map +1 -0
  58. package/dist/components/container.d.ts +19 -0
  59. package/dist/components/container.js +2 -0
  60. package/dist/components/container.js.map +1 -0
  61. package/dist/components/dialog.d.ts +3 -3
  62. package/dist/components/dialog.js +1 -1
  63. package/dist/components/dialog.js.map +1 -1
  64. package/dist/components/drawer.d.ts +2 -2
  65. package/dist/components/drawer.js +1 -1
  66. package/dist/components/drawer.js.map +1 -1
  67. package/dist/components/dropdown-menu.d.ts +9 -10
  68. package/dist/components/dropdown-menu.js +1 -1
  69. package/dist/components/dropdown-menu.js.map +1 -1
  70. package/dist/components/dropzone.d.ts +107 -0
  71. package/dist/components/dropzone.js +2 -0
  72. package/dist/components/dropzone.js.map +1 -0
  73. package/dist/components/empty.d.ts +1 -1
  74. package/dist/components/empty.js +1 -1
  75. package/dist/components/empty.js.map +1 -1
  76. package/dist/components/field.d.ts +2 -2
  77. package/dist/components/field.js +1 -1
  78. package/dist/components/field.js.map +1 -1
  79. package/dist/components/group.d.ts +21 -0
  80. package/dist/components/group.js +2 -0
  81. package/dist/components/group.js.map +1 -0
  82. package/dist/components/heading.d.ts +22 -0
  83. package/dist/components/heading.js +2 -0
  84. package/dist/components/heading.js.map +1 -0
  85. package/dist/components/hover-card.d.ts +24 -0
  86. package/dist/components/hover-card.js +2 -0
  87. package/dist/components/hover-card.js.map +1 -0
  88. package/dist/components/input-group.d.ts +52 -0
  89. package/dist/components/input-group.js +2 -0
  90. package/dist/components/input-group.js.map +1 -0
  91. package/dist/components/input-otp.js +1 -1
  92. package/dist/components/input-otp.js.map +1 -1
  93. package/dist/components/input.js +1 -1
  94. package/dist/components/input.js.map +1 -1
  95. package/dist/components/kbd.js +1 -1
  96. package/dist/components/kbd.js.map +1 -1
  97. package/dist/components/label.d.ts +1 -1
  98. package/dist/components/label.js +1 -1
  99. package/dist/components/label.js.map +1 -1
  100. package/dist/components/list.d.ts +44 -0
  101. package/dist/components/list.js +2 -0
  102. package/dist/components/list.js.map +1 -0
  103. package/dist/components/native-select.js +1 -1
  104. package/dist/components/native-select.js.map +1 -1
  105. package/dist/components/navigation-menu.d.ts +56 -0
  106. package/dist/components/navigation-menu.js +2 -0
  107. package/dist/components/navigation-menu.js.map +1 -0
  108. package/dist/components/pagination.d.ts +54 -0
  109. package/dist/components/pagination.js +2 -0
  110. package/dist/components/pagination.js.map +1 -0
  111. package/dist/components/popover.d.ts +1 -1
  112. package/dist/components/popover.js +1 -1
  113. package/dist/components/popover.js.map +1 -1
  114. package/dist/components/progress.d.ts +15 -0
  115. package/dist/components/progress.js +2 -0
  116. package/dist/components/progress.js.map +1 -0
  117. package/dist/components/radio-group.d.ts +19 -0
  118. package/dist/components/radio-group.js +2 -0
  119. package/dist/components/radio-group.js.map +1 -0
  120. package/dist/components/resizable.d.ts +25 -0
  121. package/dist/components/resizable.js +2 -0
  122. package/dist/components/resizable.js.map +1 -0
  123. package/dist/components/scroll-area.d.ts +21 -0
  124. package/dist/components/scroll-area.js +2 -0
  125. package/dist/components/scroll-area.js.map +1 -0
  126. package/dist/components/select.d.ts +1 -1
  127. package/dist/components/select.js +1 -1
  128. package/dist/components/select.js.map +1 -1
  129. package/dist/components/separator.d.ts +1 -1
  130. package/dist/components/separator.js +1 -1
  131. package/dist/components/separator.js.map +1 -1
  132. package/dist/components/sheet.d.ts +61 -0
  133. package/dist/components/sheet.js +2 -0
  134. package/dist/components/sheet.js.map +1 -0
  135. package/dist/components/sidebar.d.ts +192 -0
  136. package/dist/components/sidebar.js +2 -0
  137. package/dist/components/sidebar.js.map +1 -0
  138. package/dist/components/skeleton.js +1 -1
  139. package/dist/components/skeleton.js.map +1 -1
  140. package/dist/components/slider.d.ts +18 -0
  141. package/dist/components/slider.js +2 -0
  142. package/dist/components/slider.js.map +1 -0
  143. package/dist/components/sonner.js +1 -1
  144. package/dist/components/sonner.js.map +1 -1
  145. package/dist/components/spinner.d.ts +1 -1
  146. package/dist/components/spinner.js +1 -1
  147. package/dist/components/spinner.js.map +1 -1
  148. package/dist/components/stack.d.ts +19 -0
  149. package/dist/components/stack.js +2 -0
  150. package/dist/components/stack.js.map +1 -0
  151. package/dist/components/switch.d.ts +17 -0
  152. package/dist/components/switch.js +2 -0
  153. package/dist/components/switch.js.map +1 -0
  154. package/dist/components/table.d.ts +48 -0
  155. package/dist/components/table.js +2 -0
  156. package/dist/components/table.js.map +1 -0
  157. package/dist/components/tabs.d.ts +36 -0
  158. package/dist/components/tabs.js +2 -0
  159. package/dist/components/tabs.js.map +1 -0
  160. package/dist/components/text.d.ts +22 -0
  161. package/dist/components/text.js +2 -0
  162. package/dist/components/text.js.map +1 -0
  163. package/dist/components/textarea.d.ts +13 -0
  164. package/dist/components/textarea.js +2 -0
  165. package/dist/components/textarea.js.map +1 -0
  166. package/dist/components/theme.js +1 -1
  167. package/dist/components/theme.js.map +1 -1
  168. package/dist/components/timeline.d.ts +63 -0
  169. package/dist/components/timeline.js +2 -0
  170. package/dist/components/timeline.js.map +1 -0
  171. package/dist/components/toggle-group.d.ts +32 -0
  172. package/dist/components/toggle-group.js +2 -0
  173. package/dist/components/toggle-group.js.map +1 -0
  174. package/dist/components/toggle.d.ts +22 -0
  175. package/dist/components/toggle.js +2 -0
  176. package/dist/components/toggle.js.map +1 -0
  177. package/dist/components/tooltip.d.ts +1 -1
  178. package/dist/components/tooltip.js +1 -1
  179. package/dist/components/tooltip.js.map +1 -1
  180. package/dist/hooks/use-mobile.d.ts +7 -0
  181. package/dist/hooks/use-mobile.js +2 -0
  182. package/dist/hooks/use-mobile.js.map +1 -0
  183. package/dist/index.d.ts +46 -4
  184. package/dist/index.js +1 -1
  185. package/dist/lib/button.d.ts +16 -0
  186. package/dist/lib/button.js +2 -0
  187. package/dist/lib/button.js.map +1 -0
  188. package/dist/lib/utils.js +1 -1
  189. package/dist/lib/utils.js.map +1 -1
  190. package/dist/styles.css +1436 -3
  191. package/package.json +18 -7
  192. package/dist/styles.css.map +0 -1
  193. package/dist/styles.js +0 -0
@@ -0,0 +1,24 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { HoverCard as HoverCard$1 } from "radix-ui";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import * as React from "react";
5
+
6
+ //#region src/components/hover-card.d.ts
7
+ type HoverCardProps = React.ComponentProps<typeof HoverCard$1.Root>;
8
+ type HoverCardTriggerProps = React.ComponentProps<typeof HoverCard$1.Trigger>;
9
+ type HoverCardContentProps = React.ComponentProps<typeof HoverCard$1.Content>;
10
+ declare function HoverCard({
11
+ ...props
12
+ }: HoverCardProps): react_jsx_runtime0.JSX.Element;
13
+ declare function HoverCardTrigger({
14
+ ...props
15
+ }: HoverCardTriggerProps): react_jsx_runtime0.JSX.Element;
16
+ declare function HoverCardContent({
17
+ className,
18
+ align,
19
+ sideOffset,
20
+ ...props
21
+ }: HoverCardContentProps): react_jsx_runtime0.JSX.Element;
22
+ //#endregion
23
+ export { HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps };
24
+ //# sourceMappingURL=hover-card.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{HoverCard as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function HoverCard({...e}){return n(t.Root,{"data-slot":`hover-card`,...e})}function HoverCardTrigger({...e}){return n(t.Trigger,{"data-slot":`hover-card-trigger`,...e})}function HoverCardContent({className:r,align:i=`center`,sideOffset:a=4,...o}){return n(t.Portal,{"data-slot":`hover-card-portal`,children:n(t.Content,{"data-slot":`hover-card-content`,align:i,sideOffset:a,className:e(`z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden 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`,r),...o})})}export{HoverCard,HoverCardContent,HoverCardTrigger};
2
+ //# sourceMappingURL=hover-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.js","names":["HoverCardPrimitive"],"sources":["../../src/components/hover-card.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { HoverCard as HoverCardPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type HoverCardProps = React.ComponentProps<typeof HoverCardPrimitive.Root>\n\nexport type HoverCardTriggerProps = React.ComponentProps<typeof HoverCardPrimitive.Trigger>\n\nexport type HoverCardContentProps = React.ComponentProps<typeof HoverCardPrimitive.Content>\n\nfunction HoverCard({ ...props }: HoverCardProps) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />\n}\n\nfunction HoverCardTrigger({ ...props }: HoverCardTriggerProps) {\n return <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n}\n\nfunction HoverCardContent({ className, align = 'center', sideOffset = 4, ...props }: HoverCardContentProps) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden 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',\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n )\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n"],"mappings":"+IAYA,SAAS,UAAU,CAAE,GAAG,GAAyB,CAC/C,OAAO,EAACA,EAAmB,KAApB,CAAyB,YAAU,aAAa,GAAI,EAAS,CAAA,CAGtE,SAAS,iBAAiB,CAAE,GAAG,GAAgC,CAC7D,OAAO,EAACA,EAAmB,QAApB,CAA4B,YAAU,qBAAqB,GAAI,EAAS,CAAA,CAGjF,SAAS,iBAAiB,CAAE,YAAW,QAAQ,SAAU,aAAa,EAAG,GAAG,GAAgC,CAC1G,OACE,EAACA,EAAmB,OAApB,CAA2B,YAAU,6BACnC,EAACA,EAAmB,QAApB,CACE,YAAU,qBACH,QACK,aACZ,UAAW,EACT,8dACA,EACD,CACD,GAAI,EACJ,CAAA,CACwB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { Button } from "./button.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import { VariantProps } from "class-variance-authority";
5
+ import * as React from "react";
6
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
7
+
8
+ //#region src/components/input-group.d.ts
9
+ type InputGroupProps = React.ComponentProps<'div'>;
10
+ type InputGroupAddonProps = React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>;
11
+ type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>;
12
+ type InputGroupTextProps = React.ComponentProps<'span'>;
13
+ type InputGroupInputProps = React.ComponentProps<'input'>;
14
+ type InputGroupTextareaProps = React.ComponentProps<'textarea'>;
15
+ declare function InputGroup({
16
+ className,
17
+ ...props
18
+ }: InputGroupProps): react_jsx_runtime0.JSX.Element;
19
+ declare const inputGroupAddonVariants: (props?: ({
20
+ align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
21
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
22
+ declare function InputGroupAddon({
23
+ className,
24
+ align,
25
+ ...props
26
+ }: InputGroupAddonProps): react_jsx_runtime0.JSX.Element;
27
+ declare const inputGroupButtonVariants: (props?: ({
28
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
29
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
30
+ declare function InputGroupButton({
31
+ className,
32
+ type,
33
+ variant,
34
+ size,
35
+ color,
36
+ ...props
37
+ }: InputGroupButtonProps): react_jsx_runtime0.JSX.Element;
38
+ declare function InputGroupText({
39
+ className,
40
+ ...props
41
+ }: InputGroupTextProps): react_jsx_runtime0.JSX.Element;
42
+ declare function InputGroupInput({
43
+ className,
44
+ ...props
45
+ }: InputGroupInputProps): react_jsx_runtime0.JSX.Element;
46
+ declare function InputGroupTextarea({
47
+ className,
48
+ ...props
49
+ }: InputGroupTextareaProps): react_jsx_runtime0.JSX.Element;
50
+ //#endregion
51
+ export { InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupButton, InputGroupButtonProps, InputGroupInput, InputGroupInputProps, InputGroupProps, InputGroupText, InputGroupTextProps, InputGroupTextarea, InputGroupTextareaProps };
52
+ //# sourceMappingURL=input-group.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{Input as n}from"./input.js";import{Textarea as r}from"./textarea.js";import{jsx as i}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";function InputGroup({className:t,...n}){return i(`div`,{"data-slot":`input-group`,className:e(`group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5`,t),...n})}const o=a(`flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4`,{variants:{align:{"inline-start":`order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]`,"inline-end":`order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]`,"block-start":`order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2`,"block-end":`order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2`}},defaultVariants:{align:`inline-start`}});function InputGroupAddon({className:t,align:n=`inline-start`,...r}){return i(`div`,{"data-slot":`input-group-addon`,"data-align":n,className:e(o({align:n}),t),...r})}const s=a(`flex items-center gap-2 text-sm shadow-none`,{variants:{size:{xs:`h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5`,sm:``,"icon-xs":`size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0`,"icon-sm":`size-8 p-0 has-[>svg]:p-0`}},defaultVariants:{size:`xs`}});function InputGroupButton({className:n,type:r=`button`,variant:a=`ghost`,size:o=`xs`,color:c=`zinc`,...l}){return i(t,{type:r,"data-size":o,variant:a,color:c,className:e(s({size:o}),n),...l})}function InputGroupText({className:t,...n}){return i(`span`,{className:e(`flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4`,t),...n})}function InputGroupInput({className:t,...r}){return i(n,{"data-slot":`input-group-control`,className:e(`flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent`,t),...r})}function InputGroupTextarea({className:t,...n}){return i(r,{"data-slot":`input-group-control`,className:e(`flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent`,t),...n})}export{InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea};
2
+ //# sourceMappingURL=input-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-group.js","names":[],"sources":["../../src/components/input-group.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { Input } from './input'\nimport { Textarea } from './textarea'\n\nexport type InputGroupProps = React.ComponentProps<'div'>\n\nexport type InputGroupAddonProps = React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>\n\nexport type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size'> &\n VariantProps<typeof inputGroupButtonVariants>\n\nexport type InputGroupTextProps = React.ComponentProps<'span'>\n\nexport type InputGroupInputProps = React.ComponentProps<'input'>\n\nexport type InputGroupTextareaProps = React.ComponentProps<'textarea'>\n\nfunction InputGroup({ className, ...props }: InputGroupProps) {\n return (\n <div\n data-slot=\"input-group\"\n className={cn(\n 'group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5',\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n 'inline-start': 'order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]',\n 'inline-end': 'order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]',\n 'block-start':\n 'order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2',\n 'block-end': 'order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2'\n }\n },\n defaultVariants: {\n align: 'inline-start'\n }\n }\n)\n\nfunction InputGroupAddon({ className, align = 'inline-start', ...props }: InputGroupAddonProps) {\n return (\n <div\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva('flex items-center gap-2 text-sm shadow-none', {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: '',\n 'icon-xs': 'size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0',\n 'icon-sm': 'size-8 p-0 has-[>svg]:p-0'\n }\n },\n defaultVariants: {\n size: 'xs'\n }\n})\n\nfunction InputGroupButton({\n className,\n type = 'button',\n variant = 'ghost',\n size = 'xs',\n color = 'zinc',\n ...props\n}: InputGroupButtonProps) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n color={color}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({ className, ...props }: InputGroupInputProps) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({ className, ...props }: InputGroupTextareaProps) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea }\n"],"mappings":"0QAsBA,SAAS,WAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OACE,EAAC,MAAD,CACE,YAAU,cACV,UAAW,EACT,wlCACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,MAAM,EAA0B,EAC9B,0PACA,CACE,SAAU,CACR,MAAO,CACL,eAAgB,uEAChB,aAAc,sEACd,cACE,oGACF,YAAa,mGACd,CACF,CACD,gBAAiB,CACf,MAAO,eACR,CACF,CACF,CAED,SAAS,gBAAgB,CAAE,YAAW,QAAQ,eAAgB,GAAG,GAA+B,CAC9F,OACE,EAAC,MAAD,CACE,YAAU,oBACV,aAAY,EACZ,UAAW,EAAG,EAAwB,CAAE,QAAO,CAAC,CAAE,EAAU,CAC5D,GAAI,EACJ,CAAA,CAIN,MAAM,EAA2B,EAAI,8CAA+C,CAClF,SAAU,CACR,KAAM,CACJ,GAAI,4FACJ,GAAI,GACJ,UAAW,8DACX,UAAW,4BACZ,CACF,CACD,gBAAiB,CACf,KAAM,KACP,CACF,CAAC,CAEF,SAAS,iBAAiB,CACxB,YACA,OAAO,SACP,UAAU,QACV,OAAO,KACP,QAAQ,OACR,GAAG,GACqB,CACxB,OACE,EAAC,EAAD,CACQ,OACN,YAAW,EACF,UACF,QACP,UAAW,EAAG,EAAyB,CAAE,OAAM,CAAC,CAAE,EAAU,CAC5D,GAAI,EACJ,CAAA,CAIN,SAAS,eAAe,CAAE,YAAW,GAAG,GAA8B,CACpE,OACE,EAAC,OAAD,CACE,UAAW,EACT,yHACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,gBAAgB,CAAE,YAAW,GAAG,GAA+B,CACtE,OACE,EAAC,EAAD,CACE,YAAU,sBACV,UAAW,EACT,mLACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAAC,EAAD,CACE,YAAU,sBACV,UAAW,EACT,oMACA,EACD,CACD,GAAI,EACJ,CAAA"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{IconMinus as i}from"@tabler/icons-react";import*as a from"react";import{OTPInput as o,OTPInputContext as s,REGEXP_ONLY_CHARS as c,REGEXP_ONLY_DIGITS as l,REGEXP_ONLY_DIGITS_AND_CHARS as u}from"input-otp";function InputOTP({className:e,containerClassName:r,...i}){return n(o,{"data-slot":`input-otp`,containerClassName:t(`cn-input-otp flex items-center has-disabled:opacity-50`,r),spellCheck:!1,className:t(`disabled:cursor-not-allowed`,e),...i})}function InputOTPGroup({className:e,...r}){return n(`div`,{"data-slot":`input-otp-group`,className:t(`flex items-center rounded-lg`,`has-aria-invalid:border-destructive has-aria-invalid:ring-destructive/20 has-aria-invalid:ring-3 dark:has-aria-invalid:ring-destructive/40`,e),...r})}function InputOTPSlot({index:e,className:i,...o}){let{char:c,hasFakeCaret:l,isActive:u}=a.useContext(s)?.slots[e]??{};return r(`div`,{"data-slot":`input-otp-slot`,"data-active":u,className:t(`dark:bg-input/30 border-input relative flex size-8 items-center justify-center border-y border-r text-sm transition-all outline-none`,`first:rounded-l-lg first:border-l last:rounded-r-lg`,`aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive`,`data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:ring-3 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40`,i),...o,children:[c,l&&n(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:n(`div`,{className:`animate-caret-blink bg-foreground h-4 w-px duration-1000`})})]})}function InputOTPSeparator({...e}){return n(`div`,{"data-slot":`input-otp-separator`,className:`[&_svg:not([class*='size-'])]:size-4 flex items-center`,...e,children:n(i,{})})}export{InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot,c as REGEXP_ONLY_CHARS,l as REGEXP_ONLY_DIGITS,u as REGEXP_ONLY_DIGITS_AND_CHARS};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{IconMinus as t}from"@tabler/icons-react";import{jsx as n,jsxs as r}from"react/jsx-runtime";import*as i from"react";import{OTPInput as a,OTPInputContext as o,REGEXP_ONLY_CHARS as s,REGEXP_ONLY_DIGITS as c,REGEXP_ONLY_DIGITS_AND_CHARS as l}from"input-otp";function InputOTP({className:t,containerClassName:r,...i}){return n(a,{"data-slot":`input-otp`,containerClassName:e(`cn-input-otp flex items-center has-disabled:opacity-50`,r),spellCheck:!1,className:e(`disabled:cursor-not-allowed`,t),...i})}function InputOTPGroup({className:t,...r}){return n(`div`,{"data-slot":`input-otp-group`,className:e(`flex items-center rounded-lg`,`has-aria-invalid:border-destructive has-aria-invalid:ring-destructive/20 has-aria-invalid:ring-3 dark:has-aria-invalid:ring-destructive/40`,t),...r})}function InputOTPSlot({index:t,className:a,...s}){let{char:c,hasFakeCaret:l,isActive:u}=i.useContext(o)?.slots[t]??{};return r(`div`,{"data-slot":`input-otp-slot`,"data-active":u,className:e(`dark:bg-input/30 border-input relative flex size-8 items-center justify-center border-y border-r text-sm transition-all outline-none`,`first:rounded-l-lg first:border-l last:rounded-r-lg`,`aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive`,`data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:ring-3 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40`,a),...s,children:[c,l&&n(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:n(`div`,{className:`animate-caret-blink bg-foreground h-4 w-px duration-1000`})})]})}function InputOTPSeparator({...e}){return n(`div`,{"data-slot":`input-otp-separator`,className:`[&_svg:not([class*='size-'])]:size-4 flex items-center`,...e,children:n(t,{})})}export{InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot,s as REGEXP_ONLY_CHARS,c as REGEXP_ONLY_DIGITS,l as REGEXP_ONLY_DIGITS_AND_CHARS};
2
2
  //# sourceMappingURL=input-otp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.js","names":[],"sources":["../../src/components/input-otp.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconMinus } from '@tabler/icons-react'\nimport {\n OTPInput,\n OTPInputContext,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n} from 'input-otp'\n\nimport { cn } from '../lib/utils'\n\nexport type InputOTPProps = React.ComponentProps<typeof OTPInput> & {\n containerClassName?: string\n}\n\nexport type InputOTPGroupProps = React.ComponentProps<'div'>\n\nexport type InputOTPSlotProps = React.ComponentProps<'div'> & {\n index: number\n}\n\nexport type InputOTPSeparatorProps = React.ComponentProps<'div'>\n\nfunction InputOTP({ className, containerClassName, ...props }: InputOTPProps) {\n return (\n <OTPInput\n data-slot=\"input-otp\"\n containerClassName={cn('cn-input-otp flex items-center has-disabled:opacity-50', containerClassName)}\n spellCheck={false}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n )\n}\n\nfunction InputOTPGroup({ className, ...props }: InputOTPGroupProps) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\n 'flex items-center rounded-lg',\n 'has-aria-invalid:border-destructive has-aria-invalid:ring-destructive/20 has-aria-invalid:ring-3 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputOTPSlot({ index, className, ...props }: InputOTPSlotProps) {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n 'dark:bg-input/30 border-input relative flex size-8 items-center justify-center border-y border-r text-sm transition-all outline-none',\n 'first:rounded-l-lg first:border-l last:rounded-r-lg',\n 'aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive',\n 'data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:ring-3 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n )\n}\n\nfunction InputOTPSeparator({ ...props }: InputOTPSeparatorProps) {\n return (\n <div data-slot=\"input-otp-separator\" className=\"[&_svg:not([class*='size-'])]:size-4 flex items-center\" {...props}>\n <IconMinus />\n </div>\n )\n}\n\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSeparator,\n InputOTPSlot,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n}\n"],"mappings":"mVAyBA,SAAS,SAAS,CAAE,YAAW,qBAAoB,GAAG,GAAwB,CAC5E,OACE,EAAC,EAAA,CACC,YAAU,YACV,mBAAoB,EAAG,yDAA0D,EAAmB,CACpG,WAAY,GACZ,UAAW,EAAG,8BAA+B,EAAU,CACvD,GAAI,GACJ,CAIN,SAAS,cAAc,CAAE,YAAW,GAAG,GAA6B,CAClE,OACE,EAAC,MAAA,CACC,YAAU,kBACV,UAAW,EACT,+BACA,6IACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,aAAa,CAAE,QAAO,YAAW,GAAG,GAA4B,CAEvE,GAAM,CAAE,OAAM,eAAc,YADJ,EAAM,WAAW,EAAgB,EACC,MAAM,IAAU,EAAE,CAE5E,OACE,EAAC,MAAA,CACC,YAAU,iBACV,cAAa,EACb,UAAW,EACT,uIACA,sDACA,qFACA,gOACA,EACD,CACD,GAAI,YAEH,EACA,GACC,EAAC,MAAA,CAAI,UAAU,iFACb,EAAC,MAAA,CAAI,UAAU,2DAAA,CAA6D,EACxE,CAAA,EAEJ,CAIV,SAAS,kBAAkB,CAAE,GAAG,GAAiC,CAC/D,OACE,EAAC,MAAA,CAAI,YAAU,sBAAsB,UAAU,yDAAyD,GAAI,WAC1G,EAAC,EAAA,EAAA,CAAY,EACT"}
1
+ {"version":3,"file":"input-otp.js","names":[],"sources":["../../src/components/input-otp.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconMinus } from '@tabler/icons-react'\nimport {\n OTPInput,\n OTPInputContext,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n} from 'input-otp'\n\nimport { cn } from '../lib/utils'\n\nexport type InputOTPProps = React.ComponentProps<typeof OTPInput> & {\n containerClassName?: string\n}\n\nexport type InputOTPGroupProps = React.ComponentProps<'div'>\n\nexport type InputOTPSlotProps = React.ComponentProps<'div'> & {\n index: number\n}\n\nexport type InputOTPSeparatorProps = React.ComponentProps<'div'>\n\nfunction InputOTP({ className, containerClassName, ...props }: InputOTPProps) {\n return (\n <OTPInput\n data-slot=\"input-otp\"\n containerClassName={cn('cn-input-otp flex items-center has-disabled:opacity-50', containerClassName)}\n spellCheck={false}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n )\n}\n\nfunction InputOTPGroup({ className, ...props }: InputOTPGroupProps) {\n return (\n <div\n data-slot=\"input-otp-group\"\n className={cn(\n 'flex items-center rounded-lg',\n 'has-aria-invalid:border-destructive has-aria-invalid:ring-destructive/20 has-aria-invalid:ring-3 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputOTPSlot({ index, className, ...props }: InputOTPSlotProps) {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n 'dark:bg-input/30 border-input relative flex size-8 items-center justify-center border-y border-r text-sm transition-all outline-none',\n 'first:rounded-l-lg first:border-l last:rounded-r-lg',\n 'aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive',\n 'data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:ring-3 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n )\n}\n\nfunction InputOTPSeparator({ ...props }: InputOTPSeparatorProps) {\n return (\n <div data-slot=\"input-otp-separator\" className=\"[&_svg:not([class*='size-'])]:size-4 flex items-center\" {...props}>\n <IconMinus />\n </div>\n )\n}\n\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSeparator,\n InputOTPSlot,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS\n}\n"],"mappings":"uUAyBA,SAAS,SAAS,CAAE,YAAW,qBAAoB,GAAG,GAAwB,CAC5E,OACE,EAAC,EAAD,CACE,YAAU,YACV,mBAAoB,EAAG,yDAA0D,EAAmB,CACpG,WAAY,GACZ,UAAW,EAAG,8BAA+B,EAAU,CACvD,GAAI,EACJ,CAAA,CAIN,SAAS,cAAc,CAAE,YAAW,GAAG,GAA6B,CAClE,OACE,EAAC,MAAD,CACE,YAAU,kBACV,UAAW,EACT,+BACA,6IACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,aAAa,CAAE,QAAO,YAAW,GAAG,GAA4B,CAEvE,GAAM,CAAE,OAAM,eAAc,YADJ,EAAM,WAAW,EAAgB,EACC,MAAM,IAAU,EAAE,CAE5E,OACE,EAAC,MAAD,CACE,YAAU,iBACV,cAAa,EACb,UAAW,EACT,uIACA,sDACA,qFACA,gOACA,EACD,CACD,GAAI,WAVN,CAYG,EACA,GACC,EAAC,MAAD,CAAK,UAAU,iFACb,EAAC,MAAD,CAAK,UAAU,2DAA6D,CAAA,CACxE,CAAA,CAEJ,GAIV,SAAS,kBAAkB,CAAE,GAAG,GAAiC,CAC/D,OACE,EAAC,MAAD,CAAK,YAAU,sBAAsB,UAAU,yDAAyD,GAAI,WAC1G,EAAC,EAAD,EAAa,CAAA,CACT,CAAA"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{jsx as n}from"react/jsx-runtime";function Input({className:e,type:r,...i}){return n(`input`,{type:r,"data-slot":`input`,className:t(`border-input dark:bg-input/30 h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base md:text-sm transition-colors`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`placeholder:text-muted-foreground`,`file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground`,`outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-input/50 dark:disabled:bg-input/80`,e),...i})}export{Input};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";function Input({className:n,type:r,...i}){return t(`input`,{type:r,"data-slot":`input`,className:e(`border-input dark:bg-input/30 h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base md:text-sm transition-colors`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`placeholder:text-muted-foreground`,`file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground`,`outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-input/50 dark:disabled:bg-input/80`,n),...i})}export{Input};
2
2
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","names":[],"sources":["../../src/components/input.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nexport type InputProps = React.ComponentProps<'input'>\n\nfunction Input({ className, type, ...props }: InputProps) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'border-input dark:bg-input/30 h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base md:text-sm transition-colors',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-muted-foreground',\n 'file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground',\n 'outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-input/50 dark:disabled:bg-input/80',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"],"mappings":"sHAMA,SAAS,MAAM,CAAE,YAAW,OAAM,GAAG,GAAqB,CACxD,OACE,EAAC,QAAA,CACO,OACN,YAAU,QACV,UAAW,EACT,uIACA,4EACA,qKACA,oCACA,iHACA,2IACA,EACD,CACD,GAAI,GACJ"}
1
+ {"version":3,"file":"input.js","names":[],"sources":["../../src/components/input.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nexport type InputProps = React.ComponentProps<'input'>\n\nfunction Input({ className, type, ...props }: InputProps) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'border-input dark:bg-input/30 h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base md:text-sm transition-colors',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-muted-foreground',\n 'file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground',\n 'outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-input/50 dark:disabled:bg-input/80',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"],"mappings":"0GAMA,SAAS,MAAM,CAAE,YAAW,OAAM,GAAG,GAAqB,CACxD,OACE,EAAC,QAAD,CACQ,OACN,YAAU,QACV,UAAW,EACT,uIACA,4EACA,qKACA,oCACA,iHACA,2IACA,EACD,CACD,GAAI,EACJ,CAAA"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{jsx as n}from"react/jsx-runtime";function Kbd({className:e,...r}){return n(`kbd`,{"data-slot":`kbd`,className:t(`bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none`,e),...r})}function KbdGroup({className:e,...r}){return n(`kbd`,{"data-slot":`kbd-group`,className:t(`gap-1 inline-flex items-center`,e),...r})}export{Kbd,KbdGroup};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";function Kbd({className:n,...r}){return t(`kbd`,{"data-slot":`kbd`,className:e(`bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none`,n),...r})}function KbdGroup({className:n,...r}){return t(`kbd`,{"data-slot":`kbd-group`,className:e(`gap-1 inline-flex items-center`,n),...r})}export{Kbd,KbdGroup};
2
2
  //# sourceMappingURL=kbd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kbd.js","names":[],"sources":["../../src/components/kbd.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nexport type KbdProps = React.ComponentProps<'kbd'>\n\nexport type KbdGroupProps = React.ComponentProps<'div'>\n\nfunction Kbd({ className, ...props }: KbdProps) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction KbdGroup({ className, ...props }: KbdGroupProps) {\n return <kbd data-slot=\"kbd-group\" className={cn('gap-1 inline-flex items-center', className)} {...props} />\n}\n\nexport { Kbd, KbdGroup }\n"],"mappings":"sHAQA,SAAS,IAAI,CAAE,YAAW,GAAG,GAAmB,CAC9C,OACE,EAAC,MAAA,CACC,YAAU,MACV,UAAW,EACT,wWACA,EACD,CACD,GAAI,GACJ,CAIN,SAAS,SAAS,CAAE,YAAW,GAAG,GAAwB,CACxD,OAAO,EAAC,MAAA,CAAI,YAAU,YAAY,UAAW,EAAG,iCAAkC,EAAU,CAAE,GAAI,GAAS"}
1
+ {"version":3,"file":"kbd.js","names":[],"sources":["../../src/components/kbd.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nexport type KbdProps = React.ComponentProps<'kbd'>\n\nexport type KbdGroupProps = React.ComponentProps<'div'>\n\nfunction Kbd({ className, ...props }: KbdProps) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction KbdGroup({ className, ...props }: KbdGroupProps) {\n return <kbd data-slot=\"kbd-group\" className={cn('gap-1 inline-flex items-center', className)} {...props} />\n}\n\nexport { Kbd, KbdGroup }\n"],"mappings":"0GAQA,SAAS,IAAI,CAAE,YAAW,GAAG,GAAmB,CAC9C,OACE,EAAC,MAAD,CACE,YAAU,MACV,UAAW,EACT,wWACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,SAAS,CAAE,YAAW,GAAG,GAAwB,CACxD,OAAO,EAAC,MAAD,CAAK,YAAU,YAAY,UAAW,EAAG,iCAAkC,EAAU,CAAE,GAAI,EAAS,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { t as __name } from "../chunk-IpJEthwI.js";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
2
  import { Label as Label$1 } from "radix-ui";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import * as React from "react";
5
5
 
6
6
  //#region src/components/label.d.ts
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{jsx as n}from"react/jsx-runtime";import{Label as r}from"radix-ui";function Label({className:e,...i}){return n(r.Root,{"data-slot":`label`,className:t(`flex items-center gap-2 select-none text-sm leading-none font-medium`,`group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50`,`peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...i})}export{Label};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Label as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function Label({className:r,...i}){return n(t.Root,{"data-slot":`label`,className:e(`flex items-center gap-2 select-none text-sm leading-none font-medium`,`group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50`,`peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,r),...i})}export{Label};
2
2
  //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","names":["LabelPrimitive"],"sources":["../../src/components/label.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Label as LabelPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type LabelProps = React.ComponentProps<typeof LabelPrimitive.Root>\n\nfunction Label({ className, ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 select-none text-sm leading-none font-medium',\n 'group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"],"mappings":"uJAQA,SAAS,MAAM,CAAE,YAAW,GAAG,GAAqB,CAClD,OACE,EAACA,EAAe,KAAA,CACd,YAAU,QACV,UAAW,EACT,uEACA,uFACA,4DACA,EACD,CACD,GAAI,GACJ"}
1
+ {"version":3,"file":"label.js","names":["LabelPrimitive"],"sources":["../../src/components/label.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Label as LabelPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type LabelProps = React.ComponentProps<typeof LabelPrimitive.Root>\n\nfunction Label({ className, ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 select-none text-sm leading-none font-medium',\n 'group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"],"mappings":"2IAQA,SAAS,MAAM,CAAE,YAAW,GAAG,GAAqB,CAClD,OACE,EAACA,EAAe,KAAhB,CACE,YAAU,QACV,UAAW,EACT,uEACA,uFACA,4DACA,EACD,CACD,GAAI,EACJ,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as React from "react";
5
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
6
+
7
+ //#region src/components/list.d.ts
8
+ type ListType = 'unordered' | 'ordered';
9
+ type InternalListItemProps = {
10
+ __index?: number;
11
+ };
12
+ declare const listVariants: (props?: ({
13
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
14
+ spacing?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
15
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
16
+ type ListProps = Omit<React.ComponentProps<'ul'>, 'ref' | 'type'> & Omit<React.ComponentProps<'ol'>, 'ref' | 'type'> & VariantProps<typeof listVariants> & {
17
+ type?: ListType;
18
+ };
19
+ type ListItemProps = React.ComponentProps<'li'>;
20
+ type ListIconProps = React.ComponentProps<'span'> & {
21
+ asChild?: boolean;
22
+ };
23
+ declare function List({
24
+ className,
25
+ children,
26
+ type,
27
+ size,
28
+ spacing,
29
+ ...props
30
+ }: ListProps): react_jsx_runtime0.JSX.Element;
31
+ declare function ListItem({
32
+ className,
33
+ children,
34
+ __index,
35
+ ...props
36
+ }: ListItemProps & InternalListItemProps): react_jsx_runtime0.JSX.Element;
37
+ declare function ListIcon({
38
+ className,
39
+ asChild,
40
+ ...props
41
+ }: ListIconProps): react_jsx_runtime0.JSX.Element;
42
+ //#endregion
43
+ export { List, ListIcon, ListIconProps, ListItem, ListItemProps, ListProps, listVariants };
44
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";import*as a from"react";const o=a.createContext({type:`unordered`}),s=i(`m-0 flex list-none flex-col p-0 text-foreground`,{variants:{size:{xs:`text-xs leading-4`,sm:`text-sm leading-5`,md:`text-base leading-6`,lg:`text-lg leading-7`,xl:`text-xl leading-8`},spacing:{xs:`gap-1`,sm:`gap-2`,md:`gap-3`,lg:`gap-4`,xl:`gap-6`}},defaultVariants:{size:`md`,spacing:`md`}});function List({className:t,children:r,type:i=`unordered`,size:a=`md`,spacing:c=`md`,...l}){let u=i===`ordered`?`ol`:`ul`;return n(o.Provider,{value:{type:i},children:n(u,{"data-slot":`list`,"data-type":i,"data-size":a,"data-spacing":c,className:e(s({size:a,spacing:c}),t),...l,children:injectListItemIndices(r)})})}function ListItem({className:t,children:i,__index:s,...c}){let{type:l}=a.useContext(o),u=a.Children.toArray(i),d=u.find(isListIconElement)??null,f=d?u.filter(e=>e!==d):u,p=l===`ordered`;return r(`li`,{"data-slot":`list-item`,"data-type":l,"data-has-icon":d?`true`:`false`,className:e(`grid grid-cols-[auto_minmax(0,1fr)] items-start gap-x-3`,t),...c,children:[n(`span`,{"aria-hidden":`true`,className:e(`shrink-0`,d&&`flex min-h-5 min-w-4 items-center justify-center pt-0.5 text-primary [&_svg]:size-[1em]`,!d&&p&&`min-w-7 pt-0.5 text-right font-medium tabular-nums text-muted-foreground`,!d&&!p&&`flex min-h-5 min-w-4 items-start justify-center pt-[0.45em] text-muted-foreground`),children:d??(p?`${(s??0)+1}.`:n(`span`,{className:`size-1.5 rounded-full bg-current`}))}),n(`div`,{className:`min-w-0`,children:f})]})}function ListIcon({className:r,asChild:i=!1,...a}){return n(i?t.Root:`span`,{"data-slot":`list-icon`,className:e(`inline-flex shrink-0 items-center justify-center text-primary [&>svg]:size-4`,i&&`size-4`,r),...a})}function injectListItemIndices(e,t={current:0}){return a.Children.map(e,e=>{if(!a.isValidElement(e))return e;if(e.type===a.Fragment){let r=e;return n(a.Fragment,{children:injectListItemIndices(r.props.children,t)},e.key)}return e.type===ListItem?a.cloneElement(e,{__index:t.current++}):e})}function isListIconElement(e){return a.isValidElement(e)&&e.type===ListIcon}export{List,ListIcon,ListItem,s as listVariants};
2
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","names":[],"sources":["../../src/components/list.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\ntype ListType = 'unordered' | 'ordered'\n\ntype ListContextValue = {\n type: ListType\n}\n\ntype InternalListItemProps = {\n __index?: number\n}\n\nconst ListContext = React.createContext<ListContextValue>({\n type: 'unordered'\n})\n\nconst listVariants = cva('m-0 flex list-none flex-col p-0 text-foreground', {\n variants: {\n size: {\n xs: 'text-xs leading-4',\n sm: 'text-sm leading-5',\n md: 'text-base leading-6',\n lg: 'text-lg leading-7',\n xl: 'text-xl leading-8'\n },\n spacing: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-3',\n lg: 'gap-4',\n xl: 'gap-6'\n }\n },\n defaultVariants: {\n size: 'md',\n spacing: 'md'\n }\n})\n\nexport type ListProps = Omit<React.ComponentProps<'ul'>, 'ref' | 'type'> &\n Omit<React.ComponentProps<'ol'>, 'ref' | 'type'> &\n VariantProps<typeof listVariants> & {\n type?: ListType\n }\n\nexport type ListItemProps = React.ComponentProps<'li'>\n\nexport type ListIconProps = React.ComponentProps<'span'> & {\n asChild?: boolean\n}\n\nfunction List({ className, children, type = 'unordered', size = 'md', spacing = 'md', ...props }: ListProps) {\n const Comp = type === 'ordered' ? 'ol' : 'ul'\n\n return (\n <ListContext.Provider value={{ type }}>\n <Comp\n data-slot=\"list\"\n data-type={type}\n data-size={size}\n data-spacing={spacing}\n className={cn(listVariants({ size, spacing }), className)}\n {...props}\n >\n {injectListItemIndices(children)}\n </Comp>\n </ListContext.Provider>\n )\n}\n\nfunction ListItem({ className, children, __index, ...props }: ListItemProps & InternalListItemProps) {\n const { type } = React.useContext(ListContext)\n const items = React.Children.toArray(children)\n const icon = items.find(isListIconElement) ?? null\n const content = icon ? items.filter((item) => item !== icon) : items\n const isOrdered = type === 'ordered'\n\n return (\n <li\n data-slot=\"list-item\"\n data-type={type}\n data-has-icon={icon ? 'true' : 'false'}\n className={cn('grid grid-cols-[auto_minmax(0,1fr)] items-start gap-x-3', className)}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n 'shrink-0',\n icon && 'flex min-h-5 min-w-4 items-center justify-center pt-0.5 text-primary [&_svg]:size-[1em]',\n !icon && isOrdered && 'min-w-7 pt-0.5 text-right font-medium tabular-nums text-muted-foreground',\n !icon && !isOrdered && 'flex min-h-5 min-w-4 items-start justify-center pt-[0.45em] text-muted-foreground'\n )}\n >\n {icon ?? (isOrdered ? `${(__index ?? 0) + 1}.` : <span className=\"size-1.5 rounded-full bg-current\" />)}\n </span>\n <div className=\"min-w-0\">{content}</div>\n </li>\n )\n}\n\nfunction ListIcon({ className, asChild = false, ...props }: ListIconProps) {\n const Comp = asChild ? Slot.Root : 'span'\n\n return (\n <Comp\n data-slot=\"list-icon\"\n className={cn(\n 'inline-flex shrink-0 items-center justify-center text-primary [&>svg]:size-4',\n asChild && 'size-4',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction injectListItemIndices(children: React.ReactNode, indexRef = { current: 0 }): React.ReactNode {\n return React.Children.map(children, (child) => {\n if (!React.isValidElement(child)) {\n return child\n }\n\n if (child.type === React.Fragment) {\n const fragment = child as React.ReactElement<{ children?: React.ReactNode }>\n\n return <React.Fragment key={child.key}>{injectListItemIndices(fragment.props.children, indexRef)}</React.Fragment>\n }\n\n if (child.type === ListItem) {\n return React.cloneElement(child as React.ReactElement<ListItemProps & InternalListItemProps>, {\n __index: indexRef.current++\n })\n }\n\n return child\n })\n}\n\nfunction isListIconElement(child: React.ReactNode): child is React.ReactElement<ListIconProps> {\n return React.isValidElement(child) && child.type === ListIcon\n}\n\nexport { List, ListItem, ListIcon, listVariants }\n"],"mappings":"2NAiBA,MAAM,EAAc,EAAM,cAAgC,CACxD,KAAM,YACP,CAAC,CAEI,EAAe,EAAI,kDAAmD,CAC1E,SAAU,CACR,KAAM,CACJ,GAAI,oBACJ,GAAI,oBACJ,GAAI,sBACJ,GAAI,oBACJ,GAAI,oBACL,CACD,QAAS,CACP,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACL,CACF,CACD,gBAAiB,CACf,KAAM,KACN,QAAS,KACV,CACF,CAAC,CAcF,SAAS,KAAK,CAAE,YAAW,WAAU,OAAO,YAAa,OAAO,KAAM,UAAU,KAAM,GAAG,GAAoB,CAC3G,IAAM,EAAO,IAAS,UAAY,KAAO,KAEzC,OACE,EAAC,EAAY,SAAb,CAAsB,MAAO,CAAE,OAAM,UACnC,EAAC,EAAD,CACE,YAAU,OACV,YAAW,EACX,YAAW,EACX,eAAc,EACd,UAAW,EAAG,EAAa,CAAE,OAAM,UAAS,CAAC,CAAE,EAAU,CACzD,GAAI,WAEH,sBAAsB,EAAS,CAC3B,CAAA,CACc,CAAA,CAI3B,SAAS,SAAS,CAAE,YAAW,WAAU,UAAS,GAAG,GAAgD,CACnG,GAAM,CAAE,QAAS,EAAM,WAAW,EAAY,CACxC,EAAQ,EAAM,SAAS,QAAQ,EAAS,CACxC,EAAO,EAAM,KAAK,kBAAkB,EAAI,KACxC,EAAU,EAAO,EAAM,OAAQ,GAAS,IAAS,EAAK,CAAG,EACzD,EAAY,IAAS,UAE3B,OACE,EAAC,KAAD,CACE,YAAU,YACV,YAAW,EACX,gBAAe,EAAO,OAAS,QAC/B,UAAW,EAAG,0DAA2D,EAAU,CACnF,GAAI,WALN,CAOE,EAAC,OAAD,CACE,cAAY,OACZ,UAAW,EACT,WACA,GAAQ,0FACR,CAAC,GAAQ,GAAa,2EACtB,CAAC,GAAQ,CAAC,GAAa,oFACxB,UAEA,IAAS,EAAY,IAAI,GAAW,GAAK,EAAE,GAAK,EAAC,OAAD,CAAM,UAAU,mCAAqC,CAAA,EACjG,CAAA,CACP,EAAC,MAAD,CAAK,UAAU,mBAAW,EAAc,CAAA,CACrC,GAIT,SAAS,SAAS,CAAE,YAAW,UAAU,GAAO,GAAG,GAAwB,CAGzE,OACE,EAHW,EAAU,EAAK,KAAO,OAGjC,CACE,YAAU,YACV,UAAW,EACT,+EACA,GAAW,SACX,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,sBAAsB,EAA2B,EAAW,CAAE,QAAS,EAAG,CAAmB,CACpG,OAAO,EAAM,SAAS,IAAI,EAAW,GAAU,CAC7C,GAAI,CAAC,EAAM,eAAe,EAAM,CAC9B,OAAO,EAGT,GAAI,EAAM,OAAS,EAAM,SAAU,CACjC,IAAM,EAAW,EAEjB,OAAO,EAAC,EAAM,SAAP,CAAA,SAAiC,sBAAsB,EAAS,MAAM,SAAU,EAAS,CAAkB,CAAtF,EAAM,IAAgF,CASpH,OANI,EAAM,OAAS,SACV,EAAM,aAAa,EAAoE,CAC5F,QAAS,EAAS,UACnB,CAAC,CAGG,GACP,CAGJ,SAAS,kBAAkB,EAAoE,CAC7F,OAAO,EAAM,eAAe,EAAM,EAAI,EAAM,OAAS"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{IconSelector as i}from"@tabler/icons-react";function NativeSelect({className:e,size:a=`default`,...o}){return r(`div`,{className:t(`group/native-select relative w-fit has-[select:disabled]:opacity-50`,e),"data-slot":`native-select-wrapper`,"data-size":a,children:[n(`select`,{"data-slot":`native-select`,"data-size":a,className:t(`border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none outline-none`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground`,`data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5`,`disabled:pointer-events-none disabled:cursor-not-allowed`),...o}),n(i,{className:`text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2 pointer-events-none absolute select-none`,"aria-hidden":`true`,"data-slot":`native-select-icon`})]})}function NativeSelectOption({...e}){return n(`option`,{"data-slot":`native-select-option`,...e})}function NativeSelectOptGroup({className:e,...r}){return n(`optgroup`,{"data-slot":`native-select-optgroup`,className:t(e),...r})}export{NativeSelect,NativeSelectOptGroup,NativeSelectOption};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{IconSelector as t}from"@tabler/icons-react";import{jsx as n,jsxs as r}from"react/jsx-runtime";function NativeSelect({className:i,size:a=`default`,...o}){return r(`div`,{className:e(`group/native-select relative w-fit has-[select:disabled]:opacity-50`,i),"data-slot":`native-select-wrapper`,"data-size":a,children:[n(`select`,{"data-slot":`native-select`,"data-size":a,className:e(`border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none outline-none`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground`,`data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5`,`disabled:pointer-events-none disabled:cursor-not-allowed`),...o}),n(t,{className:`text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2 pointer-events-none absolute select-none`,"aria-hidden":`true`,"data-slot":`native-select-icon`})]})}function NativeSelectOption({...e}){return n(`option`,{"data-slot":`native-select-option`,...e})}function NativeSelectOptGroup({className:t,...r}){return n(`optgroup`,{"data-slot":`native-select-optgroup`,className:e(t),...r})}export{NativeSelect,NativeSelectOptGroup,NativeSelectOption};
2
2
  //# sourceMappingURL=native-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-select.js","names":[],"sources":["../../src/components/native-select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconSelector } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\n\nexport type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n size?: 'sm' | 'default'\n}\n\nexport type NativeSelectOptionProps = React.ComponentProps<'option'>\n\nexport type NativeSelectOptGroupProps = React.ComponentProps<'optgroup'>\n\nfunction NativeSelect({ className, size = 'default', ...props }: NativeSelectProps) {\n return (\n <div\n className={cn('group/native-select relative w-fit has-[select:disabled]:opacity-50', className)}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n data-slot=\"native-select\"\n data-size={size}\n className={cn(\n 'border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground',\n 'data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5',\n 'disabled:pointer-events-none disabled:cursor-not-allowed'\n )}\n {...props}\n />\n <IconSelector\n className=\"text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2 pointer-events-none absolute select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n )\n}\n\nfunction NativeSelectOption({ ...props }: NativeSelectOptionProps) {\n return <option data-slot=\"native-select-option\" {...props} />\n}\n\nfunction NativeSelectOptGroup({ className, ...props }: NativeSelectOptGroupProps) {\n return <optgroup data-slot=\"native-select-optgroup\" className={cn(className)} {...props} />\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption }\n"],"mappings":"mLAcA,SAAS,aAAa,CAAE,YAAW,OAAO,UAAW,GAAG,GAA4B,CAClF,OACE,EAAC,MAAA,CACC,UAAW,EAAG,sEAAuE,EAAU,CAC/F,YAAU,wBACV,YAAW,YAEX,EAAC,SAAA,CACC,YAAU,gBACV,YAAW,EACX,UAAW,EACT,+LACA,4EACA,qKACA,2FACA,+FACA,2DACD,CACD,GAAI,GACJ,CACF,EAAC,EAAA,CACC,UAAU,2GACV,cAAY,OACZ,YAAU,sBACV,CAAA,EACE,CAIV,SAAS,mBAAmB,CAAE,GAAG,GAAkC,CACjE,OAAO,EAAC,SAAA,CAAO,YAAU,uBAAuB,GAAI,GAAS,CAG/D,SAAS,qBAAqB,CAAE,YAAW,GAAG,GAAoC,CAChF,OAAO,EAAC,WAAA,CAAS,YAAU,yBAAyB,UAAW,EAAG,EAAU,CAAE,GAAI,GAAS"}
1
+ {"version":3,"file":"native-select.js","names":[],"sources":["../../src/components/native-select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconSelector } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\n\nexport type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n size?: 'sm' | 'default'\n}\n\nexport type NativeSelectOptionProps = React.ComponentProps<'option'>\n\nexport type NativeSelectOptGroupProps = React.ComponentProps<'optgroup'>\n\nfunction NativeSelect({ className, size = 'default', ...props }: NativeSelectProps) {\n return (\n <div\n className={cn('group/native-select relative w-fit has-[select:disabled]:opacity-50', className)}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n data-slot=\"native-select\"\n data-size={size}\n className={cn(\n 'border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground',\n 'data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5',\n 'disabled:pointer-events-none disabled:cursor-not-allowed'\n )}\n {...props}\n />\n <IconSelector\n className=\"text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2 pointer-events-none absolute select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n )\n}\n\nfunction NativeSelectOption({ ...props }: NativeSelectOptionProps) {\n return <option data-slot=\"native-select-option\" {...props} />\n}\n\nfunction NativeSelectOptGroup({ className, ...props }: NativeSelectOptGroupProps) {\n return <optgroup data-slot=\"native-select-optgroup\" className={cn(className)} {...props} />\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption }\n"],"mappings":"uKAcA,SAAS,aAAa,CAAE,YAAW,OAAO,UAAW,GAAG,GAA4B,CAClF,OACE,EAAC,MAAD,CACE,UAAW,EAAG,sEAAuE,EAAU,CAC/F,YAAU,wBACV,YAAW,WAHb,CAKE,EAAC,SAAD,CACE,YAAU,gBACV,YAAW,EACX,UAAW,EACT,+LACA,4EACA,qKACA,2FACA,+FACA,2DACD,CACD,GAAI,EACJ,CAAA,CACF,EAAC,EAAD,CACE,UAAU,2GACV,cAAY,OACZ,YAAU,qBACV,CAAA,CACE,GAIV,SAAS,mBAAmB,CAAE,GAAG,GAAkC,CACjE,OAAO,EAAC,SAAD,CAAQ,YAAU,uBAAuB,GAAI,EAAS,CAAA,CAG/D,SAAS,qBAAqB,CAAE,YAAW,GAAG,GAAoC,CAChF,OAAO,EAAC,WAAD,CAAU,YAAU,yBAAyB,UAAW,EAAG,EAAU,CAAE,GAAI,EAAS,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { NavigationMenu as NavigationMenu$1 } from "radix-ui";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import * as React from "react";
5
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
6
+
7
+ //#region src/components/navigation-menu.d.ts
8
+ type NavigationMenuProps = React.ComponentProps<typeof NavigationMenu$1.Root> & {
9
+ viewport?: boolean;
10
+ };
11
+ type NavigationMenuListProps = React.ComponentProps<typeof NavigationMenu$1.List>;
12
+ type NavigationMenuItemProps = React.ComponentProps<typeof NavigationMenu$1.Item>;
13
+ type NavigationMenuTriggerProps = React.ComponentProps<typeof NavigationMenu$1.Trigger>;
14
+ type NavigationMenuContentProps = React.ComponentProps<typeof NavigationMenu$1.Content>;
15
+ type NavigationMenuViewportProps = React.ComponentProps<typeof NavigationMenu$1.Viewport>;
16
+ type NavigationMenuLinkProps = React.ComponentProps<typeof NavigationMenu$1.Link>;
17
+ type NavigationMenuIndicatorProps = React.ComponentProps<typeof NavigationMenu$1.Indicator>;
18
+ declare function NavigationMenu({
19
+ className,
20
+ children,
21
+ viewport,
22
+ ...props
23
+ }: NavigationMenuProps): react_jsx_runtime0.JSX.Element;
24
+ declare function NavigationMenuList({
25
+ className,
26
+ ...props
27
+ }: NavigationMenuListProps): react_jsx_runtime0.JSX.Element;
28
+ declare function NavigationMenuItem({
29
+ className,
30
+ ...props
31
+ }: NavigationMenuItemProps): react_jsx_runtime0.JSX.Element;
32
+ declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types0.ClassProp | undefined) => string;
33
+ declare function NavigationMenuTrigger({
34
+ className,
35
+ children,
36
+ ...props
37
+ }: NavigationMenuTriggerProps): react_jsx_runtime0.JSX.Element;
38
+ declare function NavigationMenuContent({
39
+ className,
40
+ ...props
41
+ }: NavigationMenuContentProps): react_jsx_runtime0.JSX.Element;
42
+ declare function NavigationMenuViewport({
43
+ className,
44
+ ...props
45
+ }: NavigationMenuViewportProps): react_jsx_runtime0.JSX.Element;
46
+ declare function NavigationMenuLink({
47
+ className,
48
+ ...props
49
+ }: NavigationMenuLinkProps): react_jsx_runtime0.JSX.Element;
50
+ declare function NavigationMenuIndicator({
51
+ className,
52
+ ...props
53
+ }: NavigationMenuIndicatorProps): react_jsx_runtime0.JSX.Element;
54
+ //#endregion
55
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuContentProps, NavigationMenuIndicator, NavigationMenuIndicatorProps, NavigationMenuItem, NavigationMenuItemProps, NavigationMenuLink, NavigationMenuLinkProps, NavigationMenuList, NavigationMenuListProps, NavigationMenuProps, NavigationMenuTrigger, NavigationMenuTriggerProps, NavigationMenuViewport, NavigationMenuViewportProps, navigationMenuTriggerStyle };
56
+ //# sourceMappingURL=navigation-menu.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{IconChevronDown as t}from"@tabler/icons-react";import{NavigationMenu as n}from"radix-ui";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";function NavigationMenu({className:t,children:a,viewport:o=!0,...s}){return i(n.Root,{"data-slot":`navigation-menu`,"data-viewport":o,className:e(`group/navigation-menu relative flex max-w-max flex-1 items-center justify-center`,t),...s,children:[a,o&&r(NavigationMenuViewport,{})]})}function NavigationMenuList({className:t,...i}){return r(n.List,{"data-slot":`navigation-menu-list`,className:e(`group flex flex-1 list-none items-center justify-center gap-0`,t),...i})}function NavigationMenuItem({className:t,...i}){return r(n.Item,{"data-slot":`navigation-menu-item`,className:e(`relative`,t),...i})}const o=a(`group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted`);function NavigationMenuTrigger({className:a,children:s,...c}){return i(n.Trigger,{"data-slot":`navigation-menu-trigger`,className:e(o(),`group`,a),...c,children:[s,` `,r(t,{className:e(`relative top-px ml-1 size-3 transition duration-300`,`group-data-popup-open/navigation-menu-trigger:rotate-180`,`group-data-open/navigation-menu-trigger:rotate-180`),"aria-hidden":`true`})]})}function NavigationMenuContent({className:t,...i}){return r(n.Content,{"data-slot":`navigation-menu-content`,className:e(`top-0 left-0 w-full p-1 ease-[cubic-bezier(0.22,1,0.36,1)] md:absolute md:w-auto`,`group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5`,`group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg`,`group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground`,`group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1`,`group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300`,`group-data-[viewport=false]/navigation-menu:data-open:animate-in`,`group-data-[viewport=false]/navigation-menu:data-open:fade-in-0`,`group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95`,`group-data-[viewport=false]/navigation-menu:data-closed:animate-out`,`group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0`,`group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95`,`data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52`,`data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52`,`data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in`,`data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out`,`**:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none`,t),...i})}function NavigationMenuViewport({className:t,...i}){return r(`div`,{className:e(`absolute top-full left-0 isolate z-50 flex justify-center`),children:r(n.Viewport,{"data-slot":`navigation-menu-viewport`,className:e(`origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-lg`,`bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 duration-100`,`md:w-(--radix-navigation-menu-viewport-width)`,`data-open:animate-in data-open:zoom-in-90`,`data-closed:animate-out data-closed:zoom-out-90`,t),...i})})}function NavigationMenuLink({className:t,...i}){return r(n.Link,{"data-slot":`navigation-menu-link`,className:e(`flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4`,t),...i})}function NavigationMenuIndicator({className:t,...i}){return r(n.Indicator,{"data-slot":`navigation-menu-indicator`,className:e(`top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in`,t),...i,children:r(`div`,{className:`relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md`})})}export{NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,o as navigationMenuTriggerStyle};
2
+ //# sourceMappingURL=navigation-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.js","names":["NavigationMenuPrimitive"],"sources":["../../src/components/navigation-menu.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconChevronDown } from '@tabler/icons-react'\nimport { cva } from 'class-variance-authority'\nimport { NavigationMenu as NavigationMenuPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type NavigationMenuProps = React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean\n}\n\nexport type NavigationMenuListProps = React.ComponentProps<typeof NavigationMenuPrimitive.List>\n\nexport type NavigationMenuItemProps = React.ComponentProps<typeof NavigationMenuPrimitive.Item>\n\nexport type NavigationMenuTriggerProps = React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>\n\nexport type NavigationMenuContentProps = React.ComponentProps<typeof NavigationMenuPrimitive.Content>\n\nexport type NavigationMenuViewportProps = React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>\n\nexport type NavigationMenuLinkProps = React.ComponentProps<typeof NavigationMenuPrimitive.Link>\n\nexport type NavigationMenuIndicatorProps = React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>\n\nfunction NavigationMenu({ className, children, viewport = true, ...props }: NavigationMenuProps) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn('group/navigation-menu relative flex max-w-max flex-1 items-center justify-center', className)}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n )\n}\n\nfunction NavigationMenuList({ className, ...props }: NavigationMenuListProps) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn('group flex flex-1 list-none items-center justify-center gap-0', className)}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuItem({ className, ...props }: NavigationMenuItemProps) {\n return (\n <NavigationMenuPrimitive.Item data-slot=\"navigation-menu-item\" className={cn('relative', className)} {...props} />\n )\n}\n\nconst navigationMenuTriggerStyle = cva(\n 'group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted'\n)\n\nfunction NavigationMenuTrigger({ className, children, ...props }: NavigationMenuTriggerProps) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), 'group', className)}\n {...props}\n >\n {children}{' '}\n <IconChevronDown\n className={cn(\n 'relative top-px ml-1 size-3 transition duration-300',\n 'group-data-popup-open/navigation-menu-trigger:rotate-180',\n 'group-data-open/navigation-menu-trigger:rotate-180'\n )}\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\nfunction NavigationMenuContent({ className, ...props }: NavigationMenuContentProps) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n 'top-0 left-0 w-full p-1 ease-[cubic-bezier(0.22,1,0.36,1)] md:absolute md:w-auto',\n 'group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5',\n 'group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg',\n 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground',\n 'group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1',\n 'group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300',\n 'group-data-[viewport=false]/navigation-menu:data-open:animate-in',\n 'group-data-[viewport=false]/navigation-menu:data-open:fade-in-0',\n 'group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95',\n 'group-data-[viewport=false]/navigation-menu:data-closed:animate-out',\n 'group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0',\n 'group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95',\n 'data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52',\n 'data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52',\n 'data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in',\n 'data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out',\n '**:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuViewport({ className, ...props }: NavigationMenuViewportProps) {\n return (\n <div className={cn('absolute top-full left-0 isolate z-50 flex justify-center')}>\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n 'origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-lg',\n 'bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 duration-100',\n 'md:w-(--radix-navigation-menu-viewport-width)',\n 'data-open:animate-in data-open:zoom-in-90',\n 'data-closed:animate-out data-closed:zoom-out-90',\n className\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction NavigationMenuLink({ className, ...props }: NavigationMenuLinkProps) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuIndicator({ className, ...props }: NavigationMenuIndicatorProps) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n 'top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in',\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle\n}\n"],"mappings":"mQA0BA,SAAS,eAAe,CAAE,YAAW,WAAU,WAAW,GAAM,GAAG,GAA8B,CAC/F,OACE,EAACA,EAAwB,KAAzB,CACE,YAAU,kBACV,gBAAe,EACf,UAAW,EAAG,mFAAoF,EAAU,CAC5G,GAAI,WAJN,CAMG,EACA,GAAY,EAAC,uBAAD,EAA0B,CAAA,CACV,GAInC,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAACA,EAAwB,KAAzB,CACE,YAAU,uBACV,UAAW,EAAG,gEAAiE,EAAU,CACzF,GAAI,EACJ,CAAA,CAIN,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAACA,EAAwB,KAAzB,CAA8B,YAAU,uBAAuB,UAAW,EAAG,WAAY,EAAU,CAAE,GAAI,EAAS,CAAA,CAItH,MAAM,EAA6B,EACjC,mcACD,CAED,SAAS,sBAAsB,CAAE,YAAW,WAAU,GAAG,GAAqC,CAC5F,OACE,EAACA,EAAwB,QAAzB,CACE,YAAU,0BACV,UAAW,EAAG,GAA4B,CAAE,QAAS,EAAU,CAC/D,GAAI,WAHN,CAKG,EAAU,IACX,EAAC,EAAD,CACE,UAAW,EACT,sDACA,2DACA,qDACD,CACD,cAAY,OACZ,CAAA,CAC8B,GAItC,SAAS,sBAAsB,CAAE,YAAW,GAAG,GAAqC,CAClF,OACE,EAACA,EAAwB,QAAzB,CACE,YAAU,0BACV,UAAW,EACT,mFACA,0GACA,qHACA,6HACA,wGACA,0HACA,mEACA,kEACA,mEACA,sEACA,qEACA,sEACA,+FACA,yFACA,+DACA,6DACA,0GACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,uBAAuB,CAAE,YAAW,GAAG,GAAsC,CACpF,OACE,EAAC,MAAD,CAAK,UAAW,EAAG,4DAA4D,UAC7E,EAACA,EAAwB,SAAzB,CACE,YAAU,2BACV,UAAW,EACT,kHACA,mFACA,gDACA,4CACA,kDACA,EACD,CACD,GAAI,EACJ,CAAA,CACE,CAAA,CAIV,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAACA,EAAwB,KAAzB,CACE,YAAU,uBACV,UAAW,EACT,wVACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,wBAAwB,CAAE,YAAW,GAAG,GAAuC,CACtF,OACE,EAACA,EAAwB,UAAzB,CACE,YAAU,4BACV,UAAW,EACT,6LACA,EACD,CACD,GAAI,WAEJ,EAAC,MAAD,CAAK,UAAU,yEAA2E,CAAA,CACxD,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { Button } from "./button.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import * as React from "react";
5
+
6
+ //#region src/components/pagination.d.ts
7
+ type PaginationProps = React.ComponentProps<'nav'>;
8
+ type PaginationContentProps = React.ComponentProps<'ul'>;
9
+ type PaginationItemProps = React.ComponentProps<'li'>;
10
+ type PaginationLinkProps = {
11
+ isActive?: boolean;
12
+ } & Pick<React.ComponentProps<typeof Button>, 'size' | 'color'> & React.ComponentProps<'a'>;
13
+ type PaginationPreviousProps = React.ComponentProps<typeof PaginationLink> & {
14
+ text?: string;
15
+ };
16
+ type PaginationNextProps = React.ComponentProps<typeof PaginationLink> & {
17
+ text?: string;
18
+ };
19
+ type PaginationEllipsisProps = React.ComponentProps<'span'>;
20
+ declare function Pagination({
21
+ className,
22
+ ...props
23
+ }: PaginationProps): react_jsx_runtime0.JSX.Element;
24
+ declare function PaginationContent({
25
+ className,
26
+ ...props
27
+ }: PaginationContentProps): react_jsx_runtime0.JSX.Element;
28
+ declare function PaginationItem({
29
+ ...props
30
+ }: PaginationItemProps): react_jsx_runtime0.JSX.Element;
31
+ declare function PaginationLink({
32
+ className,
33
+ isActive,
34
+ size,
35
+ color,
36
+ ...props
37
+ }: PaginationLinkProps): react_jsx_runtime0.JSX.Element;
38
+ declare function PaginationPrevious({
39
+ className,
40
+ text,
41
+ ...props
42
+ }: PaginationPreviousProps): react_jsx_runtime0.JSX.Element;
43
+ declare function PaginationNext({
44
+ className,
45
+ text,
46
+ ...props
47
+ }: PaginationNextProps): react_jsx_runtime0.JSX.Element;
48
+ declare function PaginationEllipsis({
49
+ className,
50
+ ...props
51
+ }: PaginationEllipsisProps): react_jsx_runtime0.JSX.Element;
52
+ //#endregion
53
+ export { Pagination, PaginationContent, PaginationContentProps, PaginationEllipsis, PaginationEllipsisProps, PaginationItem, PaginationItemProps, PaginationLink, PaginationLinkProps, PaginationNext, PaginationNextProps, PaginationPrevious, PaginationPreviousProps, PaginationProps };
54
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{IconChevronLeft as n,IconChevronRight as r,IconDots as i}from"@tabler/icons-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";function Pagination({className:t,...n}){return a(`nav`,{"aria-label":`pagination`,"data-slot":`pagination`,className:e(`mx-auto flex w-full justify-center`,t),...n})}function PaginationContent({className:t,...n}){return a(`ul`,{"data-slot":`pagination-content`,className:e(`flex items-center gap-0.5`,t),...n})}function PaginationItem({...e}){return a(`li`,{"data-slot":`pagination-item`,...e})}function PaginationLink({className:n,isActive:r,size:i=`icon`,color:o=`zinc`,...s}){return a(t,{asChild:!0,variant:r?`outline`:`ghost`,color:o,size:i,className:e(n),children:a(`a`,{"aria-current":r?`page`:void 0,"data-slot":`pagination-link`,"data-active":r,...s})})}function PaginationPrevious({className:t,text:r=`Previous`,...i}){return o(PaginationLink,{"aria-label":`Go to previous page`,size:`default`,className:e(`pl-1.5!`,t),...i,children:[a(n,{"data-icon":`inline-start`}),a(`span`,{className:`hidden sm:block`,children:r})]})}function PaginationNext({className:t,text:n=`Next`,...i}){return o(PaginationLink,{"aria-label":`Go to next page`,size:`default`,className:e(`pr-1.5!`,t),...i,children:[a(`span`,{className:`hidden sm:block`,children:n}),a(r,{"data-icon":`inline-end`})]})}function PaginationEllipsis({className:t,...n}){return o(`span`,{"aria-hidden":!0,"data-slot":`pagination-ellipsis`,className:e(`flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4`,t),...n,children:[a(i,{}),a(`span`,{className:`sr-only`,children:`More pages`})]})}export{Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious};
2
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","names":[],"sources":["../../src/components/pagination.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconChevronLeft, IconChevronRight, IconDots } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\n\nexport type PaginationProps = React.ComponentProps<'nav'>\n\nexport type PaginationContentProps = React.ComponentProps<'ul'>\n\nexport type PaginationItemProps = React.ComponentProps<'li'>\n\nexport type PaginationLinkProps = {\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, 'size' | 'color'> &\n React.ComponentProps<'a'>\n\nexport type PaginationPreviousProps = React.ComponentProps<typeof PaginationLink> & {\n text?: string\n}\n\nexport type PaginationNextProps = React.ComponentProps<typeof PaginationLink> & {\n text?: string\n}\n\nexport type PaginationEllipsisProps = React.ComponentProps<'span'>\n\nfunction Pagination({ className, ...props }: PaginationProps) {\n return (\n <nav\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n />\n )\n}\n\nfunction PaginationContent({ className, ...props }: PaginationContentProps) {\n return <ul data-slot=\"pagination-content\" className={cn('flex items-center gap-0.5', className)} {...props} />\n}\n\nfunction PaginationItem({ ...props }: PaginationItemProps) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\nfunction PaginationLink({ className, isActive, size = 'icon', color = 'zinc', ...props }: PaginationLinkProps) {\n return (\n <Button asChild variant={isActive ? 'outline' : 'ghost'} color={color} size={size} className={cn(className)}>\n <a aria-current={isActive ? 'page' : undefined} data-slot=\"pagination-link\" data-active={isActive} {...props} />\n </Button>\n )\n}\n\nfunction PaginationPrevious({ className, text = 'Previous', ...props }: PaginationPreviousProps) {\n return (\n <PaginationLink aria-label=\"Go to previous page\" size=\"default\" className={cn('pl-1.5!', className)} {...props}>\n <IconChevronLeft data-icon=\"inline-start\" />\n <span className=\"hidden sm:block\">{text}</span>\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({ className, text = 'Next', ...props }: PaginationNextProps) {\n return (\n <PaginationLink aria-label=\"Go to next page\" size=\"default\" className={cn('pr-1.5!', className)} {...props}>\n <span className=\"hidden sm:block\">{text}</span>\n <IconChevronRight data-icon=\"inline-end\" />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({ className, ...props }: PaginationEllipsisProps) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n <IconDots />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious\n}\n"],"mappings":"mPA4BA,SAAS,WAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OACE,EAAC,MAAD,CACE,aAAW,aACX,YAAU,aACV,UAAW,EAAG,qCAAsC,EAAU,CAC9D,GAAI,EACJ,CAAA,CAIN,SAAS,kBAAkB,CAAE,YAAW,GAAG,GAAiC,CAC1E,OAAO,EAAC,KAAD,CAAI,YAAU,qBAAqB,UAAW,EAAG,4BAA6B,EAAU,CAAE,GAAI,EAAS,CAAA,CAGhH,SAAS,eAAe,CAAE,GAAG,GAA8B,CACzD,OAAO,EAAC,KAAD,CAAI,YAAU,kBAAkB,GAAI,EAAS,CAAA,CAGtD,SAAS,eAAe,CAAE,YAAW,WAAU,OAAO,OAAQ,QAAQ,OAAQ,GAAG,GAA8B,CAC7G,OACE,EAAC,EAAD,CAAQ,QAAA,GAAQ,QAAS,EAAW,UAAY,QAAgB,QAAa,OAAM,UAAW,EAAG,EAAU,UACzG,EAAC,IAAD,CAAG,eAAc,EAAW,OAAS,IAAA,GAAW,YAAU,kBAAkB,cAAa,EAAU,GAAI,EAAS,CAAA,CACzG,CAAA,CAIb,SAAS,mBAAmB,CAAE,YAAW,OAAO,WAAY,GAAG,GAAkC,CAC/F,OACE,EAAC,eAAD,CAAgB,aAAW,sBAAsB,KAAK,UAAU,UAAW,EAAG,UAAW,EAAU,CAAE,GAAI,WAAzG,CACE,EAAC,EAAD,CAAiB,YAAU,eAAiB,CAAA,CAC5C,EAAC,OAAD,CAAM,UAAU,2BAAmB,EAAY,CAAA,CAChC,GAIrB,SAAS,eAAe,CAAE,YAAW,OAAO,OAAQ,GAAG,GAA8B,CACnF,OACE,EAAC,eAAD,CAAgB,aAAW,kBAAkB,KAAK,UAAU,UAAW,EAAG,UAAW,EAAU,CAAE,GAAI,WAArG,CACE,EAAC,OAAD,CAAM,UAAU,2BAAmB,EAAY,CAAA,CAC/C,EAAC,EAAD,CAAkB,YAAU,aAAe,CAAA,CAC5B,GAIrB,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAAC,OAAD,CACE,cAAA,GACA,YAAU,sBACV,UAAW,EAAG,+EAAgF,EAAU,CACxG,GAAI,WAJN,CAME,EAAC,EAAD,EAAY,CAAA,CACZ,EAAC,OAAD,CAAM,UAAU,mBAAU,aAAiB,CAAA,CACtC"}
@@ -1,6 +1,6 @@
1
1
  import { t as __name } from "../chunk-IpJEthwI.js";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
2
  import { Popover as Popover$1 } from "radix-ui";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import * as React from "react";
5
5
 
6
6
  //#region src/components/popover.d.ts
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunk-IpJEthwI.js";import{cn as t}from"../lib/utils.js";import{jsx as n}from"react/jsx-runtime";import{Popover as r}from"radix-ui";function Popover({...e}){return n(r.Root,{"data-slot":`popover`,...e})}function PopoverTrigger({...e}){return n(r.Trigger,{"data-slot":`popover-trigger`,...e})}function PopoverContent({className:e,align:i=`center`,sideOffset:a=4,...o}){return n(r.Portal,{children:n(r.Content,{"data-slot":`popover-content`,align:i,sideOffset:a,className:t(`bg-popover text-popover-foreground ring-foreground/10 z-50 w-72 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 origin-(--radix-popover-content-transform-origin) flex flex-col gap-2.5 outline-hidden`,`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95`,`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`,e),...o})})}function PopoverAnchor({...e}){return n(r.Anchor,{"data-slot":`popover-anchor`,...e})}function PopoverHeader({className:e,...r}){return n(`div`,{"data-slot":`popover-header`,className:t(`flex flex-col gap-0.5 text-sm`,e),...r})}function PopoverTitle({className:e,...r}){return n(`h2`,{"data-slot":`popover-title`,className:t(`font-medium`,e),...r})}function PopoverDescription({className:e,...r}){return n(`p`,{"data-slot":`popover-description`,className:t(`text-muted-foreground`,e),...r})}export{Popover,PopoverAnchor,PopoverContent,PopoverDescription,PopoverHeader,PopoverTitle,PopoverTrigger};
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Popover as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function Popover({...e}){return n(t.Root,{"data-slot":`popover`,...e})}function PopoverTrigger({...e}){return n(t.Trigger,{"data-slot":`popover-trigger`,...e})}function PopoverContent({className:r,align:i=`center`,sideOffset:a=4,...o}){return n(t.Portal,{children:n(t.Content,{"data-slot":`popover-content`,align:i,sideOffset:a,className:e(`bg-popover text-popover-foreground ring-foreground/10 z-50 w-72 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 origin-(--radix-popover-content-transform-origin) flex flex-col gap-2.5 outline-hidden`,`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95`,`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`,r),...o})})}function PopoverAnchor({...e}){return n(t.Anchor,{"data-slot":`popover-anchor`,...e})}function PopoverHeader({className:t,...r}){return n(`div`,{"data-slot":`popover-header`,className:e(`flex flex-col gap-0.5 text-sm`,t),...r})}function PopoverTitle({className:t,...r}){return n(`h2`,{"data-slot":`popover-title`,className:e(`font-medium`,t),...r})}function PopoverDescription({className:t,...r}){return n(`p`,{"data-slot":`popover-description`,className:e(`text-muted-foreground`,t),...r})}export{Popover,PopoverAnchor,PopoverContent,PopoverDescription,PopoverHeader,PopoverTitle,PopoverTrigger};
2
2
  //# sourceMappingURL=popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","names":["PopoverPrimitive"],"sources":["../../src/components/popover.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Popover as PopoverPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>\n\nexport type PopoverTriggerProps = React.ComponentProps<typeof PopoverPrimitive.Trigger>\n\nexport type PopoverContentProps = React.ComponentProps<typeof PopoverPrimitive.Content>\n\nexport type PopoverAnchorProps = React.ComponentProps<typeof PopoverPrimitive.Anchor>\n\nexport type PopoverHeaderProps = React.ComponentProps<'div'>\n\nexport type PopoverTitleProps = React.ComponentProps<'h2'>\n\nexport type PopoverDescriptionProps = React.ComponentProps<'p'>\n\nfunction Popover({ ...props }: PopoverProps) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({ ...props }: PopoverTriggerProps) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({ className, align = 'center', sideOffset = 4, ...props }: PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 z-50 w-72 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 origin-(--radix-popover-content-transform-origin) flex flex-col gap-2.5 outline-hidden',\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95',\n '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',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({ ...props }: PopoverAnchorProps) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverHeader({ className, ...props }: PopoverHeaderProps) {\n return <div data-slot=\"popover-header\" className={cn('flex flex-col gap-0.5 text-sm', className)} {...props} />\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverTitleProps) {\n return <h2 data-slot=\"popover-title\" className={cn('font-medium', className)} {...props} />\n}\n\nfunction PopoverDescription({ className, ...props }: PopoverDescriptionProps) {\n return <p data-slot=\"popover-description\" className={cn('text-muted-foreground', className)} {...props} />\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger }\n"],"mappings":"yJAoBA,SAAS,QAAQ,CAAE,GAAG,GAAuB,CAC3C,OAAO,EAACA,EAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,GAAS,CAGjE,SAAS,eAAe,CAAE,GAAG,GAA8B,CACzD,OAAO,EAACA,EAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,GAAS,CAG5E,SAAS,eAAe,CAAE,YAAW,QAAQ,SAAU,aAAa,EAAG,GAAG,GAA8B,CACtG,OACE,EAACA,EAAiB,OAAA,CAAA,SAChB,EAACA,EAAiB,QAAA,CAChB,YAAU,kBACH,QACK,aACZ,UAAW,EACT,gNACA,uIACA,8JACA,EACD,CACD,GAAI,GACJ,CAAA,CACsB,CAI9B,SAAS,cAAc,CAAE,GAAG,GAA6B,CACvD,OAAO,EAACA,EAAiB,OAAA,CAAO,YAAU,iBAAiB,GAAI,GAAS,CAG1E,SAAS,cAAc,CAAE,YAAW,GAAG,GAA6B,CAClE,OAAO,EAAC,MAAA,CAAI,YAAU,iBAAiB,UAAW,EAAG,gCAAiC,EAAU,CAAE,GAAI,GAAS,CAGjH,SAAS,aAAa,CAAE,YAAW,GAAG,GAA4B,CAChE,OAAO,EAAC,KAAA,CAAG,YAAU,gBAAgB,UAAW,EAAG,cAAe,EAAU,CAAE,GAAI,GAAS,CAG7F,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OAAO,EAAC,IAAA,CAAE,YAAU,sBAAsB,UAAW,EAAG,wBAAyB,EAAU,CAAE,GAAI,GAAS"}
1
+ {"version":3,"file":"popover.js","names":["PopoverPrimitive"],"sources":["../../src/components/popover.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Popover as PopoverPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>\n\nexport type PopoverTriggerProps = React.ComponentProps<typeof PopoverPrimitive.Trigger>\n\nexport type PopoverContentProps = React.ComponentProps<typeof PopoverPrimitive.Content>\n\nexport type PopoverAnchorProps = React.ComponentProps<typeof PopoverPrimitive.Anchor>\n\nexport type PopoverHeaderProps = React.ComponentProps<'div'>\n\nexport type PopoverTitleProps = React.ComponentProps<'h2'>\n\nexport type PopoverDescriptionProps = React.ComponentProps<'p'>\n\nfunction Popover({ ...props }: PopoverProps) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({ ...props }: PopoverTriggerProps) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({ className, align = 'center', sideOffset = 4, ...props }: PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 z-50 w-72 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 origin-(--radix-popover-content-transform-origin) flex flex-col gap-2.5 outline-hidden',\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95',\n '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',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({ ...props }: PopoverAnchorProps) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverHeader({ className, ...props }: PopoverHeaderProps) {\n return <div data-slot=\"popover-header\" className={cn('flex flex-col gap-0.5 text-sm', className)} {...props} />\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverTitleProps) {\n return <h2 data-slot=\"popover-title\" className={cn('font-medium', className)} {...props} />\n}\n\nfunction PopoverDescription({ className, ...props }: PopoverDescriptionProps) {\n return <p data-slot=\"popover-description\" className={cn('text-muted-foreground', className)} {...props} />\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger }\n"],"mappings":"6IAoBA,SAAS,QAAQ,CAAE,GAAG,GAAuB,CAC3C,OAAO,EAACA,EAAiB,KAAlB,CAAuB,YAAU,UAAU,GAAI,EAAS,CAAA,CAGjE,SAAS,eAAe,CAAE,GAAG,GAA8B,CACzD,OAAO,EAACA,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAI,EAAS,CAAA,CAG5E,SAAS,eAAe,CAAE,YAAW,QAAQ,SAAU,aAAa,EAAG,GAAG,GAA8B,CACtG,OACE,EAACA,EAAiB,OAAlB,CAAA,SACE,EAACA,EAAiB,QAAlB,CACE,YAAU,kBACH,QACK,aACZ,UAAW,EACT,gNACA,uIACA,8JACA,EACD,CACD,GAAI,EACJ,CAAA,CACsB,CAAA,CAI9B,SAAS,cAAc,CAAE,GAAG,GAA6B,CACvD,OAAO,EAACA,EAAiB,OAAlB,CAAyB,YAAU,iBAAiB,GAAI,EAAS,CAAA,CAG1E,SAAS,cAAc,CAAE,YAAW,GAAG,GAA6B,CAClE,OAAO,EAAC,MAAD,CAAK,YAAU,iBAAiB,UAAW,EAAG,gCAAiC,EAAU,CAAE,GAAI,EAAS,CAAA,CAGjH,SAAS,aAAa,CAAE,YAAW,GAAG,GAA4B,CAChE,OAAO,EAAC,KAAD,CAAI,YAAU,gBAAgB,UAAW,EAAG,cAAe,EAAU,CAAE,GAAI,EAAS,CAAA,CAG7F,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OAAO,EAAC,IAAD,CAAG,YAAU,sBAAsB,UAAW,EAAG,wBAAyB,EAAU,CAAE,GAAI,EAAS,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { Progress as Progress$1 } from "radix-ui";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import * as React from "react";
5
+
6
+ //#region src/components/progress.d.ts
7
+ type ProgressProps = React.ComponentProps<typeof Progress$1.Root>;
8
+ declare function Progress({
9
+ className,
10
+ value,
11
+ ...props
12
+ }: ProgressProps): react_jsx_runtime0.JSX.Element;
13
+ //#endregion
14
+ export { Progress, ProgressProps };
15
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../chunk-IpJEthwI.js";import{cn as e}from"../lib/utils.js";import{Progress as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function Progress({className:r,value:i,...a}){return n(t.Root,{"data-slot":`progress`,className:e(`relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted`,r),...a,children:n(t.Indicator,{"data-slot":`progress-indicator`,className:`size-full flex-1 bg-primary transition-all`,style:{transform:`translateX(-${100-(i||0)}%)`}})})}export{Progress};
2
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","names":["ProgressPrimitive"],"sources":["../../src/components/progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Progress as ProgressPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type ProgressProps = React.ComponentProps<typeof ProgressPrimitive.Root>\n\nfunction Progress({ className, value, ...props }: ProgressProps) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn('relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted', className)}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"size-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress }\n"],"mappings":"8IAQA,SAAS,SAAS,CAAE,YAAW,QAAO,GAAG,GAAwB,CAC/D,OACE,EAACA,EAAkB,KAAnB,CACE,YAAU,WACV,UAAW,EAAG,gFAAiF,EAAU,CACzG,GAAI,WAEJ,EAACA,EAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,6CACV,MAAO,CAAE,UAAW,eAAe,KAAO,GAAS,GAAG,IAAK,CAC3D,CAAA,CACqB,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { t as __name } from "../chunk-IpJEthwI.js";
2
+ import { RadioGroup as RadioGroup$1 } from "radix-ui";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+ import * as React from "react";
5
+
6
+ //#region src/components/radio-group.d.ts
7
+ type RadioGroupProps = React.ComponentProps<typeof RadioGroup$1.Root>;
8
+ type RadioGroupItemProps = React.ComponentProps<typeof RadioGroup$1.Item>;
9
+ declare function RadioGroup({
10
+ className,
11
+ ...props
12
+ }: RadioGroupProps): react_jsx_runtime0.JSX.Element;
13
+ declare function RadioGroupItem({
14
+ className,
15
+ ...props
16
+ }: RadioGroupItemProps): react_jsx_runtime0.JSX.Element;
17
+ //#endregion
18
+ export { RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps };
19
+ //# sourceMappingURL=radio-group.d.ts.map