@next-degree/pickle-shared-js 0.6.48 → 0.7.51

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 (240) hide show
  1. package/dist/company_service_latest-DFxfjA2x.d.cts +4369 -0
  2. package/dist/company_service_latest-DFxfjA2x.d.ts +4369 -0
  3. package/dist/company_service_sanity--Aw-Y3Us.d.cts +7611 -0
  4. package/dist/company_service_sanity-B5FBDl-4.d.ts +7611 -0
  5. package/dist/components/buttons/BackButton.cjs +5 -1
  6. package/dist/components/buttons/BackButton.cjs.map +1 -1
  7. package/dist/components/buttons/BackButton.js +5 -1
  8. package/dist/components/buttons/BackButton.js.map +1 -1
  9. package/dist/components/company/CompanyTake.cjs +4 -2
  10. package/dist/components/company/CompanyTake.cjs.map +1 -1
  11. package/dist/components/company/CompanyTake.js +4 -2
  12. package/dist/components/company/CompanyTake.js.map +1 -1
  13. package/dist/components/jobPost/JobDescription.cjs +18 -7
  14. package/dist/components/jobPost/JobDescription.cjs.map +1 -1
  15. package/dist/components/jobPost/JobDescription.js +18 -7
  16. package/dist/components/jobPost/JobDescription.js.map +1 -1
  17. package/dist/components/jobPost/JobHeader.cjs +43 -37
  18. package/dist/components/jobPost/JobHeader.cjs.map +1 -1
  19. package/dist/components/jobPost/JobHeader.js +42 -36
  20. package/dist/components/jobPost/JobHeader.js.map +1 -1
  21. package/dist/components/jobPost/JobPost.cjs +105 -90
  22. package/dist/components/jobPost/JobPost.cjs.map +1 -1
  23. package/dist/components/jobPost/JobPost.d.cts +1 -1
  24. package/dist/components/jobPost/JobPost.d.ts +1 -1
  25. package/dist/components/jobPost/JobPost.js +105 -90
  26. package/dist/components/jobPost/JobPost.js.map +1 -1
  27. package/dist/components/primitives/avatar.cjs.map +1 -1
  28. package/dist/components/primitives/avatar.js.map +1 -1
  29. package/dist/components/primitives/command.cjs +6 -4
  30. package/dist/components/primitives/command.cjs.map +1 -1
  31. package/dist/components/primitives/command.d.cts +7 -7
  32. package/dist/components/primitives/command.d.ts +7 -7
  33. package/dist/components/primitives/command.js +6 -4
  34. package/dist/components/primitives/command.js.map +1 -1
  35. package/dist/components/primitives/dialog.cjs +4 -4
  36. package/dist/components/primitives/dialog.cjs.map +1 -1
  37. package/dist/components/primitives/dialog.js +6 -4
  38. package/dist/components/primitives/dialog.js.map +1 -1
  39. package/dist/components/primitives/input-otp.cjs +2 -2
  40. package/dist/components/primitives/input-otp.cjs.map +1 -1
  41. package/dist/components/primitives/input-otp.js +2 -2
  42. package/dist/components/primitives/input-otp.js.map +1 -1
  43. package/dist/components/primitives/popover.cjs +1 -1
  44. package/dist/components/primitives/popover.cjs.map +1 -1
  45. package/dist/components/primitives/popover.d.cts +1 -1
  46. package/dist/components/primitives/popover.d.ts +1 -1
  47. package/dist/components/primitives/popover.js +1 -1
  48. package/dist/components/primitives/popover.js.map +1 -1
  49. package/dist/components/primitives/separator.cjs.map +1 -1
  50. package/dist/components/primitives/separator.js.map +1 -1
  51. package/dist/components/primitives/tooltip.cjs.map +1 -1
  52. package/dist/components/primitives/tooltip.js.map +1 -1
  53. package/dist/components/ui/Avatar.cjs +2 -2
  54. package/dist/components/ui/Avatar.cjs.map +1 -1
  55. package/dist/components/ui/Avatar.js +4 -2
  56. package/dist/components/ui/Avatar.js.map +1 -1
  57. package/dist/components/ui/Badge.cjs.map +1 -1
  58. package/dist/components/ui/Badge.js.map +1 -1
  59. package/dist/components/ui/Button.cjs +3 -3
  60. package/dist/components/ui/Button.cjs.map +1 -1
  61. package/dist/components/ui/Button.d.cts +33 -0
  62. package/dist/components/ui/Button.d.ts +33 -0
  63. package/dist/components/ui/Button.js +5 -3
  64. package/dist/components/ui/Button.js.map +1 -1
  65. package/dist/components/ui/Checkbox.cjs.map +1 -1
  66. package/dist/components/ui/Checkbox.js.map +1 -1
  67. package/dist/components/ui/Combobox.cjs +111 -103
  68. package/dist/components/ui/Combobox.cjs.map +1 -1
  69. package/dist/components/ui/Combobox.d.cts +1 -1
  70. package/dist/components/ui/Combobox.d.ts +1 -1
  71. package/dist/components/ui/Combobox.js +108 -100
  72. package/dist/components/ui/Combobox.js.map +1 -1
  73. package/dist/components/ui/Counter.cjs +3 -1
  74. package/dist/components/ui/Counter.cjs.map +1 -1
  75. package/dist/components/ui/Counter.js +3 -1
  76. package/dist/components/ui/Counter.js.map +1 -1
  77. package/dist/components/ui/DatePicker.cjs +318 -0
  78. package/dist/components/ui/DatePicker.cjs.map +1 -0
  79. package/dist/components/ui/DatePicker.d.cts +16 -0
  80. package/dist/components/ui/DatePicker.d.ts +16 -0
  81. package/dist/components/ui/DatePicker.js +284 -0
  82. package/dist/components/ui/DatePicker.js.map +1 -0
  83. package/dist/components/ui/ErrorMessage.cjs.map +1 -1
  84. package/dist/components/ui/ErrorMessage.js.map +1 -1
  85. package/dist/components/ui/Icon.cjs.map +1 -1
  86. package/dist/components/ui/Icon.js.map +1 -1
  87. package/dist/components/ui/Input.cjs +3 -1
  88. package/dist/components/ui/Input.cjs.map +1 -1
  89. package/dist/components/ui/Input.d.cts +29 -0
  90. package/dist/components/ui/Input.d.ts +29 -0
  91. package/dist/components/ui/Input.js +3 -1
  92. package/dist/components/ui/Input.js.map +1 -1
  93. package/dist/components/ui/InputOtp.cjs +62 -58
  94. package/dist/components/ui/InputOtp.cjs.map +1 -1
  95. package/dist/components/ui/InputOtp.js +62 -58
  96. package/dist/components/ui/InputOtp.js.map +1 -1
  97. package/dist/components/ui/Label.cjs +5 -3
  98. package/dist/components/ui/Label.cjs.map +1 -1
  99. package/dist/components/ui/Label.js +7 -3
  100. package/dist/components/ui/Label.js.map +1 -1
  101. package/dist/components/ui/ListItem.cjs +7 -7
  102. package/dist/components/ui/ListItem.cjs.map +1 -1
  103. package/dist/components/ui/ListItem.js +10 -8
  104. package/dist/components/ui/ListItem.js.map +1 -1
  105. package/dist/components/ui/MapComponent.cjs.map +1 -1
  106. package/dist/components/ui/MapComponent.js +1 -1
  107. package/dist/components/ui/MapComponent.js.map +1 -1
  108. package/dist/components/ui/PlacesQueryInput.cjs +21 -13
  109. package/dist/components/ui/PlacesQueryInput.cjs.map +1 -1
  110. package/dist/components/ui/PlacesQueryInput.js +23 -13
  111. package/dist/components/ui/PlacesQueryInput.js.map +1 -1
  112. package/dist/components/ui/ReadMore.cjs +18 -7
  113. package/dist/components/ui/ReadMore.cjs.map +1 -1
  114. package/dist/components/ui/ReadMore.js +18 -7
  115. package/dist/components/ui/ReadMore.js.map +1 -1
  116. package/dist/components/ui/Select.cjs +68 -70
  117. package/dist/components/ui/Select.cjs.map +1 -1
  118. package/dist/components/ui/Select.js +66 -68
  119. package/dist/components/ui/Select.js.map +1 -1
  120. package/dist/components/ui/StepTabs.cjs +92 -0
  121. package/dist/components/ui/StepTabs.cjs.map +1 -0
  122. package/dist/components/ui/StepTabs.d.cts +13 -0
  123. package/dist/components/ui/StepTabs.d.ts +13 -0
  124. package/dist/components/ui/StepTabs.js +58 -0
  125. package/dist/components/ui/StepTabs.js.map +1 -0
  126. package/dist/components/ui/buttonShadcn.cjs +94 -0
  127. package/dist/components/ui/buttonShadcn.cjs.map +1 -0
  128. package/dist/components/ui/buttonShadcn.d.cts +14 -0
  129. package/dist/components/ui/buttonShadcn.d.ts +14 -0
  130. package/dist/components/ui/buttonShadcn.js +58 -0
  131. package/dist/components/ui/buttonShadcn.js.map +1 -0
  132. package/dist/components/ui/calendar.cjs +152 -0
  133. package/dist/components/ui/calendar.cjs.map +1 -0
  134. package/dist/components/ui/calendar.d.cts +11 -0
  135. package/dist/components/ui/calendar.d.ts +11 -0
  136. package/dist/components/ui/calendar.js +118 -0
  137. package/dist/components/ui/calendar.js.map +1 -0
  138. package/dist/{displayText-mYUVo6Ek.d.cts → displayText-CQRZ2fOT.d.cts} +2 -2
  139. package/dist/{displayText-DDf9iWyg.d.ts → displayText-LlsLfkTS.d.ts} +2 -2
  140. package/dist/hooks/useDisplayText.cjs.map +1 -1
  141. package/dist/hooks/useDisplayText.d.cts +3 -3
  142. package/dist/hooks/useDisplayText.d.ts +3 -3
  143. package/dist/hooks/useDisplayText.js.map +1 -1
  144. package/dist/index.cjs +763 -738
  145. package/dist/index.cjs.map +1 -1
  146. package/dist/index.d.cts +13 -13
  147. package/dist/index.d.ts +13 -13
  148. package/dist/index.js +772 -747
  149. package/dist/index.js.map +1 -1
  150. package/dist/job_posting_service_latest-B5tqLSgo.d.cts +4247 -0
  151. package/dist/job_posting_service_latest-B5tqLSgo.d.ts +4247 -0
  152. package/dist/{job_posting_service_latest-Dn5s8beY.d.cts → job_posting_service_latest-CKITrYyz.d.cts} +230 -230
  153. package/dist/{job_posting_service_latest-Dn5s8beY.d.ts → job_posting_service_latest-CKITrYyz.d.ts} +230 -230
  154. package/dist/job_posting_service_sanity-CeX9tlpb.d.ts +8093 -0
  155. package/dist/job_posting_service_sanity-D5Znr6Ba.d.cts +8093 -0
  156. package/dist/lib/google.cjs.map +1 -1
  157. package/dist/lib/google.js.map +1 -1
  158. package/dist/lib/locations.cjs.map +1 -1
  159. package/dist/lib/locations.d.cts +2 -2
  160. package/dist/lib/locations.d.ts +2 -2
  161. package/dist/lib/locations.js.map +1 -1
  162. package/dist/lib/mappings.cjs.map +1 -1
  163. package/dist/lib/mappings.d.cts +3 -3
  164. package/dist/lib/mappings.d.ts +3 -3
  165. package/dist/lib/mappings.js.map +1 -1
  166. package/dist/lib/salaryRange.cjs.map +1 -1
  167. package/dist/lib/salaryRange.d.cts +1 -1
  168. package/dist/lib/salaryRange.d.ts +1 -1
  169. package/dist/lib/salaryRange.js.map +1 -1
  170. package/dist/lib/utils.cjs.map +1 -1
  171. package/dist/lib/utils.js.map +1 -1
  172. package/dist/services/displayText.cjs.map +1 -1
  173. package/dist/services/displayText.d.cts +3 -3
  174. package/dist/services/displayText.d.ts +3 -3
  175. package/dist/services/displayText.js.map +1 -1
  176. package/dist/shared_pickle_output_latest-Bwfg5B4p.d.cts +350 -0
  177. package/dist/shared_pickle_output_latest-Bwfg5B4p.d.ts +350 -0
  178. package/dist/styles/globals.css +371 -6
  179. package/dist/styles/globals.css.map +1 -1
  180. package/dist/types/data/company_service_latest.cjs.map +1 -1
  181. package/dist/types/data/company_service_latest.d.cts +1 -1
  182. package/dist/types/data/company_service_latest.d.ts +1 -1
  183. package/dist/types/data/company_service_latest.js.map +1 -1
  184. package/dist/types/data/job_posting_service_latest.cjs +3 -1
  185. package/dist/types/data/job_posting_service_latest.cjs.map +1 -1
  186. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  187. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  188. package/dist/types/data/job_posting_service_latest.js +3 -1
  189. package/dist/types/data/job_posting_service_latest.js.map +1 -1
  190. package/dist/types/data/shared_pickle_output_latest.cjs.map +1 -1
  191. package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
  192. package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
  193. package/dist/types/data/shared_pickle_output_latest.js.map +1 -1
  194. package/dist/types/index.cjs +505 -0
  195. package/dist/types/index.cjs.map +1 -0
  196. package/dist/types/index.d.cts +10 -0
  197. package/dist/types/index.d.ts +10 -0
  198. package/dist/types/index.js +479 -0
  199. package/dist/types/index.js.map +1 -0
  200. package/dist/types/latest/company_service_latest.cjs +251 -0
  201. package/dist/types/latest/company_service_latest.cjs.map +1 -0
  202. package/dist/types/latest/company_service_latest.d.cts +2 -0
  203. package/dist/types/latest/company_service_latest.d.ts +2 -0
  204. package/dist/types/latest/company_service_latest.js +210 -0
  205. package/dist/types/latest/company_service_latest.js.map +1 -0
  206. package/dist/types/latest/custom/company_service_sanity.cjs +325 -0
  207. package/dist/types/latest/custom/company_service_sanity.cjs.map +1 -0
  208. package/dist/types/latest/custom/company_service_sanity.d.cts +4 -0
  209. package/dist/types/latest/custom/company_service_sanity.d.ts +4 -0
  210. package/dist/types/latest/custom/company_service_sanity.js +288 -0
  211. package/dist/types/latest/custom/company_service_sanity.js.map +1 -0
  212. package/dist/types/latest/custom/custom_sanity_models.cjs +43 -0
  213. package/dist/types/latest/custom/custom_sanity_models.cjs.map +1 -0
  214. package/dist/types/latest/custom/custom_sanity_models.d.cts +30 -0
  215. package/dist/types/latest/custom/custom_sanity_models.d.ts +30 -0
  216. package/dist/types/latest/custom/custom_sanity_models.js +17 -0
  217. package/dist/types/latest/custom/custom_sanity_models.js.map +1 -0
  218. package/dist/types/latest/custom/job_posting_service_sanity.cjs +376 -0
  219. package/dist/types/latest/custom/job_posting_service_sanity.cjs.map +1 -0
  220. package/dist/types/latest/custom/job_posting_service_sanity.d.cts +5 -0
  221. package/dist/types/latest/custom/job_posting_service_sanity.d.ts +5 -0
  222. package/dist/types/latest/custom/job_posting_service_sanity.js +331 -0
  223. package/dist/types/latest/custom/job_posting_service_sanity.js.map +1 -0
  224. package/dist/types/latest/job_posting_service_latest.cjs +293 -0
  225. package/dist/types/latest/job_posting_service_latest.cjs.map +1 -0
  226. package/dist/types/latest/job_posting_service_latest.d.cts +2 -0
  227. package/dist/types/latest/job_posting_service_latest.d.ts +2 -0
  228. package/dist/types/latest/job_posting_service_latest.js +257 -0
  229. package/dist/types/latest/job_posting_service_latest.js.map +1 -0
  230. package/dist/types/latest/shared_pickle_output_latest.cjs +109 -0
  231. package/dist/types/latest/shared_pickle_output_latest.cjs.map +1 -0
  232. package/dist/types/latest/shared_pickle_output_latest.d.cts +2 -0
  233. package/dist/types/latest/shared_pickle_output_latest.d.ts +2 -0
  234. package/dist/types/latest/shared_pickle_output_latest.js +75 -0
  235. package/dist/types/latest/shared_pickle_output_latest.js.map +1 -0
  236. package/package.json +28 -6
  237. package/dist/{company_service_latest-DelYl1hO.d.cts → company_service_latest-8IMr2hMZ.d.cts} +244 -244
  238. package/dist/{company_service_latest-DelYl1hO.d.ts → company_service_latest-8IMr2hMZ.d.ts} +244 -244
  239. package/dist/{shared_pickle_output_latest-DbAgINuf.d.cts → shared_pickle_output_latest-Cwf2EMdH.d.cts} +17 -17
  240. package/dist/{shared_pickle_output_latest-DbAgINuf.d.ts → shared_pickle_output_latest-Cwf2EMdH.d.ts} +17 -17
