@health-samurai/react-components 0.0.0-alpha.1 → 0.0.0-alpha.3

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 (251) hide show
  1. package/dist/bundle.css +100 -7
  2. package/dist/src/components/code-editor/index.js +53 -29
  3. package/dist/src/components/code-editor/index.js.map +1 -1
  4. package/dist/src/components/code-editor.stories.js +22 -7
  5. package/dist/src/components/code-editor.stories.js.map +1 -1
  6. package/dist/src/components/copy-icon.js +11 -4
  7. package/dist/src/components/copy-icon.js.map +1 -1
  8. package/dist/src/components/request-line-editor.js +56 -14
  9. package/dist/src/components/request-line-editor.js.map +1 -1
  10. package/dist/src/components/request-line-editor.stories.js +71 -22
  11. package/dist/src/components/request-line-editor.stories.js.map +1 -1
  12. package/dist/src/global.d.js +2 -0
  13. package/dist/src/global.d.js.map +1 -0
  14. package/dist/src/index.css +6 -0
  15. package/dist/src/index.d.ts +1 -0
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +52 -50
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/index.stories.js +8 -5
  20. package/dist/src/index.stories.js.map +1 -1
  21. package/dist/src/shadcn/components/ui/accordion.js +34 -5
  22. package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
  23. package/dist/src/shadcn/components/ui/accordion.stories.js +68 -3
  24. package/dist/src/shadcn/components/ui/accordion.stories.js.map +1 -1
  25. package/dist/src/shadcn/components/ui/alert-dialog.js +61 -14
  26. package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
  27. package/dist/src/shadcn/components/ui/alert-dialog.stories.js +39 -4
  28. package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
  29. package/dist/src/shadcn/components/ui/alert.js +24 -8
  30. package/dist/src/shadcn/components/ui/alert.js.map +1 -1
  31. package/dist/src/shadcn/components/ui/alert.stories.js +57 -3
  32. package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
  33. package/dist/src/shadcn/components/ui/aspect-ratio.d.ts.map +1 -1
  34. package/dist/src/shadcn/components/ui/aspect-ratio.js +6 -1
  35. package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
  36. package/dist/src/shadcn/components/ui/aspect-ratio.stories.js +12 -3
  37. package/dist/src/shadcn/components/ui/aspect-ratio.stories.js.map +1 -1
  38. package/dist/src/shadcn/components/ui/avatar.js +17 -4
  39. package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
  40. package/dist/src/shadcn/components/ui/avatar.stories.js +69 -3
  41. package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
  42. package/dist/src/shadcn/components/ui/badge.js +13 -6
  43. package/dist/src/shadcn/components/ui/badge.js.map +1 -1
  44. package/dist/src/shadcn/components/ui/badge.stories.js +55 -3
  45. package/dist/src/shadcn/components/ui/badge.stories.js.map +1 -1
  46. package/dist/src/shadcn/components/ui/breadcrumb.js +56 -11
  47. package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
  48. package/dist/src/shadcn/components/ui/breadcrumb.stories.js +69 -4
  49. package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
  50. package/dist/src/shadcn/components/ui/button.js +23 -13
  51. package/dist/src/shadcn/components/ui/button.js.map +1 -1
  52. package/dist/src/shadcn/components/ui/button.stories.js +190 -10
  53. package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
  54. package/dist/src/shadcn/components/ui/calendar.d.ts.map +1 -1
  55. package/dist/src/shadcn/components/ui/calendar.js +76 -33
  56. package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
  57. package/dist/src/shadcn/components/ui/calendar.stories.js +12 -5
  58. package/dist/src/shadcn/components/ui/calendar.stories.js.map +1 -1
  59. package/dist/src/shadcn/components/ui/card.js +38 -9
  60. package/dist/src/shadcn/components/ui/card.js.map +1 -1
  61. package/dist/src/shadcn/components/ui/card.stories.js +91 -6
  62. package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
  63. package/dist/src/shadcn/components/ui/carousel.js +99 -39
  64. package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
  65. package/dist/src/shadcn/components/ui/carousel.stories.js +30 -6
  66. package/dist/src/shadcn/components/ui/carousel.stories.js.map +1 -1
  67. package/dist/src/shadcn/components/ui/chart.d.ts.map +1 -1
  68. package/dist/src/shadcn/components/ui/chart.js +119 -55
  69. package/dist/src/shadcn/components/ui/chart.js.map +1 -1
  70. package/dist/src/shadcn/components/ui/chart.stories.js +72 -12
  71. package/dist/src/shadcn/components/ui/chart.stories.js.map +1 -1
  72. package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
  73. package/dist/src/shadcn/components/ui/checkbox.js +15 -2
  74. package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
  75. package/dist/src/shadcn/components/ui/checkbox.stories.js +79 -4
  76. package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
  77. package/dist/src/shadcn/components/ui/collapsible.js +13 -3
  78. package/dist/src/shadcn/components/ui/collapsible.js.map +1 -1
  79. package/dist/src/shadcn/components/ui/collapsible.stories.js +54 -6
  80. package/dist/src/shadcn/components/ui/collapsible.stories.js.map +1 -1
  81. package/dist/src/shadcn/components/ui/command.js +77 -12
  82. package/dist/src/shadcn/components/ui/command.js.map +1 -1
  83. package/dist/src/shadcn/components/ui/command.stories.js +88 -4
  84. package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
  85. package/dist/src/shadcn/components/ui/context-menu.d.ts.map +1 -1
  86. package/dist/src/shadcn/components/ui/context-menu.js +107 -17
  87. package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
  88. package/dist/src/shadcn/components/ui/context-menu.stories.js +101 -3
  89. package/dist/src/shadcn/components/ui/context-menu.stories.js.map +1 -1
  90. package/dist/src/shadcn/components/ui/dialog.js +69 -12
  91. package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
  92. package/dist/src/shadcn/components/ui/dialog.stories.js +82 -6
  93. package/dist/src/shadcn/components/ui/dialog.stories.js.map +1 -1
  94. package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -1
  95. package/dist/src/shadcn/components/ui/drawer.js +62 -12
  96. package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
  97. package/dist/src/shadcn/components/ui/drawer.stories.js +154 -21
  98. package/dist/src/shadcn/components/ui/drawer.stories.js.map +1 -1
  99. package/dist/src/shadcn/components/ui/dropdown-menu.js +107 -17
  100. package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
  101. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +119 -4
  102. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
  103. package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
  104. package/dist/src/shadcn/components/ui/form.js +59 -18
  105. package/dist/src/shadcn/components/ui/form.js.map +1 -1
  106. package/dist/src/shadcn/components/ui/form.stories.js +45 -11
  107. package/dist/src/shadcn/components/ui/form.stories.js.map +1 -1
  108. package/dist/src/shadcn/components/ui/hover-card.d.ts.map +1 -1
  109. package/dist/src/shadcn/components/ui/hover-card.js +21 -4
  110. package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
  111. package/dist/src/shadcn/components/ui/hover-card.stories.js +51 -5
  112. package/dist/src/shadcn/components/ui/hover-card.stories.js.map +1 -1
  113. package/dist/src/shadcn/components/ui/input-otp.js +35 -7
  114. package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
  115. package/dist/src/shadcn/components/ui/input-otp.stories.js +35 -3
  116. package/dist/src/shadcn/components/ui/input-otp.stories.js.map +1 -1
  117. package/dist/src/shadcn/components/ui/input.js +59 -40
  118. package/dist/src/shadcn/components/ui/input.js.map +1 -1
  119. package/dist/src/shadcn/components/ui/input.stories.js +391 -23
  120. package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
  121. package/dist/src/shadcn/components/ui/label.d.ts.map +1 -1
  122. package/dist/src/shadcn/components/ui/label.js +8 -2
  123. package/dist/src/shadcn/components/ui/label.js.map +1 -1
  124. package/dist/src/shadcn/components/ui/label.stories.js +18 -4
  125. package/dist/src/shadcn/components/ui/label.stories.js.map +1 -1
  126. package/dist/src/shadcn/components/ui/menubar.js +116 -19
  127. package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
  128. package/dist/src/shadcn/components/ui/menubar.stories.js +216 -3
  129. package/dist/src/shadcn/components/ui/menubar.stories.js.map +1 -1
  130. package/dist/src/shadcn/components/ui/navigation-menu.js +62 -10
  131. package/dist/src/shadcn/components/ui/navigation-menu.js.map +1 -1
  132. package/dist/src/shadcn/components/ui/navigation-menu.stories.js +263 -11
  133. package/dist/src/shadcn/components/ui/navigation-menu.stories.js.map +1 -1
  134. package/dist/src/shadcn/components/ui/pagination.js +73 -16
  135. package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
  136. package/dist/src/shadcn/components/ui/pagination.stories.js +41 -3
  137. package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
  138. package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
  139. package/dist/src/shadcn/components/ui/popover.js +24 -5
  140. package/dist/src/shadcn/components/ui/popover.js.map +1 -1
  141. package/dist/src/shadcn/components/ui/popover.stories.js +99 -6
  142. package/dist/src/shadcn/components/ui/popover.stories.js.map +1 -1
  143. package/dist/src/shadcn/components/ui/progress.js +14 -2
  144. package/dist/src/shadcn/components/ui/progress.js.map +1 -1
  145. package/dist/src/shadcn/components/ui/progress.stories.js +12 -8
  146. package/dist/src/shadcn/components/ui/progress.stories.js.map +1 -1
  147. package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -1
  148. package/dist/src/shadcn/components/ui/radio-group.js +20 -3
  149. package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
  150. package/dist/src/shadcn/components/ui/radio-group.stories.js +48 -4
  151. package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
  152. package/dist/src/shadcn/components/ui/resizable.js +22 -4
  153. package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
  154. package/dist/src/shadcn/components/ui/resizable.stories.js +49 -3
  155. package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
  156. package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -1
  157. package/dist/src/shadcn/components/ui/scroll-area.js +27 -5
  158. package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
  159. package/dist/src/shadcn/components/ui/scroll-area.stories.js +30 -5
  160. package/dist/src/shadcn/components/ui/scroll-area.stories.js.map +1 -1
  161. package/dist/src/shadcn/components/ui/select.js +98 -19
  162. package/dist/src/shadcn/components/ui/select.js.map +1 -1
  163. package/dist/src/shadcn/components/ui/select.stories.js +84 -5
  164. package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
  165. package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -1
  166. package/dist/src/shadcn/components/ui/separator.js +10 -2
  167. package/dist/src/shadcn/components/ui/separator.js.map +1 -1
  168. package/dist/src/shadcn/components/ui/separator.stories.js +43 -3
  169. package/dist/src/shadcn/components/ui/separator.stories.js.map +1 -1
  170. package/dist/src/shadcn/components/ui/sheet.js +69 -16
  171. package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
  172. package/dist/src/shadcn/components/ui/sheet.stories.js +77 -6
  173. package/dist/src/shadcn/components/ui/sheet.stories.js.map +1 -1
  174. package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
  175. package/dist/src/shadcn/components/ui/sidebar.js +305 -79
  176. package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
  177. package/dist/src/shadcn/components/ui/sidebar.stories.js +321 -59
  178. package/dist/src/shadcn/components/ui/sidebar.stories.js.map +1 -1
  179. package/dist/src/shadcn/components/ui/skeleton.js +7 -2
  180. package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
  181. package/dist/src/shadcn/components/ui/skeleton.stories.js +22 -3
  182. package/dist/src/shadcn/components/ui/skeleton.stories.js.map +1 -1
  183. package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -1
  184. package/dist/src/shadcn/components/ui/slider.js +41 -7
  185. package/dist/src/shadcn/components/ui/slider.js.map +1 -1
  186. package/dist/src/shadcn/components/ui/slider.stories.js +11 -3
  187. package/dist/src/shadcn/components/ui/slider.stories.js.map +1 -1
  188. package/dist/src/shadcn/components/ui/sonner.js +10 -4
  189. package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
  190. package/dist/src/shadcn/components/ui/sonner.stories.js +14 -9
  191. package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
  192. package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
  193. package/dist/src/shadcn/components/ui/switch.js +12 -2
  194. package/dist/src/shadcn/components/ui/switch.js.map +1 -1
  195. package/dist/src/shadcn/components/ui/switch.stories.js +16 -4
  196. package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
  197. package/dist/src/shadcn/components/ui/table.js +47 -10
  198. package/dist/src/shadcn/components/ui/table.js.map +1 -1
  199. package/dist/src/shadcn/components/ui/table.stories.js +72 -11
  200. package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
  201. package/dist/src/shadcn/components/ui/tabs.d.ts +9 -5
  202. package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
  203. package/dist/src/shadcn/components/ui/tabs.js +76 -18
  204. package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
  205. package/dist/src/shadcn/components/ui/tabs.stories.d.ts +6 -0
  206. package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +1 -1
  207. package/dist/src/shadcn/components/ui/tabs.stories.js +221 -10
  208. package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
  209. package/dist/src/shadcn/components/ui/textarea.js +7 -2
  210. package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
  211. package/dist/src/shadcn/components/ui/textarea.stories.js +6 -3
  212. package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
  213. package/dist/src/shadcn/components/ui/toggle-group.js +29 -8
  214. package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
  215. package/dist/src/shadcn/components/ui/toggle-group.stories.js +30 -3
  216. package/dist/src/shadcn/components/ui/toggle-group.stories.js.map +1 -1
  217. package/dist/src/shadcn/components/ui/toggle.js +16 -7
  218. package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
  219. package/dist/src/shadcn/components/ui/toggle.stories.js +9 -3
  220. package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
  221. package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
  222. package/dist/src/shadcn/components/ui/tooltip.js +27 -5
  223. package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
  224. package/dist/src/shadcn/components/ui/tooltip.stories.js +20 -4
  225. package/dist/src/shadcn/components/ui/tooltip.stories.js.map +1 -1
  226. package/dist/src/shadcn/hooks/use-mobile.js +4 -3
  227. package/dist/src/shadcn/hooks/use-mobile.js.map +1 -1
  228. package/dist/src/shadcn/lib/utils.js +1 -0
  229. package/dist/src/shadcn/lib/utils.js.map +1 -1
  230. package/package.json +8 -4
  231. package/src/index.css +6 -0
  232. package/src/index.tsx +1 -0
  233. package/src/shadcn/components/ui/aspect-ratio.tsx +1 -0
  234. package/src/shadcn/components/ui/calendar.tsx +1 -0
  235. package/src/shadcn/components/ui/chart.tsx +1 -0
  236. package/src/shadcn/components/ui/checkbox.tsx +1 -0
  237. package/src/shadcn/components/ui/context-menu.tsx +1 -0
  238. package/src/shadcn/components/ui/drawer.tsx +1 -0
  239. package/src/shadcn/components/ui/form.tsx +1 -0
  240. package/src/shadcn/components/ui/hover-card.tsx +1 -0
  241. package/src/shadcn/components/ui/label.tsx +1 -0
  242. package/src/shadcn/components/ui/popover.tsx +1 -0
  243. package/src/shadcn/components/ui/radio-group.tsx +1 -0
  244. package/src/shadcn/components/ui/scroll-area.tsx +1 -0
  245. package/src/shadcn/components/ui/separator.tsx +1 -0
  246. package/src/shadcn/components/ui/sidebar.tsx +1 -0
  247. package/src/shadcn/components/ui/slider.tsx +1 -0
  248. package/src/shadcn/components/ui/switch.tsx +1 -0
  249. package/src/shadcn/components/ui/tabs.stories.tsx +57 -0
  250. package/src/shadcn/components/ui/tabs.tsx +77 -26
  251. package/src/shadcn/components/ui/tooltip.tsx +1 -0
