ml-uikit 1.1.7 → 1.1.8

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 (285) hide show
  1. package/dist/components/ui/password-input.d.ts +9 -0
  2. package/dist/components/ui/password-input.d.ts.map +1 -0
  3. package/dist/components/ui/searchable-dropdown.d.ts +22 -0
  4. package/dist/components/ui/searchable-dropdown.d.ts.map +1 -0
  5. package/dist/components/ui/table.d.ts +5 -1
  6. package/dist/components/ui/table.d.ts.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.cjs10.js +1 -1
  9. package/dist/index.cjs10.js.map +1 -1
  10. package/dist/index.cjs11.js +1 -1
  11. package/dist/index.cjs11.js.map +1 -1
  12. package/dist/index.cjs12.js +1 -1
  13. package/dist/index.cjs12.js.map +1 -1
  14. package/dist/index.cjs13.js +1 -1
  15. package/dist/index.cjs13.js.map +1 -1
  16. package/dist/index.cjs14.js +1 -1
  17. package/dist/index.cjs14.js.map +1 -1
  18. package/dist/index.cjs15.js +1 -1
  19. package/dist/index.cjs15.js.map +1 -1
  20. package/dist/index.cjs16.js +4 -4
  21. package/dist/index.cjs16.js.map +1 -1
  22. package/dist/index.cjs17.js +1 -1
  23. package/dist/index.cjs17.js.map +1 -1
  24. package/dist/index.cjs19.js +1 -1
  25. package/dist/index.cjs19.js.map +1 -1
  26. package/dist/index.cjs2.js +1 -1
  27. package/dist/index.cjs2.js.map +1 -1
  28. package/dist/index.cjs20.js +1 -1
  29. package/dist/index.cjs20.js.map +1 -1
  30. package/dist/index.cjs21.js +1 -1
  31. package/dist/index.cjs21.js.map +1 -1
  32. package/dist/index.cjs22.js +1 -1
  33. package/dist/index.cjs22.js.map +1 -1
  34. package/dist/index.cjs23.js +1 -1
  35. package/dist/index.cjs23.js.map +1 -1
  36. package/dist/index.cjs24.js +1 -1
  37. package/dist/index.cjs24.js.map +1 -1
  38. package/dist/index.cjs25.js +1 -1
  39. package/dist/index.cjs25.js.map +1 -1
  40. package/dist/index.cjs26.js +1 -1
  41. package/dist/index.cjs26.js.map +1 -1
  42. package/dist/index.cjs27.js +1 -1
  43. package/dist/index.cjs27.js.map +1 -1
  44. package/dist/index.cjs28.js +1 -1
  45. package/dist/index.cjs28.js.map +1 -1
  46. package/dist/index.cjs29.js +1 -1
  47. package/dist/index.cjs29.js.map +1 -1
  48. package/dist/index.cjs3.js +1 -1
  49. package/dist/index.cjs3.js.map +1 -1
  50. package/dist/index.cjs30.js +1 -1
  51. package/dist/index.cjs30.js.map +1 -1
  52. package/dist/index.cjs31.js +1 -1
  53. package/dist/index.cjs31.js.map +1 -1
  54. package/dist/index.cjs32.js +1 -1
  55. package/dist/index.cjs32.js.map +1 -1
  56. package/dist/index.cjs33.js +1 -1
  57. package/dist/index.cjs33.js.map +1 -1
  58. package/dist/index.cjs34.js +1 -1
  59. package/dist/index.cjs34.js.map +1 -1
  60. package/dist/index.cjs35.js +1 -1
  61. package/dist/index.cjs35.js.map +1 -1
  62. package/dist/index.cjs36.js +1 -1
  63. package/dist/index.cjs36.js.map +1 -1
  64. package/dist/index.cjs37.js +1 -1
  65. package/dist/index.cjs37.js.map +1 -1
  66. package/dist/index.cjs38.js +1 -1
  67. package/dist/index.cjs38.js.map +1 -1
  68. package/dist/index.cjs39.js +1 -1
  69. package/dist/index.cjs39.js.map +1 -1
  70. package/dist/index.cjs4.js +1 -1
  71. package/dist/index.cjs4.js.map +1 -1
  72. package/dist/index.cjs40.js +1 -1
  73. package/dist/index.cjs40.js.map +1 -1
  74. package/dist/index.cjs41.js +1 -1
  75. package/dist/index.cjs41.js.map +1 -1
  76. package/dist/index.cjs42.js +1 -1
  77. package/dist/index.cjs42.js.map +1 -1
  78. package/dist/index.cjs43.js +1 -1
  79. package/dist/index.cjs43.js.map +1 -1
  80. package/dist/index.cjs44.js +1 -1
  81. package/dist/index.cjs44.js.map +1 -1
  82. package/dist/index.cjs45.js +1 -1
  83. package/dist/index.cjs45.js.map +1 -1
  84. package/dist/index.cjs46.js +1 -1
  85. package/dist/index.cjs46.js.map +1 -1
  86. package/dist/index.cjs47.js +1 -1
  87. package/dist/index.cjs47.js.map +1 -1
  88. package/dist/index.cjs48.js +1 -1
  89. package/dist/index.cjs48.js.map +1 -1
  90. package/dist/index.cjs49.js +1 -1
  91. package/dist/index.cjs49.js.map +1 -1
  92. package/dist/index.cjs5.js +1 -1
  93. package/dist/index.cjs5.js.map +1 -1
  94. package/dist/index.cjs50.js +1 -1
  95. package/dist/index.cjs50.js.map +1 -1
  96. package/dist/index.cjs51.js +1 -1
  97. package/dist/index.cjs51.js.map +1 -1
  98. package/dist/index.cjs52.js +1 -1
  99. package/dist/index.cjs52.js.map +1 -1
  100. package/dist/index.cjs53.js +1 -1
  101. package/dist/index.cjs53.js.map +1 -1
  102. package/dist/index.cjs54.js +1 -1
  103. package/dist/index.cjs54.js.map +1 -1
  104. package/dist/index.cjs55.js +1 -1
  105. package/dist/index.cjs55.js.map +1 -1
  106. package/dist/index.cjs56.js +1 -1
  107. package/dist/index.cjs56.js.map +1 -1
  108. package/dist/index.cjs57.js +1 -1
  109. package/dist/index.cjs57.js.map +1 -1
  110. package/dist/index.cjs58.js +1 -1
  111. package/dist/index.cjs58.js.map +1 -1
  112. package/dist/index.cjs59.js +1 -1
  113. package/dist/index.cjs59.js.map +1 -1
  114. package/dist/index.cjs60.js +1 -1
  115. package/dist/index.cjs60.js.map +1 -1
  116. package/dist/index.cjs61.js +1 -1
  117. package/dist/index.cjs61.js.map +1 -1
  118. package/dist/index.cjs62.js +1 -1
  119. package/dist/index.cjs62.js.map +1 -1
  120. package/dist/index.cjs63.js +2 -0
  121. package/dist/index.cjs63.js.map +1 -0
  122. package/dist/index.cjs64.js +2 -0
  123. package/dist/index.cjs64.js.map +1 -0
  124. package/dist/index.cjs65.js +2 -0
  125. package/dist/index.cjs65.js.map +1 -0
  126. package/dist/index.cjs66.js +2 -0
  127. package/dist/index.cjs66.js.map +1 -0
  128. package/dist/index.cjs67.js +2 -0
  129. package/dist/index.cjs67.js.map +1 -0
  130. package/dist/index.cjs68.js +7 -0
  131. package/dist/index.cjs68.js.map +1 -0
  132. package/dist/index.cjs69.js +2 -0
  133. package/dist/index.cjs69.js.map +1 -0
  134. package/dist/index.cjs7.js +1 -1
  135. package/dist/index.cjs7.js.map +1 -1
  136. package/dist/index.cjs70.js +2 -0
  137. package/dist/index.cjs70.js.map +1 -0
  138. package/dist/index.cjs71.js +2 -0
  139. package/dist/index.cjs71.js.map +1 -0
  140. package/dist/index.cjs8.js +1 -1
  141. package/dist/index.cjs8.js.map +1 -1
  142. package/dist/index.cjs9.js +1 -1
  143. package/dist/index.cjs9.js.map +1 -1
  144. package/dist/index.d.ts +3 -1
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.es.js +271 -258
  147. package/dist/index.es.js.map +1 -1
  148. package/dist/index.es10.js +22 -21
  149. package/dist/index.es10.js.map +1 -1
  150. package/dist/index.es11.js +14 -13
  151. package/dist/index.es11.js.map +1 -1
  152. package/dist/index.es12.js +31 -31
  153. package/dist/index.es12.js.map +1 -1
  154. package/dist/index.es13.js +39 -38
  155. package/dist/index.es13.js.map +1 -1
  156. package/dist/index.es14.js +34 -33
  157. package/dist/index.es14.js.map +1 -1
  158. package/dist/index.es15.js +107 -102
  159. package/dist/index.es15.js.map +1 -1
  160. package/dist/index.es16.js +155 -140
  161. package/dist/index.es16.js.map +1 -1
  162. package/dist/index.es17.js +21 -18
  163. package/dist/index.es17.js.map +1 -1
  164. package/dist/index.es19.js +63 -59
  165. package/dist/index.es19.js.map +1 -1
  166. package/dist/index.es2.js +10 -6
  167. package/dist/index.es2.js.map +1 -1
  168. package/dist/index.es20.js +85 -78
  169. package/dist/index.es20.js.map +1 -1
  170. package/dist/index.es21.js +68 -59
  171. package/dist/index.es21.js.map +1 -1
  172. package/dist/index.es22.js +68 -62
  173. package/dist/index.es22.js.map +1 -1
  174. package/dist/index.es23.js +83 -76
  175. package/dist/index.es23.js.map +1 -1
  176. package/dist/index.es24.js +178 -94
  177. package/dist/index.es24.js.map +1 -1
  178. package/dist/index.es25.js +57 -164
  179. package/dist/index.es25.js.map +1 -1
  180. package/dist/index.es26.js +198 -77
  181. package/dist/index.es26.js.map +1 -1
  182. package/dist/index.es27.js +90 -20
  183. package/dist/index.es27.js.map +1 -1
  184. package/dist/index.es28.js +21 -22
  185. package/dist/index.es28.js.map +1 -1
  186. package/dist/index.es29.js +19 -343
  187. package/dist/index.es29.js.map +1 -1
  188. package/dist/index.es3.js +35 -32
  189. package/dist/index.es3.js.map +1 -1
  190. package/dist/index.es30.js +38 -148
  191. package/dist/index.es30.js.map +1 -1
  192. package/dist/index.es31.js +377 -42
  193. package/dist/index.es31.js.map +1 -1
  194. package/dist/index.es32.js +146 -172
  195. package/dist/index.es32.js.map +1 -1
  196. package/dist/index.es33.js +46 -253
  197. package/dist/index.es33.js.map +1 -1
  198. package/dist/index.es34.js +195 -180
  199. package/dist/index.es34.js.map +1 -1
  200. package/dist/index.es35.js +253 -29
  201. package/dist/index.es35.js.map +1 -1
  202. package/dist/index.es36.js +183 -14
  203. package/dist/index.es36.js.map +1 -1
  204. package/dist/index.es37.js +29 -93
  205. package/dist/index.es37.js.map +1 -1
  206. package/dist/index.es38.js +13 -187
  207. package/dist/index.es38.js.map +1 -1
  208. package/dist/index.es39.js +93 -96
  209. package/dist/index.es39.js.map +1 -1
  210. package/dist/index.es4.js +38 -32
  211. package/dist/index.es4.js.map +1 -1
  212. package/dist/index.es40.js +182 -80
  213. package/dist/index.es40.js.map +1 -1
  214. package/dist/index.es41.js +98 -17
  215. package/dist/index.es41.js.map +1 -1
  216. package/dist/index.es42.js +101 -21
  217. package/dist/index.es42.js.map +1 -1
  218. package/dist/index.es43.js +20 -28
  219. package/dist/index.es43.js.map +1 -1
  220. package/dist/index.es44.js +19 -28
  221. package/dist/index.es44.js.map +1 -1
  222. package/dist/index.es45.js +25 -176
  223. package/dist/index.es45.js.map +1 -1
  224. package/dist/index.es46.js +36 -21
  225. package/dist/index.es46.js.map +1 -1
  226. package/dist/index.es47.js +171 -78
  227. package/dist/index.es47.js.map +1 -1
  228. package/dist/index.es48.js +17 -551
  229. package/dist/index.es48.js.map +1 -1
  230. package/dist/index.es49.js +106 -13
  231. package/dist/index.es49.js.map +1 -1
  232. package/dist/index.es5.js +71 -67
  233. package/dist/index.es5.js.map +1 -1
  234. package/dist/index.es50.js +559 -35
  235. package/dist/index.es50.js.map +1 -1
  236. package/dist/index.es51.js +12 -19
  237. package/dist/index.es51.js.map +1 -1
  238. package/dist/index.es52.js +47 -12
  239. package/dist/index.es52.js.map +1 -1
  240. package/dist/index.es53.js +21 -25
  241. package/dist/index.es53.js.map +1 -1
  242. package/dist/index.es54.js +14 -217
  243. package/dist/index.es54.js.map +1 -1
  244. package/dist/index.es55.js +23 -44
  245. package/dist/index.es55.js.map +1 -1
  246. package/dist/index.es56.js +237 -13
  247. package/dist/index.es56.js.map +1 -1
  248. package/dist/index.es57.js +44 -28
  249. package/dist/index.es57.js.map +1 -1
  250. package/dist/index.es58.js +17 -36
  251. package/dist/index.es58.js.map +1 -1
  252. package/dist/index.es59.js +33 -18
  253. package/dist/index.es59.js.map +1 -1
  254. package/dist/index.es60.js +39 -6
  255. package/dist/index.es60.js.map +1 -1
  256. package/dist/index.es61.js +21 -267
  257. package/dist/index.es61.js.map +1 -1
  258. package/dist/index.es62.js +3 -6268
  259. package/dist/index.es62.js.map +1 -1
  260. package/dist/index.es63.js +9 -0
  261. package/dist/index.es63.js.map +1 -0
  262. package/dist/index.es64.js +270 -0
  263. package/dist/index.es64.js.map +1 -0
  264. package/dist/index.es65.js +11 -0
  265. package/dist/index.es65.js.map +1 -0
  266. package/dist/index.es66.js +5 -0
  267. package/dist/index.es66.js.map +1 -0
  268. package/dist/index.es67.js +27 -0
  269. package/dist/index.es67.js.map +1 -0
  270. package/dist/index.es68.js +237 -0
  271. package/dist/index.es68.js.map +1 -0
  272. package/dist/index.es69.js +5 -0
  273. package/dist/index.es69.js.map +1 -0
  274. package/dist/index.es7.js +25 -24
  275. package/dist/index.es7.js.map +1 -1
  276. package/dist/index.es70.js +5 -0
  277. package/dist/index.es70.js.map +1 -0
  278. package/dist/index.es71.js +6271 -0
  279. package/dist/index.es71.js.map +1 -0
  280. package/dist/index.es8.js +43 -41
  281. package/dist/index.es8.js.map +1 -1
  282. package/dist/index.es9.js +51 -48
  283. package/dist/index.es9.js.map +1 -1
  284. package/dist/style.css +59 -0
  285. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es25.js","sources":["../src/components/ui/field.tsx"],"sourcesContent":["\"use client\"\n\nimport { useMemo } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\nimport { Separator } from \"@/components/ui/separator\"\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n \"flex flex-col gap-6\",\n \"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n \"mb-3 font-medium\",\n \"data-[variant=legend]:text-base\",\n \"data-[variant=label]:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\n \"group/field data-[invalid=true]:text-destructive flex w-full gap-3\",\n {\n variants: {\n orientation: {\n vertical: [\"flex-col [&>*]:w-full [&>.sr-only]:w-auto\"],\n horizontal: [\n \"flex-row items-center\",\n \"[&>[data-slot=field-label]]:flex-auto\",\n \"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start\",\n ],\n responsive: [\n \"@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto\",\n \"@md/field-group:[&>[data-slot=field-label]]:flex-auto\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n }\n)\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-1.5 leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm font-medium leading-snug group-data-[disabled=true]/field:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors) {\n return null\n }\n\n if (errors?.length === 1 && errors[0]?.message) {\n return errors[0].message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {errors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n"],"names":["FieldSet","className","props","cn","FieldLegend","variant","FieldGroup","fieldVariants","cva","Field","orientation","FieldContent","FieldLabel","Label","FieldTitle","FieldDescription","FieldSeparator","children","Separator","FieldError","errors","content","useMemo","error","index"],"mappings":"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"}
