@codefast/ui 0.3.12-canary.0 → 0.3.12

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 (151) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/dist/components/accordion.d.ts.map +1 -1
  3. package/dist/components/accordion.js +5 -5
  4. package/dist/components/alert-dialog.d.ts +1 -1
  5. package/dist/components/alert-dialog.d.ts.map +1 -1
  6. package/dist/components/alert-dialog.js +5 -5
  7. package/dist/components/alert.d.ts +2 -2
  8. package/dist/components/alert.d.ts.map +1 -1
  9. package/dist/components/alert.js +15 -5
  10. package/dist/components/avatar.d.ts.map +1 -1
  11. package/dist/components/avatar.js +3 -3
  12. package/dist/components/badge.d.ts +5 -5
  13. package/dist/components/badge.d.ts.map +1 -1
  14. package/dist/components/badge.js +35 -6
  15. package/dist/components/breadcrumb.d.ts.map +1 -1
  16. package/dist/components/breadcrumb.js +3 -3
  17. package/dist/components/button-group.d.ts +3 -3
  18. package/dist/components/button-group.d.ts.map +1 -1
  19. package/dist/components/button-group.js +21 -7
  20. package/dist/components/button.d.ts +10 -10
  21. package/dist/components/button.d.ts.map +1 -1
  22. package/dist/components/button.js +54 -11
  23. package/dist/components/calendar.d.ts.map +1 -1
  24. package/dist/components/calendar.js +35 -23
  25. package/dist/components/card.d.ts.map +1 -1
  26. package/dist/components/card.js +4 -4
  27. package/dist/components/carousel.d.ts.map +1 -1
  28. package/dist/components/carousel.js +3 -3
  29. package/dist/components/chart.d.ts +2 -2
  30. package/dist/components/chart.d.ts.map +1 -1
  31. package/dist/components/chart.js +7 -7
  32. package/dist/components/checkbox-cards.d.ts.map +1 -1
  33. package/dist/components/checkbox-cards.js +2 -2
  34. package/dist/components/checkbox-group.d.ts.map +1 -1
  35. package/dist/components/checkbox-group.js +2 -2
  36. package/dist/components/checkbox.d.ts.map +1 -1
  37. package/dist/components/checkbox.js +2 -2
  38. package/dist/components/command.d.ts.map +1 -1
  39. package/dist/components/command.js +10 -10
  40. package/dist/components/context-menu.d.ts.map +1 -1
  41. package/dist/components/context-menu.js +10 -10
  42. package/dist/components/dialog.d.ts +1 -1
  43. package/dist/components/dialog.d.ts.map +1 -1
  44. package/dist/components/dialog.js +5 -5
  45. package/dist/components/drawer.d.ts +1 -1
  46. package/dist/components/drawer.d.ts.map +1 -1
  47. package/dist/components/drawer.js +5 -5
  48. package/dist/components/dropdown-menu.d.ts.map +1 -1
  49. package/dist/components/dropdown-menu.js +10 -10
  50. package/dist/components/empty.d.ts +2 -2
  51. package/dist/components/empty.d.ts.map +1 -1
  52. package/dist/components/empty.js +15 -7
  53. package/dist/components/field.d.ts +4 -4
  54. package/dist/components/field.d.ts.map +1 -1
  55. package/dist/components/field.js +28 -14
  56. package/dist/components/form.js +1 -1
  57. package/dist/components/hover-card.d.ts.map +1 -1
  58. package/dist/components/hover-card.js +2 -2
  59. package/dist/components/input-group.d.ts +9 -9
  60. package/dist/components/input-group.d.ts.map +1 -1
  61. package/dist/components/input-group.js +65 -15
  62. package/dist/components/input-number.d.ts.map +1 -1
  63. package/dist/components/input-number.js +2 -2
  64. package/dist/components/input-otp.d.ts.map +1 -1
  65. package/dist/components/input-otp.js +3 -3
  66. package/dist/components/input-password.d.ts.map +1 -1
  67. package/dist/components/input-password.js +2 -1
  68. package/dist/components/input-search.d.ts.map +1 -1
  69. package/dist/components/input-search.js +2 -1
  70. package/dist/components/input.d.ts.map +1 -1
  71. package/dist/components/input.js +2 -2
  72. package/dist/components/item.d.ts +5 -5
  73. package/dist/components/item.d.ts.map +1 -1
  74. package/dist/components/item.js +31 -10
  75. package/dist/components/kbd.d.ts.map +1 -1
  76. package/dist/components/kbd.js +2 -2
  77. package/dist/components/label.d.ts.map +1 -1
  78. package/dist/components/label.js +2 -2
  79. package/dist/components/menubar.d.ts.map +1 -1
  80. package/dist/components/menubar.js +12 -12
  81. package/dist/components/native-select.d.ts.map +1 -1
  82. package/dist/components/native-select.js +2 -2
  83. package/dist/components/navigation-menu.d.ts.map +1 -1
  84. package/dist/components/navigation-menu.js +8 -8
  85. package/dist/components/pagination.d.ts +1 -1
  86. package/dist/components/pagination.d.ts.map +1 -1
  87. package/dist/components/pagination.js +2 -2
  88. package/dist/components/popover.d.ts.map +1 -1
  89. package/dist/components/popover.js +2 -2
  90. package/dist/components/progress-circle.d.ts +2 -2
  91. package/dist/components/progress-circle.d.ts.map +1 -1
  92. package/dist/components/progress-circle.js +2 -2
  93. package/dist/components/progress.d.ts.map +1 -1
  94. package/dist/components/progress.js +2 -2
  95. package/dist/components/radio-cards.d.ts.map +1 -1
  96. package/dist/components/radio-cards.js +2 -2
  97. package/dist/components/radio-group.d.ts.map +1 -1
  98. package/dist/components/radio-group.js +2 -2
  99. package/dist/components/radio.d.ts.map +1 -1
  100. package/dist/components/radio.js +2 -2
  101. package/dist/components/resizable.d.ts.map +1 -1
  102. package/dist/components/resizable.js +2 -2
  103. package/dist/components/scroll-area.d.ts +3 -3
  104. package/dist/components/scroll-area.d.ts.map +1 -1
  105. package/dist/components/scroll-area.js +6 -6
  106. package/dist/components/select.d.ts +1 -1
  107. package/dist/components/select.d.ts.map +1 -1
  108. package/dist/components/select.js +10 -10
  109. package/dist/components/separator.d.ts +1 -1
  110. package/dist/components/separator.d.ts.map +1 -1
  111. package/dist/components/separator.js +3 -3
  112. package/dist/components/sheet.d.ts +5 -5
  113. package/dist/components/sheet.d.ts.map +1 -1
  114. package/dist/components/sheet.js +41 -10
  115. package/dist/components/sidebar.d.ts +5 -5
  116. package/dist/components/sidebar.d.ts.map +1 -1
  117. package/dist/components/sidebar.js +50 -33
  118. package/dist/components/skeleton.js +2 -2
  119. package/dist/components/slider.d.ts.map +1 -1
  120. package/dist/components/slider.js +2 -2
  121. package/dist/components/sonner.d.ts.map +1 -1
  122. package/dist/components/sonner.js +2 -1
  123. package/dist/components/spinner.d.ts.map +1 -1
  124. package/dist/components/spinner.js +3 -3
  125. package/dist/components/switch.d.ts.map +1 -1
  126. package/dist/components/switch.js +2 -2
  127. package/dist/components/table.d.ts.map +1 -1
  128. package/dist/components/table.js +8 -8
  129. package/dist/components/tabs.d.ts.map +1 -1
  130. package/dist/components/tabs.js +4 -4
  131. package/dist/components/textarea.d.ts.map +1 -1
  132. package/dist/components/textarea.js +2 -2
  133. package/dist/components/toggle-group.d.ts.map +1 -1
  134. package/dist/components/toggle-group.js +4 -4
  135. package/dist/components/toggle.d.ts +5 -5
  136. package/dist/components/toggle.d.ts.map +1 -1
  137. package/dist/components/toggle.js +23 -6
  138. package/dist/components/tooltip.d.ts.map +1 -1
  139. package/dist/components/tooltip.js +2 -2
  140. package/dist/hooks/use-copy-to-clipboard.d.ts +1 -1
  141. package/dist/hooks/use-copy-to-clipboard.d.ts.map +1 -1
  142. package/dist/hooks/use-pagination.d.ts +1 -1
  143. package/dist/hooks/use-pagination.d.ts.map +1 -1
  144. package/dist/lib/utils.d.ts +10 -0
  145. package/dist/lib/utils.d.ts.map +1 -0
  146. package/dist/lib/utils.js +10 -0
  147. package/dist/primitives/input.js +1 -1
  148. package/dist/primitives/progress-circle.d.ts +1 -1
  149. package/dist/primitives/progress-circle.d.ts.map +1 -1
  150. package/package.json +23 -13
  151. package/src/css/preset.css +85 -8
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cn, tv } from "@codefast/tailwind-variants";
3
+ import { cn, tv } from "#lib/utils";
4
4
  import { Button } from "#components/button";