@@ -1,19 +1,29 @@
1
+ "use client";
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import { Slot } from "@radix-ui/react-slot";
3
4
  import * as React from "react";
4
- import { Controller, FormProvider, useFormContext, useFormState, } from "react-hook-form";
5
- import { Label } from "#shadcn/components/ui/label";
6
- import { cn } from "#shadcn/lib/utils";
5
+ import { Controller, FormProvider, useFormContext, useFormState } from "react-hook-form";
6
+ import { Label } from "./label.js";
7
+ import { cn } from "../../lib/utils.js";
7
8
  const Form = FormProvider;
8
- const FormFieldContext = React.createContext({});
9
- const FormField = ({ ...props }) => {
10
- return (_jsx(FormFieldContext.Provider, { value: { name: props.name }, children: _jsx(Controller, { ...props }) }));
9
+ const FormFieldContext = /*#__PURE__*/ React.createContext({});
10
+ const FormField = ({ ...props })=>{
11
+ return /*#__PURE__*/ _jsx(FormFieldContext.Provider, {
12
+ value: {
13
+ name: props.name
14
+ },
15
+ children: /*#__PURE__*/ _jsx(Controller, {
16
+ ...props
17
+ })
18
+ });
11
19
  };
12
- const useFormField = () => {
20
+ const useFormField = ()=>{
13
21
  const fieldContext = React.useContext(FormFieldContext);
14
22
  const itemContext = React.useContext(FormItemContext);
15
23
  const { getFieldState } = useFormContext();
16
- const formState = useFormState({ name: fieldContext.name });
24
+ const formState = useFormState({
25
+ name: fieldContext.name
26
+ });
17
27
  const fieldState = getFieldState(fieldContext.name, formState);
18
28
  if (!fieldContext) {
19
29
  throw new Error("useFormField should be used within <FormField>");
@@ -25,27 +35,51 @@ const useFormField = () => {
25
35
  formItemId: `${id}-form-item`,
26
36
  formDescriptionId: `${id}-form-item-description`,
27
37
  formMessageId: `${id}-form-item-message`,
28
- ...fieldState,
38
+ ...fieldState
29
39
  };
30
40
  };
31
- const FormItemContext = React.createContext({});
41
+ const FormItemContext = /*#__PURE__*/ React.createContext({});
32
42
  function FormItem({ className, ...props }) {
33
43
  const id = React.useId();
34
- return (_jsx(FormItemContext.Provider, { value: { id }, children: _jsx("div", { "data-slot": "form-item", className: cn("grid gap-2", className), ...props }) }));
44
+ return /*#__PURE__*/ _jsx(FormItemContext.Provider, {
45
+ value: {
46
+ id
47
+ },
48
+ children: /*#__PURE__*/ _jsx("div", {
49
+ "data-slot": "form-item",
50
+ className: cn("grid gap-2", className),
51
+ ...props
52
+ })
53
+ });
35
54
  }
36
55
  function FormLabel({ className, ...props }) {
37
56
  const { error, formItemId } = useFormField();
38
- return (_jsx(Label, { "data-slot": "form-label", "data-error": !!error, className: cn("data-[error=true]:text-destructive", className), htmlFor: formItemId, ...props }));
57
+ return /*#__PURE__*/ _jsx(Label, {
58
+ "data-slot": "form-label",
59
+ "data-error": !!error,
60
+ className: cn("data-[error=true]:text-destructive", className),
61
+ htmlFor: formItemId,
62
+ ...props
63
+ });
39
64
  }
40
65
  function FormControl({ ...props }) {
41
66
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
42
- return (_jsx(Slot, { "data-slot": "form-control", id: formItemId, "aria-describedby": !error
43
- ? `${formDescriptionId}`
44
- : `${formDescriptionId} ${formMessageId}`, "aria-invalid": !!error, ...props }));
67
+ return /*#__PURE__*/ _jsx(Slot, {
68
+ "data-slot": "form-control",
69
+ id: formItemId,
70
+ "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
71
+ "aria-invalid": !!error,
72
+ ...props
73
+ });
45
74
  }
46
75
  function FormDescription({ className, ...props }) {
47
76
  const { formDescriptionId } = useFormField();
48
- return (_jsx("p", { "data-slot": "form-description", id: formDescriptionId, className: cn("text-muted-foreground text-sm", className), ...props }));
77
+ return /*#__PURE__*/ _jsx("p", {
78
+ "data-slot": "form-description",
79
+ id: formDescriptionId,
80
+ className: cn("text-muted-foreground text-sm", className),
81
+ ...props
82
+ });
49
83
  }
50
84
  function FormMessage({ className, ...props }) {
51
85
  const { error, formMessageId } = useFormField();
@@ -53,7 +87,14 @@ function FormMessage({ className, ...props }) {
53
87
  if (!body) {
54
88
  return null;
55
89
  }
56
- return (_jsx("p", { "data-slot": "form-message", id: formMessageId, className: cn("text-destructive text-sm", className), ...props, children: body }));
90
+ return /*#__PURE__*/ _jsx("p", {
91
+ "data-slot": "form-message",
92
+ id: formMessageId,
93
+ className: cn("text-destructive text-sm", className),
94
+ ...props,
95
+ children: body
96
+ });
57
97
  }
58
- export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, };
98
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };
99
+
59
100
  //# sourceMappingURL=form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/form.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/form.tsx"],"sourcesContent":["\"use client\";\nimport type * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\nimport {\n\tController,\n\ttype ControllerProps,\n\ttype FieldPath,\n\ttype FieldValues,\n\tFormProvider,\n\tuseFormContext,\n\tuseFormState,\n} from \"react-hook-form\";\nimport { Label } from \"#shadcn/components/ui/label\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n\tTFieldValues extends FieldValues = FieldValues,\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n\tname: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n\t{} as FormFieldContextValue,\n);\n\nconst FormField = <\n\tTFieldValues extends FieldValues = FieldValues,\n\tTName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n\t...props\n}: ControllerProps<TFieldValues, TName>) => {\n\treturn (\n\t\t<FormFieldContext.Provider value={{ name: props.name }}>\n\t\t\t<Controller {...props} />\n\t\t</FormFieldContext.Provider>\n\t);\n};\n\nconst useFormField = () => {\n\tconst fieldContext = React.useContext(FormFieldContext);\n\tconst itemContext = React.useContext(FormItemContext);\n\tconst { getFieldState } = useFormContext();\n\tconst formState = useFormState({ name: fieldContext.name });\n\tconst fieldState = getFieldState(fieldContext.name, formState);\n\n\tif (!fieldContext) {\n\t\tthrow new Error(\"useFormField should be used within <FormField>\");\n\t}\n\n\tconst { id } = itemContext;\n\n\treturn {\n\t\tid,\n\t\tname: fieldContext.name,\n\t\tformItemId: `${id}-form-item`,\n\t\tformDescriptionId: `${id}-form-item-description`,\n\t\tformMessageId: `${id}-form-item-message`,\n\t\t...fieldState,\n\t};\n};\n\ntype FormItemContextValue = {\n\tid: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n\t{} as FormItemContextValue,\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n\tconst id = React.useId();\n\n\treturn (\n\t\t<FormItemContext.Provider value={{ id }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"form-item\"\n\t\t\t\tclassName={cn(\"grid gap-2\", className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</FormItemContext.Provider>\n\t);\n}\n\nfunction FormLabel({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n\tconst { error, formItemId } = useFormField();\n\n\treturn (\n\t\t<Label\n\t\t\tdata-slot=\"form-label\"\n\t\t\tdata-error={!!error}\n\t\t\tclassName={cn(\"data-[error=true]:text-destructive\", className)}\n\t\t\thtmlFor={formItemId}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n\tconst { error, formItemId, formDescriptionId, formMessageId } =\n\t\tuseFormField();\n\n\treturn (\n\t\t<Slot\n\t\t\tdata-slot=\"form-control\"\n\t\t\tid={formItemId}\n\t\t\taria-describedby={\n\t\t\t\t!error\n\t\t\t\t\t? `${formDescriptionId}`\n\t\t\t\t\t: `${formDescriptionId} ${formMessageId}`\n\t\t\t}\n\t\t\taria-invalid={!!error}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n\tconst { formDescriptionId } = useFormField();\n\n\treturn (\n\t\t<p\n\t\t\tdata-slot=\"form-description\"\n\t\t\tid={formDescriptionId}\n\t\t\tclassName={cn(\"text-muted-foreground text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n\tconst { error, formMessageId } = useFormField();\n\tconst body = error ? String(error?.message ?? \"\") : props.children;\n\n\tif (!body) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<p\n\t\t\tdata-slot=\"form-message\"\n\t\t\tid={formMessageId}\n\t\t\tclassName={cn(\"text-destructive text-sm\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{body}\n\t\t</p>\n\t);\n}\n\nexport {\n\tuseFormField,\n\tForm,\n\tFormItem,\n\tFormLabel,\n\tFormControl,\n\tFormDescription,\n\tFormMessage,\n\tFormField,\n};\n"],"names":["Slot","React","Controller","FormProvider","useFormContext","useFormState","Label","cn","Form","FormFieldContext","createContext","FormField","props","Provider","value","name","useFormField","fieldContext","useContext","itemContext","FormItemContext","getFieldState","formState","fieldState","Error","id","formItemId","formDescriptionId","formMessageId","FormItem","className","useId","div","data-slot","FormLabel","error","data-error","htmlFor","FormControl","aria-describedby","aria-invalid","FormDescription","p","FormMessage","body","String","message","children"],"mappings":"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"}
@@ -2,30 +2,64 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { zodResolver } from "@hookform/resolvers/zod";
3
3
  import { useForm } from "react-hook-form";
4
4
  import { z } from "zod";
5
- import { Button } from "#shadcn/components/ui/button";
6
- import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "#shadcn/components/ui/form";
7
- import { Input } from "#shadcn/components/ui/input";
5
+ import { Button } from "./button.js";
6
+ import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from "./form.js";
7
+ import { Input } from "./input.js";
8
8
  const formSchema = z.object({
9
9
  username: z.string().min(2, {
10
- message: "Username must be at least 2 characters.",
11
- }),
10
+ message: "Username must be at least 2 characters."
11
+ })
12
12
  });