@@ -35,6 +35,11 @@ __export(InputOtp_exports, {
35
35
  module.exports = __toCommonJS(InputOtp_exports);
36
36
  var import_react = require("react");
37
37
 
38
+ // src/components/primitives/input-otp.tsx
39
+ var import_input_otp = require("input-otp");
40
+ var import_lucide_react = require("lucide-react");
41
+ var React = __toESM(require("react"), 1);
42
+
38
43
  // src/lib/utils.ts
39
44
  var import_clsx = require("clsx");
40
45
  var import_tailwind_merge = require("tailwind-merge");
@@ -42,22 +47,67 @@ function cn(...inputs) {
42
47
  return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
43
48
  }
44
49
 
45
- // src/components/ui/ErrorMessage.tsx
50
+ // src/components/primitives/input-otp.tsx
46
51
  var import_jsx_runtime = require("react/jsx-runtime");
52
+ var InputOTP = React.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
+ import_input_otp.OTPInput,
54
+ {
55
+ ref,
56
+ containerClassName: cn(
57
+ "flex items-center gap-2 has-[:disabled]:opacity-50",
58
+ containerClassName
59
+ ),
60
+ className: cn("disabled:cursor-not-allowed", className),
61
+ ...props
62
+ }
63
+ ));
64
+ InputOTP.displayName = "InputOTP";
65
+ var InputOTPGroup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref, className: cn("flex items-center", className), ...props }));
66
+ InputOTPGroup.displayName = "InputOTPGroup";
67
+ var InputOTPSlot = React.forwardRef(({ index, error, className, ...props }, ref) => {
68
+ const inputOTPContext = React.useContext(import_input_otp.OTPInputContext);
69
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
70
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
71
+ "div",
72
+ {
73
+ ref,
74
+ className: cn(
75
+ "relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800",
76
+ isActive && "z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100",
77
+ error && "border-red-500 dark:border-red-400",
78
+ className
79
+ ),
80
+ ...props,
81
+ children: [
82
+ char,
83
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-neutral-950 duration-1000 dark:bg-neutral-50" }) })
84
+ ]
85
+ }
86
+ );
87
+ });
88
+ InputOTPSlot.displayName = "InputOTPSlot";
89
+ var InputOTPSeparator = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Dot, {}) }));
90
+ InputOTPSeparator.displayName = "InputOTPSeparator";
91
+
92
+ // src/components/ui/ErrorMessage.tsx
93
+ var import_jsx_runtime2 = require("react/jsx-runtime");
47
94
  function ErrorMessage({ message, className, ...props }) {
48
95
  if (!message) return null;
49
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
96
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
50
97
  }