5
5
  import { Input } from "#components/input";
6
6
  import { Textarea } from "#components/textarea";
@@ -8,22 +8,62 @@ import { Textarea } from "#components/textarea";
8
8
  * Variants: InputGroup
9
9
  * -------------------------------------------------------------------------- */
10
10
  const inputGroupVariants = tv({
11
- base: cn("group/input-group relative flex w-full items-center rounded-lg border border-input shadow-xs transition-[color,box-shadow] outline-none dark:bg-input/30", "h-9 min-w-0 has-[>textarea]:h-auto", "has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-2", "has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-2", "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:pb-3", "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:pt-3", "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-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40"),
11
+ base: [
12
+ "group/input-group relative flex h-9 w-full min-w-0 items-center",
13
+ "rounded-lg border border-input shadow-xs outline-none",
14
+ "transition-[color,box-shadow]",
15
+ "dark:bg-input/30",
16
+ "has-[>textarea]:h-auto",
17
+ "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col",
18
+ "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col",
19
+ "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",
20
+ "has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20",
21
+ "dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
22
+ "has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:pt-3",
23
+ "has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:pb-3",
24
+ "has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-2",
25
+ "has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-2",
26
+ ],
12
27
  });
13
28
  /* -----------------------------------------------------------------------------
14
29
  * Variants: InputGroupAddon
15
30
  * -------------------------------------------------------------------------- */
16
31
  const inputGroupAddonVariants = tv({
17
- base: cn("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"),
32
+ base: [
33
+ "flex h-auto items-center justify-center gap-2 py-1.5",
34
+ "text-sm font-medium text-muted-foreground",
35
+ "cursor-text select-none",
36
+ "group-data-disabled/input-group:opacity-50",
37
+ "[&>kbd]:rounded-[calc(var(--radius)-5px)]",
38
+ "[&>svg:not([class*='size-'])]:size-4",
39
+ ],
18
40
  defaultVariants: {
19
41
  align: "inline-start",
20
42
  },
21
43
  variants: {
22
44
  align: {
23
- "block-end": "order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3",
24
- "block-start": "order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3",
25
- "inline-end": "order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]",
26
- "inline-start": "order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]",
45
+ "block-end": [
46
+ "order-last w-full justify-start px-3 pb-3",
47
+ "group-has-[>input]/input-group:pb-2.5",
48
+ "[.border-t]:pt-3",
49
+ ],
50
+ "block-start": [
51
+ "order-first w-full justify-start px-3 pt-3",
52
+ "group-has-[>input]/input-group:pt-2.5",
53
+ "[.border-b]:pb-3",
54
+ ],
55
+ "inline-end": [
56
+ "order-last",
57
+ "pr-3",
58
+ "has-[>button]:mr-[-0.45rem]",
59
+ "has-[>kbd]:mr-[-0.35rem]",
60
+ ],
61
+ "inline-start": [
62
+ "order-first",
63
+ "pl-3",
64
+ "has-[>button]:ml-[-0.45rem]",
65
+ "has-[>kbd]:ml-[-0.35rem]",
66
+ ],
27
67
  },
28
68
  },
29
69
  });