13
13
  const meta = {
14
- title: "Component/Form",
14
+ title: "Component/Form"
15
15
  };
16
16
  export default meta;
17
17
  export const Demo = {
18
- render: () => {
18
+ render: ()=>{
19
19
  const form = useForm({
20
20
  resolver: zodResolver(formSchema),
21
21
  defaultValues: {
22
- username: "",
23
- },
22
+ username: ""
23
+ }
24
24
  });
25
25
  function onSubmit(values) {
26
26
  console.log(values);
27
27
  }
28
- return (_jsx(Form, { ...form, children: _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "space-y-8", children: [_jsx(FormField, { control: form.control, name: "username", render: ({ field }) => (_jsxs(FormItem, { children: [_jsx(FormLabel, { children: "Username" }), _jsx(FormControl, { children: _jsx(Input, { placeholder: "shadcn", ...field }) }), _jsx(FormDescription, { children: "This is your public display name." }), _jsx(FormMessage, {})] })) }), _jsx(Button, { type: "submit", children: "Submit" })] }) }));
29
- },
28
+ return /*#__PURE__*/ _jsx(Form, {
29
+ ...form,
30
+ children: /*#__PURE__*/ _jsxs("form", {
31
+ onSubmit: form.handleSubmit(onSubmit),
32
+ className: "space-y-8",
33
+ children: [
34
+ /*#__PURE__*/ _jsx(FormField, {
35
+ control: form.control,
36
+ name: "username",
37
+ render: ({ field })=>/*#__PURE__*/ _jsxs(FormItem, {
38
+ children: [
39
+ /*#__PURE__*/ _jsx(FormLabel, {
40
+ children: "Username"
41
+ }),
42
+ /*#__PURE__*/ _jsx(FormControl, {
43
+ children: /*#__PURE__*/ _jsx(Input, {
44
+ placeholder: "shadcn",
45
+ ...field
46
+ })
47
+ }),
48
+ /*#__PURE__*/ _jsx(FormDescription, {
49
+ children: "This is your public display name."
50
+ }),
51
+ /*#__PURE__*/ _jsx(FormMessage, {})
52
+ ]
53
+ })
54
+ }),
55
+ /*#__PURE__*/ _jsx(Button, {
56
+ type: "submit",
57
+ children: "Submit"
58
+ })
59
+ ]
60
+ })
61
+ });
62
+ }
30
63
  };