51
98
  var ErrorMessage_default = ErrorMessage;
52
99
 
100
+ // src/components/ui/Label.tsx
101
+ var import_lucide_react2 = require("lucide-react");
102
+
53
103
  // src/components/primitives/tooltip.tsx
54
104
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
55
- var React = __toESM(require("react"), 1);
56
- var import_jsx_runtime2 = require("react/jsx-runtime");
105
+ var React2 = __toESM(require("react"), 1);
106
+ var import_jsx_runtime3 = require("react/jsx-runtime");
57
107
  var TooltipProvider = TooltipPrimitive.Provider;
58
108
  var Tooltip = TooltipPrimitive.Root;
59
109
  var TooltipTrigger = TooltipPrimitive.Trigger;
60
- var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
110
+ var TooltipContent = React2.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
61
111
  TooltipPrimitive.Content,
62
112
  {
63
113
  ref,
@@ -72,12 +122,11 @@ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props },
72
122
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
73
123
 
74
124
  // src/components/ui/Label.tsx
75
- var import_lucide_react = require("lucide-react");
76
- var import_jsx_runtime3 = require("react/jsx-runtime");
125
+ var import_jsx_runtime4 = require("react/jsx-runtime");
77
126
  function Label({ text, required, description, className, ...props }) {
78
127
  if (!text) return null;
79
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "flex w-full flex-row gap-1", children: [
80
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
128
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex w-full flex-row gap-1", children: [
129
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
81
130
  "label",
82
131
  {
83
132
  className: cn(
@@ -87,63 +136,18 @@ function Label({ text, required, description, className, ...props }) {
87
136
  ...props,
88
137
  children: [
89
138
  text,
90
- required && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "text-red-600", children: "\xA0*" })
139
+ required && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-600", children: "\xA0*" })
91
140
  ]
92
141
  }
93
142
  ),
94
- !!description && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Tooltip, { children: [
95
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react.InfoIcon, { className: "h-4 w-4" }) }),
96
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipContent, { className: "max-w-48", children: description })
143
+ !!description && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Tooltip, { children: [
144
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react2.InfoIcon, { className: "h-4 w-4" }) }),
145
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipContent, { className: "max-w-48", children: description })
97
146
  ] }) })
98
147
  ] });
99
148
  }
100
149
  var Label_default = Label;
101
150
 
102
- // src/components/primitives/input-otp.tsx
103
- var React2 = __toESM(require("react"), 1);
104
- var import_input_otp = require("input-otp");
105
- var import_lucide_react2 = require("lucide-react");
106
- var import_jsx_runtime4 = require("react/jsx-runtime");
107
- var InputOTP = React2.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
108
- import_input_otp.OTPInput,
109
- {
110
- ref,
111
- containerClassName: cn(
112
- "flex items-center gap-2 has-[:disabled]:opacity-50",
113
- containerClassName
114
- ),
115
- className: cn("disabled:cursor-not-allowed", className),
116
- ...props
117
- }
118
- ));
119
- InputOTP.displayName = "InputOTP";
120
- var InputOTPGroup = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { ref, className: cn("flex items-center", className), ...props }));
121
- InputOTPGroup.displayName = "InputOTPGroup";
122
- var InputOTPSlot = React2.forwardRef(({ index, error, className, ...props }, ref) => {
123
- const inputOTPContext = React2.useContext(import_input_otp.OTPInputContext);
124
- const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
125
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
126
- "div",
127
- {
128
- ref,
129
- className: cn(
130
- "relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800",
131
- isActive && "z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100",
132
- error && "border-red-500 dark:border-red-400",
133
- className
134
- ),
135
- ...props,
136
- children: [
137
- char,
138
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "animate-caret-blink h-4 w-px bg-neutral-950 duration-1000 dark:bg-neutral-50" }) })
139
- ]
140
- }
141
- );
142
- });
143
- InputOTPSlot.displayName = "InputOTPSlot";
144
- var InputOTPSeparator = React2.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react2.Dot, {}) }));
145
- InputOTPSeparator.displayName = "InputOTPSeparator";
146
-
147
151
  // src/components/ui/InputOtp.tsx
148
152
  var import_jsx_runtime5 = require("react/jsx-runtime");
