@lssm/lib.ui-kit-web 1.7.3 → 1.9.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 (250) hide show
  1. package/README.md +80 -0
  2. package/dist/node_modules/sonner/dist/index.js +1 -2
  3. package/dist/node_modules/sonner/dist/index.js.map +1 -1
  4. package/dist/tsconfig.tsbuildinfo +1 -1
  5. package/dist/ui/accordion.d.ts +5 -5
  6. package/dist/ui/accordion.js +3 -4
  7. package/dist/ui/accordion.js.map +1 -1
  8. package/dist/ui/alert-dialog.js +8 -9
  9. package/dist/ui/alert-dialog.js.map +1 -1
  10. package/dist/ui/alert.d.ts +6 -6
  11. package/dist/ui/alert.d.ts.map +1 -1
  12. package/dist/ui/alert.js +3 -3
  13. package/dist/ui/alert.js.map +1 -1
  14. package/dist/ui/aspect-ratio.d.ts +2 -2
  15. package/dist/ui/aspect-ratio.js +0 -1
  16. package/dist/ui/aspect-ratio.js.map +1 -1
  17. package/dist/ui/avatar.d.ts +4 -4
  18. package/dist/ui/avatar.d.ts.map +1 -1
  19. package/dist/ui/avatar.js +3 -4
  20. package/dist/ui/avatar.js.map +1 -1
  21. package/dist/ui/badge.d.ts +3 -3
  22. package/dist/ui/badge.js +1 -1
  23. package/dist/ui/badge.js.map +1 -1
  24. package/dist/ui/breadcrumb.d.ts +8 -8
  25. package/dist/ui/breadcrumb.d.ts.map +1 -1
  26. package/dist/ui/breadcrumb.js +6 -6
  27. package/dist/ui/breadcrumb.js.map +1 -1
  28. package/dist/ui/button.d.ts +6 -6
  29. package/dist/ui/button.js +1 -1
  30. package/dist/ui/button.js.map +1 -1
  31. package/dist/ui/calendar.d.ts +3 -3
  32. package/dist/ui/calendar.js +5 -6
  33. package/dist/ui/calendar.js.map +1 -1
  34. package/dist/ui/card.d.ts +8 -8
  35. package/dist/ui/card.js +7 -7
  36. package/dist/ui/card.js.map +1 -1
  37. package/dist/ui/carousel.d.ts +6 -6
  38. package/dist/ui/carousel.js +5 -6
  39. package/dist/ui/carousel.js.map +1 -1
  40. package/dist/ui/checkbox.d.ts +2 -2
  41. package/dist/ui/checkbox.js +1 -2
  42. package/dist/ui/checkbox.js.map +1 -1
  43. package/dist/ui/collapsible.d.ts +4 -4
  44. package/dist/ui/collapsible.js +0 -1
  45. package/dist/ui/collapsible.js.map +1 -1
  46. package/dist/ui/command.d.ts +10 -10
  47. package/dist/ui/command.js +8 -9
  48. package/dist/ui/command.js.map +1 -1
  49. package/dist/ui/confirm-dialog.d.ts +2 -2
  50. package/dist/ui/context-menu.d.ts +2 -2
  51. package/dist/ui/context-menu.d.ts.map +1 -1
  52. package/dist/ui/context-menu.js +9 -10
  53. package/dist/ui/context-menu.js.map +1 -1
  54. package/dist/ui/cta.d.ts +1 -1
  55. package/dist/ui/cta.js +1 -1
  56. package/dist/ui/cta.js.map +1 -1
  57. package/dist/ui/date-picker.d.ts +2 -2
  58. package/dist/ui/date-picker.js +0 -1
  59. package/dist/ui/date-picker.js.map +1 -1
  60. package/dist/ui/date-range-picker.d.ts +2 -2
  61. package/dist/ui/date-range-picker.js +0 -1
  62. package/dist/ui/date-range-picker.js.map +1 -1
  63. package/dist/ui/datetime-picker.d.ts +2 -2
  64. package/dist/ui/datetime-picker.d.ts.map +1 -1
  65. package/dist/ui/datetime-picker.js +0 -1
  66. package/dist/ui/datetime-picker.js.map +1 -1
  67. package/dist/ui/dialog.d.ts +11 -11
  68. package/dist/ui/dialog.d.ts.map +1 -1
  69. package/dist/ui/dialog.js +6 -7
  70. package/dist/ui/dialog.js.map +1 -1
  71. package/dist/ui/drawer.d.ts +11 -11
  72. package/dist/ui/drawer.js +6 -7
  73. package/dist/ui/drawer.js.map +1 -1
  74. package/dist/ui/dropdown-menu.d.ts +16 -16
  75. package/dist/ui/dropdown-menu.js +9 -10
  76. package/dist/ui/dropdown-menu.js.map +1 -1
  77. package/dist/ui/empty-state.d.ts +4 -4
  78. package/dist/ui/empty.d.ts +9 -9
  79. package/dist/ui/empty.js +6 -6
  80. package/dist/ui/empty.js.map +1 -1
  81. package/dist/ui/field.d.ts +11 -11
  82. package/dist/ui/field.js +10 -11
  83. package/dist/ui/field.js.map +1 -1
  84. package/dist/ui/form.d.ts +7 -7
  85. package/dist/ui/form.js +4 -5
  86. package/dist/ui/form.js.map +1 -1
  87. package/dist/ui/hover-card.d.ts +4 -4
  88. package/dist/ui/hover-card.js +1 -2
  89. package/dist/ui/hover-card.js.map +1 -1
  90. package/dist/ui/input-group.d.ts +11 -11
  91. package/dist/ui/input-group.js +6 -7
  92. package/dist/ui/input-group.js.map +1 -1
  93. package/dist/ui/input-otp.d.ts +2 -2
  94. package/dist/ui/input-otp.js +3 -4
  95. package/dist/ui/input-otp.js.map +1 -1
  96. package/dist/ui/input.d.ts +2 -2
  97. package/dist/ui/input.js +1 -1
  98. package/dist/ui/input.js.map +1 -1
  99. package/dist/ui/label.d.ts +2 -2
  100. package/dist/ui/label.js +1 -2
  101. package/dist/ui/label.js.map +1 -1
  102. package/dist/ui/link.d.ts +3 -3
  103. package/dist/ui/link.js +1 -1
  104. package/dist/ui/link.js.map +1 -1
  105. package/dist/ui/live-region.d.ts +2 -2
  106. package/dist/ui/live-region.js +0 -1
  107. package/dist/ui/live-region.js.map +1 -1
  108. package/dist/ui/loading-button.d.ts +2 -2
  109. package/dist/ui/loading-button.js +1 -1
  110. package/dist/ui/loading-button.js.map +1 -1
  111. package/dist/ui/map/MapBase.d.ts +2 -2
  112. package/dist/ui/map/MapBase.js +0 -1
  113. package/dist/ui/map/MapBase.js.map +1 -1
  114. package/dist/ui/map/MapGeoJsonOverlay.d.ts +2 -2
  115. package/dist/ui/map/MapGeoJsonOverlay.js +0 -1
  116. package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -1
  117. package/dist/ui/map/MapHeatmapH3.d.ts +2 -2
  118. package/dist/ui/map/MapHeatmapH3.js +0 -1
  119. package/dist/ui/map/MapHeatmapH3.js.map +1 -1
  120. package/dist/ui/map/MapMarkers.d.ts +2 -2
  121. package/dist/ui/map/MapMarkers.js +0 -1
  122. package/dist/ui/map/MapMarkers.js.map +1 -1
  123. package/dist/ui/marketing/FeatureGrid.d.ts +2 -2
  124. package/dist/ui/marketing/Hero.d.ts +2 -2
  125. package/dist/ui/marketing/PricingTable.d.ts +2 -2
  126. package/dist/ui/menubar.d.ts +17 -17
  127. package/dist/ui/menubar.d.ts.map +1 -1
  128. package/dist/ui/menubar.js +11 -12
  129. package/dist/ui/menubar.js.map +1 -1
  130. package/dist/ui/molecules/Autocomplete/index.d.ts +2 -2
  131. package/dist/ui/molecules/Autocomplete/index.js +0 -1
  132. package/dist/ui/molecules/Autocomplete/index.js.map +1 -1
  133. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -1
  134. package/dist/ui/molecules/SkeletonList.d.ts +2 -2
  135. package/dist/ui/nav-layout.d.ts +9 -9
  136. package/dist/ui/nav-layout.d.ts.map +1 -1
  137. package/dist/ui/nav-layout.js +1 -1
  138. package/dist/ui/nav-layout.js.map +1 -1
  139. package/dist/ui/navigation-menu.d.ts +11 -11
  140. package/dist/ui/navigation-menu.d.ts.map +1 -1
  141. package/dist/ui/navigation-menu.js +8 -8
  142. package/dist/ui/navigation-menu.js.map +1 -1
  143. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +2 -2
  144. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +0 -1
  145. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -1
  146. package/dist/ui/organisms/ListPage/ListPage.d.ts +2 -2
  147. package/dist/ui/page-header.d.ts +5 -5
  148. package/dist/ui/pagination.d.ts +6 -6
  149. package/dist/ui/pagination.js +7 -7
  150. package/dist/ui/pagination.js.map +1 -1
  151. package/dist/ui/popover.d.ts +5 -5
  152. package/dist/ui/popover.js +1 -2
  153. package/dist/ui/popover.js.map +1 -1
  154. package/dist/ui/progress.js +1 -2
  155. package/dist/ui/progress.js.map +1 -1
  156. package/dist/ui/radio-group.d.ts +3 -3
  157. package/dist/ui/radio-group.js +2 -3
  158. package/dist/ui/radio-group.js.map +1 -1
  159. package/dist/ui/resizable.d.ts +7 -7
  160. package/dist/ui/resizable.d.ts.map +1 -1
  161. package/dist/ui/resizable.js +2 -3
  162. package/dist/ui/resizable.js.map +1 -1
  163. package/dist/ui/route-announcer.d.ts +2 -2
  164. package/dist/ui/route-announcer.js +0 -1
  165. package/dist/ui/route-announcer.js.map +1 -1
  166. package/dist/ui/scroll-area.d.ts +3 -3
  167. package/dist/ui/scroll-area.js +2 -3
  168. package/dist/ui/scroll-area.js.map +1 -1
  169. package/dist/ui/section.d.ts +7 -7
  170. package/dist/ui/section.d.ts.map +1 -1
  171. package/dist/ui/section.js +1 -1
  172. package/dist/ui/section.js.map +1 -1
  173. package/dist/ui/select.d.ts +11 -11
  174. package/dist/ui/select.js +7 -8
  175. package/dist/ui/select.js.map +1 -1
  176. package/dist/ui/separator.d.ts +2 -2
  177. package/dist/ui/separator.js +1 -2
  178. package/dist/ui/separator.js.map +1 -1
  179. package/dist/ui/sheet.d.ts +9 -9
  180. package/dist/ui/sheet.js +6 -7
  181. package/dist/ui/sheet.js.map +1 -1
  182. package/dist/ui/sidebar.d.ts +28 -28
  183. package/dist/ui/sidebar.d.ts.map +1 -1
  184. package/dist/ui/sidebar.js +23 -24
  185. package/dist/ui/sidebar.js.map +1 -1
  186. package/dist/ui/skeleton.d.ts +2 -2
  187. package/dist/ui/skeleton.js +1 -1
  188. package/dist/ui/skeleton.js.map +1 -1
  189. package/dist/ui/skip-link.d.ts +2 -2
  190. package/dist/ui/skip-link.js +1 -1
  191. package/dist/ui/skip-link.js.map +1 -1
  192. package/dist/ui/slider.d.ts +2 -2
  193. package/dist/ui/slider.js +1 -2
  194. package/dist/ui/slider.js.map +1 -1
  195. package/dist/ui/sonner.d.ts +2 -2
  196. package/dist/ui/sonner.js +0 -1
  197. package/dist/ui/sonner.js.map +1 -1
  198. package/dist/ui/stack.d.ts +13 -13
  199. package/dist/ui/stack.d.ts.map +1 -1
  200. package/dist/ui/stack.js +3 -3
  201. package/dist/ui/stack.js.map +1 -1
  202. package/dist/ui/stat-card-group.d.ts +2 -2
  203. package/dist/ui/stepper.d.ts +2 -2
  204. package/dist/ui/switch.d.ts +2 -2
  205. package/dist/ui/switch.js +1 -2
  206. package/dist/ui/switch.js.map +1 -1
  207. package/dist/ui/table.d.ts +9 -9
  208. package/dist/ui/table.js +8 -9
  209. package/dist/ui/table.js.map +1 -1
  210. package/dist/ui/tabs.d.ts +5 -5
  211. package/dist/ui/tabs.js +4 -5
  212. package/dist/ui/tabs.js.map +1 -1
  213. package/dist/ui/text.d.ts +2 -2
  214. package/dist/ui/text.js +1 -1
  215. package/dist/ui/text.js.map +1 -1
  216. package/dist/ui/textarea.d.ts +2 -2
  217. package/dist/ui/textarea.js +1 -1
  218. package/dist/ui/textarea.js.map +1 -1
  219. package/dist/ui/time-picker.d.ts +2 -2
  220. package/dist/ui/time-picker.js +0 -1
  221. package/dist/ui/time-picker.js.map +1 -1
  222. package/dist/ui/toast.d.ts +2 -2
  223. package/dist/ui/toast.js +6 -7
  224. package/dist/ui/toast.js.map +1 -1
  225. package/dist/ui/toaster.d.ts +2 -2
  226. package/dist/ui/toaster.js +1 -2
  227. package/dist/ui/toaster.js.map +1 -1
  228. package/dist/ui/toggle-group.d.ts +3 -3
  229. package/dist/ui/toggle-group.js +2 -3
  230. package/dist/ui/toggle-group.js.map +1 -1
  231. package/dist/ui/toggle.d.ts +4 -4
  232. package/dist/ui/toggle.js +1 -2
  233. package/dist/ui/toggle.js.map +1 -1
  234. package/dist/ui/tooltip.d.ts +5 -5
  235. package/dist/ui/tooltip.js +2 -3
  236. package/dist/ui/tooltip.js.map +1 -1
  237. package/dist/ui/typography.d.ts +12 -12
  238. package/dist/ui/typography.js +11 -11
  239. package/dist/ui/typography.js.map +1 -1
  240. package/dist/ui/use-toast.js +0 -1
  241. package/dist/ui/use-toast.js.map +1 -1
  242. package/dist/ui/usecases/UseCaseCard.d.ts +2 -2
  243. package/dist/ui/usecases/UserStoryCard.d.ts +2 -2
  244. package/dist/ui/visually-hidden.js +1 -1
  245. package/dist/ui/visually-hidden.js.map +1 -1
  246. package/package.json +9 -10
  247. package/dist/ui/sidebar-right.d.ts +0 -165
  248. package/dist/ui/sidebar-right.d.ts.map +0 -1
  249. package/dist/ui/sidebar-right.js +0 -380
  250. package/dist/ui/sidebar-right.js.map +0 -1