@@ -31,16 +71,26 @@ const inputGroupAddonVariants = tv({
31
71
  * Variants: InputGroupButton
32
72
  * -------------------------------------------------------------------------- */
33
73
  const inputGroupButtonVariants = tv({
34
- base: "flex items-center gap-2 text-sm shadow-none [&>svg:not([class*='size-'])]:size-4",
74
+ base: [
75
+ "flex items-center gap-2",
76
+ "shadow-none",
77
+ "text-sm",
78
+ "[&>svg:not([class*='size-'])]:size-4",
79
+ ],
35
80
  defaultVariants: {
36
81
  size: "xs",
37
82
  },
38
83
  variants: {
39
84
  size: {
40
- "icon-sm": "size-8 p-0 has-[>svg]:p-0",
41
- "icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
42
- sm: "h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5",
43
- xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg]:size-3.5",
85
+ "icon-sm": ["size-8 p-0", "has-[>svg]:p-0"],
86
+ "icon-xs": ["size-6 p-0", "rounded-[calc(var(--radius)-5px)]", "has-[>svg]:p-0"],
87
+ sm: ["h-8 gap-1.5 px-2.5", "rounded-md", "has-[>svg]:px-2.5"],
88
+ xs: [
89
+ "h-6 gap-1 px-2",
90
+ "rounded-[calc(var(--radius)-5px)]",
91
+ "has-[>svg]:px-2",
92
+ "[&>svg]:size-3.5",
93
+ ],
44
94
  },
45
95
  },
46
96
  });
@@ -63,13 +113,13 @@ function InputGroupButton({ className, size = "xs", type = "button", variant = "
63
113
  return (_jsx(Button, { className: cn(inputGroupButtonVariants({ size }), className), "data-size": size, "data-slot": "input-group-button", type: type, variant: variant, ...props }));
64
114
  }
65
115
  function InputGroupText({ className, ...props }) {
66
- return (_jsx("span", { className: cn("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className), "data-slot": "input-group-text", ...props }));
116
+ return (_jsx("span", { className: cn("flex items-center gap-2 text-sm text-muted-foreground", "[&_svg]:pointer-events-none", "[&_svg:not([class*='size-'])]:size-4", className), "data-slot": "input-group-text", ...props }));
67
117
  }
68
118
  function InputGroupInput({ className, ...props }) {
69
- return (_jsx(Input, { className: cn("flex-1 rounded-none border-0 bg-transparent px-3 py-1 shadow-none focus-visible:ring-0 dark:bg-transparent", className), "data-slot": "input-group-control", ...props }));
119
+ return (_jsx(Input, { className: cn("flex-1", "px-3 py-1", "rounded-none border-0", "bg-transparent shadow-none", "focus-visible:ring-0", "dark:bg-transparent", className), "data-slot": "input-group-control", ...props }));
70
120
  }
71
121
  function InputGroupTextarea({ className, ...props }) {
72
- return (_jsx(Textarea, { className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent", className), "data-slot": "input-group-control", ...props }));
122
+ return (_jsx(Textarea, { className: cn("flex-1", "py-3", "rounded-none border-0", "bg-transparent shadow-none", "resize-none", "focus-visible:ring-0", "dark:bg-transparent", className), "data-slot": "input-group-control", ...props }));
73
123
  }
74
124
  /* -----------------------------------------------------------------------------
75
125
  * Exports
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.d.ts","sourceRoot":"","sources":["../../src/components/input-number.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAOjD,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AAMjE,UAAU,gBACR,SACE,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,EACjD,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;CAAG;AAEvD,iBAAS,WAAW,CAAC,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,EAAE,EACF,cAAc,EACd,OAAO,EACP,GAAG,EACH,GAAG,EACH,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAkEhC;AAMD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"input-number.d.ts","sourceRoot":"","sources":["../../src/components/input-number.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAOjD,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AAMjE,UAAU,gBACR,SACE,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,EACjD,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;CAAG;AAEvD,iBAAS,WAAW,CAAC,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,EAAE,EACF,cAAc,EACd,OAAO,EACP,GAAG,EACH,GAAG,EACH,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyGhC;AAMD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from "@codefast/tailwind-variants";
3
+ import { cn } from "#lib/utils";
4
4
  import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
5
5
  import { buttonVariants } from "#components/button";
6
6
  import { Spinner } from "#components/spinner";
7
7
  import * as InputNumberPrimitive from "#primitives/input-number";
8
8
  function InputNumber({ ariaDecrementLabel, ariaIncrementLabel, className, defaultValue, disabled, formatOptions, id, loaderPosition, loading, max, min, onChange, prefix, readOnly, spinner, step, suffix, value, ...props }) {
9
- return (_jsxs(InputNumberPrimitive.Root, { ariaDecrementLabel: ariaDecrementLabel, ariaIncrementLabel: ariaIncrementLabel, className: cn("group peer flex h-9 w-full grow items-center gap-3 rounded-lg border border-input px-3 pr-0 text-base transition not-has-disabled:shadow-xs focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 hover:not-has-disabled:not-focus-within:border-ring/60 has-disabled:opacity-50 has-aria-invalid:border-destructive focus-within:has-aria-invalid:ring-destructive/20 hover:not-has-disabled:not-focus-within:has-aria-invalid:border-destructive/60 md:text-sm dark:bg-input/30 dark:focus-within:has-aria-invalid:ring-destructive/40 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&>svg]:text-muted-foreground", className), "data-slot": "input-number", defaultValue: defaultValue, disabled: disabled, formatOptions: formatOptions, id: id, loaderPosition: loaderPosition, loading: loading, max: max, min: min, prefix: prefix, readOnly: readOnly, spinner: spinner ?? _jsx(Spinner, {}, "spinner"), step: step, suffix: suffix, value: value, onChange: onChange, children: [_jsx(InputNumberPrimitive.Field, { autoCapitalize: "none", autoComplete: "off", autoCorrect: "off", className: "h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40", spellCheck: "false", ...props }), _jsxs("div", { className: cn("group-hover:not-group-focus-within:not-has-disabled:border-l-border-ring/60 group-hover:not-group-focus-within:not-has-disabled:divide-border-ring/60 order-last ml-auto grid h-full shrink-0 divide-y divide-input border-l border-l-input transition group-focus-within:divide-ring group-focus-within:border-l-ring group-has-aria-invalid:divide-destructive group-has-aria-invalid:border-l-destructive group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:divide-destructive/60 group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:border-l-destructive/60", "*:[button]:focus-visible:bg-ring/50 *:[button]:focus-visible:ring-0 group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/20 dark:group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/40"), "data-slot": "input-number-buttons", children: [_jsx(InputNumberPrimitive.IncrementButton, { "aria-label": "Increment", className: buttonVariants({
9
+ return (_jsxs(InputNumberPrimitive.Root, { ariaDecrementLabel: ariaDecrementLabel, ariaIncrementLabel: ariaIncrementLabel, className: cn("group peer flex h-9 w-full grow items-center gap-3 px-3 pr-0", "rounded-lg border border-input", "text-base", "transition", "not-has-disabled:shadow-xs", "focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50", "hover:not-has-disabled:not-focus-within:border-ring/60", "has-disabled:opacity-50", "has-aria-invalid:border-destructive", "focus-within:has-aria-invalid:ring-destructive/20", "hover:not-has-disabled:not-focus-within:has-aria-invalid:border-destructive/60", "md:text-sm", "dark:bg-input/30", "dark:focus-within:has-aria-invalid:ring-destructive/40", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4", "[&>svg]:text-muted-foreground", className), "data-slot": "input-number", defaultValue: defaultValue, disabled: disabled, formatOptions: formatOptions, id: id, loaderPosition: loaderPosition, loading: loading, max: max, min: min, prefix: prefix, readOnly: readOnly, spinner: spinner ?? _jsx(Spinner, {}, "spinner"), step: step, suffix: suffix, value: value, onChange: onChange, children: [_jsx(InputNumberPrimitive.Field, { autoCapitalize: "none", autoComplete: "off", autoCorrect: "off", className: cn("h-9 w-full min-w-0 px-3 py-1", "rounded-md border border-input", "bg-transparent shadow-xs outline-none", "text-base", "transition-[color,box-shadow]", "selection:bg-primary selection:text-primary-foreground", "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground", "placeholder:text-muted-foreground", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "md:text-sm", "dark:bg-input/30", "dark:aria-invalid:ring-destructive/40"), spellCheck: "false", ...props }), _jsxs("div", { className: cn("order-last ml-auto grid h-full shrink-0", "divide-y divide-input border-l border-l-input", "transition", "group-hover:not-group-focus-within:not-has-disabled:border-l-border-ring/60 group-hover:not-group-focus-within:not-has-disabled:divide-border-ring/60", "group-focus-within:divide-ring group-focus-within:border-l-ring", "group-has-aria-invalid:divide-destructive group-has-aria-invalid:border-l-destructive", "group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:divide-destructive/60 group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:border-l-destructive/60", "*:[button]:focus-visible:bg-ring/50 *:[button]:focus-visible:ring-0", "group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/20", "dark:group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/40"), "data-slot": "input-number-buttons", children: [_jsx(InputNumberPrimitive.IncrementButton, { "aria-label": "Increment", className: buttonVariants({
10
10
  className: "text-muted-foreground h-auto rounded-none rounded-tr-[calc(var(--radius-lg)-1px)]",
11
11
  variant: "ghost",
12
12
  }), "data-slot": "input-number-increment-button", children: _jsx(ChevronUpIcon, {}) }), _jsx(InputNumberPrimitive.DecrementButton, { "aria-label": "Decrement", className: buttonVariants({
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../src/components/input-otp.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAQtD,KAAK,aAAa,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC;AAErD,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAUzF;AAMD,KAAK,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEhD,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAS/E;AAMD,UAAU,iBAAkB,SAAQ,cAAc,CAAC,KAAK,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAsBpF;AAMD,KAAK,sBAAsB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEpD,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAM5E;AAMD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AACpE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../src/components/input-otp.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAQtD,KAAK,aAAa,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC;AAErD,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAczF;AAMD,KAAK,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEhD,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAS/E;AAMD,UAAU,iBAAkB,SAAQ,cAAc,CAAC,KAAK,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA0CpF;AAMD,KAAK,sBAAsB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEpD,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAM5E;AAMD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AACpE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from "@codefast/tailwind-variants";
3
+ import { cn } from "#lib/utils";
4
4
  import { OTPInput, OTPInputContext } from "input-otp";
5
5
  import { MinusIcon } from "lucide-react";
6
6
  import { use } from "react";
7
7
  function InputOTP({ className, containerClassName, ...props }) {
8
- return (_jsx(OTPInput, { "aria-label": "One-time password", className: cn(className), containerClassName: cn("flex items-center gap-2 has-disabled:opacity-50", containerClassName), "data-slot": "input-otp", ...props }));
8
+ return (_jsx(OTPInput, { "aria-label": "One-time password", className: cn(className), containerClassName: cn("flex items-center gap-2", "has-disabled:opacity-50", containerClassName), "data-slot": "input-otp", ...props }));
9
9
  }
10
10
  function InputOTPGroup({ className, ...props }) {
11
11
  return (_jsx("div", { className: cn("flex items-center -space-x-px", className), "data-slot": "input-otp-group", role: "group", ...props }));
@@ -13,7 +13,7 @@ function InputOTPGroup({ className, ...props }) {
13
13
  function InputOTPSlot({ className, index, ...props }) {
14
14
  const inputOTPContext = use(OTPInputContext);
15
15
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
16
- return (_jsxs("div", { className: cn("relative flex size-9 items-center justify-center border border-input text-sm outline-hidden transition-all not-has-disabled:shadow-xs first:rounded-l-lg last:rounded-r-lg aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40", className), "data-active": isActive, "data-slot": "input-otp-slot", ...props, children: [char, hasFakeCaret ? (_jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: _jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground animation-duration-1000" }) })) : null] }));
16
+ return (_jsxs("div", { className: cn("relative flex size-9 items-center justify-center", "border border-input outline-hidden", "text-sm", "transition-all", "not-has-disabled:shadow-xs", "first:rounded-l-lg", "last:rounded-r-lg", "aria-invalid:border-destructive", "dark:bg-input/30", "data-active:z-10 data-active:border-ring data-active:ring-3 data-active:ring-ring/50", "data-active:aria-invalid:border-destructive data-active:aria-invalid:ring-destructive/20", "dark:data-active:aria-invalid:ring-destructive/40", className), "data-active": isActive, "data-slot": "input-otp-slot", ...props, children: [char, hasFakeCaret ? (_jsx("div", { className: cn("absolute inset-0 flex items-center justify-center", "pointer-events-none"), children: _jsx("div", { className: cn("h-4 w-px", "bg-foreground", "animate-caret-blink", "animation-duration-1000") }) })) : null] }));
17
17
  }
18
18
  function InputOTPSeparator({ ...props }) {
19
19
  return (_jsx("div", { "data-slot": "input-otp-separator", ...props, children: _jsx(MinusIcon, {}) }));
@@ -1 +1 @@
1
- {"version":3,"file":"input-password.d.ts","sourceRoot":"","sources":["../../src/components/input-password.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAqB,MAAM,OAAO,CAAC;AAKpE,OAAO,EAAgC,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAMxF,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/E,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAmClC;AAMD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"input-password.d.ts","sourceRoot":"","sources":["../../src/components/input-password.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAqB,MAAM,OAAO,CAAC;AAKpE,OAAO,EAAgC,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAMxF,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/E,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAuClC;AAMD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "#lib/utils";
3
4
  import { EyeIcon, EyeOffIcon } from "lucide-react";
4
5
  import { useCallback, useState } from "react";
5
6
  import { InputGroup, InputGroupButton, InputGroupInput } from "#components/input-group";
@@ -8,7 +9,7 @@ function InputPassword({ className, disabled, readOnly, ...props }) {
8
9
  const togglePasswordVisibility = useCallback(() => {
9
10
  setType((previous) => (previous === "password" ? "text" : "password"));
10
11
  }, []);
11
- return (_jsxs(InputGroup, { className: className, "data-disabled": disabled ? "true" : undefined, "data-slot": "input-password", children: [_jsx(InputGroupInput, { autoCapitalize: "none", "data-slot": "input-password-item", disabled: disabled, readOnly: readOnly, type: type, ...props }), _jsx(InputGroupButton, { "aria-label": type === "password" ? "Show password" : "Hide password", className: "rounded-full focus-visible:ring-0 focus-visible:not-disabled:bg-input", "data-slot": "input-password-toggle", disabled: disabled, size: "icon-sm", type: "button", variant: "ghost", onClick: togglePasswordVisibility, children: type === "password" ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }));
12
+ return (_jsxs(InputGroup, { className: className, "data-disabled": disabled ? "true" : undefined, "data-slot": "input-password", children: [_jsx(InputGroupInput, { autoCapitalize: "none", "data-slot": "input-password-item", disabled: disabled, readOnly: readOnly, type: type, ...props }), _jsx(InputGroupButton, { "aria-label": type === "password" ? "Show password" : "Hide password", className: cn("rounded-full", "focus-visible:ring-0", "focus-visible:not-disabled:bg-input"), "data-slot": "input-password-toggle", disabled: disabled, size: "icon-sm", type: "button", variant: "ghost", onClick: togglePasswordVisibility, children: type === "password" ? _jsx(EyeOffIcon, {}) : _jsx(EyeIcon, {}) })] }));
12
13
  }
13
14
  /* -----------------------------------------------------------------------------
14
15
  * Exports
@@ -1 +1 @@
1
- {"version":3,"file":"input-search.d.ts","sourceRoot":"","sources":["../../src/components/input-search.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjD,OAAO,EAIL,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAMjC,UAAU,gBAAiB,SAAQ,IAAI,CACrC,cAAc,CAAC,OAAO,eAAe,CAAC,EACtC,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAC/C;IACC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EAAE,aAAa,EACpB,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA4ChC;AAMD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"input-search.d.ts","sourceRoot":"","sources":["../../src/components/input-search.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjD,OAAO,EAIL,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAMjC,UAAU,gBAAiB,SAAQ,IAAI,CACrC,cAAc,CAAC,OAAO,eAAe,CAAC,EACtC,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAC/C;IACC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EAAE,aAAa,EACpB,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAgDhC;AAMD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "#lib/utils";
3
4
  import { useControllableState } from "@radix-ui/react-use-controllable-state";
4
5
  import { SearchIcon, XIcon } from "lucide-react";
5
6
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from "#components/input-group";
@@ -11,7 +12,7 @@ function InputSearch({ className, defaultValue, disabled, onChange, readOnly, va
11
12
  });
12
13
  return (_jsxs(InputGroup, { className: className, "data-disabled": disabled ? "true" : undefined, "data-slot": "input-search", children: [_jsx(InputGroupAddon, { align: "inline-start", children: _jsx(SearchIcon, {}) }), _jsx(InputGroupInput, { "data-slot": "input-search-item", disabled: disabled, readOnly: readOnly, type: "search", value: value ?? "", onChange: (event) => {
13
14
  setValue(event.target.value);
14
- }, ...props }), value ? (_jsx(InputGroupButton, { "aria-label": "Clear search", className: "rounded-full focus-visible:ring-0 focus-visible:not-disabled:bg-input", "data-slot": "input-search-clear", disabled: disabled ?? readOnly, size: "icon-sm", variant: "ghost", onClick: () => {
15
+ }, ...props }), value ? (_jsx(InputGroupButton, { "aria-label": "Clear search", className: cn("rounded-full", "focus-visible:ring-0", "focus-visible:not-disabled:bg-input"), "data-slot": "input-search-clear", disabled: disabled ?? readOnly, size: "icon-sm", variant: "ghost", onClick: () => {
15
16
  setValue("");
16
17
  }, children: _jsx(XIcon, {}) })) : null] }));
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjD,KAAK,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAE1C,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CAcrE;AAMD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjD,KAAK,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAE1C,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CAyBrE;AAMD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cn } from "@codefast/tailwind-variants";
3
+ import { cn } from "#lib/utils";
4
4
  function Input({ className, type, ...props }) {
5
- return (_jsx("input", { className: cn("h-9 w-full min-w-0 rounded-lg border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", className), "data-slot": "input", type: type, ...props }));
5
+ return (_jsx("input", { className: cn("h-9 w-full min-w-0 px-3 py-1", "rounded-lg border border-input", "bg-transparent shadow-xs outline-none", "text-base", "transition-[color,box-shadow]", "selection:bg-primary selection:text-primary-foreground", "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground", "placeholder:text-muted-foreground", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "md:text-sm", "dark:bg-input/30", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "dark:aria-invalid:ring-destructive/40", className), "data-slot": "input", type: type, ...props }));
6
6
  }
7
7
  /* -----------------------------------------------------------------------------
8
8
  * Exports
@@ -1,10 +1,10 @@
1
- import type { VariantProps } from "@codefast/tailwind-variants";
1
+ import type { VariantProps } from "#lib/utils";
2
2
  import type { ComponentProps, JSX } from "react";
3
3
  import { Separator } from "#components/separator";
4
4
  declare const itemVariants: import("@codefast/tailwind-variants").VariantFunctionType<{
5
5
  size: {
6
- default: string;
7
- sm: string;
6
+ default: string[];
7
+ sm: string[];
8
8
  };
9
9
  variant: {
10
10
  default: string;
@@ -15,8 +15,8 @@ declare const itemVariants: import("@codefast/tailwind-variants").VariantFunctio
15
15
  declare const itemMediaVariants: import("@codefast/tailwind-variants").VariantFunctionType<{
16
16
  variant: {
17
17
  default: string;
18
- icon: string;
19
- image: string;
18
+ icon: string[];
19
+ image: string[];
20
20
  };
21
21
  }, Record<string, never>>;
22
22
  type ItemGroupProps = ComponentProps<"div">;
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../src/components/item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../src/components/item.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,28 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn, tv } from "@codefast/tailwind-variants";
2
+ import { cn, tv } from "#lib/utils";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import { Separator } from "#components/separator";
5
5
  /* -----------------------------------------------------------------------------
6
6
  * Variants: Item
7
7
  * -------------------------------------------------------------------------- */
8
8
  const itemVariants = tv({
9
- base: cn("group/item flex flex-wrap items-center rounded-lg border border-transparent text-sm outline-hidden transition-colors duration-100", "[a]:transition-colors [a]:hover:bg-accent/50", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50"),
9
+ base: [
10
+ "group/item flex flex-wrap items-center",
11
+ "rounded-lg border border-transparent outline-hidden",
12
+ "text-sm",
13
+ "transition-colors duration-100",
14
+ "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50",
15
+ "[a]:transition-colors",
16
+ "[a]:hover:bg-accent/50",
17
+ ],
10
18
  defaultVariants: {
11
19
  size: "default",
12
20
  variant: "default",
13
21
  },
14
22
  variants: {
15
23
  size: {
16
- default: "gap-4 p-4",
17
- sm: "gap-2.5 px-4 py-3",
24
+ default: ["gap-4", "p-4"],
25
+ sm: ["gap-2.5", "px-4 py-3"],
18
26
  },
19
27
  variant: {
20
28
  default: "bg-transparent",
@@ -24,15 +32,28 @@ const itemVariants = tv({
24
32
  },
25
33
  });
26
34
  const itemMediaVariants = tv({
27
- base: cn("flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start", "group-has-[[data-slot=item-description]]/item:translate-y-0.5 [&_svg]:pointer-events-none"),
35
+ base: [
36
+ "flex shrink-0 items-center justify-center gap-2",
37
+ "group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start",
38
+ "[&_svg]:pointer-events-none",
39
+ ],
28
40
  defaultVariants: {
29
41
  variant: "default",
30
42
  },
31
43
  variants: {
32
44
  variant: {
33
45
  default: "bg-transparent",
34
- icon: "size-8 shrink-0 rounded-md border bg-muted [&_svg:not([class*='size-'])]:size-4",
35
- image: "size-10 shrink-0 overflow-hidden rounded-md [&_img]:size-full [&_img]:object-cover",
46
+ icon: [
47
+ "size-8 shrink-0",
48
+ "rounded-md border",
49
+ "bg-muted",
50
+ "[&_svg:not([class*='size-'])]:size-4",
51
+ ],
52
+ image: [
53
+ "size-10 shrink-0 overflow-hidden",
54
+ "rounded-md",
55
+ "[&_img]:size-full [&_img]:object-cover",
56
+ ],
36
57
  },
37
58
  },
38
59
  });
@@ -50,13 +71,13 @@ function ItemMedia({ className, variant = "default", ...props }) {
50
71
  return (_jsx("div", { className: itemMediaVariants({ className, variant }), "data-slot": "item-media", "data-variant": variant, ...props }));
51
72
  }
52
73
  function ItemContent({ className, ...props }) {
53
- return (_jsx("div", { className: cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", className), "data-slot": "item-content", ...props }));
74
+ return (_jsx("div", { className: cn("flex flex-1 flex-col gap-1", "[&+[data-slot=item-content]]:flex-none", className), "data-slot": "item-content", ...props }));
54
75
  }
55
76
  function ItemTitle({ className, ...props }) {
56
- return (_jsx("div", { className: cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium", className), "data-slot": "item-title", ...props }));
77
+ return (_jsx("div", { className: cn("flex w-fit items-center gap-2", "text-sm leading-snug font-medium", className), "data-slot": "item-title", ...props }));
57
78
  }
58
79
  function ItemDescription({ className, ...props }) {
59
- return (_jsx("p", { className: cn("line-clamp-2 text-sm leading-normal font-normal text-balance text-muted-foreground", "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className), "data-slot": "item-description", ...props }));
80
+ return (_jsx("p", { className: cn("line-clamp-2 text-sm leading-normal font-normal text-balance text-muted-foreground", "[&>a]:underline [&>a]:underline-offset-4", "[&>a:hover]:text-primary", className), "data-slot": "item-description", ...props }));
60
81
  }
61
82
  function ItemActions({ className, ...props }) {
62
83
  return (_jsx("div", { className: cn("flex items-center gap-2", className), "data-slot": "item-actions", ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"kbd.d.ts","sourceRoot":"","sources":["../../src/components/kbd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjD,KAAK,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEtC,iBAAS,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAa3D;AAED,KAAK,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3C,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAQrE;AAMD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"kbd.d.ts","sourceRoot":"","sources":["../../src/components/kbd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjD,KAAK,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEtC,iBAAS,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAiB3D;AAED,KAAK,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3C,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAQrE;AAMD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "@codefast/tailwind-variants";
2
+ import { cn } from "#lib/utils";
3
3
  function Kbd({ className, ...props }) {
4
- return (_jsx("kbd", { className: cn("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-md bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none", "[&_svg:not([class*='size-'])]:size-3", "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10", className), "data-slot": "kbd", ...props }));
4
+ return (_jsx("kbd", { className: cn("inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 px-1", "rounded-md", "bg-muted font-sans text-xs font-medium text-muted-foreground", "pointer-events-none select-none", "in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background", "dark:in-data-[slot=tooltip-content]:bg-background/10", "[&_svg:not([class*='size-'])]:size-3", className), "data-slot": "kbd", ...props }));
5
5
  }
6
6
  function KbdGroup({ className, ...props }) {
7
7
  return (_jsx("kbd", { className: cn("inline-flex items-center gap-1", className), "data-slot": "kbd-group", ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAMxD,KAAK,UAAU,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAE7D,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CAW/D;AAMD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAMxD,KAAK,UAAU,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAE7D,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CAiB/D;AAMD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { cn } from "@codefast/tailwind-variants";
3
+ import { cn } from "#lib/utils";
4
4
  import * as LabelPrimitive from "@radix-ui/react-label";
5
5
  function Label({ className, ...props }) {
6
- return (_jsx(LabelPrimitive.Root, { className: cn("inline-block text-sm leading-none font-medium group-data-disabled:opacity-50 peer-disabled:opacity-50 peer-aria-invalid:text-destructive peer-data-disabled:opacity-50 data-invalid:text-destructive", className), "data-slot": "label", ...props }));
6
+ return (_jsx(LabelPrimitive.Root, { className: cn("inline-block", "text-sm leading-none font-medium", "group-data-disabled:opacity-50", "peer-disabled:opacity-50", "peer-aria-invalid:text-destructive", "peer-data-disabled:opacity-50", "data-invalid:text-destructive", className), "data-slot": "label", ...props }));
7
7
  }
8
8
  /* -----------------------------------------------------------------------------
9
9
  * Exports
@@ -1 +1 @@
1
- {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../src/components/menubar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAO5D,KAAK,YAAY,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAEjE,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAQnE;AAMD,KAAK,gBAAgB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAErE,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAEhE;AAMD,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEvE,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAElE;AAMD,KAAK,eAAe,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAEnE,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAE9D;AAMD,KAAK,sBAAsB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAEjF,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAE5E;AAMD,KAAK,mBAAmB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAE3E,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAWjF;AAMD,UAAU,sBAAuB,SAAQ,cAAc,CAAC,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACzF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,iBAAS,iBAAiB,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAetC;AAMD,KAAK,sBAAsB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAEjF,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAavF;AAMD,KAAK,mBAAmB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAE3E,iBAAS,cAAc,CAAC,EACtB,KAAe,EACf,WAAgB,EAChB,SAAS,EACT,UAAc,EACd,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAgBnC;AAMD,UAAU,gBAAiB,SAAQ,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACrC;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAa3F;AAMD,KAAK,wBAAwB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;AAErF,iBAAS,mBAAmB,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAmBxC;AAMD,KAAK,qBAAqB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAE/E,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAkB/F;AAMD,UAAU,iBAAkB,SAAQ,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAYpF;AAMD,KAAK,qBAAqB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAE/E,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAQrF;AAMD,KAAK,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAEnD,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAWnF;AAMD,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAEvE,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAQ7E;AAMD,OAAO,EACL,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,CAAC;AACF,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../src/components/menubar.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { cn } from "@codefast/tailwind-variants";
3
+ import { cn } from "#lib/utils";
4
4
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
5
5
  import { CheckIcon, ChevronRightIcon, DotIcon } from "lucide-react";
6
6
  function Menubar({ className, ...props }) {
7
- return (_jsx(MenubarPrimitive.Root, { className: cn("flex items-center space-x-1 rounded-lg border bg-background p-1", className), "data-slot": "menubar", ...props }));
7
+ return (_jsx(MenubarPrimitive.Root, { className: cn("flex items-center space-x-1", "p-1", "rounded-lg border", "bg-background", className), "data-slot": "menubar", ...props }));
8
8
  }
9
9
  function MenubarMenu({ ...props }) {
10
10
  return _jsx(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
@@ -19,34 +19,34 @@ function MenubarRadioGroup({ ...props }) {
19
19
  return _jsx(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
20
20
  }
21
21
  function MenubarTrigger({ className, ...props }) {
22
- return (_jsx(MenubarPrimitive.Trigger, { className: cn("flex items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm font-medium outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground", className), "data-slot": "menubar-trigger", ...props }));
22
+ return (_jsx(MenubarPrimitive.Trigger, { className: cn("flex items-center gap-x-2", "px-2 py-1.5", "rounded-sm outline-hidden", "text-sm font-medium", "select-none", "focus:bg-accent focus:text-accent-foreground", "data-open:bg-accent data-open:text-accent-foreground", className), "data-slot": "menubar-trigger", ...props }));
23
23
  }
24
24
  function MenubarSubTrigger({ children, className, inset, ...props }) {
25
- return (_jsxs(MenubarPrimitive.SubTrigger, { className: cn("flex cursor-default items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground", className), "data-inset": inset, "data-slot": "menubar-sub-trigger", ...props, children: [children, _jsx(ChevronRightIcon, { className: "ml-auto size-4" })] }));
25
+ return (_jsxs(MenubarPrimitive.SubTrigger, { className: cn("flex items-center gap-x-2", "px-2 py-1.5", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "data-inset:pl-8", "data-open:bg-accent data-open:text-accent-foreground", className), "data-inset": inset, "data-slot": "menubar-sub-trigger", ...props, children: [children, _jsx(ChevronRightIcon, { className: cn("size-4", "ml-auto") })] }));
26
26
  }
27
27
  function MenubarSubContent({ className, ...props }) {
28
- return (_jsx(MenubarPrimitive.Portal, { children: _jsx(MenubarPrimitive.SubContent, { className: cn("z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg ease-ui data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=top]:slide-in-from-bottom-2", className), "data-slot": "menubar-sub-content", ...props }) }));
28
+ return (_jsx(MenubarPrimitive.Portal, { children: _jsx(MenubarPrimitive.SubContent, { className: cn("z-50", "min-w-32 overflow-hidden p-1", "rounded-lg border", "bg-popover text-popover-foreground shadow-lg", "ease-ui data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-open:data-side-top:slide-in-from-bottom-2", "data-open:data-side-right:slide-in-from-left-2", "data-open:data-side-bottom:slide-in-from-top-2", "data-open:data-side-left:slide-in-from-right-2", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", "data-closed:data-side-top:slide-out-to-bottom-2", "data-closed:data-side-right:slide-out-to-left-2", "data-closed:data-side-bottom:slide-out-to-top-2", "data-closed:data-side-left:slide-out-to-right-2", "origin-(--radix-menubar-content-transform-origin)", className), "data-slot": "menubar-sub-content", ...props }) }));
29
29
  }
30
30
  function MenubarContent({ align = "start", alignOffset = -4, className, sideOffset = 4, ...props }) {
31
- return (_jsx(MenubarPrimitive.Portal, { children: _jsx(MenubarPrimitive.Content, { align: align, alignOffset: alignOffset, className: cn("z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg ease-ui data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=top]:slide-in-from-bottom-2", className), "data-slot": "menubar-content", sideOffset: sideOffset, ...props }) }));
31
+ return (_jsx(MenubarPrimitive.Portal, { children: _jsx(MenubarPrimitive.Content, { align: align, alignOffset: alignOffset, className: cn("z-50", "min-w-32 overflow-hidden p-1", "rounded-lg border", "bg-popover text-popover-foreground shadow-lg", "ease-ui data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-open:data-side-top:slide-in-from-bottom-2", "data-open:data-side-right:slide-in-from-left-2", "data-open:data-side-bottom:slide-in-from-top-2", "data-open:data-side-left:slide-in-from-right-2", "origin-(--radix-menubar-content-transform-origin)", className), "data-slot": "menubar-content", sideOffset: sideOffset, ...props }) }));
32
32
  }
33
33
  function MenubarItem({ className, inset, variant, ...props }) {
34
- return (_jsx(MenubarPrimitive.Item, { className: cn("group/menubar-item relative flex cursor-default items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground aria-disabled:opacity-50 data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80", className), "data-inset": inset, "data-slot": "menubar-item", "data-variant": variant, ...props }));
34
+ return (_jsx(MenubarPrimitive.Item, { className: cn("group/menubar-item relative flex items-center gap-x-2", "px-2 py-1.5", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "aria-disabled:opacity-50", "data-inset:pl-8", "data-[variant=destructive]:text-destructive", "data-[variant=destructive]:focus:bg-destructive/10", "dark:data-[variant=destructive]:focus:bg-destructive/20", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4", "[&_svg:not([class*='text-'])]:text-muted-foreground", "data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80", className), "data-inset": inset, "data-slot": "menubar-item", "data-variant": variant, ...props }));
35
35
  }
36
36
  function MenubarCheckboxItem({ checked, children, className, ...props }) {
37
- return (_jsxs(MenubarPrimitive.CheckboxItem, { checked: checked, className: cn("group/menubar-item relative flex cursor-default items-center gap-x-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground aria-disabled:opacity-50 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), "data-slot": "menubar-checkbox-item", ...props, children: [_jsx("span", { className: "absolute left-2 flex items-center justify-center", children: _jsx(MenubarPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "size-4" }) }) }), children] }));
37
+ return (_jsxs(MenubarPrimitive.CheckboxItem, { checked: checked, className: cn("group/menubar-item relative flex items-center gap-x-2", "py-1.5 pr-2 pl-8", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "aria-disabled:opacity-50", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4", className), "data-slot": "menubar-checkbox-item", ...props, children: [_jsx("span", { className: cn("absolute flex items-center justify-center", "left-2"), children: _jsx(MenubarPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "size-4" }) }) }), children] }));
38
38
  }
39
39
  function MenubarRadioItem({ children, className, ...props }) {
40
- return (_jsxs(MenubarPrimitive.RadioItem, { className: cn("group/menubar-item relative flex cursor-default items-center gap-x-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground aria-disabled:opacity-50 [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), "data-slot": "menubar-radio-item", ...props, children: [_jsx("span", { className: "absolute left-2 flex items-center justify-center", children: _jsx(MenubarPrimitive.ItemIndicator, { children: _jsx(DotIcon, { className: "size-4 fill-current" }) }) }), children] }));
40
+ return (_jsxs(MenubarPrimitive.RadioItem, { className: cn("group/menubar-item relative flex items-center gap-x-2", "py-1.5 pr-2 pl-8", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "aria-disabled:opacity-50", "[&_svg]:shrink-0", "[&_svg:not([class*='size-'])]:size-4", className), "data-slot": "menubar-radio-item", ...props, children: [_jsx("span", { className: cn("absolute flex items-center justify-center", "left-2"), children: _jsx(MenubarPrimitive.ItemIndicator, { children: _jsx(DotIcon, { className: cn("size-4", "fill-current") }) }) }), children] }));
41
41
  }
42
42
  function MenubarLabel({ className, inset, ...props }) {
43
- return (_jsx(MenubarPrimitive.Label, { className: cn("flex items-center gap-x-2 px-2 py-1.5 text-sm font-semibold data-inset:pl-8", className), "data-inset": inset, "data-slot": "menubar-label", ...props }));
43
+ return (_jsx(MenubarPrimitive.Label, { className: cn("flex items-center gap-x-2", "px-2 py-1.5", "text-sm font-semibold", "data-inset:pl-8", className), "data-inset": inset, "data-slot": "menubar-label", ...props }));
44
44
  }
45
45
  function MenubarSeparator({ className, ...props }) {
46
- return (_jsx(MenubarPrimitive.Separator, { className: cn("mx-2 my-1 h-px bg-border", className), "data-slot": "menubar-separator", ...props }));
46
+ return (_jsx(MenubarPrimitive.Separator, { className: cn("mx-2 my-1 h-px", "bg-border", className), "data-slot": "menubar-separator", ...props }));
47
47
  }
48
48
  function MenubarShortcut({ className, ...props }) {
49
- return (_jsx("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-data-[variant=destructive]/menubar-item:text-destructive/80", className), "data-slot": "menubar-shortcut", ...props }));
49
+ return (_jsx("span", { className: cn("ml-auto", "text-xs tracking-widest text-muted-foreground", "group-data-[variant=destructive]/menubar-item:text-destructive/80", className), "data-slot": "menubar-shortcut", ...props }));
50
50
  }
51
51
  function MenubarArrow({ className, ...props }) {
52
52
  return (_jsx(MenubarPrimitive.Arrow, { className: cn("fill-popover", className), "data-slot": "menubar-arrow", ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"native-select.d.ts","sourceRoot":"","sources":["../../src/components/native-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AASjD,KAAK,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAElD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAuB7E;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAExD,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAE9E;AAMD,KAAK,yBAAyB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAE5D,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,yBAAyB,GAAG,GAAG,CAAC,OAAO,CAE7F;AAMD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"native-select.d.ts","sourceRoot":"","sources":["../../src/components/native-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AASjD,KAAK,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAElD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAsC7E;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAExD,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAE9E;AAMD,KAAK,yBAAyB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AAE5D,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,yBAAyB,GAAG,GAAG,CAAC,OAAO,CAE7F;AAMD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from "@codefast/tailwind-variants";
2
+ import { cn } from "#lib/utils";
3
3
  import { ChevronDownIcon } from "lucide-react";
4
4
  function NativeSelect({ className, ...props }) {
5
- return (_jsxs("div", { className: "group/native-select relative w-fit has-[select:disabled]:opacity-50", "data-slot": "native-select-wrapper", children: [_jsx("select", { className: cn("h-9 w-full min-w-0 appearance-none rounded-lg border border-input bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed dark:bg-input/30 dark:hover:bg-input/50", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", className), "data-slot": "native-select", ...props }), _jsx(ChevronDownIcon, { "aria-hidden": "true", className: "pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 text-muted-foreground opacity-50 select-none", "data-slot": "native-select-icon" })] }));
5
+ return (_jsxs("div", { className: cn("group/native-select relative", "w-fit", "has-[select:disabled]:opacity-50"), "data-slot": "native-select-wrapper", children: [_jsx("select", { className: cn("h-9 w-full min-w-0 px-3 py-2 pr-9", "rounded-lg border border-input", "bg-transparent shadow-xs outline-none", "text-sm", "appearance-none transition-[color,box-shadow]", "selection:bg-primary selection:text-primary-foreground", "placeholder:text-muted-foreground", "disabled:pointer-events-none disabled:cursor-not-allowed", "dark:bg-input/30", "dark:hover:bg-input/50", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "dark:aria-invalid:ring-destructive/40", className), "data-slot": "native-select", ...props }), _jsx(ChevronDownIcon, { "aria-hidden": "true", className: cn("absolute top-1/2 right-3.5", "size-4 text-muted-foreground", "-translate-y-1/2 opacity-50", "pointer-events-none select-none"), "data-slot": "native-select-icon" })] }));
6
6
  }
7
7
  function NativeSelectOption({ ...props }) {
8
8
  return _jsx("option", { "data-slot": "native-select-option", ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-menu.d.ts","sourceRoot":"","sources":["../../src/components/navigation-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAS3E,QAAA,MAAM,6BAA6B,6IAMjC,CAAC;AAMH,UAAU,mBAAoB,SAAQ,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC;IACvF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,QAAe,EACf,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAenC;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAEnF,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAWvC;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAEnF,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAQzF;AAMD,KAAK,0BAA0B,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEzF,iBAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAc1C;AAMD,KAAK,0BAA0B,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEzF,iBAAS,qBAAqB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAW/F;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAEnF,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAWzF;AAmDD,OAAO,EAAE,6BAA6B,EAAE,CAAC;AACzC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,CAAC;AAEF,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,GAC3B,CAAC"}
1
+ {"version":3,"file":"navigation-menu.d.ts","sourceRoot":"","sources":["../../src/components/navigation-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,uBAAuB,MAAM,iCAAiC,CAAC;AAS3E,QAAA,MAAM,6BAA6B,6IAMjC,CAAC;AAMH,UAAU,mBAAoB,SAAQ,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC;IACvF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,QAAe,EACf,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAenC;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAEnF,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAWvC;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAEnF,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAQzF;AAMD,KAAK,0BAA0B,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEzF,iBAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAmB1C;AAMD,KAAK,0BAA0B,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEzF,iBAAS,qBAAqB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAuB/F;AAMD,KAAK,uBAAuB,GAAG,cAAc,CAAC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAEnF,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAwBzF;AAqED,OAAO,EAAE,6BAA6B,EAAE,CAAC;AACzC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,CAAC;AAEF,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,GAC3B,CAAC"}