64
+
31
65
  //# sourceMappingURL=form.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.stories.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/form.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EACN,IAAI,EACJ,WAAW,EACX,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,GACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAC3B,OAAO,EAAE,yCAAyC;KAClD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,gBAAgB;CACR,CAAC;AACjB,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,MAAM,EAAE,GAAG,EAAE;QACZ,MAAM,IAAI,GAAG,OAAO,CAA6B;YAChD,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC;YACjC,aAAa,EAAE;gBACd,QAAQ,EAAE,EAAE;aACZ;SACD,CAAC,CAAC;QAEH,SAAS,QAAQ,CAAC,MAAkC;YACnD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,CACN,KAAC,IAAI,OAAK,IAAI,YACb,gBAAM,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAC,WAAW,aACjE,KAAC,SAAS,IACT,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAC,UAAU,EACf,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACtB,MAAC,QAAQ,eACR,KAAC,SAAS,2BAAqB,EAC/B,KAAC,WAAW,cACX,KAAC,KAAK,IAAC,WAAW,EAAC,QAAQ,KAAK,KAAK,GAAI,GAC5B,EACd,KAAC,eAAe,oDAEE,EAClB,KAAC,WAAW,KAAG,IACL,CACX,GACA,EACF,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,uBAAgB,IAC/B,GACD,CACP,CAAC;IACH,CAAC;CACe,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/form.stories.tsx"],"sourcesContent":["import { zodResolver } from \"@hookform/resolvers/zod\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { useForm } from \"react-hook-form\";\nimport { z } from \"zod\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport {\n\tForm,\n\tFormControl,\n\tFormDescription,\n\tFormField,\n\tFormItem,\n\tFormLabel,\n\tFormMessage,\n} from \"#shadcn/components/ui/form\";\nimport { Input } from \"#shadcn/components/ui/input\";\n\nconst formSchema = z.object({\n\tusername: z.string().min(2, {\n\t\tmessage: \"Username must be at least 2 characters.\",\n\t}),\n});\n\nconst meta = {\n\ttitle: \"Component/Form\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => {\n\t\tconst form = useForm<z.infer<typeof formSchema>>({\n\t\t\tresolver: zodResolver(formSchema),\n\t\t\tdefaultValues: {\n\t\t\t\tusername: \"\",\n\t\t\t},\n\t\t});\n\n\t\tfunction onSubmit(values: z.infer<typeof formSchema>) {\n\t\t\tconsole.log(values);\n\t\t}\n\n\t\treturn (\n\t\t\t<Form {...form}>\n\t\t\t\t<form onSubmit={form.handleSubmit(onSubmit)} className=\"space-y-8\">\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\tname=\"username\"\n\t\t\t\t\t\trender={({ field }) => (\n\t\t\t\t\t\t\t<FormItem>\n\t\t\t\t\t\t\t\t<FormLabel>Username</FormLabel>\n\t\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t\t<Input placeholder=\"shadcn\" {...field} />\n\t\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t\t\t<FormDescription>\n\t\t\t\t\t\t\t\t\tThis is your public display name.\n\t\t\t\t\t\t\t\t</FormDescription>\n\t\t\t\t\t\t\t\t<FormMessage />\n\t\t\t\t\t\t\t</FormItem>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t\t<Button type=\"submit\">Submit</Button>\n\t\t\t\t</form>\n\t\t\t</Form>\n\t\t);\n\t},\n} satisfies Story;\n"],"names":["zodResolver","useForm","z","Button","Form","FormControl","FormDescription","FormField","FormItem","FormLabel","FormMessage","Input","formSchema","object","username","string","min","message","meta","title","Demo","render","form","resolver","defaultValues","onSubmit","values","console","log","handleSubmit","className","control","name","field","placeholder","type"],"mappings":";AAAA,SAASA,WAAW,QAAQ,0BAA0B;AAEtD,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,CAAC,QAAQ,MAAM;AACxB,SAASC,MAAM,QAAQ,cAA+B;AACtD,SACCC,IAAI,EACJC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,WAAW,QACL,YAA6B;AACpC,SAASC,KAAK,QAAQ,aAA8B;AAEpD,MAAMC,aAAaV,EAAEW,MAAM,CAAC;IAC3BC,UAAUZ,EAAEa,MAAM,GAAGC,GAAG,CAAC,GAAG;QAC3BC,SAAS;IACV;AACD;AAEA,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ;QACP,MAAMC,OAAOrB,QAAoC;YAChDsB,UAAUvB,YAAYY;YACtBY,eAAe;gBACdV,UAAU;YACX;QACD;QAEA,SAASW,SAASC,MAAkC;YACnDC,QAAQC,GAAG,CAACF;QACb;QAEA,qBACC,KAACtB;YAAM,GAAGkB,IAAI;sBACb,cAAA,MAACA;gBAAKG,UAAUH,KAAKO,YAAY,CAACJ;gBAAWK,WAAU;;kCACtD,KAACvB;wBACAwB,SAAST,KAAKS,OAAO;wBACrBC,MAAK;wBACLX,QAAQ,CAAC,EAAEY,KAAK,EAAE,iBACjB,MAACzB;;kDACA,KAACC;kDAAU;;kDACX,KAACJ;kDACA,cAAA,KAACM;4CAAMuB,aAAY;4CAAU,GAAGD,KAAK;;;kDAEtC,KAAC3B;kDAAgB;;kDAGjB,KAACI;;;;kCAIJ,KAACP;wBAAOgC,MAAK;kCAAS;;;;;IAI1B;AACD,EAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/hover-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,SAAS,CAAC,EAClB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAEtD;AAED,iBAAS,gBAAgB,CAAC,EACzB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAIzD;AAED,iBAAS,gBAAgB,CAAC,EACzB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAezD;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/hover-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,SAAS,CAAC,EAClB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAEtD;AAED,iBAAS,gBAAgB,CAAC,EACzB,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAIzD;AAED,iBAAS,gBAAgB,CAAC,EACzB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAezD;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,14 +1,31 @@