1
+ {"version":3,"file":"index.es25.js","sources":["../src/components/ui/empty.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-lg border-dashed p-6 text-center md:p-12\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"flex max-w-sm flex-col items-center gap-2 text-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n"],"names":["Empty","className","props","jsx","cn","EmptyHeader","emptyMediaVariants","cva","EmptyMedia","variant","EmptyTitle","EmptyDescription","EmptyContent"],"mappings":";;;AAKA,SAASA,EAAM,EAAE,WAAAC,GAAW,GAAGC,KAAsC;AACnE,SACEC,gBAAAA,EAAAA;AAAAA,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,EAAY,EAAE,WAAAJ,GAAW,GAAGC,KAAsC;AACzE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAMI,IAAqBC;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAW;AAAA,EAClB,WAAAP;AAAA,EACA,SAAAQ,IAAU;AAAA,EACV,GAAGP;AACL,GAA0E;AACxE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAcM;AAAA,MACd,WAAWL,EAAGE,EAAmB,EAAE,SAAAG,GAAS,WAAAR,EAAA,CAAW,CAAC;AAAA,MACvD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASQ,EAAW,EAAE,WAAAT,GAAW,GAAGC,KAAsC;AACxE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,sCAAsCH,CAAS;AAAA,MAC5D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASS,EAAiB,EAAE,WAAAV,GAAW,GAAGC,KAAoC;AAC5E,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASU,EAAa,EAAE,WAAAX,GAAW,GAAGC,KAAsC;AAC1E,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,92 +1,213 @@
1
- import * as e from "react";
2
- import { Slot as f } from "@radix-ui/react-slot";
3
- import { FormProvider as u, useFormContext as F, Controller as p } from "react-hook-form";
4
- import { cn as a } from "./index.es60.js";
5
- import { Label as I } from "./index.es36.js";
6
- const h = u, c = e.createContext(null), R = ({
7
- ...r
8
- }) => /* @__PURE__ */ e.createElement(c.Provider, { value: { name: r.name } }, /* @__PURE__ */ e.createElement(p, { ...r })), i = () => {
9
- const r = e.useContext(c), t = e.useContext(l), { getFieldState: o, formState: m } = F();
10
- if (!r)
11
- throw new Error("useFormField should be used within <FormField>");
12
- if (!t)
13
- throw new Error("useFormField should be used within <FormItem>");
14
- const n = o(r.name, m), { id: s } = t;
15
- return {
16
- id: s,
17
- name: r.name,
18
- formItemId: `${s}-form-item`,
19
- formDescriptionId: `${s}-form-item-description`,
20
- formMessageId: `${s}-form-item-message`,
21
- ...n
22
- };
23
- }, l = e.createContext(null), x = e.forwardRef(({ className: r, ...t }, o) => {
24
- const m = e.useId();
25
- return /* @__PURE__ */ e.createElement(l.Provider, { value: { id: m } }, /* @__PURE__ */ e.createElement("div", { ref: o, className: a("space-y-2", r), ...t }));
26
- });
27
- x.displayName = "FormItem";
28
- const C = e.forwardRef(({ className: r, ...t }, o) => {
29
- const { error: m, formItemId: n } = i();
30
- return /* @__PURE__ */ e.createElement(
31
- I,
1
+ import { j as a } from "./index.es62.js";
2
+ import { useMemo as n } from "react";
3
+ import { cva as f } from "class-variance-authority";
4
+ import { cn as o } from "./index.es63.js";
5
+ import { Label as u } from "./index.es38.js";
6
+ import { Separator as c } from "./index.es48.js";
7
+ function j({ className: t, ...e }) {
8
+ return /* @__PURE__ */ a.jsx(
9
+ "fieldset",
32
10
  {
33
- ref: o,
34
- className: a(m && "text-destructive", r),
35
- htmlFor: n,
36
- ...t
11
+ "data-slot": "field-set",
12
+ className: o(
13
+ "flex flex-col gap-6",
14
+ "has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
15
+ t
16
+ ),
17
+ ...e
37
18
  }
38
19
  );
39
- });
40
- C.displayName = "FormLabel";
41
- const w = e.forwardRef(({ ...r }, t) => {
42
- const { error: o, formItemId: m, formDescriptionId: n, formMessageId: s } = i();
43
- return /* @__PURE__ */ e.createElement(
44
- f,
20
+ }
21
+ function w({
22
+ className: t,
23
+ variant: e = "legend",
24
+ ...l
25
+ }) {
26
+ return /* @__PURE__ */ a.jsx(
27
+ "legend",
45
28
  {
46
- ref: t,
47
- id: m,
48
- "aria-describedby": o ? `${n} ${s}` : `${n}`,
49
- "aria-invalid": !!o,
50
- ...r
29
+ "data-slot": "field-legend",
30
+ "data-variant": e,
31
+ className: o(
32
+ "mb-3 font-medium",
33
+ "data-[variant=legend]:text-base",
34
+ "data-[variant=label]:text-sm",
35
+ t
36
+ ),
37
+ ...l
51
38
  }
52
39
  );
53
- });
54
- w.displayName = "FormControl";
55
- const g = e.forwardRef(({ className: r, ...t }, o) => {
56
- const { formDescriptionId: m } = i();
57
- return /* @__PURE__ */ e.createElement(
58
- "p",
40
+ }
41
+ function N({ className: t, ...e }) {
42
+ return /* @__PURE__ */ a.jsx(
43
+ "div",
44
+ {
45
+ "data-slot": "field-group",
46
+ className: o(
47
+ "group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",
48
+ t
49
+ ),
50
+ ...e
51
+ }
52
+ );
53
+ }
54
+ const m = f(
55
+ "group/field data-[invalid=true]:text-destructive flex w-full gap-3",
56
+ {
57
+ variants: {
58
+ orientation: {
59
+ vertical: ["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],
60
+ horizontal: [
61
+ "flex-row items-center",
62
+ "[&>[data-slot=field-label]]:flex-auto",
63
+ "has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start"
64
+ ],
65
+ responsive: [
66
+ "@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto",
67
+ "@md/field-group:[&>[data-slot=field-label]]:flex-auto",
68
+ "@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
69
+ ]
70
+ }
71
+ },
72
+ defaultVariants: {
73
+ orientation: "vertical"
74
+ }
75
+ }
76
+ );
77
+ function k({
78
+ className: t,
79
+ orientation: e = "vertical",
80
+ ...l
81
+ }) {
82
+ return /* @__PURE__ */ a.jsx(
83
+ "div",
84
+ {
85
+ role: "group",
86
+ "data-slot": "field",
87
+ "data-orientation": e,
88
+ className: o(m({ orientation: e }), t),
89
+ ...l
90
+ }
91
+ );
92
+ }
93
+ function F({ className: t, ...e }) {
94
+ return /* @__PURE__ */ a.jsx(
95
+ "div",
96
+ {
97
+ "data-slot": "field-content",
98
+ className: o(
99
+ "group/field-content flex flex-1 flex-col gap-1.5 leading-snug",
100
+ t
101
+ ),
102
+ ...e
103
+ }
104
+ );
105
+ }
106
+ function y({
107
+ className: t,
108
+ ...e
109
+ }) {
110
+ return /* @__PURE__ */ a.jsx(
111
+ u,
59
112
  {
60
- ref: o,
61
- id: m,
62
- className: a("text-[0.8rem] text-muted-foreground", r),
63
- ...t
113
+ "data-slot": "field-label",
114
+ className: o(
115
+ "group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50",
116
+ "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4",
117
+ "has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",
118
+ t
119
+ ),
120
+ ...e
64
121
  }
65
122
  );
66
- });
67
- g.displayName = "FormDescription";
68
- const E = e.forwardRef(({ className: r, children: t, ...o }, m) => {
69
- const { error: n, formMessageId: s } = i(), d = n ? String(n?.message ?? "") : t;
70
- return d ? /* @__PURE__ */ e.createElement(
123
+ }
124
+ function L({ className: t, ...e }) {
125
+ return /* @__PURE__ */ a.jsx(
126
+ "div",
127
+ {
128
+ "data-slot": "field-label",
129
+ className: o(
130
+ "flex w-fit items-center gap-2 text-sm font-medium leading-snug group-data-[disabled=true]/field:opacity-50",
131
+ t
132
+ ),
133
+ ...e
134
+ }
135
+ );
136
+ }
137
+ function S({ className: t, ...e }) {
138
+ return /* @__PURE__ */ a.jsx(
71
139
  "p",
72
140
  {
73
- ref: m,
74
- id: s,
75
- className: a("text-[0.8rem] font-medium text-destructive", r),
76
- ...o
77
- },
78
- d
141
+ "data-slot": "field-description",
142
+ className: o(
143
+ "text-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
144
+ "nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5",
145
+ "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
146
+ t
147
+ ),
148
+ ...e
149
+ }
150
+ );
151
+ }
152
+ function z({
153
+ children: t,
154
+ className: e,
155
+ ...l
156
+ }) {
157
+ return /* @__PURE__ */ a.jsxs(
158
+ "div",
159
+ {
160
+ "data-slot": "field-separator",
161
+ "data-content": !!t,
162
+ className: o(
163
+ "relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
164
+ e
165
+ ),
166
+ ...l,
167
+ children: [
168
+ /* @__PURE__ */ a.jsx(c, { className: "absolute inset-0 top-1/2" }),
169
+ t && /* @__PURE__ */ a.jsx(
170
+ "span",
171
+ {
172
+ className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
173
+ "data-slot": "field-separator-content",
174
+ children: t
175
+ }
176
+ )
177
+ ]
178
+ }
179
+ );
180
+ }
181
+ function E({
182
+ className: t,
183
+ children: e,
184
+ errors: l,
185
+ ...r
186
+ }) {
187
+ const d = n(() => e || (l ? l?.length === 1 && l[0]?.message ? l[0].message : /* @__PURE__ */ a.jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: l.map(
188
+ (i, s) => i?.message && /* @__PURE__ */ a.jsx("li", { children: i.message }, s)
189
+ ) }) : null), [e, l]);
190
+ return d ? /* @__PURE__ */ a.jsx(
191
+ "div",
192
+ {
193
+ role: "alert",
194
+ "data-slot": "field-error",
195
+ className: o("text-destructive text-sm font-normal", t),
196
+ ...r,
197
+ children: d
198
+ }
79
199
  ) : null;
80
- });
81
- E.displayName = "FormMessage";
200
+ }
82
201
  export {
83
- h as Form,
84
- w as FormControl,
85
- g as FormDescription,
86
- R as FormField,
87
- x as FormItem,
88
- C as FormLabel,
89
- E as FormMessage,
90
- i as useFormField
202
+ k as Field,
203
+ F as FieldContent,
204
+ S as FieldDescription,
205
+ E as FieldError,
206
+ N as FieldGroup,
207
+ y as FieldLabel,
208
+ w as FieldLegend,
209
+ z as FieldSeparator,
210
+ j as FieldSet,
211
+ L as FieldTitle
91
212
  };
92
213
  //# sourceMappingURL=index.es26.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es26.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n FormProvider,\n useFormContext,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue | null>(null)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n if (!itemContext) {\n throw new Error(\"useFormField should be used within <FormItem>\")\n }\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue | null>(null)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-[0.8rem] text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message ?? \"\") : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-[0.8rem] font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
1
+ {"version":3,"file":"index.es26.js","sources":["../src/components/ui/field.tsx"],"sourcesContent":["\"use client\"\n\nimport { useMemo } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\nimport { Separator } from \"@/components/ui/separator\"\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n \"flex flex-col gap-6\",\n \"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n \"mb-3 font-medium\",\n \"data-[variant=legend]:text-base\",\n \"data-[variant=label]:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\n \"group/field data-[invalid=true]:text-destructive flex w-full gap-3\",\n {\n variants: {\n orientation: {\n vertical: [\"flex-col [&>*]:w-full [&>.sr-only]:w-auto\"],\n horizontal: [\n \"flex-row items-center\",\n \"[&>[data-slot=field-label]]:flex-auto\",\n \"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start\",\n ],\n responsive: [\n \"@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto\",\n \"@md/field-group:[&>[data-slot=field-label]]:flex-auto\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n }\n)\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-1.5 leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm font-medium leading-snug group-data-[disabled=true]/field:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors) {\n return null\n }\n\n if (errors?.length === 1 && errors[0]?.message) {\n return errors[0].message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {errors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n"],"names":["FieldSet","className","props","jsx","cn","FieldLegend","variant","FieldGroup","fieldVariants","cva","Field","orientation","FieldContent","FieldLabel","Label","FieldTitle","FieldDescription","FieldSeparator","children","jsxs","Separator","FieldError","errors","content","useMemo","error","index"],"mappings":"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"}
@@ -1,23 +1,93 @@
1
- import * as o from "react";
2
- import * as t from "@radix-ui/react-hover-card";
3
- import { cn as n } from "./index.es60.js";
4
- const p = t.Root, f = t.Trigger, s = o.forwardRef(({ className: e, align: a = "center", sideOffset: r = 4, ...d }, i) => /* @__PURE__ */ o.createElement(
5
- t.Content,
6
- {
7
- ref: i,
8
- align: a,
9
- sideOffset: r,
10
- className: n(
11
- "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 origin-[--radix-hover-card-content-transform-origin]",
12
- e
13
- ),
14
- ...d
15
- }
16
- ));
17
- s.displayName = t.Content.displayName;
1
+ import { j as i } from "./index.es62.js";
2
+ import * as m from "react";
3
+ import { Slot as u } from "@radix-ui/react-slot";
4
+ import { FormProvider as F, useFormContext as x, Controller as p } from "react-hook-form";
5
+ import { cn as d } from "./index.es63.js";
6
+ import { Label as I } from "./index.es38.js";
7
+ const $ = F, l = m.createContext(null), D = ({
8
+ ...e
9
+ }) => /* @__PURE__ */ i.jsx(l.Provider, { value: { name: e.name }, children: /* @__PURE__ */ i.jsx(p, { ...e }) }), a = () => {
10
+ const e = m.useContext(l), r = m.useContext(f), { getFieldState: o, formState: t } = x();
11
+ if (!e)
12
+ throw new Error("useFormField should be used within <FormField>");
13
+ if (!r)
14
+ throw new Error("useFormField should be used within <FormItem>");
15
+ const s = o(e.name, t), { id: n } = r;
16
+ return {
17
+ id: n,
18
+ name: e.name,
19
+ formItemId: `${n}-form-item`,
20
+ formDescriptionId: `${n}-form-item-description`,
21
+ formMessageId: `${n}-form-item-message`,
22
+ ...s
23
+ };
24
+ }, f = m.createContext(null), C = m.forwardRef(({ className: e, ...r }, o) => {
25
+ const t = m.useId();
26
+ return /* @__PURE__ */ i.jsx(f.Provider, { value: { id: t }, children: /* @__PURE__ */ i.jsx("div", { ref: o, className: d("space-y-2", e), ...r }) });
27
+ });
28
+ C.displayName = "FormItem";
29
+ const w = m.forwardRef(({ className: e, ...r }, o) => {
30
+ const { error: t, formItemId: s } = a();
31
+ return /* @__PURE__ */ i.jsx(
32
+ I,
33
+ {
34
+ ref: o,
35
+ className: d(t && "text-destructive", e),
36
+ htmlFor: s,
37
+ ...r
38
+ }
39
+ );
40
+ });
41
+ w.displayName = "FormLabel";
42
+ const g = m.forwardRef(({ ...e }, r) => {
43
+ const { error: o, formItemId: t, formDescriptionId: s, formMessageId: n } = a();
44
+ return /* @__PURE__ */ i.jsx(
45
+ u,
46
+ {
47
+ ref: r,
48
+ id: t,
49
+ "aria-describedby": o ? `${s} ${n}` : `${s}`,
50
+ "aria-invalid": !!o,
51
+ ...e
52
+ }
53
+ );
54
+ });
55
+ g.displayName = "FormControl";
56
+ const h = m.forwardRef(({ className: e, ...r }, o) => {
57
+ const { formDescriptionId: t } = a();
58
+ return /* @__PURE__ */ i.jsx(
59
+ "p",
60
+ {
61
+ ref: o,
62
+ id: t,
63
+ className: d("text-[0.8rem] text-muted-foreground", e),
64
+ ...r
65
+ }
66
+ );
67
+ });
68
+ h.displayName = "FormDescription";
69
+ const j = m.forwardRef(({ className: e, children: r, ...o }, t) => {
70
+ const { error: s, formMessageId: n } = a(), c = s ? String(s?.message ?? "") : r;
71
+ return c ? /* @__PURE__ */ i.jsx(
72
+ "p",
73
+ {
74
+ ref: t,
75
+ id: n,
76
+ className: d("text-[0.8rem] font-medium text-destructive", e),
77
+ ...o,
78
+ children: c
79
+ }
80
+ ) : null;
81
+ });
82
+ j.displayName = "FormMessage";
18
83
  export {
19
- p as HoverCard,
20
- s as HoverCardContent,
21
- f as HoverCardTrigger
84
+ $ as Form,
85
+ g as FormControl,
86
+ h as FormDescription,
87
+ D as FormField,
88
+ C as FormItem,
89
+ w as FormLabel,
90
+ j as FormMessage,
91
+ a as useFormField
22
92
  };
23
93
  //# sourceMappingURL=index.es27.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es27.js","sources":["../src/components/ui/hover-card.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 origin-[--radix-hover-card-content-transform-origin]\",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n"],"names":["HoverCard","HoverCardPrimitive","HoverCardTrigger","HoverCardContent","React","className","align","sideOffset","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAYC,EAAmB,MAE/BC,IAAmBD,EAAmB,SAEtCE,IAAmBC,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,EAAA,GAASC,MAC5D,gBAAAL,EAAA;AAAA,EAACH,EAAmB;AAAA,EAAnB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAL;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AACN,CACD;AACDL,EAAiB,cAAcF,EAAmB,QAAQ;"}
1
+ {"version":3,"file":"index.es27.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n FormProvider,\n useFormContext,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue | null>(null)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n if (!itemContext) {\n throw new Error(\"useFormField should be used within <FormItem>\")\n }\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue | null>(null)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-[0.8rem] text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message ?? \"\") : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-[0.8rem] font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","jsx","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
@@ -1,25 +1,24 @@
1
- import * as e from "react";
2
- import { cn as l } from "./index.es60.js";
3
- const a = e.forwardRef(
4
- ({ className: i, type: r, ...t }, o) => /* @__PURE__ */ e.createElement(
5
- "input",
6
- {
7
- type: r,
8
- className: l(
9
- "flex h-10 w-full rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-[14px] leading-[20px] text-[#111111] transition-colors",
10
- "file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",
11
- "placeholder:text-[#b3b3b3] focus-visible:outline-none focus-visible:border-[#1D1C20] focus-visible:ring-0",
12
- "disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#9ca3af] disabled:placeholder:text-[#b3b3b3] disabled:opacity-100",
13
- "aria-invalid:border-[#ff3b30] aria-invalid:focus-visible:border-[#ff3b30]",
14
- i
15
- ),
16
- ref: o,
17
- ...t
18
- }
19
- )
20
- );
21
- a.displayName = "Input";
1
+ import { j as i } from "./index.es62.js";
2
+ import * as n from "react";
3
+ import * as t from "@radix-ui/react-hover-card";
4
+ import { cn as s } from "./index.es63.js";
5
+ const l = t.Root, c = t.Trigger, m = n.forwardRef(({ className: o, align: e = "center", sideOffset: a = 4, ...r }, d) => /* @__PURE__ */ i.jsx(
6
+ t.Content,
7
+ {
8
+ ref: d,
9
+ align: e,
10
+ sideOffset: a,
11
+ className: s(
12
+ "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 origin-[--radix-hover-card-content-transform-origin]",
13
+ o
14
+ ),
15
+ ...r
16
+ }
17
+ ));
18
+ m.displayName = t.Content.displayName;
22
19
  export {
23
- a as Input
20
+ l as HoverCard,
21
+ m as HoverCardContent,
22
+ c as HoverCardTrigger
24
23
  };
25
24
  //# sourceMappingURL=index.es28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es28.js","sources":["../src/components/ui/input.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-[14px] leading-[20px] text-[#111111] transition-colors\",\n \"file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground\",\n \"placeholder:text-[#b3b3b3] focus-visible:outline-none focus-visible:border-[#1D1C20] focus-visible:ring-0\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#9ca3af] disabled:placeholder:text-[#b3b3b3] disabled:opacity-100\",\n \"aria-invalid:border-[#ff3b30] aria-invalid:focus-visible:border-[#ff3b30]\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n"],"names":["Input","React","className","type","props","ref","cn"],"mappings":";;AAIA,MAAMA,IAAQC,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,EAAA,GAASC,MAE5B,gBAAAJ,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAE;AAAA,MACA,WAAWG;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEF,KAAAG;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAJ,EAAM,cAAc;"}
1
+ {"version":3,"file":"index.es28.js","sources":["../src/components/ui/hover-card.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 origin-[--radix-hover-card-content-transform-origin]\",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n"],"names":["HoverCard","HoverCardPrimitive","HoverCardTrigger","HoverCardContent","React","className","align","sideOffset","props","ref","jsx","cn"],"mappings":";;;;AAKA,MAAMA,IAAYC,EAAmB,MAE/BC,IAAmBD,EAAmB,SAEtCE,IAAmBC,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,EAAA,GAASC,MAC5DC,gBAAAA,EAAAA;AAAAA,EAACT,EAAmB;AAAA,EAAnB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWI;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AACN,CACD;AACDL,EAAiB,cAAcF,EAAmB,QAAQ;"}