package/dist/ui/form.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime48 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime84 from "react/jsx-runtime";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import * as LabelPrimitive from "@radix-ui/react-label";
5
5
  import * as react_hook_form0 from "react-hook-form";
@@ -10,7 +10,7 @@ import { zodResolver } from "@hookform/resolvers/zod";
10
10
  declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React$1.JSX.Element;
11
11
  declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
12
12
  ...props
13
- }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime48.JSX.Element;
13
+ }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime84.JSX.Element;
14
14
  declare const useFormField: () => {
15
15
  invalid: boolean;
16
16
  isDirty: boolean;
@@ -26,22 +26,22 @@ declare const useFormField: () => {
26
26
  declare function FormItem({
27
27
  className,
28
28
  ...props
29
- }: React$1.ComponentProps<'div'>): react_jsx_runtime48.JSX.Element;
29
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime84.JSX.Element;
30
30
  declare function FormLabel({
31
31
  className,
32
32
  ...props
33
- }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime48.JSX.Element;
33
+ }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime84.JSX.Element;
34
34
  declare function FormControl({
35
35
  ...props
36
- }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime48.JSX.Element;
36
+ }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime84.JSX.Element;
37
37
  declare function FormDescription({
38
38
  className,
39
39
  ...props
40
- }: React$1.ComponentProps<'p'>): react_jsx_runtime48.JSX.Element;
40
+ }: React$1.ComponentProps<'p'>): react_jsx_runtime84.JSX.Element;
41
41
  declare function FormMessage({
42
42
  className,
43
43
  ...props
44
- }: React$1.ComponentProps<'p'>): react_jsx_runtime48.JSX.Element | null;
44
+ }: React$1.ComponentProps<'p'>): react_jsx_runtime84.JSX.Element | null;
45
45
  //#endregion