1
+ "use client";
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
3
- import { cn } from "#shadcn/lib/utils";
4
+ import { cn } from "../../lib/utils.js";
4
5
  function HoverCard({ ...props }) {
5
- return _jsx(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
6
+ return /*#__PURE__*/ _jsx(HoverCardPrimitive.Root, {
7
+ "data-slot": "hover-card",
8
+ ...props
9
+ });
6
10
  }
7
11
  function HoverCardTrigger({ ...props }) {
8
- return (_jsx(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props }));
12
+ return /*#__PURE__*/ _jsx(HoverCardPrimitive.Trigger, {
13
+ "data-slot": "hover-card-trigger",
14
+ ...props
15
+ });
9
16
  }
10
17
  function HoverCardContent({ className, align = "center", sideOffset = 4, ...props }) {
11
- return (_jsx(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: _jsx(HoverCardPrimitive.Content, { "data-slot": "hover-card-content", align: align, sideOffset: sideOffset, className: cn("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", className), ...props }) }));
18
+ return /*#__PURE__*/ _jsx(HoverCardPrimitive.Portal, {
19
+ "data-slot": "hover-card-portal",
20
+ children: /*#__PURE__*/ _jsx(HoverCardPrimitive.Content, {
21
+ "data-slot": "hover-card-content",
22
+ align: align,
23
+ sideOffset: sideOffset,
24
+ className: cn("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", className),
25
+ ...props
26
+ })
27
+ });
12
28
  }
13
29
  export { HoverCard, HoverCardTrigger, HoverCardContent };
