@asevenid/ui 0.1.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 (314) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +105 -0
  3. package/dist/components/primitives/accordion.d.ts +10 -0
  4. package/dist/components/primitives/accordion.d.ts.map +1 -0
  5. package/dist/components/primitives/accordion.js +37 -0
  6. package/dist/components/primitives/accordion.js.map +1 -0
  7. package/dist/components/primitives/alert-dialog.d.ts +9 -0
  8. package/dist/components/primitives/alert-dialog.d.ts.map +1 -0
  9. package/dist/components/primitives/alert-dialog.js +58 -0
  10. package/dist/components/primitives/alert-dialog.js.map +1 -0
  11. package/dist/components/primitives/alert.d.ts +12 -0
  12. package/dist/components/primitives/alert.d.ts.map +1 -0
  13. package/dist/components/primitives/alert.js +32 -0
  14. package/dist/components/primitives/alert.js.map +1 -0
  15. package/dist/components/primitives/avatar.d.ts +20 -0
  16. package/dist/components/primitives/avatar.d.ts.map +1 -0
  17. package/dist/components/primitives/avatar.js +55 -0
  18. package/dist/components/primitives/avatar.js.map +1 -0
  19. package/dist/components/primitives/badge.d.ts +14 -0
  20. package/dist/components/primitives/badge.d.ts.map +1 -0
  21. package/dist/components/primitives/badge.js +42 -0
  22. package/dist/components/primitives/badge.js.map +1 -0
  23. package/dist/components/primitives/button.d.ts +7 -0
  24. package/dist/components/primitives/button.d.ts.map +1 -0
  25. package/dist/components/primitives/button.js +52 -0
  26. package/dist/components/primitives/button.js.map +1 -0
  27. package/dist/components/primitives/calendar.d.ts +7 -0
  28. package/dist/components/primitives/calendar.d.ts.map +1 -0
  29. package/dist/components/primitives/calendar.js +32 -0
  30. package/dist/components/primitives/calendar.js.map +1 -0
  31. package/dist/components/primitives/card.d.ts +14 -0
  32. package/dist/components/primitives/card.d.ts.map +1 -0
  33. package/dist/components/primitives/card.js +29 -0
  34. package/dist/components/primitives/card.js.map +1 -0
  35. package/dist/components/primitives/checkbox.d.ts +7 -0
  36. package/dist/components/primitives/checkbox.d.ts.map +1 -0
  37. package/dist/components/primitives/checkbox.js +51 -0
  38. package/dist/components/primitives/checkbox.js.map +1 -0
  39. package/dist/components/primitives/color-picker.d.ts +23 -0
  40. package/dist/components/primitives/color-picker.d.ts.map +1 -0
  41. package/dist/components/primitives/color-picker.js +128 -0
  42. package/dist/components/primitives/color-picker.js.map +1 -0
  43. package/dist/components/primitives/combobox.d.ts +17 -0
  44. package/dist/components/primitives/combobox.d.ts.map +1 -0
  45. package/dist/components/primitives/combobox.js +106 -0
  46. package/dist/components/primitives/combobox.js.map +1 -0
  47. package/dist/components/primitives/date-picker.d.ts +21 -0
  48. package/dist/components/primitives/date-picker.d.ts.map +1 -0
  49. package/dist/components/primitives/date-picker.js +81 -0
  50. package/dist/components/primitives/date-picker.js.map +1 -0
  51. package/dist/components/primitives/date-range-picker.d.ts +16 -0
  52. package/dist/components/primitives/date-range-picker.d.ts.map +1 -0
  53. package/dist/components/primitives/date-range-picker.js +51 -0
  54. package/dist/components/primitives/date-range-picker.js.map +1 -0
  55. package/dist/components/primitives/dialog.d.ts +8 -0
  56. package/dist/components/primitives/dialog.d.ts.map +1 -0
  57. package/dist/components/primitives/dialog.js +46 -0
  58. package/dist/components/primitives/dialog.js.map +1 -0
  59. package/dist/components/primitives/drawer.d.ts +2 -0
  60. package/dist/components/primitives/drawer.d.ts.map +1 -0
  61. package/dist/components/primitives/field.d.ts +19 -0
  62. package/dist/components/primitives/field.d.ts.map +1 -0
  63. package/dist/components/primitives/field.js +55 -0
  64. package/dist/components/primitives/field.js.map +1 -0
  65. package/dist/components/primitives/input-group.d.ts +11 -0
  66. package/dist/components/primitives/input-group.d.ts.map +1 -0
  67. package/dist/components/primitives/input-group.js +32 -0
  68. package/dist/components/primitives/input-group.js.map +1 -0
  69. package/dist/components/primitives/input.d.ts +7 -0
  70. package/dist/components/primitives/input.d.ts.map +1 -0
  71. package/dist/components/primitives/input.js +18 -0
  72. package/dist/components/primitives/input.js.map +1 -0
  73. package/dist/components/primitives/kbd.d.ts +13 -0
  74. package/dist/components/primitives/kbd.d.ts.map +1 -0
  75. package/dist/components/primitives/kbd.js +18 -0
  76. package/dist/components/primitives/kbd.js.map +1 -0
  77. package/dist/components/primitives/label.d.ts +7 -0
  78. package/dist/components/primitives/label.d.ts.map +1 -0
  79. package/dist/components/primitives/label.js +21 -0
  80. package/dist/components/primitives/label.js.map +1 -0
  81. package/dist/components/primitives/pagination.d.ts +12 -0
  82. package/dist/components/primitives/pagination.d.ts.map +1 -0
  83. package/dist/components/primitives/pagination.js +92 -0
  84. package/dist/components/primitives/pagination.js.map +1 -0
  85. package/dist/components/primitives/radio-group.d.ts +9 -0
  86. package/dist/components/primitives/radio-group.d.ts.map +1 -0
  87. package/dist/components/primitives/radio-group.js +36 -0
  88. package/dist/components/primitives/radio-group.js.map +1 -0
  89. package/dist/components/primitives/select.d.ts +7 -0
  90. package/dist/components/primitives/select.d.ts.map +1 -0
  91. package/dist/components/primitives/select.js +31 -0
  92. package/dist/components/primitives/select.js.map +1 -0
  93. package/dist/components/primitives/sheet.d.ts +2 -0
  94. package/dist/components/primitives/sheet.d.ts.map +1 -0
  95. package/dist/components/primitives/skeleton.d.ts +5 -0
  96. package/dist/components/primitives/skeleton.d.ts.map +1 -0
  97. package/dist/components/primitives/skeleton.js +15 -0
  98. package/dist/components/primitives/skeleton.js.map +1 -0
  99. package/dist/components/primitives/slider.d.ts +10 -0
  100. package/dist/components/primitives/slider.d.ts.map +1 -0
  101. package/dist/components/primitives/slider.js +91 -0
  102. package/dist/components/primitives/slider.js.map +1 -0
  103. package/dist/components/primitives/sonner.d.ts +5 -0
  104. package/dist/components/primitives/sonner.d.ts.map +1 -0
  105. package/dist/components/primitives/sonner.js +50 -0
  106. package/dist/components/primitives/sonner.js.map +1 -0
  107. package/dist/components/primitives/switch.d.ts +7 -0
  108. package/dist/components/primitives/switch.d.ts.map +1 -0
  109. package/dist/components/primitives/switch.js +22 -0
  110. package/dist/components/primitives/switch.js.map +1 -0
  111. package/dist/components/primitives/table.d.ts +10 -0
  112. package/dist/components/primitives/table.d.ts.map +1 -0
  113. package/dist/components/primitives/table.js +74 -0
  114. package/dist/components/primitives/table.js.map +1 -0
  115. package/dist/components/primitives/tabs.d.ts +6 -0
  116. package/dist/components/primitives/tabs.d.ts.map +1 -0
  117. package/dist/components/primitives/tabs.js +146 -0
  118. package/dist/components/primitives/tabs.js.map +1 -0
  119. package/dist/components/primitives/tag.d.ts +17 -0
  120. package/dist/components/primitives/tag.d.ts.map +1 -0
  121. package/dist/components/primitives/tag.js +71 -0
  122. package/dist/components/primitives/tag.js.map +1 -0
  123. package/dist/components/primitives/textarea.d.ts +7 -0
  124. package/dist/components/primitives/textarea.d.ts.map +1 -0
  125. package/dist/components/primitives/textarea.js +18 -0
  126. package/dist/components/primitives/textarea.js.map +1 -0
  127. package/dist/components/primitives/toggle-group.d.ts +9 -0
  128. package/dist/components/primitives/toggle-group.d.ts.map +1 -0
  129. package/dist/components/primitives/toggle-group.js +61 -0
  130. package/dist/components/primitives/toggle-group.js.map +1 -0
  131. package/dist/components/primitives/toggle.d.ts +7 -0
  132. package/dist/components/primitives/toggle.d.ts.map +1 -0
  133. package/dist/components/primitives/toggle.js +36 -0
  134. package/dist/components/primitives/toggle.js.map +1 -0
  135. package/dist/components/ui/accordion.d.ts +8 -0
  136. package/dist/components/ui/accordion.d.ts.map +1 -0
  137. package/dist/components/ui/accordion.js +67 -0
  138. package/dist/components/ui/accordion.js.map +1 -0
  139. package/dist/components/ui/alert-dialog.d.ts +19 -0
  140. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  141. package/dist/components/ui/alert-dialog.js +147 -0
  142. package/dist/components/ui/alert-dialog.js.map +1 -0
  143. package/dist/components/ui/alert.d.ts +10 -0
  144. package/dist/components/ui/alert.d.ts.map +1 -0
  145. package/dist/components/ui/alert.js +69 -0
  146. package/dist/components/ui/alert.js.map +1 -0
  147. package/dist/components/ui/avatar.d.ts +12 -0
  148. package/dist/components/ui/avatar.d.ts.map +1 -0
  149. package/dist/components/ui/avatar.js +106 -0
  150. package/dist/components/ui/avatar.js.map +1 -0
  151. package/dist/components/ui/badge.d.ts +10 -0
  152. package/dist/components/ui/badge.d.ts.map +1 -0
  153. package/dist/components/ui/badge.js +46 -0
  154. package/dist/components/ui/badge.js.map +1 -0
  155. package/dist/components/ui/breadcrumb.d.ts +12 -0
  156. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  157. package/dist/components/ui/breadcrumb.js +106 -0
  158. package/dist/components/ui/breadcrumb.js.map +1 -0
  159. package/dist/components/ui/button-group.d.ts +12 -0
  160. package/dist/components/ui/button-group.d.ts.map +1 -0
  161. package/dist/components/ui/button-group.js +78 -0
  162. package/dist/components/ui/button-group.js.map +1 -0
  163. package/dist/components/ui/button.d.ts +11 -0
  164. package/dist/components/ui/button.d.ts.map +1 -0
  165. package/dist/components/ui/button.js +59 -0
  166. package/dist/components/ui/button.js.map +1 -0
  167. package/dist/components/ui/calendar.d.ts +9 -0
  168. package/dist/components/ui/calendar.d.ts.map +1 -0
  169. package/dist/components/ui/calendar.js +175 -0
  170. package/dist/components/ui/calendar.js.map +1 -0
  171. package/dist/components/ui/card.d.ts +10 -0
  172. package/dist/components/ui/card.d.ts.map +1 -0
  173. package/dist/components/ui/card.js +93 -0
  174. package/dist/components/ui/card.js.map +1 -0
  175. package/dist/components/ui/checkbox.d.ts +5 -0
  176. package/dist/components/ui/checkbox.d.ts.map +1 -0
  177. package/dist/components/ui/combobox.d.ts +25 -0
  178. package/dist/components/ui/combobox.d.ts.map +1 -0
  179. package/dist/components/ui/combobox.js +246 -0
  180. package/dist/components/ui/combobox.js.map +1 -0
  181. package/dist/components/ui/dialog.d.ts +18 -0
  182. package/dist/components/ui/dialog.d.ts.map +1 -0
  183. package/dist/components/ui/dialog.js +125 -0
  184. package/dist/components/ui/dialog.js.map +1 -0
  185. package/dist/components/ui/drawer.d.ts +14 -0
  186. package/dist/components/ui/drawer.d.ts.map +1 -0
  187. package/dist/components/ui/drawer.js +131 -0
  188. package/dist/components/ui/drawer.js.map +1 -0
  189. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  190. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  191. package/dist/components/ui/dropdown-menu.js +234 -0
  192. package/dist/components/ui/dropdown-menu.js.map +1 -0
  193. package/dist/components/ui/field.d.ts +25 -0
  194. package/dist/components/ui/field.d.ts.map +1 -0
  195. package/dist/components/ui/field.js +223 -0
  196. package/dist/components/ui/field.js.map +1 -0
  197. package/dist/components/ui/input-group.d.ts +17 -0
  198. package/dist/components/ui/input-group.d.ts.map +1 -0
  199. package/dist/components/ui/input-group.js +136 -0
  200. package/dist/components/ui/input-group.js.map +1 -0
  201. package/dist/components/ui/input.d.ts +4 -0
  202. package/dist/components/ui/input.d.ts.map +1 -0
  203. package/dist/components/ui/input.js +24 -0
  204. package/dist/components/ui/input.js.map +1 -0
  205. package/dist/components/ui/kbd.d.ts +4 -0
  206. package/dist/components/ui/kbd.d.ts.map +1 -0
  207. package/dist/components/ui/kbd.js +33 -0
  208. package/dist/components/ui/kbd.js.map +1 -0
  209. package/dist/components/ui/label.d.ts +5 -0
  210. package/dist/components/ui/label.d.ts.map +1 -0
  211. package/dist/components/ui/label.js +25 -0
  212. package/dist/components/ui/label.js.map +1 -0
  213. package/dist/components/ui/pagination.d.ts +14 -0
  214. package/dist/components/ui/pagination.d.ts.map +1 -0
  215. package/dist/components/ui/pagination.js +39 -0
  216. package/dist/components/ui/pagination.js.map +1 -0
  217. package/dist/components/ui/popover.d.ts +11 -0
  218. package/dist/components/ui/popover.d.ts.map +1 -0
  219. package/dist/components/ui/popover.js +83 -0
  220. package/dist/components/ui/popover.js.map +1 -0
  221. package/dist/components/ui/radio-group.d.ts +6 -0
  222. package/dist/components/ui/radio-group.d.ts.map +1 -0
  223. package/dist/components/ui/radio-group.js +48 -0
  224. package/dist/components/ui/radio-group.js.map +1 -0
  225. package/dist/components/ui/select.d.ts +16 -0
  226. package/dist/components/ui/select.d.ts.map +1 -0
  227. package/dist/components/ui/select.js +181 -0
  228. package/dist/components/ui/select.js.map +1 -0
  229. package/dist/components/ui/separator.d.ts +5 -0
  230. package/dist/components/ui/separator.d.ts.map +1 -0
  231. package/dist/components/ui/separator.js +29 -0
  232. package/dist/components/ui/separator.js.map +1 -0
  233. package/dist/components/ui/sheet.d.ts +15 -0
  234. package/dist/components/ui/sheet.d.ts.map +1 -0
  235. package/dist/components/ui/sheet.js +130 -0
  236. package/dist/components/ui/sheet.js.map +1 -0
  237. package/dist/components/ui/sidebar.d.ts +70 -0
  238. package/dist/components/ui/sidebar.d.ts.map +1 -0
  239. package/dist/components/ui/sidebar.js +599 -0
  240. package/dist/components/ui/sidebar.js.map +1 -0
  241. package/dist/components/ui/skeleton.d.ts +3 -0
  242. package/dist/components/ui/skeleton.d.ts.map +1 -0
  243. package/dist/components/ui/skeleton.js +17 -0
  244. package/dist/components/ui/skeleton.js.map +1 -0
  245. package/dist/components/ui/slider.d.ts +5 -0
  246. package/dist/components/ui/slider.d.ts.map +1 -0
  247. package/dist/components/ui/slider.js +65 -0
  248. package/dist/components/ui/slider.js.map +1 -0
  249. package/dist/components/ui/sonner.d.ts +4 -0
  250. package/dist/components/ui/sonner.d.ts.map +1 -0
  251. package/dist/components/ui/sonner.js +33 -0
  252. package/dist/components/ui/sonner.js.map +1 -0
  253. package/dist/components/ui/spinner.d.ts +3 -0
  254. package/dist/components/ui/spinner.d.ts.map +1 -0
  255. package/dist/components/ui/spinner.js +19 -0
  256. package/dist/components/ui/spinner.js.map +1 -0
  257. package/dist/components/ui/switch.d.ts +7 -0
  258. package/dist/components/ui/switch.d.ts.map +1 -0
  259. package/dist/components/ui/switch.js +36 -0
  260. package/dist/components/ui/switch.js.map +1 -0
  261. package/dist/components/ui/table.d.ts +11 -0
  262. package/dist/components/ui/table.d.ts.map +1 -0
  263. package/dist/components/ui/table.js +117 -0
  264. package/dist/components/ui/table.js.map +1 -0
  265. package/dist/components/ui/tabs.d.ts +12 -0
  266. package/dist/components/ui/tabs.d.ts.map +1 -0
  267. package/dist/components/ui/tabs.js +94 -0
  268. package/dist/components/ui/tabs.js.map +1 -0
  269. package/dist/components/ui/textarea.d.ts +4 -0
  270. package/dist/components/ui/textarea.d.ts.map +1 -0
  271. package/dist/components/ui/textarea.js +21 -0
  272. package/dist/components/ui/textarea.js.map +1 -0
  273. package/dist/components/ui/toggle-group.d.ts +10 -0
  274. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  275. package/dist/components/ui/toggle-group.js +71 -0
  276. package/dist/components/ui/toggle-group.js.map +1 -0
  277. package/dist/components/ui/toggle.d.ts +10 -0
  278. package/dist/components/ui/toggle.d.ts.map +1 -0
  279. package/dist/components/ui/toggle.js +46 -0
  280. package/dist/components/ui/toggle.js.map +1 -0
  281. package/dist/components/ui/tooltip.d.ts +8 -0
  282. package/dist/components/ui/tooltip.d.ts.map +1 -0
  283. package/dist/components/ui/tooltip.js +58 -0
  284. package/dist/components/ui/tooltip.js.map +1 -0
  285. package/dist/design-system/modes/options.d.ts +26 -0
  286. package/dist/design-system/modes/options.d.ts.map +1 -0
  287. package/dist/design-system/modes/options.js +61 -0
  288. package/dist/design-system/modes/options.js.map +1 -0
  289. package/dist/design-system/modes/runtime.d.ts +34 -0
  290. package/dist/design-system/modes/runtime.d.ts.map +1 -0
  291. package/dist/design-system/modes/runtime.js +195 -0
  292. package/dist/design-system/modes/runtime.js.map +1 -0
  293. package/dist/hooks/use-mobile.d.ts +2 -0
  294. package/dist/hooks/use-mobile.d.ts.map +1 -0
  295. package/dist/hooks/use-mobile.js +16 -0
  296. package/dist/hooks/use-mobile.js.map +1 -0
  297. package/dist/index.d.ts +51 -0
  298. package/dist/index.d.ts.map +1 -0
  299. package/dist/index.js +306 -0
  300. package/dist/index.js.map +1 -0
  301. package/dist/lib/constants.d.ts +2 -0
  302. package/dist/lib/constants.d.ts.map +1 -0
  303. package/dist/lib/cva.d.ts +2 -0
  304. package/dist/lib/cva.d.ts.map +1 -0
  305. package/dist/lib/generate-shades.d.ts +39 -0
  306. package/dist/lib/generate-shades.d.ts.map +1 -0
  307. package/dist/lib/generate-shades.js +220 -0
  308. package/dist/lib/generate-shades.js.map +1 -0
  309. package/dist/lib/utils.d.ts +3 -0
  310. package/dist/lib/utils.d.ts.map +1 -0
  311. package/dist/lib/utils.js +10 -0
  312. package/dist/lib/utils.js.map +1 -0
  313. package/dist/styles.css +2 -0
  314. package/package.json +106 -0