46
46
  export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, type UseFormReturn, useFieldArray, useForm, useFormField, zodResolver };
47
47
  //# sourceMappingURL=form.d.ts.map
package/dist/ui/form.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import { cn } from "./utils.js";
5
4
  import { Label } from "./label.js";
6
5
  import * as React$1 from "react";
@@ -37,7 +36,7 @@ const useFormField = () => {
37
36
  };
38
37
  };
39
38
  const FormItemContext = React$1.createContext({});
40
- function FormItem({ className,...props }) {
39
+ function FormItem({ className, ...props }) {
41
40
  const id = React$1.useId();
42
41
  return /* @__PURE__ */ jsx(FormItemContext.Provider, {
43
42
  value: { id },
@@ -48,7 +47,7 @@ function FormItem({ className,...props }) {
48
47
  })
49
48
  });
50
49
  }
51
- function FormLabel({ className,...props }) {
50
+ function FormLabel({ className, ...props }) {
52
51
  const { error, formItemId } = useFormField();
53
52
  return /* @__PURE__ */ jsx(Label, {
54
53
  "data-slot": "form-label",
@@ -68,7 +67,7 @@ function FormControl({ ...props }) {
68
67
  ...props
69
68
  });
70
69
  }
71
- function FormDescription({ className,...props }) {
70
+ function FormDescription({ className, ...props }) {
72
71
  const { formDescriptionId } = useFormField();
73
72
  return /* @__PURE__ */ jsx("p", {
74
73
  "data-slot": "form-description",
@@ -77,7 +76,7 @@ function FormDescription({ className,...props }) {
77
76
  ...props
78
77
  });
79
78
  }
80
- function FormMessage({ className,...props }) {
79
+ function FormMessage({ className, ...props }) {
81
80
  const { error, formMessageId } = useFormField();
82
81
  const body = error ? String(error?.message ?? "") : props.children;
83
82
  if (!body) return null;
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","names":["React"],"sources":["../../ui/form.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from 'react-hook-form';\n\nimport { cn } from './utils';\nimport { Label } from './label';\n\nexport { zodResolver } from '@hookform/resolvers/zod';\nexport { useForm, type UseFormReturn, useFieldArray } from 'react-hook-form';\n\nconst Form = FormProvider;\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\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 } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\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\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn('grid gap-2', className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn('data-[error=true]:text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn('text-destructive text-sm', className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"mappings":";;;;;;;;;;;;;AAqBA,MAAM,OAAO;AASb,MAAM,mBAAmBA,QAAM,cAC7B,EAAE,CACH;AAED,MAAM,aAGJ,EACA,GAAG,YACuC;AAC1C,QACE,oBAAC,iBAAiB;EAAS,OAAO,EAAE,MAAM,MAAM,MAAM;YACpD,oBAAC,cAAW,GAAI,QAAS;GACC;;AAIhC,MAAM,qBAAqB;CACzB,MAAM,eAAeA,QAAM,WAAW,iBAAiB;CACvD,MAAM,cAAcA,QAAM,WAAW,gBAAgB;CACrD,MAAM,EAAE,kBAAkB,gBAAgB;CAC1C,MAAM,YAAY,aAAa,EAAE,MAAM,aAAa,MAAM,CAAC;CAC3D,MAAM,aAAa,cAAc,aAAa,MAAM,UAAU;AAE9D,KAAI,CAAC,aACH,OAAM,IAAI,MAAM,iDAAiD;CAGnE,MAAM,EAAE,OAAO;AAEf,QAAO;EACL;EACA,MAAM,aAAa;EACnB,YAAY,GAAG,GAAG;EAClB,mBAAmB,GAAG,GAAG;EACzB,eAAe,GAAG,GAAG;EACrB,GAAG;EACJ;;AAOH,MAAM,kBAAkBA,QAAM,cAC5B,EAAE,CACH;AAED,SAAS,SAAS,EAAE,UAAW,GAAG,SAAsC;CACtE,MAAM,KAAKA,QAAM,OAAO;AAExB,QACE,oBAAC,gBAAgB;EAAS,OAAO,EAAE,IAAI;YACrC,oBAAC;GACC,aAAU;GACV,WAAW,GAAG,cAAc,UAAU;GACtC,GAAI;IACJ;GACuB;;AAI/B,SAAS,UAAU,EACjB,UACA,GAAG,SACgD;CACnD,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,cAAY,CAAC,CAAC;EACd,WAAW,GAAG,sCAAsC,UAAU;EAC9D,SAAS;EACT,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,GAAG,SAA4C;CACpE,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAC5C,cAAc;AAEhB,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,oBACE,CAAC,QACG,GAAG,sBACH,GAAG,kBAAkB,GAAG;EAE9B,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,UAAW,GAAG,SAAoC;CAC3E,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,UAAW,GAAG,SAAoC;CACvE,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG,MAAM;AAE1D,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;YAEH;GACC"}
1
+ {"version":3,"file":"form.js","names":["React"],"sources":["../../ui/form.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from 'react-hook-form';\n\nimport { cn } from './utils';\nimport { Label } from './label';\n\nexport { zodResolver } from '@hookform/resolvers/zod';\nexport { useForm, type UseFormReturn, useFieldArray } from 'react-hook-form';\n\nconst Form = FormProvider;\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\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 } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\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\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn('grid gap-2', className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn('data-[error=true]:text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn('text-destructive text-sm', className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"mappings":";;;;;;;;;;;;AAqBA,MAAM,OAAO;AASb,MAAM,mBAAmBA,QAAM,cAC7B,EAAE,CACH;AAED,MAAM,aAGJ,EACA,GAAG,YACuC;AAC1C,QACE,oBAAC,iBAAiB;EAAS,OAAO,EAAE,MAAM,MAAM,MAAM;YACpD,oBAAC,cAAW,GAAI,QAAS;GACC;;AAIhC,MAAM,qBAAqB;CACzB,MAAM,eAAeA,QAAM,WAAW,iBAAiB;CACvD,MAAM,cAAcA,QAAM,WAAW,gBAAgB;CACrD,MAAM,EAAE,kBAAkB,gBAAgB;CAC1C,MAAM,YAAY,aAAa,EAAE,MAAM,aAAa,MAAM,CAAC;CAC3D,MAAM,aAAa,cAAc,aAAa,MAAM,UAAU;AAE9D,KAAI,CAAC,aACH,OAAM,IAAI,MAAM,iDAAiD;CAGnE,MAAM,EAAE,OAAO;AAEf,QAAO;EACL;EACA,MAAM,aAAa;EACnB,YAAY,GAAG,GAAG;EAClB,mBAAmB,GAAG,GAAG;EACzB,eAAe,GAAG,GAAG;EACrB,GAAG;EACJ;;AAOH,MAAM,kBAAkBA,QAAM,cAC5B,EAAE,CACH;AAED,SAAS,SAAS,EAAE,WAAW,GAAG,SAAsC;CACtE,MAAM,KAAKA,QAAM,OAAO;AAExB,QACE,oBAAC,gBAAgB;EAAS,OAAO,EAAE,IAAI;YACrC,oBAAC;GACC,aAAU;GACV,WAAW,GAAG,cAAc,UAAU;GACtC,GAAI;IACJ;GACuB;;AAI/B,SAAS,UAAU,EACjB,WACA,GAAG,SACgD;CACnD,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,cAAY,CAAC,CAAC;EACd,WAAW,GAAG,sCAAsC,UAAU;EAC9D,SAAS;EACT,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,GAAG,SAA4C;CACpE,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAC5C,cAAc;AAEhB,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,oBACE,CAAC,QACG,GAAG,sBACH,GAAG,kBAAkB,GAAG;EAE9B,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAoC;CAC3E,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAoC;CACvE,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG,MAAM;AAE1D,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;YAEH;GACC"}
@@ -1,20 +1,20 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime64 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime45 from "react/jsx-runtime";
3
3
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
4
4
 
5
5
  //#region ui/hover-card.d.ts
6
6
  declare function HoverCard({
7
7
  ...props
8
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime64.JSX.Element;
8
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime45.JSX.Element;
9
9
  declare function HoverCardTrigger({
10
10
  ...props
11
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime64.JSX.Element;
11
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime45.JSX.Element;
12
12
  declare function HoverCardContent({
13
13
  className,
14
14
  align,
15
15
  sideOffset,
16
16
  ...props
17
- }: React$1.ComponentProps<typeof HoverCardPrimitive.Content>): react_jsx_runtime64.JSX.Element;
17
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Content>): react_jsx_runtime45.JSX.Element;
18
18
  //#endregion
19
19
  export { HoverCard, HoverCardContent, HoverCardTrigger };
20
20
  //# sourceMappingURL=hover-card.d.ts.map
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import { cn } from "./utils.js";
5
4
  import "react";
6
5
  import { jsx } from "react/jsx-runtime";
@@ -19,7 +18,7 @@ function HoverCardTrigger({ ...props }) {
19
18
  ...props
20
19
  });
21
20
  }
22
- function HoverCardContent({ className, align = "center", sideOffset = 4,...props }) {
21
+ function HoverCardContent({ className, align = "center", sideOffset = 4, ...props }) {
23
22
  return /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, {
24
23
  "data-slot": "hover-card-portal",
25
24
  children: /* @__PURE__ */ jsx(HoverCardPrimitive.Content, {
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.js","names":[],"sources":["../../ui/hover-card.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as HoverCardPrimitive from '@radix-ui/react-hover-card';\n\nimport { cn } from './utils';\n\nfunction HoverCard({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return (\n <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n );\n}\n\nfunction HoverCardContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;;;;;;;AAOA,SAAS,UAAU,EACjB,GAAG,SACoD;AACvD,QAAO,oBAAC,mBAAmB;EAAK,aAAU;EAAa,GAAI;GAAS;;AAGtE,SAAS,iBAAiB,EACxB,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAQ,aAAU;EAAqB,GAAI;GAAS;;AAI5E,SAAS,iBAAiB,EACxB,WACA,QAAQ,UACR,aAAa,EACb,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAO,aAAU;YACnC,oBAAC,mBAAmB;GAClB,aAAU;GACH;GACK;GACZ,WAAW,GACT,qeACA,UACD;GACD,GAAI;IACJ;GACwB"}
1
+ {"version":3,"file":"hover-card.js","names":[],"sources":["../../ui/hover-card.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as HoverCardPrimitive from '@radix-ui/react-hover-card';\n\nimport { cn } from './utils';\n\nfunction HoverCard({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return (\n <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n );\n}\n\nfunction HoverCardContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;;;;;;AAOA,SAAS,UAAU,EACjB,GAAG,SACoD;AACvD,QAAO,oBAAC,mBAAmB;EAAK,aAAU;EAAa,GAAI;GAAS;;AAGtE,SAAS,iBAAiB,EACxB,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAQ,aAAU;EAAqB,GAAI;GAAS;;AAI5E,SAAS,iBAAiB,EACxB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAO,aAAU;YACnC,oBAAC,mBAAmB;GAClB,aAAU;GACH;GACK;GACZ,WAAW,GACT,qeACA,UACD;GACD,GAAI;IACJ;GACwB"}
@@ -1,44 +1,44 @@
1
1
  import { Button } from "./button.js";
2
2
  import * as React$1 from "react";
3
- import * as react_jsx_runtime67 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime39 from "react/jsx-runtime";
4
4
  import { VariantProps } from "class-variance-authority";
5
- import * as class_variance_authority_types3 from "class-variance-authority/types";
5
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
6
6
 
7
7
  //#region ui/input-group.d.ts
8
8
  declare function InputGroup({
9
9
  className,
10
10
  ...props
11
- }: React$1.ComponentProps<'div'>): react_jsx_runtime67.JSX.Element;
11
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime39.JSX.Element;
12
12
  declare const inputGroupAddonVariants: (props?: ({
13
13
  align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
14
- } & class_variance_authority_types3.ClassProp) | undefined) => string;
14
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
15
15
  declare function InputGroupAddon({
16
16
  className,
17
17
  align,
18
18
  ...props
19
- }: React$1.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime67.JSX.Element;
19
+ }: React$1.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime39.JSX.Element;
20
20
  declare const inputGroupButtonVariants: (props?: ({
21
- size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
22
- } & class_variance_authority_types3.ClassProp) | undefined) => string;
21
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
22
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
23
23
  declare function InputGroupButton({
24
24
  className,
25
25
  type,
26
26
  variant,
27
27
  size,
28
28
  ...props
29
- }: Omit<React$1.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime67.JSX.Element;
29
+ }: Omit<React$1.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime39.JSX.Element;
30
30
  declare function InputGroupText({
31
31
  className,
32
32
  ...props
33
- }: React$1.ComponentProps<'span'>): react_jsx_runtime67.JSX.Element;
33
+ }: React$1.ComponentProps<'span'>): react_jsx_runtime39.JSX.Element;
34
34
  declare function InputGroupInput({
35
35
  className,
36
36
  ...props
37
- }: React$1.ComponentProps<'input'>): react_jsx_runtime67.JSX.Element;
37
+ }: React$1.ComponentProps<'input'>): react_jsx_runtime39.JSX.Element;
38
38
  declare function InputGroupTextarea({
39
39
  className,
40
40
  ...props
41
- }: React$1.ComponentProps<'textarea'>): react_jsx_runtime67.JSX.Element;
41
+ }: React$1.ComponentProps<'textarea'>): react_jsx_runtime39.JSX.Element;
42
42
  //#endregion
43
43
  export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
44
44
  //# sourceMappingURL=input-group.d.ts.map
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import { cn } from "./utils.js";
5
4
  import { Button } from "./button.js";
6
5
  import { Input } from "./input.js";
@@ -10,7 +9,7 @@ import { jsx } from "react/jsx-runtime";
10
9
  import { cva } from "class-variance-authority";
11
10
 
12
11
  //#region ui/input-group.tsx
13
- function InputGroup({ className,...props }) {
12
+ function InputGroup({ className, ...props }) {
14
13
  return /* @__PURE__ */ jsx("div", {
15
14
  "data-slot": "input-group",
16
15
  role: "group",
@@ -27,7 +26,7 @@ const inputGroupAddonVariants = cva("text-muted-foreground flex h-auto cursor-te
27
26
  } },
28
27
  defaultVariants: { align: "inline-start" }
29
28
  });
30
- function InputGroupAddon({ className, align = "inline-start",...props }) {
29
+ function InputGroupAddon({ className, align = "inline-start", ...props }) {
31
30
  return /* @__PURE__ */ jsx("div", {
32
31
  role: "group",
33
32
  "data-slot": "input-group-addon",
@@ -49,7 +48,7 @@ const inputGroupButtonVariants = cva("text-sm shadow-none flex gap-2 items-cente
49
48
  } },
50
49
  defaultVariants: { size: "xs" }
51
50
  });
52
- function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs",...props }) {
51
+ function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props }) {
53
52
  return /* @__PURE__ */ jsx(Button, {
54
53
  type,
55
54
  "data-size": size,
@@ -58,20 +57,20 @@ function InputGroupButton({ className, type = "button", variant = "ghost", size
58
57
  ...props
59
58
  });
60
59
  }
61
- function InputGroupText({ className,...props }) {
60
+ function InputGroupText({ className, ...props }) {
62
61
  return /* @__PURE__ */ jsx("span", {
63
62
  className: cn("text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
64
63
  ...props
65
64
  });
66
65
  }
67
- function InputGroupInput({ className,...props }) {
66
+ function InputGroupInput({ className, ...props }) {
68
67
  return /* @__PURE__ */ jsx(Input, {
69
68
  "data-slot": "input-group-control",
70
69
  className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent", className),
71
70
  ...props
72
71
  });
73
72
  }
74
- function InputGroupTextarea({ className,...props }) {
73
+ function InputGroupTextarea({ className, ...props }) {
75
74
  return /* @__PURE__ */ jsx(Textarea, {
76
75
  "data-slot": "input-group-control",
77
76
  className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent", className),
@@ -1 +1 @@
1
- {"version":3,"file":"input-group.js","names":[],"sources":["../../ui/input-group.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Textarea } from './textarea';\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n 'group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none',\n 'h-9 min-w-0 has-[>textarea]:h-auto',\n\n // Variants based on alignment.\n 'has-[>[data-align=inline-start]]:[&>input]:pl-2',\n 'has-[>[data-align=inline-end]]:[&>input]:pr-2',\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3',\n\n // Focus state.\n 'has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]',\n\n // Error state.\n 'has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40',\n\n className\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50\",\n {\n variants: {\n align: {\n 'inline-start':\n 'order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]',\n 'inline-end':\n 'order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]',\n 'block-start':\n 'order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5',\n 'block-end':\n 'order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n }\n);\n\nfunction InputGroupAddon({\n className,\n align = 'inline-start',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest('button')) {\n return;\n }\n e.currentTarget.parentElement?.querySelector('input')?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n 'text-sm shadow-none flex gap-2 items-center',\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2\",\n sm: 'h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5',\n 'icon-xs':\n 'size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0',\n 'icon-sm': 'size-8 p-0 has-[>svg]:p-0',\n },\n },\n defaultVariants: {\n size: 'xs',\n },\n }\n);\n\nfunction InputGroupButton({\n className,\n type = 'button',\n variant = 'ghost',\n size = 'xs',\n ...props\n}: Omit<React.ComponentProps<typeof Button>, 'size'> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<'input'>) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<'textarea'>) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"mappings":";;;;;;;;;;;;AAUA,SAAS,WAAW,EAAE,UAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GACT,4JACA,sCAGA,mDACA,iDACA,kIACA,4HAGA,mMAGA,kLAEA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,0BAA0B,IAC9B,2PACA;CACE,UAAU,EACR,OAAO;EACL,gBACE;EACF,cACE;EACF,eACE;EACF,aACE;EACH,EACF;CACD,iBAAiB,EACf,OAAO,gBACR;CACF,CACF;AAED,SAAS,gBAAgB,EACvB,WACA,QAAQ,eACR,GAAG,SAC0E;AAC7E,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,cAAY;EACZ,WAAW,GAAG,wBAAwB,EAAE,OAAO,CAAC,EAAE,UAAU;EAC5D,UAAU,MAAM;AACd,OAAK,EAAE,OAAuB,QAAQ,SAAS,CAC7C;AAEF,KAAE,cAAc,eAAe,cAAc,QAAQ,EAAE,OAAO;;EAEhE,GAAI;GACJ;;AAIN,MAAM,2BAA2B,IAC/B,+CACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,WACE;EACF,WAAW;EACZ,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CACF;AAED,SAAS,iBAAiB,EACxB,WACA,OAAO,UACP,UAAU,SACV,OAAO,KACP,GAAG,SAE4C;AAC/C,QACE,oBAAC;EACO;EACN,aAAW;EACF;EACT,WAAW,GAAG,yBAAyB,EAAE,MAAM,CAAC,EAAE,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,UAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC;EACC,WAAW,GACT,0HACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,UACA,GAAG,SAC6B;AAChC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,oGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,UACA,GAAG,SACgC;AACnC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,qHACA,UACD;EACD,GAAI;GACJ"}
1
+ {"version":3,"file":"input-group.js","names":[],"sources":["../../ui/input-group.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Textarea } from './textarea';\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n 'group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none',\n 'h-9 min-w-0 has-[>textarea]:h-auto',\n\n // Variants based on alignment.\n 'has-[>[data-align=inline-start]]:[&>input]:pl-2',\n 'has-[>[data-align=inline-end]]:[&>input]:pr-2',\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3',\n\n // Focus state.\n 'has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]',\n\n // Error state.\n 'has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40',\n\n className\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50\",\n {\n variants: {\n align: {\n 'inline-start':\n 'order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]',\n 'inline-end':\n 'order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]',\n 'block-start':\n 'order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5',\n 'block-end':\n 'order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n }\n);\n\nfunction InputGroupAddon({\n className,\n align = 'inline-start',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest('button')) {\n return;\n }\n e.currentTarget.parentElement?.querySelector('input')?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n 'text-sm shadow-none flex gap-2 items-center',\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2\",\n sm: 'h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5',\n 'icon-xs':\n 'size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0',\n 'icon-sm': 'size-8 p-0 has-[>svg]:p-0',\n },\n },\n defaultVariants: {\n size: 'xs',\n },\n }\n);\n\nfunction InputGroupButton({\n className,\n type = 'button',\n variant = 'ghost',\n size = 'xs',\n ...props\n}: Omit<React.ComponentProps<typeof Button>, 'size'> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<'input'>) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<'textarea'>) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"mappings":";;;;;;;;;;;AAUA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GACT,4JACA,sCAGA,mDACA,iDACA,kIACA,4HAGA,mMAGA,kLAEA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,0BAA0B,IAC9B,2PACA;CACE,UAAU,EACR,OAAO;EACL,gBACE;EACF,cACE;EACF,eACE;EACF,aACE;EACH,EACF;CACD,iBAAiB,EACf,OAAO,gBACR;CACF,CACF;AAED,SAAS,gBAAgB,EACvB,WACA,QAAQ,gBACR,GAAG,SAC0E;AAC7E,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,cAAY;EACZ,WAAW,GAAG,wBAAwB,EAAE,OAAO,CAAC,EAAE,UAAU;EAC5D,UAAU,MAAM;AACd,OAAK,EAAE,OAAuB,QAAQ,SAAS,CAC7C;AAEF,KAAE,cAAc,eAAe,cAAc,QAAQ,EAAE,OAAO;;EAEhE,GAAI;GACJ;;AAIN,MAAM,2BAA2B,IAC/B,+CACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,WACE;EACF,WAAW;EACZ,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CACF;AAED,SAAS,iBAAiB,EACxB,WACA,OAAO,UACP,UAAU,SACV,OAAO,MACP,GAAG,SAE4C;AAC/C,QACE,oBAAC;EACO;EACN,aAAW;EACF;EACT,WAAW,GAAG,yBAAyB,EAAE,MAAM,CAAC,EAAE,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC;EACC,WAAW,GACT,0HACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,WACA,GAAG,SAC6B;AAChC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,oGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACgC;AACnC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,qHACA,UACD;EACD,GAAI;GACJ"}
@@ -2,7 +2,7 @@ import * as React$1 from "react";
2
2
  import * as input_otp0 from "input-otp";
3
3
 
4
4
  //#region ui/input-otp.d.ts
5
- declare const InputOTP: React$1.ForwardRefExoticComponent<(Omit<Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
5
+ declare const InputOTP: React$1.ForwardRefExoticComponent<(Omit<Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "onChange" | "maxLength" | "value" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
6
6
  value?: string;
7
7
  onChange?: (newValue: string) => unknown;
8
8
  maxLength: number;
@@ -15,7 +15,7 @@ declare const InputOTP: React$1.ForwardRefExoticComponent<(Omit<Omit<React$1.Inp
15
15
  } & {
16
16
  render: (props: input_otp0.RenderProps) => React$1.ReactNode;
17
17
  children?: never;
18
- } & React$1.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "value" | "onChange" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
18
+ } & React$1.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "onChange" | "maxLength" | "value" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
19
19
  value?: string;
20
20
  onChange?: (newValue: string) => unknown;
21
21
  maxLength: number;
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import { cn } from "./utils.js";
5
4
  import * as React$1 from "react";
6
5
  import { Dot } from "lucide-react";
@@ -8,20 +7,20 @@ import { jsx, jsxs } from "react/jsx-runtime";
8
7
  import { OTPInput, OTPInputContext } from "input-otp";
9
8
 
10
9
  //#region ui/input-otp.tsx
11
- const InputOTP = React$1.forwardRef(({ className, containerClassName,...props }, ref) => /* @__PURE__ */ jsx(OTPInput, {
10
+ const InputOTP = React$1.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx(OTPInput, {
12
11
  ref,
13
12
  containerClassName: cn("flex items-center gap-2 has-disabled:opacity-50", containerClassName),
14
13
  className: cn("disabled:cursor-not-allowed", className),
15
14
  ...props
16
15
  }));
17
16
  InputOTP.displayName = "InputOTP";
18
- const InputOTPGroup = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx("div", {
17
+ const InputOTPGroup = React$1.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
19
18
  ref,
20
19
  className: cn("flex items-center", className),
21
20
  ...props
22
21
  }));
23
22
  InputOTPGroup.displayName = "InputOTPGroup";
24
- const InputOTPSlot = React$1.forwardRef(({ index, className,...props }, ref) => {
23
+ const InputOTPSlot = React$1.forwardRef(({ index, className, ...props }, ref) => {
25
24
  const { char, hasFakeCaret, isActive } = React$1.useContext(OTPInputContext).slots[index] || {};
26
25
  return /* @__PURE__ */ jsxs("div", {
27
26
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.js","names":["React"],"sources":["../../ui/input-otp.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport { Dot } from 'lucide-react';\n\nimport { cn } from './utils';\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n 'flex items-center gap-2 has-disabled:opacity-50',\n containerClassName\n )}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n));\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center', className)} {...props} />\n));\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] || {};\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-input relative flex h-10 w-10 items-center justify-center border-y border-r text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n isActive && 'ring-ring ring-offset-background z-10 ring-2',\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n));\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;;;;;;;;AAQA,MAAM,WAAWA,QAAM,YAGpB,EAAE,WAAW,mBAAoB,GAAG,SAAS,QAC9C,oBAAC;CACM;CACL,oBAAoB,GAClB,mDACA,mBACD;CACD,WAAW,GAAG,+BAA+B,UAAU;CACvD,GAAI;EACJ,CACF;AACF,SAAS,cAAc;AAEvB,MAAM,gBAAgBA,QAAM,YAGzB,EAAE,UAAW,GAAG,SAAS,QAC1B,oBAAC;CAAS;CAAK,WAAW,GAAG,qBAAqB,UAAU;CAAE,GAAI;EAAS,CAC3E;AACF,cAAc,cAAc;AAE5B,MAAM,eAAeA,QAAM,YAGxB,EAAE,OAAO,UAAW,GAAG,SAAS,QAAQ;CAEzC,MAAM,EAAE,MAAM,cAAc,aADJA,QAAM,WAAW,gBAAgB,CACA,MAAM,UAAU,EAAE;AAE3E,QACE,qBAAC;EACM;EACL,WAAW,GACT,mKACA,YAAY,gDACZ,UACD;EACD,GAAI;aAEH,MACA,gBACC,oBAAC;GAAI,WAAU;aACb,oBAAC,SAAI,WAAU,6DAA6D;IACxE;GAEJ;EAER;AACF,aAAa,cAAc;AAE3B,MAAM,oBAAoBA,QAAM,YAG7B,EAAE,GAAG,SAAS,QACf,oBAAC;CAAS;CAAK,MAAK;CAAY,GAAI;WAClC,oBAAC,QAAM;EACH,CACN;AACF,kBAAkB,cAAc"}
1
+ {"version":3,"file":"input-otp.js","names":["React"],"sources":["../../ui/input-otp.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport { Dot } from 'lucide-react';\n\nimport { cn } from './utils';\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n 'flex items-center gap-2 has-disabled:opacity-50',\n containerClassName\n )}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n));\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center', className)} {...props} />\n));\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] || {};\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-input relative flex h-10 w-10 items-center justify-center border-y border-r text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n isActive && 'ring-ring ring-offset-background z-10 ring-2',\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n));\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;;;;;;;AAQA,MAAM,WAAWA,QAAM,YAGpB,EAAE,WAAW,oBAAoB,GAAG,SAAS,QAC9C,oBAAC;CACM;CACL,oBAAoB,GAClB,mDACA,mBACD;CACD,WAAW,GAAG,+BAA+B,UAAU;CACvD,GAAI;EACJ,CACF;AACF,SAAS,cAAc;AAEvB,MAAM,gBAAgBA,QAAM,YAGzB,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC;CAAS;CAAK,WAAW,GAAG,qBAAqB,UAAU;CAAE,GAAI;EAAS,CAC3E;AACF,cAAc,cAAc;AAE5B,MAAM,eAAeA,QAAM,YAGxB,EAAE,OAAO,WAAW,GAAG,SAAS,QAAQ;CAEzC,MAAM,EAAE,MAAM,cAAc,aADJA,QAAM,WAAW,gBAAgB,CACA,MAAM,UAAU,EAAE;AAE3E,QACE,qBAAC;EACM;EACL,WAAW,GACT,mKACA,YAAY,gDACZ,UACD;EACD,GAAI;aAEH,MACA,gBACC,oBAAC;GAAI,WAAU;aACb,oBAAC,SAAI,WAAU,6DAA6D;IACxE;GAEJ;EAER;AACF,aAAa,cAAc;AAE3B,MAAM,oBAAoBA,QAAM,YAG7B,EAAE,GAAG,SAAS,QACf,oBAAC;CAAS;CAAK,MAAK;CAAY,GAAI;WAClC,oBAAC,QAAM;EACH,CACN;AACF,kBAAkB,cAAc"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime73 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime80 from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/input.d.ts
5
5
  type InputProps = React$1.ComponentProps<'input'>;
@@ -7,7 +7,7 @@ declare function Input({
7
7
  className,
8
8
  type,
9
9
  ...props
10
- }: InputProps): react_jsx_runtime73.JSX.Element;
10
+ }: InputProps): react_jsx_runtime80.JSX.Element;
11
11
  //#endregion
12
12
  export { Input, InputProps };
13
13
  //# sourceMappingURL=input.d.ts.map
package/dist/ui/input.js CHANGED
@@ -3,7 +3,7 @@ import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
5
5
  //#region ui/input.tsx
6
- function Input({ className, type,...props }) {
6
+ function Input({ className, type, ...props }) {
7
7
  return /* @__PURE__ */ jsx("input", {
8
8
  type,
9
9
  "data-slot": "input",
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './utils';\n\nexport type InputProps = React.ComponentProps<'input'>;\n\nfunction Input({ className, type, ...props }: InputProps) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":";;;;;AAMA,SAAS,MAAM,EAAE,WAAW,KAAM,GAAG,SAAqB;AACxD,QACE,oBAAC;EACO;EACN,aAAU;EACV,WAAW,GACT,8bACA,iFACA,0GACA,UACD;EACD,GAAI;GACJ"}
1
+ {"version":3,"file":"input.js","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './utils';\n\nexport type InputProps = React.ComponentProps<'input'>;\n\nfunction Input({ className, type, ...props }: InputProps) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":";;;;;AAMA,SAAS,MAAM,EAAE,WAAW,MAAM,GAAG,SAAqB;AACxD,QACE,oBAAC;EACO;EACN,aAAU;EACV,WAAW,GACT,8bACA,iFACA,0GACA,UACD;EACD,GAAI;GACJ"}
@@ -1,12 +1,12 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime74 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime79 from "react/jsx-runtime";
3
3
  import * as LabelPrimitive from "@radix-ui/react-label";
4
4
 
5
5
  //#region ui/label.d.ts
6
6
  declare function Label({
7
7
  className,
8
8
  ...props
9
- }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime74.JSX.Element;
9
+ }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime79.JSX.Element;
10
10
  //#endregion
11
11
  export { Label };
12
12
  //# sourceMappingURL=label.d.ts.map
package/dist/ui/label.js CHANGED
@@ -1,13 +1,12 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import { cn } from "./utils.js";
5
4
  import "react";
6
5
  import { jsx } from "react/jsx-runtime";
7
6
  import * as LabelPrimitive from "@radix-ui/react-label";
8
7
 
9
8
  //#region ui/label.tsx
10
- function Label({ className,...props }) {
9
+ function Label({ className, ...props }) {
11
10
  return /* @__PURE__ */ jsx(LabelPrimitive.Root, {
12
11
  "data-slot": "label",
13
12
  className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className),
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\n\nimport { cn } from './utils';\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":";;;;;;;;;AAOA,SAAS,MAAM,EACb,UACA,GAAG,SACgD;AACnD,QACE,oBAAC,eAAe;EACd,aAAU;EACV,WAAW,GACT,uNACA,UACD;EACD,GAAI;GACJ"}
1
+ {"version":3,"file":"label.js","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\n\nimport { cn } from './utils';\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":";;;;;;;;AAOA,SAAS,MAAM,EACb,WACA,GAAG,SACgD;AACnD,QACE,oBAAC,eAAe;EACd,aAAU;EACV,WAAW,GACT,uNACA,UACD;EACD,GAAI;GACJ"}
package/dist/ui/link.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import * as react0 from "react";
1
+ import * as react1 from "react";
2
2
 
3
3
  //#region ui/link.d.ts
4
- declare const Link: react0.ForwardRefExoticComponent<Omit<react0.HTMLProps<HTMLAnchorElement> & {
4
+ declare const Link: react1.ForwardRefExoticComponent<Omit<react1.HTMLProps<HTMLAnchorElement> & {
5
5
  href: string;
6
- }, "ref"> & react0.RefAttributes<HTMLAnchorElement>>;
6
+ }, "ref"> & react1.RefAttributes<HTMLAnchorElement>>;
7
7
  //#endregion
8
8
  export { Link };
9
9
  //# sourceMappingURL=link.d.ts.map
package/dist/ui/link.js CHANGED
@@ -4,7 +4,7 @@ import { jsx } from "react/jsx-runtime";
4
4
  import NextLink from "next/link";
5
5
 
6
6
  //#region ui/link.tsx
7
- const Link = forwardRef(({ className,...props }, ref) => {
7
+ const Link = forwardRef(({ className, ...props }, ref) => {
8
8
  return /* @__PURE__ */ jsx(NextLink, {
9
9
  ref,
10
10
  className: cn("className=\"text-primary underline\"", className),
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","names":[],"sources":["../../ui/link.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { cn } from './utils';\nimport NextLink from 'next/link';\n\nconst Link = forwardRef<\n HTMLAnchorElement,\n React.HTMLProps<HTMLAnchorElement> & { href: string }\n>(({ className, ...props }, ref) => {\n return (\n <NextLink\n ref={ref}\n className={cn('className=\"text-primary underline\"', className)}\n {...props}\n />\n );\n});\nLink.displayName = 'Link';\n\nexport { Link };\n"],"mappings":";;;;;;AAIA,MAAM,OAAO,YAGV,EAAE,UAAW,GAAG,SAAS,QAAQ;AAClC,QACE,oBAAC;EACM;EACL,WAAW,GAAG,wCAAsC,UAAU;EAC9D,GAAI;GACJ;EAEJ;AACF,KAAK,cAAc"}
1
+ {"version":3,"file":"link.js","names":[],"sources":["../../ui/link.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { cn } from './utils';\nimport NextLink from 'next/link';\n\nconst Link = forwardRef<\n HTMLAnchorElement,\n React.HTMLProps<HTMLAnchorElement> & { href: string }\n>(({ className, ...props }, ref) => {\n return (\n <NextLink\n ref={ref}\n className={cn('className=\"text-primary underline\"', className)}\n {...props}\n />\n );\n});\nLink.displayName = 'Link';\n\nexport { Link };\n"],"mappings":";;;;;;AAIA,MAAM,OAAO,YAGV,EAAE,WAAW,GAAG,SAAS,QAAQ;AAClC,QACE,oBAAC;EACM;EACL,WAAW,GAAG,wCAAsC,UAAU;EAC9D,GAAI;GACJ;EAEJ;AACF,KAAK,cAAc"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime75 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime96 from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/live-region.d.ts
5
5
  type LiveRegionPoliteness = 'polite' | 'assertive';
@@ -11,7 +11,7 @@ declare function SRLiveRegionProvider({
11
11
  children
12
12
  }: {
13
13
  children: React$1.ReactNode;
14
- }): react_jsx_runtime75.JSX.Element;
14
+ }): react_jsx_runtime96.JSX.Element;
15
15
  //#endregion
16
16
  export { LiveRegionPoliteness, SRLiveRegionProvider, useSRLiveRegion };
17
17
  //# sourceMappingURL=live-region.d.ts.map
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import * as React$1 from "react";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
6
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"live-region.js","names":["React"],"sources":["../../ui/live-region.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nexport type LiveRegionPoliteness = 'polite' | 'assertive';\n\ninterface LiveRegionMessage {\n id: number;\n text: string;\n politeness: LiveRegionPoliteness;\n}\n\ninterface SRLiveRegionContextValue {\n announce: (text: string, politeness?: LiveRegionPoliteness) => void;\n}\n\nconst SRLiveRegionContext =\n React.createContext<SRLiveRegionContextValue | null>(null);\n\nexport function useSRLiveRegion() {\n const ctx = React.useContext(SRLiveRegionContext);\n if (!ctx)\n throw new Error('useSRLiveRegion must be used within SRLiveRegionProvider');\n return ctx;\n}\n\nexport function SRLiveRegionProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const [messages, setMessages] = React.useState<LiveRegionMessage[]>([]);\n const idRef = React.useRef(0);\n\n const announce = React.useCallback(\n (text: string, politeness: LiveRegionPoliteness = 'polite') => {\n const id = ++idRef.current;\n setMessages((prev) => [...prev, { id, text, politeness }]);\n // Remove message after render tick to avoid accumulation\n setTimeout(\n () => setMessages((prev) => prev.filter((m) => m.id !== id)),\n 1000\n );\n },\n []\n );\n\n return (\n <SRLiveRegionContext.Provider value={{ announce }}>\n {children}\n <div aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {messages\n .filter((m) => m.politeness === 'polite')\n .map((m) => (\n <div key={m.id}>{m.text}</div>\n ))}\n </div>\n <div aria-live=\"assertive\" aria-atomic=\"true\" className=\"sr-only\">\n {messages\n .filter((m) => m.politeness === 'assertive')\n .map((m) => (\n <div key={m.id}>{m.text}</div>\n ))}\n </div>\n </SRLiveRegionContext.Provider>\n );\n}\n"],"mappings":";;;;;;;AAgBA,MAAM,sBACJA,QAAM,cAA+C,KAAK;AAE5D,SAAgB,kBAAkB;CAChC,MAAM,MAAMA,QAAM,WAAW,oBAAoB;AACjD,KAAI,CAAC,IACH,OAAM,IAAI,MAAM,2DAA2D;AAC7E,QAAO;;AAGT,SAAgB,qBAAqB,EACnC,YAGC;CACD,MAAM,CAAC,UAAU,eAAeA,QAAM,SAA8B,EAAE,CAAC;CACvE,MAAM,QAAQA,QAAM,OAAO,EAAE;CAE7B,MAAM,WAAWA,QAAM,aACpB,MAAc,aAAmC,aAAa;EAC7D,MAAM,KAAK,EAAE,MAAM;AACnB,eAAa,SAAS,CAAC,GAAG,MAAM;GAAE;GAAI;GAAM;GAAY,CAAC,CAAC;AAE1D,mBACQ,aAAa,SAAS,KAAK,QAAQ,MAAM,EAAE,OAAO,GAAG,CAAC,EAC5D,IACD;IAEH,EAAE,CACH;AAED,QACE,qBAAC,oBAAoB;EAAS,OAAO,EAAE,UAAU;;GAC9C;GACD,oBAAC;IAAI,aAAU;IAAS,eAAY;IAAO,WAAU;cAClD,SACE,QAAQ,MAAM,EAAE,eAAe,SAAS,CACxC,KAAK,MACJ,oBAAC,mBAAgB,EAAE,QAAT,EAAE,GAAkB,CAC9B;KACA;GACN,oBAAC;IAAI,aAAU;IAAY,eAAY;IAAO,WAAU;cACrD,SACE,QAAQ,MAAM,EAAE,eAAe,YAAY,CAC3C,KAAK,MACJ,oBAAC,mBAAgB,EAAE,QAAT,EAAE,GAAkB,CAC9B;KACA;;GACuB"}
1
+ {"version":3,"file":"live-region.js","names":["React"],"sources":["../../ui/live-region.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nexport type LiveRegionPoliteness = 'polite' | 'assertive';\n\ninterface LiveRegionMessage {\n id: number;\n text: string;\n politeness: LiveRegionPoliteness;\n}\n\ninterface SRLiveRegionContextValue {\n announce: (text: string, politeness?: LiveRegionPoliteness) => void;\n}\n\nconst SRLiveRegionContext =\n React.createContext<SRLiveRegionContextValue | null>(null);\n\nexport function useSRLiveRegion() {\n const ctx = React.useContext(SRLiveRegionContext);\n if (!ctx)\n throw new Error('useSRLiveRegion must be used within SRLiveRegionProvider');\n return ctx;\n}\n\nexport function SRLiveRegionProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const [messages, setMessages] = React.useState<LiveRegionMessage[]>([]);\n const idRef = React.useRef(0);\n\n const announce = React.useCallback(\n (text: string, politeness: LiveRegionPoliteness = 'polite') => {\n const id = ++idRef.current;\n setMessages((prev) => [...prev, { id, text, politeness }]);\n // Remove message after render tick to avoid accumulation\n setTimeout(\n () => setMessages((prev) => prev.filter((m) => m.id !== id)),\n 1000\n );\n },\n []\n );\n\n return (\n <SRLiveRegionContext.Provider value={{ announce }}>\n {children}\n <div aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {messages\n .filter((m) => m.politeness === 'polite')\n .map((m) => (\n <div key={m.id}>{m.text}</div>\n ))}\n </div>\n <div aria-live=\"assertive\" aria-atomic=\"true\" className=\"sr-only\">\n {messages\n .filter((m) => m.politeness === 'assertive')\n .map((m) => (\n <div key={m.id}>{m.text}</div>\n ))}\n </div>\n </SRLiveRegionContext.Provider>\n );\n}\n"],"mappings":";;;;;;AAgBA,MAAM,sBACJA,QAAM,cAA+C,KAAK;AAE5D,SAAgB,kBAAkB;CAChC,MAAM,MAAMA,QAAM,WAAW,oBAAoB;AACjD,KAAI,CAAC,IACH,OAAM,IAAI,MAAM,2DAA2D;AAC7E,QAAO;;AAGT,SAAgB,qBAAqB,EACnC,YAGC;CACD,MAAM,CAAC,UAAU,eAAeA,QAAM,SAA8B,EAAE,CAAC;CACvE,MAAM,QAAQA,QAAM,OAAO,EAAE;CAE7B,MAAM,WAAWA,QAAM,aACpB,MAAc,aAAmC,aAAa;EAC7D,MAAM,KAAK,EAAE,MAAM;AACnB,eAAa,SAAS,CAAC,GAAG,MAAM;GAAE;GAAI;GAAM;GAAY,CAAC,CAAC;AAE1D,mBACQ,aAAa,SAAS,KAAK,QAAQ,MAAM,EAAE,OAAO,GAAG,CAAC,EAC5D,IACD;IAEH,EAAE,CACH;AAED,QACE,qBAAC,oBAAoB;EAAS,OAAO,EAAE,UAAU;;GAC9C;GACD,oBAAC;IAAI,aAAU;IAAS,eAAY;IAAO,WAAU;cAClD,SACE,QAAQ,MAAM,EAAE,eAAe,SAAS,CACxC,KAAK,MACJ,oBAAC,mBAAgB,EAAE,QAAT,EAAE,GAAkB,CAC9B;KACA;GACN,oBAAC;IAAI,aAAU;IAAY,eAAY;IAAO,WAAU;cACrD,SACE,QAAQ,MAAM,EAAE,eAAe,YAAY,CAC3C,KAAK,MACJ,oBAAC,mBAAgB,EAAE,QAAT,EAAE,GAAkB,CAC9B;KACA;;GACuB"}
@@ -1,6 +1,6 @@
1
1
  import { ButtonProps } from "./button.js";
2
2
  import React from "react";
3
- import * as react_jsx_runtime76 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime91 from "react/jsx-runtime";
4
4
 
5
5
  //#region ui/loading-button.d.ts
6
6
  interface LoadingButtonProps extends ButtonProps {
@@ -14,7 +14,7 @@ declare function LoadingButton({
14
14
  children,
15
15
  disabled,
16
16
  ...props
17
- }: LoadingButtonProps): react_jsx_runtime76.JSX.Element;
17
+ }: LoadingButtonProps): react_jsx_runtime91.JSX.Element;
18
18
  //#endregion
19
19
  export { LoadingButton };
20
20
  //# sourceMappingURL=loading-button.d.ts.map
@@ -5,7 +5,7 @@ import React from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
 
7
7
  //#region ui/loading-button.tsx
8
- function LoadingButton({ isLoading = false, loadingText, children, disabled,...props }) {
8
+ function LoadingButton({ isLoading = false, loadingText, children, disabled, ...props }) {
9
9
  return /* @__PURE__ */ jsx(Button, {
10
10
  disabled: disabled || isLoading,
11
11
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"loading-button.js","names":[],"sources":["../../ui/loading-button.tsx"],"sourcesContent":["import React from 'react';\n// import { ActivityIndicator } from 'react-native';\nimport type { ButtonProps } from './button';\nimport { Button } from './button';\nimport { Text } from './text';\nimport { HStack } from './stack';\n\ninterface LoadingButtonProps extends ButtonProps {\n isLoading?: boolean;\n loadingText?: string;\n children: React.ReactNode;\n}\n\nexport function LoadingButton({\n isLoading = false,\n loadingText,\n children,\n disabled,\n ...props\n}: LoadingButtonProps) {\n return (\n <Button disabled={disabled || isLoading} {...props}>\n {isLoading ? (\n <HStack className=\"items-center gap-x-2\">\n {/*<ActivityIndicator*/}\n {/* size=\"small\"*/}\n {/* color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}*/}\n {/*/>*/}\n <Text>{loadingText || 'Loading...'}</Text>\n </HStack>\n ) : (\n children\n )}\n </Button>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgB,cAAc,EAC5B,YAAY,OACZ,aACA,UACA,SACA,GAAG,SACkB;AACrB,QACE,oBAAC;EAAO,UAAU,YAAY;EAAW,GAAI;YAC1C,YACC,oBAAC;GAAO,WAAU;aAKhB,oBAAC,kBAAM,eAAe,eAAoB;IACnC,GAET;GAEK"}
1
+ {"version":3,"file":"loading-button.js","names":[],"sources":["../../ui/loading-button.tsx"],"sourcesContent":["import React from 'react';\n// import { ActivityIndicator } from 'react-native';\nimport type { ButtonProps } from './button';\nimport { Button } from './button';\nimport { Text } from './text';\nimport { HStack } from './stack';\n\ninterface LoadingButtonProps extends ButtonProps {\n isLoading?: boolean;\n loadingText?: string;\n children: React.ReactNode;\n}\n\nexport function LoadingButton({\n isLoading = false,\n loadingText,\n children,\n disabled,\n ...props\n}: LoadingButtonProps) {\n return (\n <Button disabled={disabled || isLoading} {...props}>\n {isLoading ? (\n <HStack className=\"items-center gap-x-2\">\n {/*<ActivityIndicator*/}\n {/* size=\"small\"*/}\n {/* color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}*/}\n {/*/>*/}\n <Text>{loadingText || 'Loading...'}</Text>\n </HStack>\n ) : (\n children\n )}\n </Button>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgB,cAAc,EAC5B,YAAY,OACZ,aACA,UACA,UACA,GAAG,SACkB;AACrB,QACE,oBAAC;EAAO,UAAU,YAAY;EAAW,GAAI;YAC1C,YACC,oBAAC;GAAO,WAAU;aAKhB,oBAAC,kBAAM,eAAe,eAAoB;IACnC,GAET;GAEK"}
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties, ReactNode } from "react";
2
- import * as react_jsx_runtime148 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime251 from "react/jsx-runtime";
3
3
  import { MapRef } from "react-map-gl/maplibre";
4
4
 
5
5
  //#region ui/map/MapBase.d.ts
@@ -23,7 +23,7 @@ interface MapBaseProps {
23
23
  onMapRef?: (ref: MapRef | null) => void;
24
24
  children?: ReactNode;
25
25
  }
26
- declare function MapBase(props: MapBaseProps): react_jsx_runtime148.JSX.Element;
26
+ declare function MapBase(props: MapBaseProps): react_jsx_runtime251.JSX.Element;
27
27
  //#endregion
28
28
  export { BBox, MapBase, MapBase as default, MapBaseProps };
29
29
  //# sourceMappingURL=MapBase.d.ts.map
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import * as React$1 from "react";
5
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
5
  import Map, { NavigationControl, ScaleControl } from "react-map-gl/maplibre";