30
+
14
31
  //# sourceMappingURL=hover-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/hover-card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,SAAS,SAAS,CAAC,EAClB,GAAG,KAAK,EAC8C;IACtD,OAAO,KAAC,kBAAkB,CAAC,IAAI,iBAAW,YAAY,KAAK,KAAK,GAAI,CAAC;AACtE,CAAC;AAED,SAAS,gBAAgB,CAAC,EACzB,GAAG,KAAK,EACiD;IACzD,OAAO,CACN,KAAC,kBAAkB,CAAC,OAAO,iBAAW,oBAAoB,KAAK,KAAK,GAAI,CACxE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EACzB,SAAS,EACT,KAAK,GAAG,QAAQ,EAChB,UAAU,GAAG,CAAC,EACd,GAAG,KAAK,EACiD;IACzD,OAAO,CACN,KAAC,kBAAkB,CAAC,MAAM,iBAAW,mBAAmB,YACvD,KAAC,kBAAkB,CAAC,OAAO,iBAChB,oBAAoB,EAC9B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACZ,meAAme,EACne,SAAS,CACT,KACG,KAAK,GACR,GACyB,CAC5B,CAAC;AACH,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/hover-card.tsx"],"sourcesContent":["\"use client\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction HoverCard({\n\t...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n\treturn <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({\n\t...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n\treturn (\n\t\t<HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n\t);\n}\n\nfunction HoverCardContent({\n\tclassName,\n\talign = \"center\",\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n\treturn (\n\t\t<HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n\t\t\t<HoverCardPrimitive.Content\n\t\t\t\tdata-slot=\"hover-card-content\"\n\t\t\t\talign={align}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"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\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</HoverCardPrimitive.Portal>\n\t);\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"names":["HoverCardPrimitive","cn","HoverCard","props","Root","data-slot","HoverCardTrigger","Trigger","HoverCardContent","className","align","sideOffset","Portal","Content"],"mappings":"AAAA;;AACA,YAAYA,wBAAwB,6BAA6B;AAGjE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,UAAU,EAClB,GAAGC,OACmD;IACtD,qBAAO,KAACH,mBAAmBI,IAAI;QAACC,aAAU;QAAc,GAAGF,KAAK;;AACjE;AAEA,SAASG,iBAAiB,EACzB,GAAGH,OACsD;IACzD,qBACC,KAACH,mBAAmBO,OAAO;QAACF,aAAU;QAAsB,GAAGF,KAAK;;AAEtE;AAEA,SAASK,iBAAiB,EACzBC,SAAS,EACTC,QAAQ,QAAQ,EAChBC,aAAa,CAAC,EACd,GAAGR,OACsD;IACzD,qBACC,KAACH,mBAAmBY,MAAM;QAACP,aAAU;kBACpC,cAAA,KAACL,mBAAmBa,OAAO;YAC1BR,aAAU;YACVK,OAAOA;YACPC,YAAYA;YACZF,WAAWR,GACV,qeACAQ;YAEA,GAAGN,KAAK;;;AAIb;AAEA,SAASD,SAAS,EAAEI,gBAAgB,EAAEE,gBAAgB,GAAG"}