149
153
  var InputOtp = (0, import_react.forwardRef)(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/InputOtp.tsx","../../../src/lib/utils.ts","../../../src/components/ui/ErrorMessage.tsx","../../../src/components/primitives/tooltip.tsx","../../../src/components/ui/Label.tsx","../../../src/components/primitives/input-otp.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\n\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '@/components/primitives/input-otp'\n\ninterface Props extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n digits: 4 | 6 | 8\n value?: string\n label?: string\n description?: string\n error?: string\n onChange?: (v: string) => void\n}\n\nexport const InputOtp = forwardRef<HTMLInputElement, Props>(\n ({ digits, label, description, error, ...props }, ref) => {\n return (\n <div\n className=\"group flex w-full flex-col gap-1\"\n data-testid={`input-otp-wrapper-${props.id}`}\n >\n {label && (\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n />\n )}\n <div className=\"relative flex flex-row items-center\">\n <InputOTP\n ref={ref}\n maxLength={digits}\n data-testid={`input-otp-element-${props.id}`}\n {...props}\n >\n {[...Array(digits)].map((_, index) => (\n <InputOTPGroup key={index}>\n <InputOTPSlot index={index} error={Boolean(error)} />\n </InputOTPGroup>\n ))}\n </InputOTP>\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\nInputOtp.displayName = 'Input'\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'p'> {\n message?: string\n}\n\nfunction ErrorMessage({ message, className, ...props }: Readonly<Props>) {\n if (!message) return null\n\n return (\n <p className={cn('px-1 text-xs text-red-600', className)} {...props}>\n {message}\n </p>\n )\n}\n\nexport default ErrorMessage\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { InfoIcon } from 'lucide-react'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","'use client'\n\nimport * as React from 'react'\nimport { OTPInput, OTPInputContext } from 'input-otp'\nimport { Dot } from 'lucide-react'\n\nimport { cn } from '@/lib/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; error?: boolean }\n>(({ index, error, 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 'relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800',\n isActive &&\n 'z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100',\n error && 'border-red-500 dark:border-red-400',\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 h-4 w-px bg-neutral-950 duration-1000 dark:bg-neutral-50\" />\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":"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","names":["import_jsx_runtime","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../src/components/ui/InputOtp.tsx","../../../src/components/primitives/input-otp.tsx","../../../src/lib/utils.ts","../../../src/components/ui/ErrorMessage.tsx","../../../src/components/ui/Label.tsx","../../../src/components/primitives/tooltip.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\n\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '@/components/primitives/input-otp'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\n\ninterface Props extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n digits: 4 | 6 | 8\n value?: string\n label?: string\n description?: string\n error?: string\n onChange?: (v: string) => void\n}\n\nexport const InputOtp = forwardRef<HTMLInputElement, Props>(\n ({ digits, label, description, error, ...props }, ref) => {\n return (\n <div\n className=\"group flex w-full flex-col gap-1\"\n data-testid={`input-otp-wrapper-${props.id}`}\n >\n {label && (\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n />\n )}\n <div className=\"relative flex flex-row items-center\">\n <InputOTP\n ref={ref}\n maxLength={digits}\n data-testid={`input-otp-element-${props.id}`}\n {...props}\n >\n {[...Array(digits)].map((_, index) => (\n <InputOTPGroup key={index}>\n <InputOTPSlot index={index} error={Boolean(error)} />\n </InputOTPGroup>\n ))}\n </InputOTP>\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\nInputOtp.displayName = 'Input'\n","'use client'\n\nimport { OTPInput, OTPInputContext } from 'input-otp'\nimport { Dot } from 'lucide-react'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/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; error?: boolean }\n>(({ index, error, 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 'relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800',\n isActive &&\n 'z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100',\n error && 'border-red-500 dark:border-red-400',\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=\"h-4 w-px animate-caret-blink bg-neutral-950 duration-1000 dark:bg-neutral-50\" />\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, InputOTPSeparator, InputOTPSlot }\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'p'> {\n message?: string\n}\n\nfunction ErrorMessage({ message, className, ...props }: Readonly<Props>) {\n if (!message) return null\n\n return (\n <p className={cn('px-1 text-xs text-red-600', className)} {...props}>\n {message}\n </p>\n )\n}\n\nexport default ErrorMessage\n","import { InfoIcon } from 'lucide-react'\nimport { type ComponentPropsWithoutRef } from 'react'\n\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"],"mappings":"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","names":["import_jsx_runtime","import_lucide_react","React","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
@@ -1,6 +1,11 @@
1
1
  // src/components/ui/InputOtp.tsx
2
2
  import { forwardRef as forwardRef3 } from "react";
3
3
 
4
+ // src/components/primitives/input-otp.tsx
5
+ import { OTPInput, OTPInputContext } from "input-otp";
6
+ import { Dot } from "lucide-react";
7
+ import * as React from "react";
8
+
4
9
  // src/lib/utils.ts
5
10
  import { clsx } from "clsx";
6
11
  import { twMerge } from "tailwind-merge";
@@ -8,22 +13,67 @@ function cn(...inputs) {
8
13
  return twMerge(clsx(inputs));
9
14
  }
10
15
 
16
+ // src/components/primitives/input-otp.tsx
17
+ import { jsx, jsxs } from "react/jsx-runtime";
18
+ var InputOTP = React.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx(
19
+ OTPInput,
20
+ {
21
+ ref,
22
+ containerClassName: cn(
23
+ "flex items-center gap-2 has-[:disabled]:opacity-50",
24
+ containerClassName
25
+ ),
26
+ className: cn("disabled:cursor-not-allowed", className),
27
+ ...props
28
+ }
29
+ ));
30
+ InputOTP.displayName = "InputOTP";
31
+ var InputOTPGroup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center", className), ...props }));
32
+ InputOTPGroup.displayName = "InputOTPGroup";
33
+ var InputOTPSlot = React.forwardRef(({ index, error, className, ...props }, ref) => {
34
+ const inputOTPContext = React.useContext(OTPInputContext);
35
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
36
+ return /* @__PURE__ */ jsxs(
37
+ "div",
38
+ {
39
+ ref,
40
+ className: cn(
41
+ "relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800",
42
+ isActive && "z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100",
43
+ error && "border-red-500 dark:border-red-400",
44
+ className
45
+ ),
46
+ ...props,
47
+ children: [
48
+ char,
49
+ hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-px animate-caret-blink bg-neutral-950 duration-1000 dark:bg-neutral-50" }) })
50
+ ]
51
+ }
52
+ );
53
+ });
54
+ InputOTPSlot.displayName = "InputOTPSlot";
55
+ var InputOTPSeparator = React.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx(Dot, {}) }));
56
+ InputOTPSeparator.displayName = "InputOTPSeparator";
57
+
11
58
  // src/components/ui/ErrorMessage.tsx