@@ -0,0 +1,175 @@
1
+ "use client";
2
+ import { jsx as n } from "react/jsx-runtime";
3
+ import * as m from "react";
4
+ import { ChevronLeftIcon as b, ChevronRightIcon as h, ChevronDownIcon as w } from "lucide-react";
5
+ import { getDefaultClassNames as p, DayPicker as _ } from "react-day-picker";
6
+ import { cn as e } from "../../lib/utils.js";
7
+ import { buttonVariants as f, Button as y } from "./button.js";
8
+ function j({
9
+ className: c,
10
+ classNames: i,
11
+ showOutsideDays: r = !0,
12
+ captionLayout: l = "label",
13
+ buttonVariant: s = "ghost",
14
+ formatters: u,
15
+ components: x,
16
+ ...g
17
+ }) {
18
+ const t = p();
19
+ return /* @__PURE__ */ n(
20
+ _,
21
+ {
22
+ showOutsideDays: r,
23
+ className: e(
24
+ "group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
25
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
26
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
27
+ c
28
+ ),
29
+ captionLayout: l,
30
+ formatters: {
31
+ formatMonthDropdown: (a) => a.toLocaleString("default", { month: "short" }),
32
+ ...u
33
+ },
34
+ classNames: {
35
+ root: e("w-fit", t.root),
36
+ months: e(
37
+ "relative flex flex-col gap-4 md:flex-row",
38
+ t.months
39
+ ),
40
+ month: e("flex w-full flex-col gap-4", t.month),
41
+ nav: e(
42
+ "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
43
+ t.nav
44
+ ),
45
+ button_previous: e(
46
+ f({ variant: s }),
47
+ "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
48
+ t.button_previous
49
+ ),
50
+ button_next: e(
51
+ f({ variant: s }),
52
+ "size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
53
+ t.button_next
54
+ ),
55
+ month_caption: e(
56
+ "flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",
57
+ t.month_caption
58
+ ),
59
+ dropdowns: e(
60
+ "flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",
61
+ t.dropdowns
62
+ ),
63
+ dropdown_root: e(
64
+ "relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50",
65
+ t.dropdown_root
66
+ ),
67
+ dropdown: e(
68
+ "absolute inset-0 bg-popover opacity-0",
69
+ t.dropdown
70
+ ),
71
+ caption_label: e(
72
+ "font-medium select-none",
73
+ l === "label" ? "text-sm" : "flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
74
+ t.caption_label
75
+ ),
76
+ table: "w-full border-collapse",
77
+ weekdays: e("flex", t.weekdays),
78
+ weekday: e(
79
+ "flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none",
80
+ t.weekday
81
+ ),
82
+ week: e("mt-2 flex w-full", t.week),
83
+ week_number_header: e(
84
+ "w-(--cell-size) select-none",
85
+ t.week_number_header
86
+ ),
87
+ week_number: e(
88
+ "text-[0.8rem] text-muted-foreground select-none",
89
+ t.week_number
90
+ ),
91
+ day: e(
92
+ "group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md",
93
+ g.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
94
+ t.day
95
+ ),
96
+ range_start: e(
97
+ "rounded-l-md bg-accent",
98
+ t.range_start
99
+ ),
100
+ range_middle: e("rounded-none", t.range_middle),
101
+ range_end: e("rounded-r-md bg-accent", t.range_end),
102
+ today: e(
103
+ "rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none",
104
+ t.today
105
+ ),
106
+ outside: e(
107
+ "text-muted-foreground aria-selected:text-muted-foreground",
108
+ t.outside
109
+ ),
110
+ disabled: e(
111
+ "text-muted-foreground opacity-50",
112
+ t.disabled
113
+ ),
114
+ hidden: e("invisible", t.hidden),
115
+ ...i
116
+ },
117
+ components: {
118
+ Root: ({ className: a, rootRef: d, ...o }) => /* @__PURE__ */ n(
119
+ "div",
120
+ {
121
+ "data-slot": "calendar",
122
+ ref: d,
123
+ className: e(a),
124
+ ...o
125
+ }
126
+ ),
127
+ Chevron: ({ className: a, orientation: d, ...o }) => d === "left" ? /* @__PURE__ */ n(b, { className: e("size-4", a), ...o }) : d === "right" ? /* @__PURE__ */ n(
128
+ h,
129
+ {
130
+ className: e("size-4", a),
131
+ ...o
132
+ }
133
+ ) : /* @__PURE__ */ n(w, { className: e("size-4", a), ...o }),
134
+ DayButton: v,
135
+ WeekNumber: ({ children: a, ...d }) => /* @__PURE__ */ n("td", { ...d, children: /* @__PURE__ */ n("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: a }) }),
136
+ ...x
137
+ },
138
+ ...g
139
+ }
140
+ );
141
+ }
142
+ function v({
143
+ className: c,
144
+ day: i,
145
+ modifiers: r,
146
+ ...l
147
+ }) {
148
+ const s = p(), u = m.useRef(null);
149
+ return m.useEffect(() => {
150
+ r.focused && u.current?.focus();
151
+ }, [r.focused]), /* @__PURE__ */ n(
152
+ y,
153
+ {
154
+ ref: u,
155
+ variant: "ghost",
156
+ size: "icon",
157
+ "data-day": i.date.toLocaleDateString(),
158
+ "data-selected-single": r.selected && !r.range_start && !r.range_end && !r.range_middle,
159
+ "data-range-start": r.range_start,
160
+ "data-range-end": r.range_end,
161
+ "data-range-middle": r.range_middle,
162
+ className: e(
163
+ "flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70",
164
+ s.day,
165
+ c
166
+ ),
167
+ ...l
168
+ }
169
+ );
170
+ }
171
+ export {
172
+ j as Calendar,
173
+ v as CalendarDayButton
174
+ };
175
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sources":["../../../src/components/ui/calendar.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"lucide-react\"\nimport {\n DayPicker,\n getDefaultClassNames,\n type DayButton,\n} from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button, buttonVariants } from \"@/components/ui/button\"\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"]\n}) {\n const defaultClassNames = getDefaultClassNames()\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\n \"relative flex flex-col gap-4 md:flex-row\",\n defaultClassNames.months\n ),\n month: cn(\"flex w-full flex-col gap-4\", defaultClassNames.month),\n nav: cn(\n \"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1\",\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_next\n ),\n month_caption: cn(\n \"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)\",\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n \"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium\",\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n \"relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50\",\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n \"absolute inset-0 bg-popover opacity-0\",\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n \"font-medium select-none\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground\",\n defaultClassNames.caption_label\n ),\n table: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none\",\n defaultClassNames.weekday\n ),\n week: cn(\"mt-2 flex w-full\", defaultClassNames.week),\n week_number_header: cn(\n \"w-(--cell-size) select-none\",\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n \"text-[0.8rem] text-muted-foreground select-none\",\n defaultClassNames.week_number\n ),\n day: cn(\n \"group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day\n ),\n range_start: cn(\n \"rounded-l-md bg-accent\",\n defaultClassNames.range_start\n ),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none\",\n defaultClassNames.today\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside\n ),\n disabled: cn(\n \"text-muted-foreground opacity-50\",\n defaultClassNames.disabled\n ),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n )\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n )\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(\"size-4\", className)}\n {...props}\n />\n )\n }\n\n return (\n <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n )\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n )\n },\n ...components,\n }}\n {...props}\n />\n )\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames()\n\n const ref = React.useRef<HTMLButtonElement>(null)\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus()\n }, [modifiers.focused])\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Calendar, CalendarDayButton }\n"],"names":["Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","getDefaultClassNames","jsx","DayPicker","cn","date","buttonVariants","rootRef","orientation","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","CalendarDayButton","children","day","modifiers","ref","React","Button"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
3
+ declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
+ declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
6
+ declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
+ declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
10
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWjE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQtE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ5E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAA"}
@@ -0,0 +1,93 @@
1
+ "use client";
2
+ import { jsx as a } from "react/jsx-runtime";
3
+ import "react";
4
+ import { cn as o } from "../../lib/utils.js";
5
+ function s({ className: t, ...r }) {
6
+ return /* @__PURE__ */ a(
7
+ "div",
8
+ {
9
+ "data-slot": "card",
10
+ className: o(
11
+ "flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",
12
+ t
13
+ ),
14
+ ...r
15
+ }
16
+ );
17
+ }
18
+ function c({ className: t, ...r }) {
19
+ return /* @__PURE__ */ a(
20
+ "div",
21
+ {
22
+ "data-slot": "card-header",
23
+ className: o(
24
+ "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
25
+ t
26
+ ),
27
+ ...r
28
+ }
29
+ );
30
+ }
31
+ function i({ className: t, ...r }) {
32
+ return /* @__PURE__ */ a(
33
+ "div",
34
+ {
35
+ "data-slot": "card-title",
36
+ className: o("leading-none font-semibold", t),
37
+ ...r
38
+ }
39
+ );
40
+ }
41
+ function l({ className: t, ...r }) {
42
+ return /* @__PURE__ */ a(
43
+ "div",
44
+ {
45
+ "data-slot": "card-description",
46
+ className: o("text-sm text-muted-foreground", t),
47
+ ...r
48
+ }
49
+ );
50
+ }
51
+ function u({ className: t, ...r }) {
52
+ return /* @__PURE__ */ a(
53
+ "div",
54
+ {
55
+ "data-slot": "card-action",
56
+ className: o(
57
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
58
+ t
59
+ ),
60
+ ...r
61
+ }
62
+ );
63
+ }
64
+ function f({ className: t, ...r }) {
65
+ return /* @__PURE__ */ a(
66
+ "div",
67
+ {
68
+ "data-slot": "card-content",
69
+ className: o("px-6", t),
70
+ ...r
71
+ }
72
+ );
73
+ }
74
+ function m({ className: t, ...r }) {
75
+ return /* @__PURE__ */ a(
76
+ "div",
77
+ {
78
+ "data-slot": "card-footer",
79
+ className: o("flex items-center px-6 [.border-t]:pt-6", t),
80
+ ...r
81
+ }
82
+ );
83
+ }
84
+ export {
85
+ s as Card,
86
+ u as CardAction,
87
+ f as CardContent,
88
+ l as CardDescription,
89
+ m as CardFooter,
90
+ c as CardHeader,
91
+ i as CardTitle
92
+ };
93
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sources":["../../../src/components/ui/card.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n"],"names":["Card","className","props","jsx","cn","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";;;;AAIA,SAASA,EAAK,EAAE,WAAAC,GAAW,GAAGC,KAAsC;AAClE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAJ,GAAW,GAAGC,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAU,EAAE,WAAAL,GAAW,GAAGC,KAAsC;AACvE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,8BAA8BH,CAAS;AAAA,MACpD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAgB,EAAE,WAAAN,GAAW,GAAGC,KAAsC;AAC7E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,iCAAiCH,CAAS;AAAA,MACvD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAW,EAAE,WAAAP,GAAW,GAAGC,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAY,EAAE,WAAAR,GAAW,GAAGC,KAAsC;AACzE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,QAAQH,CAAS;AAAA,MAC9B,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASQ,EAAW,EAAE,WAAAT,GAAW,GAAGC,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,2CAA2CH,CAAS;AAAA,MACjE,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,5 @@
1
+ import { Checkbox as CheckboxPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Checkbox };
5
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAIxD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAkBrD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { Combobox as ComboboxPrimitive } from '@base-ui/react';
2
+ import * as React from "react";
3
+ declare const Combobox: typeof ComboboxPrimitive.Root;
4
+ declare function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props): import("react/jsx-runtime").JSX.Element;
5
+ declare function ComboboxTrigger({ className, children, ...props }: ComboboxPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
6
+ declare function ComboboxInput({ className, children, disabled, showTrigger, showClear, ...props }: ComboboxPrimitive.Input.Props & {
7
+ showTrigger?: boolean;
8
+ showClear?: boolean;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ declare function ComboboxContent({ className, side, sideOffset, align, alignOffset, anchor, ...props }: ComboboxPrimitive.Popup.Props & Pick<ComboboxPrimitive.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): import("react/jsx-runtime").JSX.Element;
11
+ declare function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props): import("react/jsx-runtime").JSX.Element;
12
+ declare function ComboboxItem({ className, children, ...props }: ComboboxPrimitive.Item.Props): import("react/jsx-runtime").JSX.Element;
13
+ declare function ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
14
+ declare function ComboboxLabel({ className, ...props }: ComboboxPrimitive.GroupLabel.Props): import("react/jsx-runtime").JSX.Element;
15
+ declare function ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props): import("react/jsx-runtime").JSX.Element;
16
+ declare function ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props): import("react/jsx-runtime").JSX.Element;
17
+ declare function ComboboxSeparator({ className, ...props }: ComboboxPrimitive.Separator.Props): import("react/jsx-runtime").JSX.Element;
18
+ declare function ComboboxChips({ className, ...props }: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> & ComboboxPrimitive.Chips.Props): import("react/jsx-runtime").JSX.Element;
19
+ declare function ComboboxChip({ className, children, showRemove, ...props }: ComboboxPrimitive.Chip.Props & {
20
+ showRemove?: boolean;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ declare function ComboboxChipsInput({ className, children, ...props }: ComboboxPrimitive.Input.Props): import("react/jsx-runtime").JSX.Element;
23
+ declare function useComboboxAnchor(): React.RefObject<HTMLDivElement | null>;
24
+ export { Combobox, ComboboxInput, ComboboxContent, ComboboxList, ComboboxItem, ComboboxGroup, ComboboxLabel, ComboboxCollection, ComboboxEmpty, ComboboxSeparator, ComboboxChips, ComboboxChip, ComboboxChipsInput, ComboboxTrigger, ComboboxValue, useComboboxAnchor, };
25
+ //# sourceMappingURL=combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/combobox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ "use client";
2
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
3
+ import * as m from "react";
4
+ import { Combobox as a } from "@base-ui/react";
5
+ import { XIcon as p, CheckIcon as b, ChevronDownIcon as u } from "lucide-react";
6
+ import { cn as n } from "../../lib/utils.js";
7
+ import { Button as x } from "./button.js";
8
+ import "./input-group.js";
9
+ const y = a.Root;
10
+ function N({ ...o }) {
11
+ return /* @__PURE__ */ e(a.Value, { "data-slot": "combobox-value", ...o });
12
+ }
13
+ function z({
14
+ className: o,
15
+ children: t,
16
+ ...i
17
+ }) {
18
+ return /* @__PURE__ */ s(
19
+ a.Trigger,
20
+ {
21
+ "data-slot": "combobox-trigger",
22
+ className: n("[&_svg:not([class*='size-'])]:size-4", o),
23
+ ...i,
24
+ children: [
25
+ t,
26
+ /* @__PURE__ */ e(
27
+ u,
28
+ {
29
+ "data-slot": "combobox-trigger-icon",
30
+ className: "text-muted-foreground pointer-events-none size-4"
31
+ }
32
+ )
33
+ ]
34
+ }
35
+ );
36
+ }
37
+ function I({
38
+ className: o,
39
+ side: t = "bottom",
40
+ sideOffset: i = 6,
41
+ align: r = "start",
42
+ alignOffset: d = 0,
43
+ anchor: c,
44
+ ...l
45
+ }) {
46
+ return /* @__PURE__ */ e(a.Portal, { children: /* @__PURE__ */ e(
47
+ a.Positioner,
48
+ {
49
+ side: t,
50
+ sideOffset: i,
51
+ align: r,
52
+ alignOffset: d,
53
+ anchor: c,
54
+ className: "isolate z-50",
55
+ children: /* @__PURE__ */ e(
56
+ a.Popup,
57
+ {
58
+ "data-slot": "combobox-content",
59
+ "data-chips": !!c,
60
+ className: n(
61
+ "bg-popover text-popover-foreground 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 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 group/combobox-content relative max-h-96 w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-md shadow-md ring-1 duration-100 data-[chips=true]:min-w-(--anchor-width) *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none",
62
+ o
63
+ ),
64
+ ...l
65
+ }
66
+ )
67
+ }
68
+ ) });
69
+ }
70
+ function j({ className: o, ...t }) {
71
+ return /* @__PURE__ */ e(
72
+ a.List,
73
+ {
74
+ "data-slot": "combobox-list",
75
+ className: n(
76
+ "max-h-[min(calc(--spacing(96)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto p-1 data-empty:p-0",
77
+ o
78
+ ),
79
+ ...t
80
+ }
81
+ );
82
+ }
83
+ function k({
84
+ className: o,
85
+ children: t,
86
+ ...i
87
+ }) {
88
+ return /* @__PURE__ */ s(
89
+ a.Item,
90
+ {
91
+ "data-slot": "combobox-item",
92
+ className: n(
93
+ "data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
94
+ o
95
+ ),
96
+ ...i,
97
+ children: [
98
+ t,
99
+ /* @__PURE__ */ e(
100
+ a.ItemIndicator,
101
+ {
102
+ "data-slot": "combobox-item-indicator",
103
+ render: /* @__PURE__ */ e("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
104
+ children: /* @__PURE__ */ e(b, { className: "pointer-events-none size-4 pointer-coarse:size-5" })
105
+ }
106
+ )
107
+ ]
108
+ }
109
+ );
110
+ }
111
+ function L({ className: o, ...t }) {
112
+ return /* @__PURE__ */ e(
113
+ a.Group,
114
+ {
115
+ "data-slot": "combobox-group",
116
+ className: n(o),
117
+ ...t
118
+ }
119
+ );
120
+ }
121
+ function R({
122
+ className: o,
123
+ ...t
124
+ }) {
125
+ return /* @__PURE__ */ e(
126
+ a.GroupLabel,
127
+ {
128
+ "data-slot": "combobox-label",
129
+ className: n(
130
+ "text-muted-foreground px-2 py-1.5 text-xs pointer-coarse:px-3 pointer-coarse:py-2 pointer-coarse:text-sm",
131
+ o
132
+ ),
133
+ ...t
134
+ }
135
+ );
136
+ }
137
+ function _({ ...o }) {
138
+ return /* @__PURE__ */ e(a.Collection, { "data-slot": "combobox-collection", ...o });
139
+ }
140
+ function G({ className: o, ...t }) {
141
+ return /* @__PURE__ */ e(
142
+ a.Empty,
143
+ {
144
+ "data-slot": "combobox-empty",
145
+ className: n(
146
+ "text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex",
147
+ o
148
+ ),
149
+ ...t
150
+ }
151
+ );
152
+ }
153
+ function P({
154
+ className: o,
155
+ ...t
156
+ }) {
157
+ return /* @__PURE__ */ e(
158
+ a.Separator,
159
+ {
160
+ "data-slot": "combobox-separator",
161
+ className: n("bg-border -mx-1 my-1 h-px", o),
162
+ ...t
163
+ }
164
+ );
165
+ }
166
+ function E({
167
+ className: o,
168
+ ...t
169
+ }) {
170
+ return /* @__PURE__ */ e(
171
+ a.Chips,
172
+ {
173
+ "data-slot": "combobox-chips",
174
+ className: n(
175
+ "dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5",
176
+ o
177
+ ),
178
+ ...t
179
+ }
180
+ );
181
+ }
182
+ function S({
183
+ className: o,
184
+ children: t,
185
+ showRemove: i = !0,
186
+ ...r
187
+ }) {
188
+ return /* @__PURE__ */ s(
189
+ a.Chip,
190
+ {
191
+ "data-slot": "combobox-chip",
192
+ className: n(
193
+ "bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0",
194
+ o
195
+ ),
196
+ ...r,
197
+ children: [
198
+ t,
199
+ i && /* @__PURE__ */ e(
200
+ a.ChipRemove,
201
+ {
202
+ render: /* @__PURE__ */ e(x, { variant: "ghost", size: "icon-xs" }),
203
+ className: "-ml-1 opacity-50 hover:opacity-100",
204
+ "data-slot": "combobox-chip-remove",
205
+ children: /* @__PURE__ */ e(p, { className: "pointer-events-none" })
206
+ }
207
+ )
208
+ ]
209
+ }
210
+ );
211
+ }
212
+ function T({
213
+ className: o,
214
+ children: t,
215
+ ...i
216
+ }) {
217
+ return /* @__PURE__ */ e(
218
+ a.Input,
219
+ {
220
+ "data-slot": "combobox-chip-input",
221
+ className: n("min-w-16 flex-1 outline-none", o),
222
+ ...i
223
+ }
224
+ );
225
+ }
226
+ function V() {
227
+ return m.useRef(null);
228
+ }
229
+ export {
230
+ y as Combobox,
231
+ S as ComboboxChip,
232
+ E as ComboboxChips,
233
+ T as ComboboxChipsInput,
234
+ _ as ComboboxCollection,
235
+ I as ComboboxContent,
236
+ G as ComboboxEmpty,
237
+ L as ComboboxGroup,
238
+ k as ComboboxItem,
239
+ R as ComboboxLabel,
240
+ j as ComboboxList,
241
+ P as ComboboxSeparator,
242
+ z as ComboboxTrigger,
243
+ N as ComboboxValue,
244
+ V as useComboboxAnchor
245
+ };
246
+ //# sourceMappingURL=combobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.js","sources":["../../../src/components/ui/combobox.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\"\nimport { CheckIcon, ChevronDownIcon, XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@/components/ui/input-group\"\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n <ChevronDownIcon\n data-slot=\"combobox-trigger-icon\"\n className=\"text-muted-foreground pointer-events-none size-4\"\n />\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n showTrigger = true,\n showClear = false,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean\n showClear?: boolean\n}) {\n return (\n <InputGroup className={cn(\"w-auto\", className)}>\n <ComboboxPrimitive.Input\n render={<InputGroupInput disabled={disabled} />}\n {...props}\n />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n asChild\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n >\n <ComboboxTrigger />\n </InputGroupButton>\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n return (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\n \"bg-popover text-popover-foreground 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 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 group/combobox-content relative max-h-96 w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-md shadow-md ring-1 duration-100 data-[chips=true]:min-w-(--anchor-width) *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none\",\n className\n )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n \"max-h-[min(calc(--spacing(96)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto p-1 data-empty:p-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n data-slot=\"combobox-item-indicator\"\n render={\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />\n }\n >\n <CheckIcon className=\"pointer-events-none size-4 pointer-coarse:size-5\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n <ComboboxPrimitive.Group\n data-slot=\"combobox-group\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn(\n \"text-muted-foreground px-2 py-1.5 text-xs pointer-coarse:px-3 pointer-coarse:py-2 pointer-coarse:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n )\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n \"text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({\n className,\n ...props\n}: ComboboxPrimitive.Separator.Props) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({\n className,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\n \"dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxChip({\n className,\n children,\n showRemove = true,\n ...props\n}: ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n \"bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0\",\n className\n )}\n {...props}\n >\n {children}\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Input.Props) {\n return (\n <ComboboxPrimitive.Input\n data-slot=\"combobox-chip-input\"\n className={cn(\"min-w-16 flex-1 outline-none\", className)}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxInput,\n ComboboxContent,\n ComboboxList,\n ComboboxItem,\n ComboboxGroup,\n ComboboxLabel,\n ComboboxCollection,\n ComboboxEmpty,\n ComboboxSeparator,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor,\n}\n"],"names":["Combobox","ComboboxPrimitive","ComboboxValue","props","ComboboxTrigger","className","children","jsxs","cn","jsx","ChevronDownIcon","ComboboxContent","side","sideOffset","align","alignOffset","anchor","ComboboxList","ComboboxItem","CheckIcon","ComboboxGroup","ComboboxLabel","ComboboxCollection","ComboboxEmpty","ComboboxSeparator","ComboboxChips","ComboboxChip","showRemove","Button","XIcon","ComboboxChipsInput","useComboboxAnchor","React"],"mappings":"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"}