@@ -1,12 +1,58 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Avatar, AvatarFallback, AvatarImage, } from "#shadcn/components/ui/avatar";
3
- import { Button } from "#shadcn/components/ui/button";
4
- import { HoverCard, HoverCardContent, HoverCardTrigger, } from "#shadcn/components/ui/hover-card";
2
+ import { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
3
+ import { Button } from "./button.js";
4
+ import { HoverCard, HoverCardContent, HoverCardTrigger } from "./hover-card.js";
5
5
  const meta = {
6
- title: "Component/Hover card",
6
+ title: "Component/Hover card"
7
7
  };
8
8
  export default meta;
9
9
  export const Demo = {
10
- render: () => (_jsxs(HoverCard, { children: [_jsx(HoverCardTrigger, { asChild: true, children: _jsx(Button, { variant: "link", children: "@nextjs" }) }), _jsx(HoverCardContent, { className: "w-80", children: _jsxs("div", { className: "flex justify-between gap-4", children: [_jsxs(Avatar, { children: [_jsx(AvatarImage, { src: "https://github.com/vercel.png" }), _jsx(AvatarFallback, { children: "VC" })] }), _jsxs("div", { className: "space-y-1", children: [_jsx("h4", { className: "text-sm font-semibold", children: "@nextjs" }), _jsx("p", { className: "text-sm", children: "The React Framework \u2013 created and maintained by @vercel." }), _jsx("div", { className: "text-muted-foreground text-xs", children: "Joined December 2021" })] })] }) })] })),
10
+ render: ()=>/*#__PURE__*/ _jsxs(HoverCard, {
11
+ children: [
12
+ /*#__PURE__*/ _jsx(HoverCardTrigger, {
13
+ asChild: true,
14
+ children: /*#__PURE__*/ _jsx(Button, {
15
+ variant: "link",
16
+ children: "@nextjs"
17
+ })
18
+ }),
19
+ /*#__PURE__*/ _jsx(HoverCardContent, {
20
+ className: "w-80",
21
+ children: /*#__PURE__*/ _jsxs("div", {
22
+ className: "flex justify-between gap-4",
23
+ children: [
24
+ /*#__PURE__*/ _jsxs(Avatar, {
25
+ children: [
26
+ /*#__PURE__*/ _jsx(AvatarImage, {
27
+ src: "https://github.com/vercel.png"
28
+ }),
29
+ /*#__PURE__*/ _jsx(AvatarFallback, {
30
+ children: "VC"
31
+ })
32
+ ]
33
+ }),
34
+ /*#__PURE__*/ _jsxs("div", {
35
+ className: "space-y-1",
36
+ children: [
37
+ /*#__PURE__*/ _jsx("h4", {
38
+ className: "text-sm font-semibold",
39
+ children: "@nextjs"
40
+ }),
41
+ /*#__PURE__*/ _jsx("p", {
42
+ className: "text-sm",
43
+ children: "The React Framework – created and maintained by @vercel."
44
+ }),
45
+ /*#__PURE__*/ _jsx("div", {
46
+ className: "text-muted-foreground text-xs",
47
+ children: "Joined December 2021"
48
+ })
49
+ ]
50
+ })
51
+ ]
52
+ })
53
+ })
54
+ ]
55
+ })
11
56
  };
57
+
12
58
  //# sourceMappingURL=hover-card.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card.stories.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/hover-card.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EACN,MAAM,EACN,cAAc,EACd,WAAW,GACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EACN,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,sBAAsB;CACd,CAAC;AACjB,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,MAAM,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,SAAS,eACT,KAAC,gBAAgB,IAAC,OAAO,kBACxB,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,wBAAiB,GACrB,EACnB,KAAC,gBAAgB,IAAC,SAAS,EAAC,MAAM,YACjC,eAAK,SAAS,EAAC,4BAA4B,aAC1C,MAAC,MAAM,eACN,KAAC,WAAW,IAAC,GAAG,EAAC,+BAA+B,GAAG,EACnD,KAAC,cAAc,qBAAoB,IAC3B,EACT,eAAK,SAAS,EAAC,WAAW,aACzB,aAAI,SAAS,EAAC,uBAAuB,wBAAa,EAClD,YAAG,SAAS,EAAC,SAAS,8EAElB,EACJ,cAAK,SAAS,EAAC,+BAA+B,qCAExC,IACD,IACD,GACY,IACR,CACZ;CACe,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/hover-card.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport {\n\tAvatar,\n\tAvatarFallback,\n\tAvatarImage,\n} from \"#shadcn/components/ui/avatar\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport {\n\tHoverCard,\n\tHoverCardContent,\n\tHoverCardTrigger,\n} from \"#shadcn/components/ui/hover-card\";\n\nconst meta = {\n\ttitle: \"Component/Hover card\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<HoverCard>\n\t\t\t<HoverCardTrigger asChild>\n\t\t\t\t<Button variant=\"link\">@nextjs</Button>\n\t\t\t</HoverCardTrigger>\n\t\t\t<HoverCardContent className=\"w-80\">\n\t\t\t\t<div className=\"flex justify-between gap-4\">\n\t\t\t\t\t<Avatar>\n\t\t\t\t\t\t<AvatarImage src=\"https://github.com/vercel.png\" />\n\t\t\t\t\t\t<AvatarFallback>VC</AvatarFallback>\n\t\t\t\t\t</Avatar>\n\t\t\t\t\t<div className=\"space-y-1\">\n\t\t\t\t\t\t<h4 className=\"text-sm font-semibold\">@nextjs</h4>\n\t\t\t\t\t\t<p className=\"text-sm\">\n\t\t\t\t\t\t\tThe React Framework – created and maintained by @vercel.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div className=\"text-muted-foreground text-xs\">\n\t\t\t\t\t\t\tJoined December 2021\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</HoverCardContent>\n\t\t</HoverCard>\n\t),\n} satisfies Story;\n"],"names":["Avatar","AvatarFallback","AvatarImage","Button","HoverCard","HoverCardContent","HoverCardTrigger","meta","title","Demo","render","asChild","variant","className","div","src","h4","p"],"mappings":";AACA,SACCA,MAAM,EACNC,cAAc,EACdC,WAAW,QACL,cAA+B;AACtC,SAASC,MAAM,QAAQ,cAA+B;AACtD,SACCC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,QACV,kBAAmC;AAE1C,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACN;;8BACA,KAACE;oBAAiBK,OAAO;8BACxB,cAAA,KAACR;wBAAOS,SAAQ;kCAAO;;;8BAExB,KAACP;oBAAiBQ,WAAU;8BAC3B,cAAA,MAACC;wBAAID,WAAU;;0CACd,MAACb;;kDACA,KAACE;wCAAYa,KAAI;;kDACjB,KAACd;kDAAe;;;;0CAEjB,MAACa;gCAAID,WAAU;;kDACd,KAACG;wCAAGH,WAAU;kDAAwB;;kDACtC,KAACI;wCAAEJ,WAAU;kDAAU;;kDAGvB,KAACC;wCAAID,WAAU;kDAAgC;;;;;;;;;AAQrD,EAAkB"}
@@ -2,24 +2,52 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { OTPInput, OTPInputContext } from "input-otp";
3
3
  import { MinusIcon } from "lucide-react";
4
4
  import * as React from "react";
5
- import { cn } from "#shadcn/lib/utils";
5
+ import { cn } from "../../lib/utils.js";
6
6
  function InputOTP({ className, containerClassName, ...props }) {
7
- return (_jsx(OTPInput, { "data-slot": "input-otp", containerClassName: cn("flex items-center gap-2 has-disabled:opacity-50", containerClassName), className: cn("disabled:cursor-not-allowed", className), ...props }));
7
+ return /*#__PURE__*/ _jsx(OTPInput, {
8
+ "data-slot": "input-otp",
9
+ containerClassName: cn("flex items-center gap-2 has-disabled:opacity-50", containerClassName),
10
+ className: cn("disabled:cursor-not-allowed", className),
11
+ ...props
12
+ });
8
13
  }
9
14
  function InputOTPGroup({ className, ...props }) {
10
- return (_jsx("div", { "data-slot": "input-otp-group", className: cn("flex items-center", className), ...props }));
15
+ return /*#__PURE__*/ _jsx("div", {
16
+ "data-slot": "input-otp-group",
17
+ className: cn("flex items-center", className),
18
+ ...props
19
+ });
11
20
  }
12
21
  function InputOTPSlot({ index, className, ...props }) {
13
22
  const inputOTPContext = React.useContext(OTPInputContext);
14
23
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
15
- return (_jsxs("div", { "data-slot": "input-otp-slot", "data-active": isActive, className: cn("data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]", className), ...props, children: [char, hasFakeCaret && (_jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: _jsx("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) }))] }));
24
+ return /*#__PURE__*/ _jsxs("div", {
25
+ "data-slot": "input-otp-slot",
26
+ "data-active": isActive,
27
+ className: cn("data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]", className),
28
+ ...props,
29
+ children: [
30
+ char,
31
+ hasFakeCaret && /*#__PURE__*/ _jsx("div", {
32
+ className: "pointer-events-none absolute inset-0 flex items-center justify-center",
33
+ children: /*#__PURE__*/ _jsx("div", {
34
+ className: "animate-caret-blink bg-foreground h-4 w-px duration-1000"
35
+ })
36
+ })
37
+ ]
38
+ });
16
39
  }
17
40
  function InputOTPSeparator({ ...props }) {
18
- return (
19
- // biome-ignore lint/a11y/useFocusableInteractive: FIXME: unchanged shadcn
41
+ return(// biome-ignore lint/a11y/useFocusableInteractive: FIXME: unchanged shadcn
20
42
  // biome-ignore lint/a11y/useSemanticElements: FIXME: unchanged shadcn
21
43
  // biome-ignore lint/a11y/useAriaPropsForRole: FIXME: unchanged shadcn
22
- _jsx("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: _jsx(MinusIcon, {}) }));
44
+ /*#__PURE__*/ _jsx("div", {
45
+ "data-slot": "input-otp-separator",
46
+ role: "separator",
47
+ ...props,
48
+ children: /*#__PURE__*/ _jsx(MinusIcon, {})
49
+ }));
23
50
  }
24
51
  export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
52
+
25
53
  //# sourceMappingURL=input-otp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/input-otp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,SAAS,QAAQ,CAAC,EACjB,SAAS,EACT,kBAAkB,EAClB,GAAG,KAAK,EAGR;IACA,OAAO,CACN,KAAC,QAAQ,iBACE,WAAW,EACrB,kBAAkB,EAAE,EAAE,CACrB,iDAAiD,EACjD,kBAAkB,CAClB,EACD,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAC1E,OAAO,CACN,2BACW,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,KACzC,KAAK,GACR,CACF,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACrB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EAGR;IACA,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7E,OAAO,CACN,4BACW,gBAAgB,iBACb,QAAQ,EACrB,SAAS,EAAE,EAAE,CACZ,0fAA0f,EAC1f,SAAS,CACT,KACG,KAAK,aAER,IAAI,EACJ,YAAY,IAAI,CAChB,cAAK,SAAS,EAAC,uEAAuE,YACrF,cAAK,SAAS,EAAC,0DAA0D,GAAG,GACvE,CACN,IACI,CACN,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAA+B;IACnE,OAAO;IACN,0EAA0E;IAC1E,sEAAsE;IACtE,sEAAsE;IACtE,2BAAe,qBAAqB,EAAC,IAAI,EAAC,WAAW,KAAK,KAAK,YAC9D,KAAC,SAAS,KAAG,GACR,CACN,CAAC;AACH,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/input-otp.tsx"],"sourcesContent":["import { OTPInput, OTPInputContext } from \"input-otp\";\nimport { MinusIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction InputOTP({\n\tclassName,\n\tcontainerClassName,\n\t...props\n}: React.ComponentProps<typeof OTPInput> & {\n\tcontainerClassName?: string;\n}) {\n\treturn (\n\t\t<OTPInput\n\t\t\tdata-slot=\"input-otp\"\n\t\t\tcontainerClassName={cn(\n\t\t\t\t\"flex items-center gap-2 has-disabled:opacity-50\",\n\t\t\t\tcontainerClassName,\n\t\t\t)}\n\t\t\tclassName={cn(\"disabled:cursor-not-allowed\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"input-otp-group\"\n\t\t\tclassName={cn(\"flex items-center\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputOTPSlot({\n\tindex,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tindex: number;\n}) {\n\tconst inputOTPContext = React.useContext(OTPInputContext);\n\tconst { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"input-otp-slot\"\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{char}\n\t\t\t{hasFakeCaret && (\n\t\t\t\t<div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n\t\t\t\t\t<div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t// biome-ignore lint/a11y/useFocusableInteractive: FIXME: unchanged shadcn\n\t\t// biome-ignore lint/a11y/useSemanticElements: FIXME: unchanged shadcn\n\t\t// biome-ignore lint/a11y/useAriaPropsForRole: FIXME: unchanged shadcn\n\t\t<div data-slot=\"input-otp-separator\" role=\"separator\" {...props}>\n\t\t\t<MinusIcon />\n\t\t</div>\n\t);\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"names":["OTPInput","OTPInputContext","MinusIcon","React","cn","InputOTP","className","containerClassName","props","data-slot","InputOTPGroup","div","InputOTPSlot","index","inputOTPContext","useContext","char","hasFakeCaret","isActive","slots","data-active","InputOTPSeparator","role"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAQ,YAAY;AACtD,SAASC,SAAS,QAAQ,eAAe;AACzC,YAAYC,WAAW,QAAQ;AAE/B,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,SAAS,EACjBC,SAAS,EACTC,kBAAkB,EAClB,GAAGC,OAGH;IACA,qBACC,KAACR;QACAS,aAAU;QACVF,oBAAoBH,GACnB,mDACAG;QAEDD,WAAWF,GAAG,+BAA+BE;QAC5C,GAAGE,KAAK;;AAGZ;AAEA,SAASE,cAAc,EAAEJ,SAAS,EAAE,GAAGE,OAAoC;IAC1E,qBACC,KAACG;QACAF,aAAU;QACVH,WAAWF,GAAG,qBAAqBE;QAClC,GAAGE,KAAK;;AAGZ;AAEA,SAASI,aAAa,EACrBC,KAAK,EACLP,SAAS,EACT,GAAGE,OAGH;IACA,MAAMM,kBAAkBX,MAAMY,UAAU,CAACd;IACzC,MAAM,EAAEe,IAAI,EAAEC,YAAY,EAAEC,QAAQ,EAAE,GAAGJ,iBAAiBK,KAAK,CAACN,MAAM,IAAI,CAAC;IAE3E,qBACC,MAACF;QACAF,aAAU;QACVW,eAAaF;QACbZ,WAAWF,GACV,4fACAE;QAEA,GAAGE,KAAK;;YAERQ;YACAC,8BACA,KAACN;gBAAIL,WAAU;0BACd,cAAA,KAACK;oBAAIL,WAAU;;;;;AAKpB;AAEA,SAASe,kBAAkB,EAAE,GAAGb,OAAoC;IACnE,OACC,0EAA0E;IAC1E,sEAAsE;IACtE,sEAAsE;kBACtE,KAACG;QAAIF,aAAU;QAAsBa,MAAK;QAAa,GAAGd,KAAK;kBAC9D,cAAA,KAACN;;AAGJ;AAEA,SAASG,QAAQ,EAAEK,aAAa,EAAEE,YAAY,EAAES,iBAAiB,GAAG"}
@@ -1,10 +1,42 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, } from "#shadcn/components/ui/input-otp";
2
+ import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "./input-otp.js";
3
3
  const meta = {
4
- title: "Component/Input OTP",
4
+ title: "Component/Input OTP"
5
5
  };
6
6
  export default meta;
7
7
  export const Demo = {
8
- render: () => (_jsxs(InputOTP, { maxLength: 6, children: [_jsxs(InputOTPGroup, { children: [_jsx(InputOTPSlot, { index: 0 }), _jsx(InputOTPSlot, { index: 1 }), _jsx(InputOTPSlot, { index: 2 })] }), _jsx(InputOTPSeparator, {}), _jsxs(InputOTPGroup, { children: [_jsx(InputOTPSlot, { index: 3 }), _jsx(InputOTPSlot, { index: 4 }), _jsx(InputOTPSlot, { index: 5 })] })] })),
8
+ render: ()=>/*#__PURE__*/ _jsxs(InputOTP, {
9
+ maxLength: 6,
10
+ children: [
11
+ /*#__PURE__*/ _jsxs(InputOTPGroup, {
12
+ children: [
13
+ /*#__PURE__*/ _jsx(InputOTPSlot, {
14
+ index: 0
15
+ }),
16
+ /*#__PURE__*/ _jsx(InputOTPSlot, {
17
+ index: 1
18
+ }),
19
+ /*#__PURE__*/ _jsx(InputOTPSlot, {
20
+ index: 2
21
+ })
22
+ ]
23
+ }),
24
+ /*#__PURE__*/ _jsx(InputOTPSeparator, {}),
25
+ /*#__PURE__*/ _jsxs(InputOTPGroup, {
26
+ children: [
27
+ /*#__PURE__*/ _jsx(InputOTPSlot, {
28
+ index: 3
29
+ }),
30
+ /*#__PURE__*/ _jsx(InputOTPSlot, {
31
+ index: 4
32
+ }),
33
+ /*#__PURE__*/ _jsx(InputOTPSlot, {
34
+ index: 5
35
+ })
36
+ ]
37
+ })
38
+ ]
39
+ })
9
40
  };
41
+
10
42
  //# sourceMappingURL=input-otp.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.stories.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/input-otp.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EACN,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,YAAY,GACZ,MAAM,iCAAiC,CAAC;AAEzC,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,qBAAqB;CACb,CAAC;AACjB,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,MAAM,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,aACrB,MAAC,aAAa,eACb,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,GAAI,EAC1B,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,GAAI,EAC1B,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,GAAI,IACX,EAChB,KAAC,iBAAiB,KAAG,EACrB,MAAC,aAAa,eACb,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,GAAI,EAC1B,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,GAAI,EAC1B,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,GAAI,IACX,IACN,CACX;CACe,CAAC"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/input-otp.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport {\n\tInputOTP,\n\tInputOTPGroup,\n\tInputOTPSeparator,\n\tInputOTPSlot,\n} from \"#shadcn/components/ui/input-otp\";\n\nconst meta = {\n\ttitle: \"Component/Input OTP\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<InputOTP maxLength={6}>\n\t\t\t<InputOTPGroup>\n\t\t\t\t<InputOTPSlot index={0} />\n\t\t\t\t<InputOTPSlot index={1} />\n\t\t\t\t<InputOTPSlot index={2} />\n\t\t\t</InputOTPGroup>\n\t\t\t<InputOTPSeparator />\n\t\t\t<InputOTPGroup>\n\t\t\t\t<InputOTPSlot index={3} />\n\t\t\t\t<InputOTPSlot index={4} />\n\t\t\t\t<InputOTPSlot index={5} />\n\t\t\t</InputOTPGroup>\n\t\t</InputOTP>\n\t),\n} satisfies Story;\n"],"names":["InputOTP","InputOTPGroup","InputOTPSeparator","InputOTPSlot","meta","title","Demo","render","maxLength","index"],"mappings":";AACA,SACCA,QAAQ,EACRC,aAAa,EACbC,iBAAiB,EACjBC,YAAY,QACN,iBAAkC;AAEzC,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACP;YAASQ,WAAW;;8BACpB,MAACP;;sCACA,KAACE;4BAAaM,OAAO;;sCACrB,KAACN;4BAAaM,OAAO;;sCACrB,KAACN;4BAAaM,OAAO;;;;8BAEtB,KAACP;8BACD,MAACD;;sCACA,KAACE;4BAAaM,OAAO;;sCACrB,KAACN;4BAAaM,OAAO;;sCACrB,KAACN;4BAAaM,OAAO;;;;;;AAIzB,EAAkB"}