12
- import { jsx } from "react/jsx-runtime";
59
+ import { jsx as jsx2 } from "react/jsx-runtime";
13
60
  function ErrorMessage({ message, className, ...props }) {
14
61
  if (!message) return null;
15
- return /* @__PURE__ */ jsx("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
62
+ return /* @__PURE__ */ jsx2("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
16
63
  }
17
64
  var ErrorMessage_default = ErrorMessage;
18
65
 
66
+ // src/components/ui/Label.tsx
67
+ import { InfoIcon } from "lucide-react";
68
+
19
69
  // src/components/primitives/tooltip.tsx
20
70
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
21
- import * as React from "react";
22
- import { jsx as jsx2 } from "react/jsx-runtime";
71
+ import * as React2 from "react";
72
+ import { jsx as jsx3 } from "react/jsx-runtime";
23
73
  var TooltipProvider = TooltipPrimitive.Provider;
24
74
  var Tooltip = TooltipPrimitive.Root;
25
75
  var TooltipTrigger = TooltipPrimitive.Trigger;
26
- var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx2(
76
+ var TooltipContent = React2.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx3(
27
77
  TooltipPrimitive.Content,
28
78
  {
29
79
  ref,
@@ -38,12 +88,11 @@ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props },
38
88
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
39
89
 
40
90
  // src/components/ui/Label.tsx
41
- import { InfoIcon } from "lucide-react";
42
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
91
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
43
92
  function Label({ text, required, description, className, ...props }) {
44
93
  if (!text) return null;
45
- return /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-row gap-1", children: [
46
- /* @__PURE__ */ jsxs(
94
+ return /* @__PURE__ */ jsxs2("div", { className: "flex w-full flex-row gap-1", children: [
95
+ /* @__PURE__ */ jsxs2(
47
96
  "label",
48
97
  {
49
98
  className: cn(
@@ -53,63 +102,18 @@ function Label({ text, required, description, className, ...props }) {
53
102
  ...props,
54
103
  children: [
55
104
  text,
56
- required && /* @__PURE__ */ jsx3("span", { className: "text-red-600", children: "\xA0*" })
105
+ required && /* @__PURE__ */ jsx4("span", { className: "text-red-600", children: "\xA0*" })
57
106
  ]
58
107
  }
59
108
  ),
60
- !!description && /* @__PURE__ */ jsx3(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
61
- /* @__PURE__ */ jsx3(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx3(InfoIcon, { className: "h-4 w-4" }) }),
62
- /* @__PURE__ */ jsx3(TooltipContent, { className: "max-w-48", children: description })
109
+ !!description && /* @__PURE__ */ jsx4(TooltipProvider, { children: /* @__PURE__ */ jsxs2(Tooltip, { children: [
110
+ /* @__PURE__ */ jsx4(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx4(InfoIcon, { className: "h-4 w-4" }) }),
111
+ /* @__PURE__ */ jsx4(TooltipContent, { className: "max-w-48", children: description })
63
112
  ] }) })
64
113
  ] });
65
114
  }
66
115
  var Label_default = Label;
67
116
 
68
- // src/components/primitives/input-otp.tsx
69
- import * as React2 from "react";
70
- import { OTPInput, OTPInputContext } from "input-otp";
71
- import { Dot } from "lucide-react";
72
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
73
- var InputOTP = React2.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx4(
74
- OTPInput,
75
- {
76
- ref,
77
- containerClassName: cn(
78
- "flex items-center gap-2 has-[:disabled]:opacity-50",
79
- containerClassName
80
- ),
81
- className: cn("disabled:cursor-not-allowed", className),
82
- ...props
83
- }
84
- ));
85
- InputOTP.displayName = "InputOTP";
86
- var InputOTPGroup = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4("div", { ref, className: cn("flex items-center", className), ...props }));
87
- InputOTPGroup.displayName = "InputOTPGroup";
88
- var InputOTPSlot = React2.forwardRef(({ index, error, className, ...props }, ref) => {
89
- const inputOTPContext = React2.useContext(OTPInputContext);
90
- const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
91
- return /* @__PURE__ */ jsxs2(
92
- "div",
93
- {
94
- ref,
95
- className: cn(
96
- "relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800",
97
- isActive && "z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100",
98
- error && "border-red-500 dark:border-red-400",
99
- className
100
- ),
101
- ...props,
102
- children: [
103
- char,
104
- hasFakeCaret && /* @__PURE__ */ jsx4("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx4("div", { className: "animate-caret-blink h-4 w-px bg-neutral-950 duration-1000 dark:bg-neutral-50" }) })
105
- ]
106
- }
107
- );
108
- });
109
- InputOTPSlot.displayName = "InputOTPSlot";
110
- var InputOTPSeparator = React2.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx4("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx4(Dot, {}) }));
111
- InputOTPSeparator.displayName = "InputOTPSeparator";
112
-
113
117
  // src/components/ui/InputOtp.tsx
114
118
  import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
115
119
  var InputOtp = forwardRef3(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/InputOtp.tsx","../../../src/lib/utils.ts","../../../src/components/ui/ErrorMessage.tsx","../../../src/components/primitives/tooltip.tsx","../../../src/components/ui/Label.tsx","../../../src/components/primitives/input-otp.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\n\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '@/components/primitives/input-otp'\n\ninterface Props extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n digits: 4 | 6 | 8\n value?: string\n label?: string\n description?: string\n error?: string\n onChange?: (v: string) => void\n}\n\nexport const InputOtp = forwardRef<HTMLInputElement, Props>(\n ({ digits, label, description, error, ...props }, ref) => {\n return (\n <div\n className=\"group flex w-full flex-col gap-1\"\n data-testid={`input-otp-wrapper-${props.id}`}\n >\n {label && (\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n />\n )}\n <div className=\"relative flex flex-row items-center\">\n <InputOTP\n ref={ref}\n maxLength={digits}\n data-testid={`input-otp-element-${props.id}`}\n {...props}\n >\n {[...Array(digits)].map((_, index) => (\n <InputOTPGroup key={index}>\n <InputOTPSlot index={index} error={Boolean(error)} />\n </InputOTPGroup>\n ))}\n </InputOTP>\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\nInputOtp.displayName = 'Input'\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'p'> {\n message?: string\n}\n\nfunction ErrorMessage({ message, className, ...props }: Readonly<Props>) {\n if (!message) return null\n\n return (\n <p className={cn('px-1 text-xs text-red-600', className)} {...props}>\n {message}\n </p>\n )\n}\n\nexport default ErrorMessage\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { InfoIcon } from 'lucide-react'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","'use client'\n\nimport * as React from 'react'\nimport { OTPInput, OTPInputContext } from 'input-otp'\nimport { Dot } from 'lucide-react'\n\nimport { cn } from '@/lib/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; error?: boolean }\n>(({ index, error, 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 'relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800',\n isActive &&\n 'z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100',\n error && 'border-red-500 dark:border-red-400',\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 h-4 w-px bg-neutral-950 duration-1000 dark:bg-neutral-50\" />\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":"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","names":["forwardRef","jsx","jsx","React","jsx","jsxs","jsx","jsxs","forwardRef"]}
1
+ {"version":3,"sources":["../../../src/components/ui/InputOtp.tsx","../../../src/components/primitives/input-otp.tsx","../../../src/lib/utils.ts","../../../src/components/ui/ErrorMessage.tsx","../../../src/components/ui/Label.tsx","../../../src/components/primitives/tooltip.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\n\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from '@/components/primitives/input-otp'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\n\ninterface Props extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n digits: 4 | 6 | 8\n value?: string\n label?: string\n description?: string\n error?: string\n onChange?: (v: string) => void\n}\n\nexport const InputOtp = forwardRef<HTMLInputElement, Props>(\n ({ digits, label, description, error, ...props }, ref) => {\n return (\n <div\n className=\"group flex w-full flex-col gap-1\"\n data-testid={`input-otp-wrapper-${props.id}`}\n >\n {label && (\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n />\n )}\n <div className=\"relative flex flex-row items-center\">\n <InputOTP\n ref={ref}\n maxLength={digits}\n data-testid={`input-otp-element-${props.id}`}\n {...props}\n >\n {[...Array(digits)].map((_, index) => (\n <InputOTPGroup key={index}>\n <InputOTPSlot index={index} error={Boolean(error)} />\n </InputOTPGroup>\n ))}\n </InputOTP>\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\nInputOtp.displayName = 'Input'\n","'use client'\n\nimport { OTPInput, OTPInputContext } from 'input-otp'\nimport { Dot } from 'lucide-react'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/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; error?: boolean }\n>(({ index, error, 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 'relative flex h-10 w-10 items-center justify-center border-y border-r border-neutral-200 text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md dark:border-neutral-800',\n isActive &&\n 'z-10 ring-2 ring-purple-100 ring-offset-white dark:ring-purple-20 dark:ring-offset-purple-100',\n error && 'border-red-500 dark:border-red-400',\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=\"h-4 w-px animate-caret-blink bg-neutral-950 duration-1000 dark:bg-neutral-50\" />\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, InputOTPSeparator, InputOTPSlot }\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'p'> {\n message?: string\n}\n\nfunction ErrorMessage({ message, className, ...props }: Readonly<Props>) {\n if (!message) return null\n\n return (\n <p className={cn('px-1 text-xs text-red-600', className)} {...props}>\n {message}\n </p>\n )\n}\n\nexport default ErrorMessage\n","import { InfoIcon } from 'lucide-react'\nimport { type ComponentPropsWithoutRef } from 'react'\n\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"],"mappings":";AAAA,SAAS,cAAAA,mBAA4C;;;ACErD,SAAS,UAAU,uBAAuB;AAC1C,SAAS,WAAW;AACpB,YAAY,WAAW;;;ACJvB,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADOE,cA4BE,YA5BF;AAJF,IAAM,WAAiB,iBAGrB,CAAC,EAAE,WAAW,oBAAoB,GAAG,MAAM,GAAG,QAC9C;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,GAAG,+BAA+B,SAAS;AAAA,IACrD,GAAG;AAAA;AACN,CACD;AACD,SAAS,cAAc;AAEvB,IAAM,gBAAsB,iBAG1B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,KAAU,WAAW,GAAG,qBAAqB,SAAS,GAAI,GAAG,OAAO,CAC1E;AACD,cAAc,cAAc;AAE5B,IAAM,eAAqB,iBAGzB,CAAC,EAAE,OAAO,OAAO,WAAW,GAAG,MAAM,GAAG,QAAQ;AAChD,QAAM,kBAAwB,iBAAW,eAAe;AACxD,QAAM,EAAE,MAAM,cAAc,SAAS,IAAI,gBAAgB,MAAM,KAAK;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,YACE;AAAA,QACF,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,gBACC,oBAAC,SAAI,WAAU,yEACb,8BAAC,SAAI,WAAU,gFAA+E,GAChG;AAAA;AAAA;AAAA,EAEJ;AAEJ,CAAC;AACD,aAAa,cAAc;AAE3B,IAAM,oBAA0B,iBAG9B,CAAC,EAAE,GAAG,MAAM,GAAG,QACf,oBAAC,SAAI,KAAU,MAAK,aAAa,GAAG,OAClC,8BAAC,OAAI,GACP,CACD;AACD,kBAAkB,cAAc;;;AE1D5B,gBAAAC,YAAA;AAJJ,SAAS,aAAa,EAAE,SAAS,WAAW,GAAG,MAAM,GAAoB;AACvE,MAAI,CAAC,QAAS,QAAO;AAErB,SACE,gBAAAA,KAAC,OAAE,WAAW,GAAG,6BAA6B,SAAS,GAAI,GAAG,OAC3D,mBACH;AAEJ;AAEA,IAAO,uBAAQ;;;AClBf,SAAS,gBAAgB;;;ACEzB,YAAY,sBAAsB;AAClC,YAAYC,YAAW;AAcrB,gBAAAC,YAAA;AAVF,IAAM,kBAAmC;AAEzC,IAAM,UAA2B;AAEjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,kBAG3B,CAAC,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,QAC1C,gBAAAA;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA+B,yBAAQ;;;ADLhD,SAQe,OAAAC,MARf,QAAAC,aAAA;AALN,SAAS,MAAM,EAAE,MAAM,UAAU,aAAa,WAAW,GAAG,MAAM,GAAoB;AACpF,MAAI,CAAC,KAAM,QAAO;AAElB,SACE,gBAAAA,MAAC,SAAI,WAAU,8BACb;AAAA,oBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,YAAY,gBAAAD,KAAC,UAAK,WAAU,gBAAe,mBAAO;AAAA;AAAA;AAAA,IACrD;AAAA,IAEC,CAAC,CAAC,eACD,gBAAAA,KAAC,mBACC,0BAAAC,MAAC,WACC;AAAA,sBAAAD,KAAC,kBAAe,SAAO,MACrB,0BAAAA,KAAC,YAAS,WAAU,WAAU,GAChC;AAAA,MACA,gBAAAA,KAAC,kBAAe,WAAU,YAAY,uBAAY;AAAA,OACpD,GACF;AAAA,KAEJ;AAEJ;AAEA,IAAO,gBAAQ;;;AJ7BT,SAKI,OAAAE,MALJ,QAAAC,aAAA;AAHC,IAAM,WAAWC;AAAA,EACtB,CAAC,EAAE,QAAQ,OAAO,aAAa,OAAO,GAAG,MAAM,GAAG,QAAQ;AACxD,WACE,gBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAa,qBAAqB,MAAM,EAAE;AAAA,QAEzC;AAAA,mBACC,gBAAAD;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,SAAS,MAAM;AAAA,cACf,UAAU,MAAM;AAAA,cAChB;AAAA;AAAA,UACF;AAAA,UAEF,gBAAAA,KAAC,SAAI,WAAU,uCACb,0BAAAA;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,WAAW;AAAA,cACX,eAAa,qBAAqB,MAAM,EAAE;AAAA,cACzC,GAAG;AAAA,cAEH,WAAC,GAAG,MAAM,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,UAC1B,gBAAAA,KAAC,iBACC,0BAAAA,KAAC,gBAAa,OAAc,OAAO,QAAQ,KAAK,GAAG,KADjC,KAEpB,CACD;AAAA;AAAA,UACH,GACF;AAAA,UAEA,gBAAAA,KAAC,wBAAa,SAAS,OAAO;AAAA;AAAA;AAAA,IAChC;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;","names":["forwardRef","jsx","React","jsx","jsx","jsxs","jsx","jsxs","forwardRef"]}
@@ -33,6 +33,11 @@ __export(Label_exports, {
33
33
  default: () => Label_default
34
34
  });
35
35
  module.exports = __toCommonJS(Label_exports);
36
+ var import_lucide_react = require("lucide-react");
37
+
38
+ // src/components/primitives/tooltip.tsx
39
+ var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
40
+ var React = __toESM(require("react"), 1);
36
41
 
37
42
  // src/lib/utils.ts
38
43
  var import_clsx = require("clsx");
@@ -42,8 +47,6 @@ function cn(...inputs) {
42
47
  }
43
48
 
44
49
  // src/components/primitives/tooltip.tsx
45
- var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
46
- var React = __toESM(require("react"), 1);
47
50
  var import_jsx_runtime = require("react/jsx-runtime");
48
51
  var TooltipProvider = TooltipPrimitive.Provider;
49
52
  var Tooltip = TooltipPrimitive.Root;
@@ -63,7 +66,6 @@ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props },
63
66
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
64
67
 
65
68
  // src/components/ui/Label.tsx
66
- var import_lucide_react = require("lucide-react");
67
69
  var import_jsx_runtime2 = require("react/jsx-runtime");
68
70
  function Label({ text, required, description, className, ...props }) {
69
71
  if (!text) return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/Label.tsx","../../../src/lib/utils.ts","../../../src/components/primitives/tooltip.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { InfoIcon } from 'lucide-react'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ACHA,uBAAkC;AAClC,YAAuB;AAcrB;AAVF,IAAM,kBAAmC;AAEzC,IAAM,UAA2B;AAEjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,iBAG3B,CAAC,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,QAC1C;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA+B,yBAAQ;;;AFlBtD,0BAAyB;AAanB,IAAAA,sBAAA;AALN,SAAS,MAAM,EAAE,MAAM,UAAU,aAAa,WAAW,GAAG,MAAM,GAAoB;AACpF,MAAI,CAAC,KAAM,QAAO;AAElB,SACE,8CAAC,SAAI,WAAU,8BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,YAAY,6CAAC,UAAK,WAAU,gBAAe,mBAAO;AAAA;AAAA;AAAA,IACrD;AAAA,IAEC,CAAC,CAAC,eACD,6CAAC,mBACC,wDAAC,WACC;AAAA,mDAAC,kBAAe,SAAO,MACrB,uDAAC,gCAAS,WAAU,WAAU,GAChC;AAAA,MACA,6CAAC,kBAAe,WAAU,YAAY,uBAAY;AAAA,OACpD,GACF;AAAA,KAEJ;AAEJ;AAEA,IAAO,gBAAQ;","names":["import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../src/components/ui/Label.tsx","../../../src/components/primitives/tooltip.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import { InfoIcon } from 'lucide-react'\nimport { type ComponentPropsWithoutRef } from 'react'\n\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAyB;;;ACEzB,uBAAkC;AAClC,YAAuB;;;ACHvB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADYE;AAVF,IAAM,kBAAmC;AAEzC,IAAM,UAA2B;AAEjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,iBAG3B,CAAC,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,QAC1C;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA+B,yBAAQ;;;ADLhD,IAAAA,sBAAA;AALN,SAAS,MAAM,EAAE,MAAM,UAAU,aAAa,WAAW,GAAG,MAAM,GAAoB;AACpF,MAAI,CAAC,KAAM,QAAO;AAElB,SACE,8CAAC,SAAI,WAAU,8BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,YAAY,6CAAC,UAAK,WAAU,gBAAe,mBAAO;AAAA;AAAA;AAAA,IACrD;AAAA,IAEC,CAAC,CAAC,eACD,6CAAC,mBACC,wDAAC,WACC;AAAA,mDAAC,kBAAe,SAAO,MACrB,uDAAC,gCAAS,WAAU,WAAU,GAChC;AAAA,MACA,6CAAC,kBAAe,WAAU,YAAY,uBAAY;AAAA,OACpD,GACF;AAAA,KAEJ;AAEJ;AAEA,IAAO,gBAAQ;","names":["import_jsx_runtime"]}
@@ -1,3 +1,10 @@
1
+ // src/components/ui/Label.tsx
2
+ import { InfoIcon } from "lucide-react";
3
+
4
+ // src/components/primitives/tooltip.tsx
5
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
6
+ import * as React from "react";
7
+
1
8
  // src/lib/utils.ts
2
9
  import { clsx } from "clsx";
3
10
  import { twMerge } from "tailwind-merge";
@@ -6,8 +13,6 @@ function cn(...inputs) {
6
13
  }
7
14
 
8
15
  // src/components/primitives/tooltip.tsx
9
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
10
- import * as React from "react";
11
16
  import { jsx } from "react/jsx-runtime";
12
17
  var TooltipProvider = TooltipPrimitive.Provider;
13
18
  var Tooltip = TooltipPrimitive.Root;
@@ -27,7 +32,6 @@ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props },
27
32
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
28
33
 
29
34
  // src/components/ui/Label.tsx
30
- import { InfoIcon } from "lucide-react";
31
35
  import { jsx as jsx2, jsxs } from "react/jsx-runtime";
32
36
  function Label({ text, required, description, className, ...props }) {
33
37
  if (!text) return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/utils.ts","../../../src/components/primitives/tooltip.tsx","../../../src/components/ui/Label.tsx"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { InfoIcon } from 'lucide-react'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n"],"mappings":";AAAA,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACHA,YAAY,sBAAsB;AAClC,YAAY,WAAW;AAcrB;AAVF,IAAM,kBAAmC;AAEzC,IAAM,UAA2B;AAEjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,iBAG3B,CAAC,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,QAC1C;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA+B,yBAAQ;;;AClBtD,SAAS,gBAAgB;AAanB,SAQe,OAAAA,MARf;AALN,SAAS,MAAM,EAAE,MAAM,UAAU,aAAa,WAAW,GAAG,MAAM,GAAoB;AACpF,MAAI,CAAC,KAAM,QAAO;AAElB,SACE,qBAAC,SAAI,WAAU,8BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,YAAY,gBAAAA,KAAC,UAAK,WAAU,gBAAe,mBAAO;AAAA;AAAA;AAAA,IACrD;AAAA,IAEC,CAAC,CAAC,eACD,gBAAAA,KAAC,mBACC,+BAAC,WACC;AAAA,sBAAAA,KAAC,kBAAe,SAAO,MACrB,0BAAAA,KAAC,YAAS,WAAU,WAAU,GAChC;AAAA,MACA,gBAAAA,KAAC,kBAAe,WAAU,YAAY,uBAAY;AAAA,OACpD,GACF;AAAA,KAEJ;AAEJ;AAEA,IAAO,gBAAQ;","names":["jsx"]}
1
+ {"version":3,"sources":["../../../src/components/ui/Label.tsx","../../../src/components/primitives/tooltip.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import { InfoIcon } from 'lucide-react'\nimport { type ComponentPropsWithoutRef } from 'react'\n\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";AAAA,SAAS,gBAAgB;;;ACEzB,YAAY,sBAAsB;AAClC,YAAY,WAAW;;;ACHvB,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADYE;AAVF,IAAM,kBAAmC;AAEzC,IAAM,UAA2B;AAEjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,iBAG3B,CAAC,EAAE,WAAW,aAAa,GAAG,GAAG,MAAM,GAAG,QAC1C;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA+B,yBAAQ;;;ADLhD,SAQe,OAAAA,MARf;AALN,SAAS,MAAM,EAAE,MAAM,UAAU,aAAa,WAAW,GAAG,MAAM,GAAoB;AACpF,MAAI,CAAC,KAAM,QAAO;AAElB,SACE,qBAAC,SAAI,WAAU,8BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,UACA,YAAY,gBAAAA,KAAC,UAAK,WAAU,gBAAe,mBAAO;AAAA;AAAA;AAAA,IACrD;AAAA,IAEC,CAAC,CAAC,eACD,gBAAAA,KAAC,mBACC,+BAAC,WACC;AAAA,sBAAAA,KAAC,kBAAe,SAAO,MACrB,0BAAAA,KAAC,YAAS,WAAU,WAAU,GAChC;AAAA,MACA,gBAAAA,KAAC,kBAAe,WAAU,YAAY,uBAAY;AAAA,OACpD,GACF;AAAA,KAEJ;AAEJ;AAEA,IAAO,gBAAQ;","names":["jsx"]}
@@ -33,6 +33,13 @@ __export(ListItem_exports, {
33
33
  default: () => ListItem_default
34
34
  });
35
35
  module.exports = __toCommonJS(ListItem_exports);
36
+ var import_lucide_react2 = require("lucide-react");
37
+ var import_lucide_react3 = require("lucide-react");
38
+
39
+ // src/components/ui/Checkbox.tsx
40
+ var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
41
+ var import_lucide_react = require("lucide-react");
42
+ var import_react = require("react");
36
43
 
37
44
  // src/lib/utils.ts
38
45
  var import_clsx = require("clsx");
@@ -41,13 +48,7 @@ function cn(...inputs) {
41
48
  return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
42
49
  }
43
50
 
44
- // src/components/ui/ListItem.tsx
45
- var import_lucide_react2 = require("lucide-react");
46
-
47
51
  // src/components/ui/Checkbox.tsx
48
- var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
49
- var import_lucide_react = require("lucide-react");
50
- var import_react = require("react");
51
52
  var import_jsx_runtime = require("react/jsx-runtime");
52
53
  var CheckboxToggle = (0, import_react.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
54
  CheckboxPrimitive.Root,
@@ -101,7 +102,6 @@ Checkbox.displayName = "Checkbox";
101
102
  var Checkbox_default = Checkbox;
102
103
 
103
104
  // src/components/ui/ListItem.tsx
104
- var import_lucide_react3 = require("lucide-react");
105
105
  var import_jsx_runtime2 = require("react/jsx-runtime");
106
106
  function ListItem({
107
107
  icon,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/ListItem.tsx","../../../src/lib/utils.ts","../../../src/components/ui/Checkbox.tsx"],"sourcesContent":["import { cn } from '@/lib/utils'\nimport { CheckIcon } from 'lucide-react'\nimport { ComponentPropsWithoutRef, ReactNode } from 'react'\nimport Checkbox from '@/components/ui/Checkbox'\nimport { icons } from 'lucide-react'\n\ntype IconKey = keyof typeof icons\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n icon?: string\n hasCheckbox?: boolean\n isSelected?: boolean\n title: string\n value: string\n description?: string\n}\n\nfunction ListItem({\n icon,\n hasCheckbox,\n isSelected,\n className,\n title,\n value,\n description,\n ...props\n}: ListItemProps) {\n const getIconIfValid = (icon: string): ReactNode => {\n if (icon in icons) {\n const IconComponent = icons[icon as IconKey]\n return <IconComponent size={14} />\n }\n return null\n }\n\n const optionIcon = icon ? getIconIfValid(icon) : undefined\n\n return (\n <li\n className={cn(\n 'group relative flex w-72 cursor-pointer flex-row items-center text-left text-sm',\n className\n )}\n {...props}\n data-state={isSelected ? 'checked' : 'unchecked'}\n >\n {optionIcon && <span className=\"mr-2\">{optionIcon}</span>}\n {hasCheckbox && (\n <Checkbox id={value} checked={isSelected} onClick={(e) => e.preventDefault()} />\n )}\n <div>\n <p>{title}</p>\n <p className=\"text-xs text-grey-80\">{description}</p>\n </div>\n\n <CheckIcon\n className=\"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block\"\n size={16}\n />\n </li>\n )\n}\n\nexport default ListItem\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client'\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { Check, Minus } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n type ElementRef,\n forwardRef,\n type PropsWithChildren,\n} from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst CheckboxToggle = forwardRef<\n ElementRef<typeof CheckboxPrimitive.Root>,\n ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'group',\n 'peer',\n 'h-5',\n 'w-5',\n 'shrink-0',\n 'rounded-md',\n 'border',\n 'border-grey-10',\n 'outline',\n 'outline-1',\n 'outline-offset-2',\n 'outline-transparent',\n 'hover:border-grey-20',\n 'focus:outline-purple-100',\n 'active:border-green-80',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=checked]:bg-green-80',\n 'data-[state=indeterminate]:bg-green-80',\n 'data-[state=checked]:text-white',\n 'data-[state=indeterminate]:text-primary-foreground',\n props.disabled &&\n 'data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className=\"flex items-center justify-center text-current\">\n <Check className=\"hidden h-4 w-4 group-data-[state=checked]:block\" />\n <Minus className=\"hidden h-4 w-4 group-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckboxToggle.displayName = CheckboxPrimitive.Root.displayName\n\ninterface Props extends CheckboxPrimitive.CheckboxProps, PropsWithChildren {\n error?: string\n classNames?: {\n wrapper?: string\n label?: string\n }\n}\n\nconst Checkbox = forwardRef<ElementRef<typeof CheckboxPrimitive.Root>, Props>(\n ({ classNames, children, ...props }, ref) => {\n const { disabled } = props\n const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`\n const labelClassName = disabled ? 'text-grey-40 pointer-events-none' : ''\n return (\n <div className={cn('flex space-x-2', classNames?.wrapper)}>\n <CheckboxToggle id={id} disabled={disabled} ref={ref} {...props} />\n <label htmlFor={id} className={cn(labelClassName, classNames?.label)}>\n {children}\n </label>\n </div>\n )\n }\n)\nCheckbox.displayName = 'Checkbox'\n\nexport default Checkbox\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADJA,IAAAA,uBAA0B;;;AEC1B,wBAAmC;AACnC,0BAA6B;AAC7B,mBAKO;AAsCH;AAlCJ,IAAM,qBAAiB,yBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAmB;AAAA,EAAlB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,YACJ;AAAA,MACF;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ,uDAAmB,6BAAlB,EAA4B,WAAU,iDACrC;AAAA,kDAAC,6BAAM,WAAU,mDAAkD;AAAA,MACnE,4CAAC,6BAAM,WAAU,yDAAwD;AAAA,OAC3E;AAAA;AACF,CACD;AACD,eAAe,cAAgC,uBAAK;AAUpD,IAAM,eAAW;AAAA,EACf,CAAC,EAAE,YAAY,UAAU,GAAG,MAAM,GAAG,QAAQ;AAC3C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,KAAK,MAAM,MAAM,GAAG,MAAM,QAAQ,MAAM,OAAO,SAAS,CAAC;AAC/D,UAAM,iBAAiB,WAAW,qCAAqC;AACvE,WACE,6CAAC,SAAI,WAAW,GAAG,kBAAkB,YAAY,OAAO,GACtD;AAAA,kDAAC,kBAAe,IAAQ,UAAoB,KAAW,GAAG,OAAO;AAAA,MACjE,4CAAC,WAAM,SAAS,IAAI,WAAW,GAAG,gBAAgB,YAAY,KAAK,GAChE,UACH;AAAA,OACF;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAEvB,IAAO,mBAAQ;;;AF5Ef,IAAAC,uBAAsB;AA0BT,IAAAC,sBAAA;AAbb,SAAS,SAAS;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,iBAAiB,CAACC,UAA4B;AAClD,QAAIA,SAAQ,4BAAO;AACjB,YAAM,gBAAgB,2BAAMA,KAAe;AAC3C,aAAO,6CAAC,iBAAc,MAAM,IAAI;AAAA,IAClC;AACA,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,OAAO,eAAe,IAAI,IAAI;AAEjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MACJ,cAAY,aAAa,YAAY;AAAA,MAEpC;AAAA,sBAAc,6CAAC,UAAK,WAAU,QAAQ,sBAAW;AAAA,QACjD,eACC,6CAAC,oBAAS,IAAI,OAAO,SAAS,YAAY,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG;AAAA,QAEhF,8CAAC,SACC;AAAA,uDAAC,OAAG,iBAAM;AAAA,UACV,6CAAC,OAAE,WAAU,wBAAwB,uBAAY;AAAA,WACnD;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAM;AAAA;AAAA,QACR;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;","names":["import_lucide_react","import_lucide_react","import_jsx_runtime","icon"]}
1
+ {"version":3,"sources":["../../../src/components/ui/ListItem.tsx","../../../src/components/ui/Checkbox.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import { CheckIcon } from 'lucide-react'\nimport { icons } from 'lucide-react'\nimport { type ComponentPropsWithoutRef, type ReactNode } from 'react'\n\nimport Checkbox from '@/components/ui/Checkbox'\nimport { cn } from '@/lib/utils'\n\ntype IconKey = keyof typeof icons\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n icon?: string\n hasCheckbox?: boolean\n isSelected?: boolean\n title: string\n value: string\n description?: string\n}\n\nfunction ListItem({\n icon,\n hasCheckbox,\n isSelected,\n className,\n title,\n value,\n description,\n ...props\n}: ListItemProps) {\n const getIconIfValid = (icon: string): ReactNode => {\n if (icon in icons) {\n const IconComponent = icons[icon as IconKey]\n return <IconComponent size={14} />\n }\n return null\n }\n\n const optionIcon = icon ? getIconIfValid(icon) : undefined\n\n return (\n <li\n className={cn(\n 'group relative flex w-72 cursor-pointer flex-row items-center text-left text-sm',\n className\n )}\n {...props}\n data-state={isSelected ? 'checked' : 'unchecked'}\n >\n {optionIcon && <span className=\"mr-2\">{optionIcon}</span>}\n {hasCheckbox && (\n <Checkbox id={value} checked={isSelected} onClick={(e) => e.preventDefault()} />\n )}\n <div>\n <p>{title}</p>\n <p className=\"text-xs text-grey-80\">{description}</p>\n </div>\n\n <CheckIcon\n className=\"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block\"\n size={16}\n />\n </li>\n )\n}\n\nexport default ListItem\n","'use client'\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { Check, Minus } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n type ElementRef,\n forwardRef,\n type PropsWithChildren,\n} from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst CheckboxToggle = forwardRef<\n ElementRef<typeof CheckboxPrimitive.Root>,\n ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'group',\n 'peer',\n 'h-5',\n 'w-5',\n 'shrink-0',\n 'rounded-md',\n 'border',\n 'border-grey-10',\n 'outline',\n 'outline-1',\n 'outline-offset-2',\n 'outline-transparent',\n 'hover:border-grey-20',\n 'focus:outline-purple-100',\n 'active:border-green-80',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=checked]:bg-green-80',\n 'data-[state=indeterminate]:bg-green-80',\n 'data-[state=checked]:text-white',\n 'data-[state=indeterminate]:text-primary-foreground',\n props.disabled &&\n 'data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className=\"flex items-center justify-center text-current\">\n <Check className=\"hidden h-4 w-4 group-data-[state=checked]:block\" />\n <Minus className=\"hidden h-4 w-4 group-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckboxToggle.displayName = CheckboxPrimitive.Root.displayName\n\ninterface Props extends CheckboxPrimitive.CheckboxProps, PropsWithChildren {\n error?: string\n classNames?: {\n wrapper?: string\n label?: string\n }\n}\n\nconst Checkbox = forwardRef<ElementRef<typeof CheckboxPrimitive.Root>, Props>(\n ({ classNames, children, ...props }, ref) => {\n const { disabled } = props\n const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`\n const labelClassName = disabled ? 'text-grey-40 pointer-events-none' : ''\n return (\n <div className={cn('flex space-x-2', classNames?.wrapper)}>\n <CheckboxToggle id={id} disabled={disabled} ref={ref} {...props} />\n <label htmlFor={id} className={cn(labelClassName, classNames?.label)}>\n {children}\n </label>\n </div>\n )\n }\n)\nCheckbox.displayName = 'Checkbox'\n\nexport default Checkbox\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,uBAA0B;AAC1B,IAAAA,uBAAsB;;;ACCtB,wBAAmC;AACnC,0BAA6B;AAC7B,mBAKO;;;ACTP,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AD0CI;AAlCJ,IAAM,qBAAiB,yBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAmB;AAAA,EAAlB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,YACJ;AAAA,MACF;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ,uDAAmB,6BAAlB,EAA4B,WAAU,iDACrC;AAAA,kDAAC,6BAAM,WAAU,mDAAkD;AAAA,MACnE,4CAAC,6BAAM,WAAU,yDAAwD;AAAA,OAC3E;AAAA;AACF,CACD;AACD,eAAe,cAAgC,uBAAK;AAUpD,IAAM,eAAW;AAAA,EACf,CAAC,EAAE,YAAY,UAAU,GAAG,MAAM,GAAG,QAAQ;AAC3C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,KAAK,MAAM,MAAM,GAAG,MAAM,QAAQ,MAAM,OAAO,SAAS,CAAC;AAC/D,UAAM,iBAAiB,WAAW,qCAAqC;AACvE,WACE,6CAAC,SAAI,WAAW,GAAG,kBAAkB,YAAY,OAAO,GACtD;AAAA,kDAAC,kBAAe,IAAQ,UAAoB,KAAW,GAAG,OAAO;AAAA,MACjE,4CAAC,WAAM,SAAS,IAAI,WAAW,GAAG,gBAAgB,YAAY,KAAK,GAChE,UACH;AAAA,OACF;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAEvB,IAAO,mBAAQ;;;ADjDF,IAAAC,sBAAA;AAbb,SAAS,SAAS;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,iBAAiB,CAACC,UAA4B;AAClD,QAAIA,SAAQ,4BAAO;AACjB,YAAM,gBAAgB,2BAAMA,KAAe;AAC3C,aAAO,6CAAC,iBAAc,MAAM,IAAI;AAAA,IAClC;AACA,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,OAAO,eAAe,IAAI,IAAI;AAEjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MACJ,cAAY,aAAa,YAAY;AAAA,MAEpC;AAAA,sBAAc,6CAAC,UAAK,WAAU,QAAQ,sBAAW;AAAA,QACjD,eACC,6CAAC,oBAAS,IAAI,OAAO,SAAS,YAAY,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG;AAAA,QAEhF,8CAAC,SACC;AAAA,uDAAC,OAAG,iBAAM;AAAA,UACV,6CAAC,OAAE,WAAU,wBAAwB,uBAAY;AAAA,WACnD;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAM;AAAA;AAAA,QACR;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,mBAAQ;","names":["import_lucide_react","import_jsx_runtime","icon"]}