@hua-labs/ui 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/README.md +55 -67
  2. package/dist/{ComponentLayout-btJq4TjA.d.mts → ComponentLayout-BhM4VSoq.d.mts} +1 -1
  3. package/dist/Section-BWzyshgX.d.mts +67 -0
  4. package/dist/advanced/dashboard.d.ts.map +1 -1
  5. package/dist/advanced-dashboard.d.mts +1 -1
  6. package/dist/advanced-dashboard.mjs +3 -3
  7. package/dist/advanced-dashboard.mjs.map +1 -1
  8. package/dist/advanced-emotion.mjs +1 -1
  9. package/dist/advanced-motion.d.mts +74 -7
  10. package/dist/advanced-motion.mjs +1 -1
  11. package/dist/advanced.d.mts +4 -4
  12. package/dist/advanced.mjs +3 -3
  13. package/dist/advanced.mjs.map +1 -1
  14. package/dist/{chunk-GLZKT7JN.mjs → chunk-5DPW7SVD.mjs} +3 -3
  15. package/dist/{chunk-GLZKT7JN.mjs.map → chunk-5DPW7SVD.mjs.map} +1 -1
  16. package/dist/{chunk-X7ZIWYRC.mjs → chunk-5L5HIPKA.mjs} +2 -2
  17. package/dist/{chunk-X7ZIWYRC.mjs.map → chunk-5L5HIPKA.mjs.map} +1 -1
  18. package/dist/chunk-A5YOVVM5.mjs +3 -0
  19. package/dist/chunk-A5YOVVM5.mjs.map +1 -0
  20. package/dist/chunk-CNW22G24.mjs +13 -0
  21. package/dist/chunk-CNW22G24.mjs.map +1 -0
  22. package/dist/chunk-CW66UBQG.mjs +3 -0
  23. package/dist/chunk-CW66UBQG.mjs.map +1 -0
  24. package/dist/chunk-EAZEI74V.mjs +3 -0
  25. package/dist/chunk-EAZEI74V.mjs.map +1 -0
  26. package/dist/{chunk-LH77I6HO.mjs → chunk-EPY3432E.mjs} +2 -2
  27. package/dist/{chunk-LH77I6HO.mjs.map → chunk-EPY3432E.mjs.map} +1 -1
  28. package/dist/{chunk-SGEP3CQE.mjs → chunk-F2M4YDDQ.mjs} +2 -2
  29. package/dist/{chunk-SGEP3CQE.mjs.map → chunk-F2M4YDDQ.mjs.map} +1 -1
  30. package/dist/chunk-FHMFDCX2.mjs +3 -0
  31. package/dist/chunk-FHMFDCX2.mjs.map +1 -0
  32. package/dist/chunk-HBIUCLFL.mjs +3 -0
  33. package/dist/chunk-HBIUCLFL.mjs.map +1 -0
  34. package/dist/{chunk-LOYAJIWO.mjs → chunk-HEBXAFRY.mjs} +2 -2
  35. package/dist/{chunk-LOYAJIWO.mjs.map → chunk-HEBXAFRY.mjs.map} +1 -1
  36. package/dist/chunk-IG47LMOD.mjs +3 -0
  37. package/dist/chunk-IG47LMOD.mjs.map +1 -0
  38. package/dist/{chunk-IFSEJVOR.mjs → chunk-J47ZEXEL.mjs} +2 -2
  39. package/dist/{chunk-IFSEJVOR.mjs.map → chunk-J47ZEXEL.mjs.map} +1 -1
  40. package/dist/{chunk-IN7RWQCJ.mjs → chunk-K2FOFIST.mjs} +2 -2
  41. package/dist/{chunk-IN7RWQCJ.mjs.map → chunk-K2FOFIST.mjs.map} +1 -1
  42. package/dist/{chunk-UWHCM3S6.mjs → chunk-LL6QPRD7.mjs} +2 -2
  43. package/dist/{chunk-UWHCM3S6.mjs.map → chunk-LL6QPRD7.mjs.map} +1 -1
  44. package/dist/{chunk-PAEKNQWW.mjs → chunk-NMJLOK6M.mjs} +2 -2
  45. package/dist/{chunk-PAEKNQWW.mjs.map → chunk-NMJLOK6M.mjs.map} +1 -1
  46. package/dist/chunk-O24K56OS.mjs +3 -0
  47. package/dist/chunk-O24K56OS.mjs.map +1 -0
  48. package/dist/chunk-OIWG3IJ7.mjs +3 -0
  49. package/dist/chunk-OIWG3IJ7.mjs.map +1 -0
  50. package/dist/{chunk-VWSBJUNI.mjs → chunk-OLLU7ZFH.mjs} +2 -2
  51. package/dist/{chunk-VWSBJUNI.mjs.map → chunk-OLLU7ZFH.mjs.map} +1 -1
  52. package/dist/chunk-Q76JW7X5.mjs +73 -0
  53. package/dist/chunk-Q76JW7X5.mjs.map +1 -0
  54. package/dist/chunk-QEMPERUK.mjs +3 -0
  55. package/dist/chunk-QEMPERUK.mjs.map +1 -0
  56. package/dist/{chunk-XV3Y7QVU.mjs → chunk-QRM66RQG.mjs} +2 -2
  57. package/dist/{chunk-XV3Y7QVU.mjs.map → chunk-QRM66RQG.mjs.map} +1 -1
  58. package/dist/{chunk-6KTHJ3EL.mjs → chunk-QRRP7TGF.mjs} +3 -3
  59. package/dist/{chunk-6KTHJ3EL.mjs.map → chunk-QRRP7TGF.mjs.map} +1 -1
  60. package/dist/chunk-SD6XGDAC.mjs +3 -0
  61. package/dist/chunk-SD6XGDAC.mjs.map +1 -0
  62. package/dist/chunk-SDFVGFXT.mjs +3 -0
  63. package/dist/chunk-SDFVGFXT.mjs.map +1 -0
  64. package/dist/{chunk-N7M6RIN4.mjs → chunk-SMLDNOV3.mjs} +3 -3
  65. package/dist/{chunk-N7M6RIN4.mjs.map → chunk-SMLDNOV3.mjs.map} +1 -1
  66. package/dist/{chunk-NBJUE7NR.mjs → chunk-TAP6MYDW.mjs} +2 -2
  67. package/dist/{chunk-NBJUE7NR.mjs.map → chunk-TAP6MYDW.mjs.map} +1 -1
  68. package/dist/{chunk-PYBYZVSL.mjs → chunk-TBZ645BI.mjs} +2 -2
  69. package/dist/{chunk-PYBYZVSL.mjs.map → chunk-TBZ645BI.mjs.map} +1 -1
  70. package/dist/{chunk-C4OACMTB.mjs → chunk-V2DNYJR6.mjs} +2 -2
  71. package/dist/{chunk-C4OACMTB.mjs.map → chunk-V2DNYJR6.mjs.map} +1 -1
  72. package/dist/chunk-VBABZXL7.mjs +3 -0
  73. package/dist/chunk-VBABZXL7.mjs.map +1 -0
  74. package/dist/{chunk-OSCMSA2Q.mjs → chunk-WYBSHTGY.mjs} +2 -2
  75. package/dist/{chunk-OSCMSA2Q.mjs.map → chunk-WYBSHTGY.mjs.map} +1 -1
  76. package/dist/chunk-ZQUMJQYV.mjs +3 -0
  77. package/dist/chunk-ZQUMJQYV.mjs.map +1 -0
  78. package/dist/chunk-ZY23NOT4.mjs +3 -0
  79. package/dist/chunk-ZY23NOT4.mjs.map +1 -0
  80. package/dist/components/Action.d.ts.map +1 -1
  81. package/dist/components/Badge.d.ts +1 -1
  82. package/dist/components/Button.d.ts.map +1 -1
  83. package/dist/components/Card.d.ts.map +1 -1
  84. package/dist/components/DatePicker.d.ts.map +1 -1
  85. package/dist/components/Dropdown.d.ts +0 -50
  86. package/dist/components/Dropdown.d.ts.map +1 -1
  87. package/dist/components/Icon/Icon.d.ts.map +1 -1
  88. package/dist/components/Modal.d.ts.map +1 -1
  89. package/dist/components/Popover.d.ts +2 -0
  90. package/dist/components/Popover.d.ts.map +1 -1
  91. package/dist/components/Progress.d.ts +3 -2
  92. package/dist/components/Progress.d.ts.map +1 -1
  93. package/dist/components/Section.d.ts +44 -0
  94. package/dist/components/Section.d.ts.map +1 -0
  95. package/dist/components/advanced/AnimatedGradient.d.ts.map +1 -1
  96. package/dist/components/advanced/Carousel.d.ts.map +1 -1
  97. package/dist/components/advanced/DotNav.d.ts +26 -0
  98. package/dist/components/advanced/DotNav.d.ts.map +1 -0
  99. package/dist/components/advanced/HorizontalScroll.d.ts +20 -0
  100. package/dist/components/advanced/HorizontalScroll.d.ts.map +1 -0
  101. package/dist/components/advanced/ImageReveal.d.ts +24 -0
  102. package/dist/components/advanced/ImageReveal.d.ts.map +1 -0
  103. package/dist/components/advanced/Parallax.d.ts +9 -6
  104. package/dist/components/advanced/Parallax.d.ts.map +1 -1
  105. package/dist/components/advanced/TextReveal.d.ts.map +1 -1
  106. package/dist/components/advanced/index.d.ts +6 -0
  107. package/dist/components/advanced/index.d.ts.map +1 -1
  108. package/dist/data.mjs +1 -1
  109. package/dist/data.mjs.map +1 -1
  110. package/dist/feedback.mjs +1 -1
  111. package/dist/form.mjs +3 -3
  112. package/dist/form.mjs.map +1 -1
  113. package/dist/{icons-Bj_nr8Ba.d.mts → icons-DcOBy9Hf.d.mts} +10 -1
  114. package/dist/iconsax-extended.mjs +2 -2
  115. package/dist/iconsax-extended.mjs.map +1 -1
  116. package/dist/index.d.mts +10 -109
  117. package/dist/index.d.ts +4 -0
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.mjs +14 -14
  120. package/dist/index.mjs.map +1 -1
  121. package/dist/interactive.mjs +1 -1
  122. package/dist/interactive.mjs.map +1 -1
  123. package/dist/landing/LandingAbout.d.ts +3 -0
  124. package/dist/landing/LandingAbout.d.ts.map +1 -0
  125. package/dist/landing/LandingCTA.d.ts +3 -0
  126. package/dist/landing/LandingCTA.d.ts.map +1 -0
  127. package/dist/landing/LandingContact.d.ts +3 -0
  128. package/dist/landing/LandingContact.d.ts.map +1 -0
  129. package/dist/landing/LandingExperience.d.ts +3 -0
  130. package/dist/landing/LandingExperience.d.ts.map +1 -0
  131. package/dist/landing/LandingFeatures.d.ts +3 -0
  132. package/dist/landing/LandingFeatures.d.ts.map +1 -0
  133. package/dist/landing/LandingHero.d.ts +3 -0
  134. package/dist/landing/LandingHero.d.ts.map +1 -0
  135. package/dist/landing/LandingLogoCloud.d.ts +3 -0
  136. package/dist/landing/LandingLogoCloud.d.ts.map +1 -0
  137. package/dist/landing/LandingMetrics.d.ts +3 -0
  138. package/dist/landing/LandingMetrics.d.ts.map +1 -0
  139. package/dist/landing/LandingProjects.d.ts +3 -0
  140. package/dist/landing/LandingProjects.d.ts.map +1 -0
  141. package/dist/landing/LandingProvider.d.ts +4 -0
  142. package/dist/landing/LandingProvider.d.ts.map +1 -0
  143. package/dist/landing/LandingShowcase.d.ts +3 -0
  144. package/dist/landing/LandingShowcase.d.ts.map +1 -0
  145. package/dist/landing/LandingSkills.d.ts +3 -0
  146. package/dist/landing/LandingSkills.d.ts.map +1 -0
  147. package/dist/landing/LandingStats.d.ts +3 -0
  148. package/dist/landing/LandingStats.d.ts.map +1 -0
  149. package/dist/landing/LandingTestimonials.d.ts +3 -0
  150. package/dist/landing/LandingTestimonials.d.ts.map +1 -0
  151. package/dist/landing/index.d.ts +47 -0
  152. package/dist/landing/index.d.ts.map +1 -0
  153. package/dist/landing/themes/app.d.ts +3 -0
  154. package/dist/landing/themes/app.d.ts.map +1 -0
  155. package/dist/landing/themes/corporate.d.ts +3 -0
  156. package/dist/landing/themes/corporate.d.ts.map +1 -0
  157. package/dist/landing/themes/dashboard.d.ts +3 -0
  158. package/dist/landing/themes/dashboard.d.ts.map +1 -0
  159. package/dist/landing/themes/immersive.d.ts +3 -0
  160. package/dist/landing/themes/immersive.d.ts.map +1 -0
  161. package/dist/landing/themes/index.d.ts +15 -0
  162. package/dist/landing/themes/index.d.ts.map +1 -0
  163. package/dist/landing/themes/marketing.d.ts +3 -0
  164. package/dist/landing/themes/marketing.d.ts.map +1 -0
  165. package/dist/landing/themes/portfolio.d.ts +3 -0
  166. package/dist/landing/themes/portfolio.d.ts.map +1 -0
  167. package/dist/landing/themes/product.d.ts +3 -0
  168. package/dist/landing/themes/product.d.ts.map +1 -0
  169. package/dist/landing/types.d.ts +346 -0
  170. package/dist/landing/types.d.ts.map +1 -0
  171. package/dist/landing.d.mts +417 -0
  172. package/dist/landing.mjs +31 -0
  173. package/dist/landing.mjs.map +1 -0
  174. package/dist/lib/icon-providers.d.ts +9 -25
  175. package/dist/lib/icon-providers.d.ts.map +1 -1
  176. package/dist/lib/icons.d.ts +10 -1
  177. package/dist/lib/icons.d.ts.map +1 -1
  178. package/dist/lib/utils.d.ts.map +1 -1
  179. package/dist/navigation.d.mts +1 -1
  180. package/dist/navigation.mjs +1 -1
  181. package/dist/navigation.mjs.map +1 -1
  182. package/dist/overlay.d.mts +2 -50
  183. package/dist/overlay.mjs +1 -1
  184. package/dist/overlay.mjs.map +1 -1
  185. package/dist/sdui.mjs +1 -1
  186. package/dist/sdui.mjs.map +1 -1
  187. package/dist/theme.d.mts +85 -0
  188. package/dist/theme.d.ts +14 -0
  189. package/dist/theme.d.ts.map +1 -0
  190. package/dist/theme.mjs +3 -0
  191. package/dist/theme.mjs.map +1 -0
  192. package/package.json +30 -20
  193. package/src/styles/landing.css +107 -0
  194. package/src/styles/utilities.css +58 -0
  195. package/dist/advanced-dashboard.js +0 -39
  196. package/dist/advanced-dashboard.js.map +0 -1
  197. package/dist/advanced-emotion.js +0 -2
  198. package/dist/advanced-emotion.js.map +0 -1
  199. package/dist/advanced-motion.js +0 -82
  200. package/dist/advanced-motion.js.map +0 -1
  201. package/dist/advanced.js +0 -112
  202. package/dist/advanced.js.map +0 -1
  203. package/dist/chunk-BXX2TZUB.mjs +0 -3
  204. package/dist/chunk-BXX2TZUB.mjs.map +0 -1
  205. package/dist/chunk-COR6CDMA.mjs +0 -83
  206. package/dist/chunk-COR6CDMA.mjs.map +0 -1
  207. package/dist/chunk-FFH4ZFKS.mjs +0 -3
  208. package/dist/chunk-FFH4ZFKS.mjs.map +0 -1
  209. package/dist/chunk-HN5LSP6L.mjs +0 -3
  210. package/dist/chunk-HN5LSP6L.mjs.map +0 -1
  211. package/dist/chunk-LPAG7DCA.mjs +0 -3
  212. package/dist/chunk-LPAG7DCA.mjs.map +0 -1
  213. package/dist/chunk-QQCELXFD.mjs +0 -3
  214. package/dist/chunk-QQCELXFD.mjs.map +0 -1
  215. package/dist/chunk-RPUS7G7Q.mjs +0 -3
  216. package/dist/chunk-RPUS7G7Q.mjs.map +0 -1
  217. package/dist/chunk-SDFHJ4GB.mjs +0 -3
  218. package/dist/chunk-SDFHJ4GB.mjs.map +0 -1
  219. package/dist/chunk-UUHAXGMO.mjs +0 -3
  220. package/dist/chunk-UUHAXGMO.mjs.map +0 -1
  221. package/dist/data.js +0 -3
  222. package/dist/data.js.map +0 -1
  223. package/dist/feedback.js +0 -12
  224. package/dist/feedback.js.map +0 -1
  225. package/dist/form.js +0 -8
  226. package/dist/form.js.map +0 -1
  227. package/dist/iconsax-extended.js +0 -3
  228. package/dist/iconsax-extended.js.map +0 -1
  229. package/dist/iconsax.js +0 -3
  230. package/dist/iconsax.js.map +0 -1
  231. package/dist/index.js +0 -51
  232. package/dist/index.js.map +0 -1
  233. package/dist/interactive.js +0 -2
  234. package/dist/interactive.js.map +0 -1
  235. package/dist/lib/phosphor-icons.d.ts +0 -6
  236. package/dist/lib/phosphor-icons.d.ts.map +0 -1
  237. package/dist/navigation.js +0 -12
  238. package/dist/navigation.js.map +0 -1
  239. package/dist/overlay.js +0 -3
  240. package/dist/overlay.js.map +0 -1
  241. package/dist/sdui.js +0 -9
  242. package/dist/sdui.js.map +0 -1
package/dist/form.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import {a as a$2}from'./chunk-LPAG7DCA.mjs';export{b as Checkbox,a as Textarea}from'./chunk-UWHCM3S6.mjs';export{a as NumberInput}from'./chunk-VWSBJUNI.mjs';import {a as a$1,b}from'./chunk-SGEP3CQE.mjs';export{b as Input,c as Label,d as Switch}from'./chunk-SGEP3CQE.mjs';import {d}from'./chunk-FFH4ZFKS.mjs';import {l}from'./chunk-HN5LSP6L.mjs';import {a,e}from'./chunk-UUHAXGMO.mjs';import V,{useState,useEffect,useCallback,useRef}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {cva}from'class-variance-authority';var Re=V.forwardRef(({className:e,children:n,onSubmit:t,variant:a$1="default",...u},d)=>jsx("form",{ref:d,onSubmit:o=>{o.preventDefault(),t==null||t(o);},className:a({default:"space-y-6",glass:"space-y-6 bg-white/10 backdrop-blur-sm border border-white/20 rounded-xl p-6 shadow-xl dark:bg-slate-800/20 dark:border-slate-700/50"}[a$1],e),...u,children:n}));Re.displayName="Form";var Le=V.forwardRef(({className:e,children:n,error:t,required:a$1,...u},d)=>{let r=V.useId(),i=V.Children.map(n,o=>{if(V.isValidElement(o)){let b=o.props,m=o.type,l=false;if(typeof m=="object"&&m!==null){let g=m,w=g.displayName,h=g.name;l=w==="Input"||w==="Select"||w==="Textarea"||h==="Input"||h==="Select"||h==="Textarea";}let D=typeof m=="string"&&["input","select","textarea"].includes(m.toLowerCase());if(l||D){let g=b["aria-describedby"],w=t?g?`${g} ${r}`:r:g;return V.cloneElement(o,{"aria-describedby":w,"aria-invalid":t?true:b["aria-invalid"],required:a$1||b.required})}}return o});return jsxs("div",{ref:d,className:a("space-y-2",e),...u,children:[i,t&&jsx("p",{id:r,className:"text-sm text-red-600 dark:text-red-400",role:"alert","aria-live":"polite",children:t})]})});Le.displayName="FormField";var Te=V.forwardRef(({className:e,children:n,inline:t=false,...a$1},u)=>jsx("div",{ref:u,className:a(t?"flex gap-4":"space-y-4",e),...a$1,children:n}));Te.displayName="FormGroup";function Qe({label:e,description:n,error:t,required:a$1=false,htmlFor:u,showErrorIcon:d=true,suppressBrowserValidation:r=true,className:i,children:o}){let b=!!t,m=V.Children.map(o,l=>{if(V.isValidElement(l)){let D={"aria-invalid":b||void 0,"aria-describedby":b?`${u}-error`:void 0};return r&&(D.onInvalid=g=>{g.preventDefault();let w=l.props.onInvalid;typeof w=="function"&&w(g);}),V.cloneElement(l,D)}return l});return jsxs("div",{className:a("space-y-2",i),children:[e&&jsxs("label",{htmlFor:u,className:a("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",b&&"text-destructive"),children:[e,a$1&&jsx("span",{className:"text-destructive ml-1","aria-hidden":"true",children:"*"})]}),n&&!b&&jsx("p",{className:"text-sm text-muted-foreground",children:n}),jsx("div",{className:"relative [&_input:invalid]:border-destructive/50 [&_select:invalid]:border-destructive/50 [&_textarea:invalid]:border-destructive/50",children:m}),b&&jsxs("div",{id:u?`${u}-error`:void 0,className:"flex items-start gap-2 text-sm text-destructive",role:"alert","aria-live":"polite",children:[d&&jsx(rt,{className:"w-4 h-4 mt-0.5 flex-shrink-0"}),jsx("span",{children:t})]})]})}var et={email:{pattern:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:"Invalid email format"},phone:{pattern:/^[\d\s\-+()]{10,}$/,message:"Invalid phone number format"},url:{pattern:/^https?:\/\/.+\..+/,message:"Invalid URL format (must start with http:// or https://)"},alphanumeric:{pattern:/^[a-zA-Z0-9]+$/,message:"Only letters and numbers are allowed"},password:{pattern:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/,message:"Must contain at least 8 characters with uppercase, lowercase, and number"}};function tt(e={}){let[n,t]=V.useState(e),a=V.useCallback(r=>{let i={};for(let[o,b]of Object.entries(r)){let{value:m,type:l,required:D,minLength:g,maxLength:w,min:h,max:c,pattern:x,custom:T,messages:N={}}=b,k=String(m);if(D&&(!m||k.trim()==="")){i[o]=N.required||"This field is required";continue}if(!(!m||k.trim()==="")){if(l){let L=et[l];if(L&&!L.pattern.test(k)){i[o]=N.type||L.message;continue}}if(g!==void 0&&k.length<g){i[o]=N.minLength||`Must be at least ${g} characters`;continue}if(w!==void 0&&k.length>w){i[o]=N.maxLength||`Must be at most ${w} characters`;continue}if(h!==void 0&&typeof m=="number"&&m<h){i[o]=N.min||`Must be at least ${h}`;continue}if(c!==void 0&&typeof m=="number"&&m>c){i[o]=N.max||`Must be at most ${c}`;continue}if(x&&!x.test(k)){i[o]=N.pattern||"Invalid format";continue}if(T){let L=T(m);L&&(i[o]=L);}}}return t(i),Object.keys(i).length===0},[]),u=V.useCallback(r=>{t(i=>{let o={...i};return delete o[r],o});},[]),d=V.useCallback(()=>{t({});},[]);return {errors:n,validate:a,clearError:u,clearAllErrors:d,setErrors:t}}function rt({className:e}){return jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}var at=cva("flex w-full appearance-none rounded-md border transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-ring focus:ring-offset-2 hover:border-accent-foreground hover:shadow-sm disabled:cursor-not-allowed disabled:opacity-50",{variants:{variant:{default:"border-input bg-background text-foreground focus:border-ring focus:ring-ring",outline:"border-2 border-input bg-transparent text-foreground focus:border-ring focus:ring-ring",filled:"border-transparent bg-secondary/50 text-foreground focus:bg-background focus:border-ring focus:ring-ring",ghost:"border-transparent bg-transparent text-foreground focus:bg-muted focus:border-border focus:ring-muted-foreground",glass:"border-white/30 bg-white/10 backdrop-blur-sm text-white focus:border-ring/50 focus:ring-ring/20 focus:bg-white/20"},size:{sm:"h-8 pl-2 text-sm",md:"h-10 pl-3 text-sm",lg:"h-12 pl-4 text-base"}},defaultVariants:{variant:"default",size:"md"}}),Se=V.forwardRef(({className:e,variant:n="default",size:t="md",error:a$2=false,success:u=false,leftIcon:d,placeholder:r,children:i,"aria-label":o,"aria-invalid":b,...m},l)=>{let D=V.useRef(null),g=V.useCallback(c=>{D.current=c,typeof l=="function"?l(c):l&&(l.current=c);},[l]),[w,h]=V.useState(false);return jsxs("div",{className:"relative",children:[d&&jsx("div",{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground pointer-events-none z-10",children:d}),jsxs("select",{ref:g,className:a(at({variant:n,size:t}),a$2&&a$1.error,u&&a$1.success,d?"pl-10":"","pr-10",e),"aria-label":o||(r?void 0:"\uC120\uD0DD"),"aria-invalid":b!==void 0?b:a$2||void 0,onFocus:c=>{var x;h(true),(x=m.onFocus)==null||x.call(m,c);},onBlur:c=>{var x;h(false),(x=m.onBlur)==null||x.call(m,c);},...m,children:[r&&jsx("option",{value:"",disabled:true,children:r}),i]}),jsx("div",{className:a("absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none","transition-transform duration-200 ease-out",w&&"rotate-180"),children:jsx("svg",{className:"w-4 h-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",strokeWidth:2,children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})})]})});Se.displayName="Select";var Ce=V.forwardRef(({className:e,...n},t)=>jsx("option",{className:e||"",ref:t,...n}));Ce.displayName="SelectOption";var Pe=V.forwardRef(({className:e,variant:n="default",size:t="md",error:a$1=false,success:u=false,label:d,description:r,id:i,...o},b)=>{var L,E;let m=V.useId(),l=i||m,D=d?`${l}-label`:void 0,g=r?`${l}-description`:void 0,w={sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"},h={sm:"w-1.5 h-1.5",md:"w-2 h-2",lg:"w-2.5 h-2.5"},c={default:"border-input bg-background text-primary focus:ring-ring",outline:"border-2 border-input bg-transparent text-primary focus:ring-ring",filled:"border-transparent bg-muted text-primary focus:bg-background focus:ring-ring",glass:"border-white/30 bg-white/10 backdrop-blur-sm text-white focus:ring-ring/50 focus:bg-white/20"},x=a$1?"border-destructive focus:ring-destructive":u?"border-green-500 focus:ring-green-500":"",T=o.checked!==void 0,N=(E=(L=o.checked)!=null?L:o.defaultChecked)!=null?E:false,k=T&&!o.onChange&&!o.readOnly;return jsxs("div",{className:"flex items-start space-x-3",children:[jsxs("div",{className:"relative",children:[jsx("input",{type:"radio",id:l,className:a("peer sr-only",e),ref:b,"aria-checked":N,"aria-invalid":a$1,"aria-label":d?void 0:o["aria-label"],"aria-labelledby":d?D:void 0,"aria-describedby":g,role:"radio",readOnly:k||o.readOnly,...o}),jsx("div",{className:a("flex items-center justify-center rounded-full border transition-all duration-200 cursor-pointer","peer-focus:outline-none peer-focus:ring-1 peer-focus:ring-offset-2","peer-disabled:cursor-not-allowed peer-disabled:opacity-50",w[t],c[n],x,N&&"border-primary dark:border-primary"),children:jsx("div",{className:a("rounded-full bg-primary dark:bg-primary transition-all duration-200",h[t],N?"opacity-100 scale-100":"opacity-0 scale-0")})})]}),(d||r)&&jsxs("div",{className:"flex flex-col",children:[d&&jsx("label",{htmlFor:l,id:D,className:"text-sm font-medium text-foreground cursor-pointer",children:d}),r&&jsx("p",{id:g,className:"text-sm text-muted-foreground",children:r})]})]})});Pe.displayName="Radio";var Ie=V.forwardRef(({className:e,variant:n="default",size:t="md",showValue:a$1=false,showLabel:u=false,label:d,min:r=0,max:i=100,step:o=1,value:b=0,onValueChange:m,orientation:l="horizontal",disabled:D=false,...g},w)=>{let h=Array.isArray(b),c=h?b:[b],x=y=>{let M=parseFloat(y.target.value);if(m)if(h){let U=parseInt(y.target.dataset.index||"0"),Y=[...c];Y[U]=M,m(Y);}else m(M);},T={default:"bg-muted",primary:"bg-primary/20",success:"bg-[var(--progress-success)]/20",warning:"bg-[var(--progress-warning)]/20",danger:"bg-destructive/20"},N={default:"bg-muted-foreground hover:bg-foreground",primary:"bg-primary hover:bg-primary/90",success:"bg-[var(--progress-success)] hover:bg-[var(--progress-success)]/90",warning:"bg-[var(--progress-warning)] hover:bg-[var(--progress-warning)]/90",danger:"bg-destructive hover:bg-destructive/90"},k={sm:l==="horizontal"?"h-1":"w-1",md:l==="horizontal"?"h-2":"w-2",lg:l==="horizontal"?"h-3":"w-3"},L={sm:"w-3 h-3",md:"w-4 h-4",lg:"w-6 h-6"},E=l==="vertical"?"flex-col h-full":"flex-row w-full",R=(y=0)=>jsx("input",{ref:y===0?w:void 0,type:"range",min:r,max:i,step:o,value:c[y],onChange:x,"data-index":y,disabled:D,className:a("appearance-none cursor-pointer rounded-full transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",k[t],T[n],l==="vertical"?"writing-mode: bt-lr; -webkit-appearance: slider-vertical":"",e),style:{...l==="vertical"&&{writingMode:"vertical-rl",WebkitAppearance:"slider-vertical"}},...g},y),f=()=>a$1?h?jsx("div",{className:"flex gap-2 text-sm text-muted-foreground",children:c.map((y,M)=>jsx("span",{className:"font-mono",children:y},M))}):jsx("span",{className:"text-sm font-mono text-muted-foreground",children:c[0]}):null;return jsxs("div",{className:a("flex items-center gap-4",E),children:[u&&d&&jsx("label",{className:"text-sm font-medium text-foreground min-w-0",children:d}),jsxs("div",{className:"flex-1 relative",children:[jsxs("div",{className:a("relative",l==="vertical"?"h-full":"w-full h-4 flex items-center"),children:[jsx("div",{className:a("absolute rounded-full",k[t],T[n],l==="vertical"?"h-full left-1/2 -translate-x-1/2":"w-full")}),h?jsx("div",{className:a("absolute rounded-full bg-primary",k[t],l==="vertical"?"left-1/2 -translate-x-1/2":""),style:{...l==="vertical"?{bottom:`${(c[0]-r)/(i-r)*100}%`,height:`${(c[1]-c[0])/(i-r)*100}%`}:{left:`${(c[0]-r)/(i-r)*100}%`,width:`${(c[1]-c[0])/(i-r)*100}%`}}}):jsx("div",{className:a("absolute rounded-full bg-primary",k[t],l==="vertical"?"left-1/2 -translate-x-1/2 bottom-0":"left-0"),style:{...l==="vertical"?{height:`${(c[0]-r)/(i-r)*100}%`}:{width:`${(c[0]-r)/(i-r)*100}%`}}}),h?c.map((y,M)=>jsx("div",{className:a("absolute rounded-full border-2 border-white shadow-lg transition-all duration-200 hover:scale-110",L[t],N[n],l==="vertical"?"left-1/2 transform -translate-x-1/2":"top-1/2 transform -translate-y-1/2"),style:{...l==="vertical"?{bottom:`${(c[M]-r)/(i-r)*100}%`}:{left:`${(c[M]-r)/(i-r)*100}%`}}},M)):jsx("div",{className:a("absolute rounded-full border-2 border-white shadow-lg transition-all duration-200 hover:scale-110",L[t],N[n],l==="vertical"?"left-1/2 transform -translate-x-1/2":"top-1/2 transform -translate-y-1/2"),style:{...l==="vertical"?{bottom:`${(c[0]-r)/(i-r)*100}%`}:{left:`${(c[0]-r)/(i-r)*100}%`}}})]}),jsx("div",{className:"absolute inset-0 opacity-0",children:h?c.map((y,M)=>R(M)):R()})]}),f()]})});Ie.displayName="Slider";var st={sm:"h-8 text-sm px-3",md:"h-10 text-sm px-4",lg:"h-12 text-base px-5"},it=(e,n="YYYY-MM-DD",t="ko-KR")=>{if(!e)return "";let a=e.getFullYear(),u=String(e.getMonth()+1).padStart(2,"0"),d=String(e.getDate()).padStart(2,"0");return n.replace("YYYY",String(a)).replace("MM",u).replace("DD",d)},lt=(e,n)=>new Date(e,n+1,0).getDate(),dt=(e,n)=>new Date(e,n,1).getDay(),He=V.forwardRef(({value:e,onChange:n,minDate:t,maxDate:a$1,placeholder:u="\uB0A0\uC9DC\uB97C \uC120\uD0DD\uD558\uC138\uC694",disabled:d$1=false,error:r=false,dateFormat:i="YYYY-MM-DD",locale:o="ko-KR",size:b="md",className:m,markedDates:l$1,...D},g)=>{let[w,h]=V.useState(false),[c,x]=V.useState(e?new Date(e.getFullYear(),e.getMonth()):new Date),[T,N]=V.useState(null),k=e?it(e,i,o):"",L=s=>{t&&s<t||a$1&&s>a$1||(n==null||n(s),h(false));},E=()=>{x(new Date(c.getFullYear(),c.getMonth()-1));},R=()=>{x(new Date(c.getFullYear(),c.getMonth()+1));},f=()=>{let s=new Date;s.setHours(0,0,0,0),L(s);},y=c.getFullYear(),M=c.getMonth(),U=lt(y,M),Y=dt(y,M),ne={"ko-KR":["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],ko:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],"ja-JP":["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"],ja:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"],"en-US":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},de=ne[o]||ne.en,ce=(s,S,K)=>K==="ko-KR"||K==="ko"?`${s}\uB144 ${S+1}\uC6D4`:K==="ja-JP"||K==="ja"?`${s}\u5E74 ${S+1}\u6708`:`${["January","February","March","April","May","June","July","August","September","October","November","December"][S]} ${s}`,me={"ko-KR":"\uC624\uB298",ko:"\uC624\uB298","ja-JP":"\u4ECA\u65E5",ja:"\u4ECA\u65E5","en-US":"Today",en:"Today"}[o]||"Today",ae={prevMonth:o.startsWith("ko")?"\uC774\uC804 \uB2EC":o.startsWith("ja")?"\u524D\u6708":"Previous month",nextMonth:o.startsWith("ko")?"\uB2E4\uC74C \uB2EC":o.startsWith("ja")?"\u7FCC\u6708":"Next month"},v=(s,S)=>S.startsWith("ko")?`${s.getFullYear()}\uB144 ${s.getMonth()+1}\uC6D4 ${s.getDate()}\uC77C`:S.startsWith("ja")?`${s.getFullYear()}\u5E74${s.getMonth()+1}\u6708${s.getDate()}\u65E5`:s.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),C=s=>!!(t&&s<t||a$1&&s>a$1),O=s=>e?s.getFullYear()===e.getFullYear()&&s.getMonth()===e.getMonth()&&s.getDate()===e.getDate():false,J=s=>{let S=new Date;return s.getFullYear()===S.getFullYear()&&s.getMonth()===S.getMonth()&&s.getDate()===S.getDate()},Be=s=>l$1?l$1.some(S=>S.getFullYear()===s.getFullYear()&&S.getMonth()===s.getMonth()&&S.getDate()===s.getDate()):false,X=[];for(let s=Y-1;s>=0;s--){let S=new Date(y,M,-s);X.push(S);}for(let s=1;s<=U;s++)X.push(new Date(y,M,s));let Ue=42-X.length;for(let s=1;s<=Ue;s++)X.push(new Date(y,M+1,s));let We=jsxs("button",{type:"button",disabled:d$1,className:a("flex w-full items-center justify-between rounded-lg border border-input bg-background px-4 py-2 text-left text-sm transition-colors","hover:bg-muted focus:outline-none focus:ring-1 focus:ring-ring focus:ring-offset-2",r&&"border-destructive focus:ring-destructive",d$1&&"cursor-not-allowed opacity-50",st[b]),"aria-label":k||u,children:[jsx("span",{className:a("flex-1",!k&&"text-muted-foreground"),children:k||u}),jsx(l,{name:"calendar",className:a("ml-2 h-4 w-4 transition-transform",w&&"rotate-180")})]});return jsx("div",{ref:g,className:a("relative",m),...D,children:jsx(a$2,{open:w,onOpenChange:h,trigger:We,position:"bottom",align:"start",children:jsx("div",{className:"w-auto p-0",children:jsxs("div",{className:"p-4",children:[jsxs("div",{className:"flex items-center justify-between mb-4",children:[jsx("button",{type:"button",onClick:E,className:"rounded-lg p-2 hover:bg-muted transition-colors","aria-label":ae.prevMonth,children:jsx(l,{name:"chevronLeft",className:"h-4 w-4"})}),jsx("div",{className:"text-lg font-semibold text-foreground",children:ce(y,M,o)}),jsx("button",{type:"button",onClick:R,className:"rounded-lg p-2 hover:bg-muted transition-colors","aria-label":ae.nextMonth,children:jsx(l,{name:"chevronRight",className:"h-4 w-4"})})]}),jsx("div",{className:"grid grid-cols-7 gap-1 mb-2",children:de.map((s,S)=>jsx("div",{className:a("text-center text-xs font-medium py-2",S===0&&"text-destructive",S===6&&"text-primary"),children:s},S))}),jsx("div",{className:"grid grid-cols-7 gap-1",children:X.map((s,S)=>{if(!s)return jsx("div",{},S);let K=s.getMonth()===M,fe=C(s),Z=O(s),je=J(s),ke=Be(s),qe=T&&s.getFullYear()===T.getFullYear()&&s.getMonth()===T.getMonth()&&s.getDate()===T.getDate();return jsxs("button",{type:"button",disabled:fe,onClick:()=>L(s),onMouseEnter:()=>N(s),onMouseLeave:()=>N(null),className:a("relative h-9 w-9 rounded-lg text-sm font-medium transition-all","hover:bg-primary/10","focus:outline-none focus:ring-1 focus:ring-ring focus:ring-offset-1",!K&&"text-muted-foreground",fe&&"cursor-not-allowed opacity-30",Z&&"bg-primary text-white hover:bg-primary/80 shadow-md",je&&!Z&&"ring-1 ring-ring",qe&&!Z&&"bg-primary/15"),"aria-label":v(s,o),children:[jsx("span",{className:a("relative z-10",ke&&!Z&&"text-primary font-semibold"),children:s.getDate()}),ke&&!Z&&jsx("span",{className:"absolute inset-1 rounded-lg bg-primary/15"})]},S)})}),jsx("div",{className:"mt-4 pt-4 border-t border-border",children:jsx(d,{variant:"outline",size:"sm",onClick:f,className:"w-full",children:me})})]})})})})});He.displayName="DatePicker";var we=e=>{if(e===0)return "0 Bytes";let n=1024,t=["Bytes","KB","MB","GB"],a=Math.floor(Math.log(e)/Math.log(n));return Math.round(e/Math.pow(n,a)*100)/100+" "+t[a]},ct=e=>e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.includes("pdf")||e.includes("word")||e.includes("document")||e.includes("excel")||e.includes("spreadsheet")?"fileText":"file",$e=V.forwardRef(({files:e=[],onChange:n,onRemove:t,multiple:a$1=false,accept:u,maxSize:d,maxFiles:r,disabled:i=false,dragDrop:o=true,placeholder:b="\uD30C\uC77C\uC744 \uC120\uD0DD\uD558\uAC70\uB098 \uC5EC\uAE30\uC5D0 \uB4DC\uB798\uADF8\uD558\uC138\uC694",size:m="md",className:l$1,...D},g)=>{let w=V.useRef(null),[h,c]=V.useState(false),x=f=>{if(!f||f.length===0)return;let y=Array.from(f);if(r&&e.length+y.length>r){alert(`\uCD5C\uB300 ${r}\uAC1C\uC758 \uD30C\uC77C\uB9CC \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`);return}let M=y.filter(U=>d&&U.size>d?(alert(`\uD30C\uC77C \uD06C\uAE30\uB294 ${we(d)}\uB97C \uCD08\uACFC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: ${U.name}`),false):true);M.length>0&&(n==null||n(M));},T=()=>{var f;i||(f=w.current)==null||f.click();},N=f=>{f.preventDefault(),!i&&o&&c(true);},k=f=>{f.preventDefault(),c(false);},L=f=>{f.preventDefault(),c(false),!i&&o&&x(f.dataTransfer.files);},E=f=>{t==null||t(f);},R={sm:"p-4",md:"p-6",lg:"p-8"};return jsxs("div",{ref:g,className:a("w-full",l$1),...D,children:[jsxs("div",{onClick:T,onDragOver:N,onDragLeave:k,onDrop:L,className:a("relative border-2 border-dashed rounded-xl transition-all cursor-pointer","bg-muted/50","border-border",h&&"border-primary bg-primary/10",i&&"cursor-not-allowed opacity-50",R[m]),children:[jsx("input",{ref:w,type:"file",multiple:a$1,accept:u,disabled:i,onChange:f=>x(f.target.files),className:"hidden","aria-label":"\uD30C\uC77C \uC120\uD0DD"}),jsxs("div",{className:"flex flex-col items-center justify-center text-center",children:[jsx("div",{className:a("rounded-full bg-primary/10 p-4 mb-4",h&&"bg-primary/20"),children:jsx(l,{name:"upload",className:a("h-8 w-8 text-primary",h&&"scale-110")})}),jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:b}),jsxs("p",{className:"text-xs text-muted-foreground",children:[u&&`\uC9C0\uC6D0 \uD615\uC2DD: ${u}`,d&&` \u2022 \uCD5C\uB300 \uD06C\uAE30: ${we(d)}`,r&&` \u2022 \uCD5C\uB300 ${r}\uAC1C`]})]})]}),e.length>0&&jsx("div",{className:"mt-4 space-y-2",children:e.map(f=>jsxs("div",{className:a("flex items-center gap-3 p-3 rounded-lg border","bg-card","border-border",f.status==="error"&&"border-destructive/50 bg-destructive/5"),children:[jsx("div",{className:"flex-shrink-0",children:jsx("div",{className:"rounded-lg bg-muted p-2",children:jsx(l,{name:ct(f.type),className:"h-5 w-5 text-muted-foreground"})})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("p",{className:"text-sm font-medium text-foreground truncate",children:f.name}),jsxs("div",{className:"flex items-center gap-2 mt-1",children:[jsx("p",{className:"text-xs text-muted-foreground",children:we(f.size)}),f.status==="uploading"&&f.progress!==void 0&&jsxs(Fragment,{children:[jsx("div",{className:"flex-1 h-1.5 bg-muted rounded-full overflow-hidden",children:jsx("div",{className:"h-full bg-primary transition-all duration-300",style:{width:`${f.progress}%`}})}),jsxs("span",{className:"text-xs text-muted-foreground",children:[f.progress,"%"]})]}),f.status==="success"&&jsxs("span",{className:"text-xs text-[var(--progress-success)] flex items-center gap-1",children:[jsx(l,{name:"check",className:"h-3 w-3"}),"\uC644\uB8CC"]}),f.status==="error"&&jsx("span",{className:"text-xs text-destructive",children:f.error||"\uC5C5\uB85C\uB4DC \uC2E4\uD328"})]})]}),t&&jsx("button",{type:"button",onClick:()=>E(f),className:"flex-shrink-0 rounded-lg p-1.5 hover:bg-muted transition-colors","aria-label":"\uD30C\uC77C \uC81C\uAC70",children:jsx(l,{name:"close",className:"h-4 w-4 text-muted-foreground"})})]},f.id))})]})});$e.displayName="Upload";var mt={sm:"h-8 text-sm",md:"h-10 text-sm",lg:"h-12 text-base"},Oe=V.forwardRef(({options:e,value:n,onChange:t,placeholder:a$1="\uAC80\uC0C9\uD558\uAC70\uB098 \uC120\uD0DD\uD558\uC138\uC694",disabled:u=false,error:d=false,loading:r=false,maxHeight:i=300,clearable:o=true,filterable:b$1=true,onSearch:m,emptyText:l$1="\uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",size:D="md",className:g,...w},h)=>{let[c,x]=V.useState(false),[T,N]=V.useState(""),[k,L]=V.useState(e),[E,R]=V.useState(-1),[f,y]=V.useState(false),M=V.useRef(null),U=V.useRef(null),Y=V.useMemo(()=>e.find(v=>v.value===n),[e,n]);V.useEffect(()=>{Y?N(Y.label):n||N("");},[Y,n]),V.useEffect(()=>{if(m){y(true);let v=m(T);v instanceof Promise?v.then(C=>{L(C),y(false);}):(L(v),y(false));}else if(b$1)if(!T.trim())L(e);else {let v=e.filter(C=>{var O;return C.label.toLowerCase().includes(T.toLowerCase())||C.value.toLowerCase().includes(T.toLowerCase())||((O=C.description)==null?void 0:O.toLowerCase().includes(T.toLowerCase()))});L(v);}else L(e);},[T,e,b$1,m]);let ne=v=>{let C=v.target.value;N(C),x(true),R(-1),!C&&o&&(t==null||t(""));},de=()=>{x(true);},ce=v=>{var C;(C=U.current)!=null&&C.contains(v.relatedTarget)||(x(false),R(-1),Y&&N(Y.label));},ue=v=>{var C;N(v.label),t==null||t(v.value,v),x(false),(C=M.current)==null||C.blur();},me=()=>{var v;N(""),t==null||t(""),(v=M.current)==null||v.focus();},ae=v=>{var C;if(!c||k.length===0){v.key==="ArrowDown"&&x(true);return}switch(v.key){case "ArrowDown":v.preventDefault(),R(O=>O<k.length-1?O+1:O);break;case "ArrowUp":v.preventDefault(),R(O=>O>0?O-1:-1);break;case "Enter":v.preventDefault(),E>=0&&k[E]&&ue(k[E]);break;case "Escape":x(false),(C=M.current)==null||C.blur();break}};return jsxs("div",{ref:h,className:a("relative w-full",g),...w,children:[jsxs("div",{className:"relative",children:[jsx(b,{ref:M,type:"text",value:T,onChange:ne,onFocus:de,onBlur:ce,onKeyDown:ae,placeholder:a$1,disabled:u,"aria-invalid":d,"aria-autocomplete":"list","aria-expanded":c,"aria-controls":"autocomplete-list",className:a(mt[D],"pr-10")}),jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-1",children:r||f?jsx(l,{name:"loader",className:"h-4 w-4 animate-spin text-muted-foreground"}):o&&T?jsx("button",{type:"button",onClick:me,className:"rounded p-1 hover:bg-muted transition-colors","aria-label":"\uC9C0\uC6B0\uAE30",children:jsx(l,{name:"close",className:"h-4 w-4 text-muted-foreground"})}):jsx(l,{name:"chevronDown",className:"h-4 w-4 text-muted-foreground"})})]}),c&&jsx("div",{ref:U,id:"autocomplete-list",role:"listbox",className:a("absolute z-50 w-full mt-1 rounded-lg border shadow-lg","bg-popover text-popover-foreground","border-border","overflow-hidden"),style:{maxHeight:`${i}px`},children:jsx("div",{className:"overflow-y-auto",style:{maxHeight:`${i}px`},children:k.length===0?jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:l$1}):k.map((v,C)=>{let O=E===C,J=n===v.value;return jsx("div",{role:"option","aria-selected":J,onClick:()=>ue(v),onMouseEnter:()=>R(C),className:a("px-4 py-3 cursor-pointer transition-colors","hover:bg-muted",O&&"bg-primary/10",J&&"bg-primary/15"),children:jsxs("div",{className:"flex items-center gap-3",children:[v.icon&&jsx("div",{className:"flex-shrink-0 text-muted-foreground",children:v.icon}),jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("p",{className:"text-sm font-medium text-foreground",children:v.label}),J&&jsx(l,{name:"check",className:"h-4 w-4 text-primary flex-shrink-0"})]}),v.description&&jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:v.description})]})]})},v.value)})})})]})});Oe.displayName="Autocomplete";var pt={gray:["#f9fafb","#f3f4f6","#e5e7eb","#d1d5db","#9ca3af","#6b7280","#4b5563","#374151","#1f2937","#111827"],red:["#fef2f2","#fee2e2","#fecaca","#fca5a5","#f87171","#ef4444","#dc2626","#b91c1c","#991b1b","#7f1d1d"],orange:["#fff7ed","#ffedd5","#fed7aa","#fdba74","#fb923c","#f97316","#ea580c","#c2410c","#9a3412","#7c2d12"],amber:["#fffbeb","#fef3c7","#fde68a","#fcd34d","#fbbf24","#f59e0b","#d97706","#b45309","#92400e","#78350f"],yellow:["#fefce8","#fef9c3","#fef08a","#fde047","#facc15","#eab308","#ca8a04","#a16207","#854d0e","#713f12"],lime:["#f7fee7","#ecfccb","#d9f99d","#bef264","#a3e635","#84cc16","#65a30d","#4d7c0f","#3f6212","#365314"],green:["#f0fdf4","#dcfce7","#bbf7d0","#86efac","#4ade80","#22c55e","#16a34a","#15803d","#166534","#14532d"],emerald:["#ecfdf5","#d1fae5","#a7f3d0","#6ee7b7","#34d399","#10b981","#059669","#047857","#065f46","#064e3b"],teal:["#f0fdfa","#ccfbf1","#99f6e4","#5eead4","#2dd4bf","#14b8a6","#0d9488","#0f766e","#115e59","#134e4a"],cyan:["#ecfeff","#cffafe","#a5f3fc","#67e8f9","#22d3ee","#06b6d4","#0891b2","#0e7490","#155e75","#164e63"],sky:["#f0f9ff","#e0f2fe","#bae6fd","#7dd3fc","#38bdf8","#0ea5e9","#0284c7","#0369a1","#075985","#0c4a6e"],blue:["#eff6ff","#dbeafe","#bfdbfe","#93c5fd","#60a5fa","#3b82f6","#2563eb","#1d4ed8","#1e40af","#1e3a8a"],indigo:["#eef2ff","#e0e7ff","#c7d2fe","#a5b4fc","#818cf8","#6366f1","#4f46e5","#4338ca","#3730a3","#312e81"],violet:["#f5f3ff","#ede9fe","#ddd6fe","#c4b5fd","#a78bfa","#8b5cf6","#7c3aed","#6d28d9","#5b21b6","#4c1d95"],purple:["#faf5ff","#f3e8ff","#e9d5ff","#d8b4fe","#c084fc","#a855f7","#9333ea","#7e22ce","#6b21a8","#581c87"],fuchsia:["#fdf4ff","#fae8ff","#f5d0fe","#f0abfc","#e879f9","#d946ef","#c026d3","#a21caf","#86198f","#701a75"],pink:["#fdf2f8","#fce7f3","#fbcfe8","#f9a8d4","#f472b6","#ec4899","#db2777","#be185d","#9d174d","#831843"],rose:["#fff1f2","#ffe4e6","#fecdd3","#fda4af","#fb7185","#f43f5e","#e11d48","#be123c","#9f1239","#881337"]},gt=["#000000","#ffffff","transparent"];function ie(e){let n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!n)return [0,100,50];let t=parseInt(n[1],16)/255,a=parseInt(n[2],16)/255,u=parseInt(n[3],16)/255,d=Math.max(t,a,u),r=Math.min(t,a,u),i=0,o=0,b=(d+r)/2;if(d!==r){let m=d-r;switch(o=b>.5?m/(2-d-r):m/(d+r),d){case t:i=((a-u)/m+(a<u?6:0))/6;break;case a:i=((u-t)/m+2)/6;break;case u:i=((t-a)/m+4)/6;break}}return [Math.round(i*360),Math.round(o*100),Math.round(b*100)]}function le(e,n,t){n/=100,t/=100;let a=n*Math.min(t,1-t),u=d=>{let r=(d+e/30)%12,i=t-a*Math.max(Math.min(r-3,9-r,1),-1);return Math.round(255*i).toString(16).padStart(2,"0")};return `#${u(0)}${u(8)}${u(4)}`}function Ne(e){return /^#[0-9A-Fa-f]{6}$/.test(e)||e==="transparent"}function bt({hue:e$1,saturation:n,lightness:t,onChange:a,disabled:u}){let d=useRef(null),r=useRef(false),i=useCallback((l,D)=>{if(!d.current||u)return;let g=d.current.getBoundingClientRect(),w=Math.max(0,Math.min(1,(l-g.left)/g.width)),h=Math.max(0,Math.min(1,(D-g.top)/g.height)),c=Math.round(w*100),x=Math.round((1-h)*100);a(c,x);},[a,u]),o=l=>{u||(r.current=true,i(l.clientX,l.clientY));};useEffect(()=>{let l=g=>{r.current&&i(g.clientX,g.clientY);},D=()=>{r.current=false;};return window.addEventListener("mousemove",l),window.addEventListener("mouseup",D),()=>{window.removeEventListener("mousemove",l),window.removeEventListener("mouseup",D);}},[i]);let b=n,m=100-t;return jsx("div",{ref:d,className:e("relative w-full h-28 rounded-md overflow-hidden",u?"opacity-50 cursor-not-allowed":"cursor-crosshair"),style:{background:`
2
+ import {a as a$2}from'./chunk-ZY23NOT4.mjs';export{b as Checkbox,a as Textarea}from'./chunk-LL6QPRD7.mjs';export{a as NumberInput}from'./chunk-OLLU7ZFH.mjs';import {a as a$1,b}from'./chunk-F2M4YDDQ.mjs';export{b as Input,c as Label,d as Switch}from'./chunk-F2M4YDDQ.mjs';import {d}from'./chunk-O24K56OS.mjs';import'./chunk-SD6XGDAC.mjs';import {l}from'./chunk-ZQUMJQYV.mjs';import {a,e}from'./chunk-QEMPERUK.mjs';import'./chunk-EAZEI74V.mjs';import V,{useState,useEffect,useCallback,useRef}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {cva}from'class-variance-authority';var De=V.forwardRef(({className:e,children:n,onSubmit:t,variant:a$1="default",...u},d)=>jsx("form",{ref:d,onSubmit:o=>{o.preventDefault(),t==null||t(o);},className:a({default:"space-y-6",glass:"space-y-6 bg-white/10 backdrop-blur-sm border border-white/20 rounded-xl p-6 shadow-xl dark:bg-slate-800/20 dark:border-slate-700/50"}[a$1],e),...u,children:n}));De.displayName="Form";var Re=V.forwardRef(({className:e,children:n,error:t,required:a$1,...u},d)=>{let r=V.useId(),i=V.Children.map(n,o=>{if(V.isValidElement(o)){let b=o.props,m=o.type,l=false;if(typeof m=="object"&&m!==null){let p=m,w=p.displayName,h=p.name;l=w==="Input"||w==="Select"||w==="Textarea"||h==="Input"||h==="Select"||h==="Textarea";}let D=typeof m=="string"&&["input","select","textarea"].includes(m.toLowerCase());if(l||D){let p=b["aria-describedby"],w=t?p?`${p} ${r}`:r:p;return V.cloneElement(o,{"aria-describedby":w,"aria-invalid":t?true:b["aria-invalid"],required:a$1||b.required})}}return o});return jsxs("div",{ref:d,className:a("space-y-2",e),...u,children:[i,t&&jsx("p",{id:r,className:"text-sm text-red-600 dark:text-red-400",role:"alert","aria-live":"polite",children:t})]})});Re.displayName="FormField";var Le=V.forwardRef(({className:e,children:n,inline:t=false,...a$1},u)=>jsx("div",{ref:u,className:a(t?"flex gap-4":"space-y-4",e),...a$1,children:n}));Le.displayName="FormGroup";function et({label:e,description:n,error:t,required:a$1=false,htmlFor:u,showErrorIcon:d=true,suppressBrowserValidation:r=true,className:i,children:o}){let b=!!t,m=V.Children.map(o,l=>{if(V.isValidElement(l)){let D={"aria-invalid":b||void 0,"aria-describedby":b?`${u}-error`:void 0};return r&&(D.onInvalid=p=>{p.preventDefault();let w=l.props.onInvalid;typeof w=="function"&&w(p);}),V.cloneElement(l,D)}return l});return jsxs("div",{className:a("space-y-2",i),children:[e&&jsxs("label",{htmlFor:u,className:a("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",b&&"text-destructive"),children:[e,a$1&&jsx("span",{className:"text-destructive ml-1","aria-hidden":"true",children:"*"})]}),n&&!b&&jsx("p",{className:"text-sm text-muted-foreground",children:n}),jsx("div",{className:"relative [&_input:invalid]:border-destructive/50 [&_select:invalid]:border-destructive/50 [&_textarea:invalid]:border-destructive/50",children:m}),b&&jsxs("div",{id:u?`${u}-error`:void 0,className:"flex items-start gap-2 text-sm text-destructive",role:"alert","aria-live":"polite",children:[d&&jsx(nt,{className:"w-4 h-4 mt-0.5 flex-shrink-0"}),jsx("span",{children:t})]})]})}var tt={email:{pattern:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:"Invalid email format"},phone:{pattern:/^[\d\s\-+()]{10,}$/,message:"Invalid phone number format"},url:{pattern:/^https?:\/\/.+\..+/,message:"Invalid URL format (must start with http:// or https://)"},alphanumeric:{pattern:/^[a-zA-Z0-9]+$/,message:"Only letters and numbers are allowed"},password:{pattern:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/,message:"Must contain at least 8 characters with uppercase, lowercase, and number"}};function rt(e={}){let[n,t]=V.useState(e),a=V.useCallback(r=>{let i={};for(let[o,b]of Object.entries(r)){let{value:m,type:l,required:D,minLength:p,maxLength:w,min:h,max:c,pattern:x,custom:T,messages:N={}}=b,k=String(m);if(D&&(!m||k.trim()==="")){i[o]=N.required||"This field is required";continue}if(!(!m||k.trim()==="")){if(l){let L=tt[l];if(L&&!L.pattern.test(k)){i[o]=N.type||L.message;continue}}if(p!==void 0&&k.length<p){i[o]=N.minLength||`Must be at least ${p} characters`;continue}if(w!==void 0&&k.length>w){i[o]=N.maxLength||`Must be at most ${w} characters`;continue}if(h!==void 0&&typeof m=="number"&&m<h){i[o]=N.min||`Must be at least ${h}`;continue}if(c!==void 0&&typeof m=="number"&&m>c){i[o]=N.max||`Must be at most ${c}`;continue}if(x&&!x.test(k)){i[o]=N.pattern||"Invalid format";continue}if(T){let L=T(m);L&&(i[o]=L);}}}return t(i),Object.keys(i).length===0},[]),u=V.useCallback(r=>{t(i=>{let o={...i};return delete o[r],o});},[]),d=V.useCallback(()=>{t({});},[]);return {errors:n,validate:a,clearError:u,clearAllErrors:d,setErrors:t}}function nt({className:e}){return jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}var ot=cva("flex w-full appearance-none rounded-md border transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-ring focus:ring-offset-2 hover:border-accent-foreground hover:shadow-sm disabled:cursor-not-allowed disabled:opacity-50",{variants:{variant:{default:"border-input bg-background text-foreground focus:border-ring focus:ring-ring",outline:"border-2 border-input bg-transparent text-foreground focus:border-ring focus:ring-ring",filled:"border-transparent bg-secondary/50 text-foreground focus:bg-background focus:border-ring focus:ring-ring",ghost:"border-transparent bg-transparent text-foreground focus:bg-muted focus:border-border focus:ring-muted-foreground",glass:"border-white/30 bg-white/10 backdrop-blur-sm text-white focus:border-ring/50 focus:ring-ring/20 focus:bg-white/20"},size:{sm:"h-8 pl-2 text-sm",md:"h-10 pl-3 text-sm",lg:"h-12 pl-4 text-base"}},defaultVariants:{variant:"default",size:"md"}}),Se=V.forwardRef(({className:e,variant:n="default",size:t="md",error:a$2=false,success:u=false,leftIcon:d,placeholder:r,children:i,"aria-label":o,"aria-invalid":b,...m},l)=>{let D=V.useRef(null),p=V.useCallback(c=>{D.current=c,typeof l=="function"?l(c):l&&(l.current=c);},[l]),[w,h]=V.useState(false);return jsxs("div",{className:"relative",children:[d&&jsx("div",{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground pointer-events-none z-10",children:d}),jsxs("select",{ref:p,className:a(ot({variant:n,size:t}),a$2&&a$1.error,u&&a$1.success,d?"pl-10":"","pr-10",e),"aria-label":o||(r?void 0:"\uC120\uD0DD"),"aria-invalid":b!==void 0?b:a$2||void 0,onFocus:c=>{var x;h(true),(x=m.onFocus)==null||x.call(m,c);},onBlur:c=>{var x;h(false),(x=m.onBlur)==null||x.call(m,c);},...m,children:[r&&jsx("option",{value:"",disabled:true,children:r}),i]}),jsx("div",{className:a("absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none","transition-transform duration-200 ease-out",w&&"rotate-180"),children:jsx("svg",{className:"w-4 h-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",strokeWidth:2,children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})})]})});Se.displayName="Select";var Ce=V.forwardRef(({className:e,...n},t)=>jsx("option",{className:e||"",ref:t,...n}));Ce.displayName="SelectOption";var Fe=V.forwardRef(({className:e,variant:n="default",size:t="md",error:a$1=false,success:u=false,label:d,description:r,id:i,...o},b)=>{var L,S;let m=V.useId(),l=i||m,D=d?`${l}-label`:void 0,p=r?`${l}-description`:void 0,w={sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"},h={sm:"w-1.5 h-1.5",md:"w-2 h-2",lg:"w-2.5 h-2.5"},c={default:"border-input bg-background text-primary focus:ring-ring",outline:"border-2 border-input bg-transparent text-primary focus:ring-ring",filled:"border-transparent bg-muted text-primary focus:bg-background focus:ring-ring",glass:"border-white/30 bg-white/10 backdrop-blur-sm text-white focus:ring-ring/50 focus:bg-white/20"},x=a$1?"border-destructive focus:ring-destructive":u?"border-green-500 focus:ring-green-500":"",T=o.checked!==void 0,N=(S=(L=o.checked)!=null?L:o.defaultChecked)!=null?S:false,k=T&&!o.onChange&&!o.readOnly;return jsxs("div",{className:"flex items-start space-x-3",children:[jsxs("div",{className:"relative",children:[jsx("input",{type:"radio",id:l,className:a("peer sr-only",e),ref:b,"aria-checked":N,"aria-invalid":a$1,"aria-label":d?void 0:o["aria-label"],"aria-labelledby":d?D:void 0,"aria-describedby":p,role:"radio",readOnly:k||o.readOnly,...o}),jsx("div",{className:a("flex items-center justify-center rounded-full border transition-all duration-200 cursor-pointer","peer-focus:outline-none peer-focus:ring-1 peer-focus:ring-offset-2","peer-disabled:cursor-not-allowed peer-disabled:opacity-50",w[t],c[n],x,N&&"border-primary dark:border-primary"),children:jsx("div",{className:a("rounded-full bg-primary dark:bg-primary transition-all duration-200",h[t],N?"opacity-100 scale-100":"opacity-0 scale-0")})})]}),(d||r)&&jsxs("div",{className:"flex flex-col",children:[d&&jsx("label",{htmlFor:l,id:D,className:"text-sm font-medium text-foreground cursor-pointer",children:d}),r&&jsx("p",{id:p,className:"text-sm text-muted-foreground",children:r})]})]})});Fe.displayName="Radio";var Pe=V.forwardRef(({className:e,variant:n="default",size:t="md",showValue:a$1=false,showLabel:u=false,label:d,min:r=0,max:i=100,step:o=1,value:b=0,onValueChange:m,orientation:l="horizontal",disabled:D=false,...p},w)=>{let h=Array.isArray(b),c=h?b:[b],x=y=>{let M=parseFloat(y.target.value);if(m)if(h){let U=parseInt(y.target.dataset.index||"0"),Y=[...c];Y[U]=M,m(Y);}else m(M);},T={default:"bg-muted",primary:"bg-primary/20",success:"bg-[var(--progress-success)]/20",warning:"bg-[var(--progress-warning)]/20",danger:"bg-destructive/20"},N={default:"bg-muted-foreground hover:bg-foreground",primary:"bg-primary hover:bg-primary/90",success:"bg-[var(--progress-success)] hover:bg-[var(--progress-success)]/90",warning:"bg-[var(--progress-warning)] hover:bg-[var(--progress-warning)]/90",danger:"bg-destructive hover:bg-destructive/90"},k={sm:l==="horizontal"?"h-1":"w-1",md:l==="horizontal"?"h-2":"w-2",lg:l==="horizontal"?"h-3":"w-3"},L={sm:"w-3 h-3",md:"w-4 h-4",lg:"w-6 h-6"},S=l==="vertical"?"flex-col h-full":"flex-row w-full",R=(y=0)=>jsx("input",{ref:y===0?w:void 0,type:"range",min:r,max:i,step:o,value:c[y],onChange:x,"data-index":y,disabled:D,className:a("appearance-none cursor-pointer rounded-full transition-all duration-200 focus:outline-none focus:ring-1 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",k[t],T[n],l==="vertical"?"writing-mode: bt-lr; -webkit-appearance: slider-vertical":"",e),style:{...l==="vertical"&&{writingMode:"vertical-rl",WebkitAppearance:"slider-vertical"}},...p},y),f=()=>a$1?h?jsx("div",{className:"flex gap-2 text-sm text-muted-foreground",children:c.map((y,M)=>jsx("span",{className:"font-mono",children:y},M))}):jsx("span",{className:"text-sm font-mono text-muted-foreground",children:c[0]}):null;return jsxs("div",{className:a("flex items-center gap-4",S),children:[u&&d&&jsx("label",{className:"text-sm font-medium text-foreground min-w-0",children:d}),jsxs("div",{className:"flex-1 relative",children:[jsxs("div",{className:a("relative",l==="vertical"?"h-full":"w-full h-4 flex items-center"),children:[jsx("div",{className:a("absolute rounded-full",k[t],T[n],l==="vertical"?"h-full left-1/2 -translate-x-1/2":"w-full")}),h?jsx("div",{className:a("absolute rounded-full bg-primary",k[t],l==="vertical"?"left-1/2 -translate-x-1/2":""),style:{...l==="vertical"?{bottom:`${(c[0]-r)/(i-r)*100}%`,height:`${(c[1]-c[0])/(i-r)*100}%`}:{left:`${(c[0]-r)/(i-r)*100}%`,width:`${(c[1]-c[0])/(i-r)*100}%`}}}):jsx("div",{className:a("absolute rounded-full bg-primary",k[t],l==="vertical"?"left-1/2 -translate-x-1/2 bottom-0":"left-0"),style:{...l==="vertical"?{height:`${(c[0]-r)/(i-r)*100}%`}:{width:`${(c[0]-r)/(i-r)*100}%`}}}),h?c.map((y,M)=>jsx("div",{className:a("absolute rounded-full border-2 border-white shadow-lg transition-all duration-200 hover:scale-110",L[t],N[n],l==="vertical"?"left-1/2 transform -translate-x-1/2":"top-1/2 transform -translate-y-1/2"),style:{...l==="vertical"?{bottom:`${(c[M]-r)/(i-r)*100}%`}:{left:`${(c[M]-r)/(i-r)*100}%`}}},M)):jsx("div",{className:a("absolute rounded-full border-2 border-white shadow-lg transition-all duration-200 hover:scale-110",L[t],N[n],l==="vertical"?"left-1/2 transform -translate-x-1/2":"top-1/2 transform -translate-y-1/2"),style:{...l==="vertical"?{bottom:`${(c[0]-r)/(i-r)*100}%`}:{left:`${(c[0]-r)/(i-r)*100}%`}}})]}),jsx("div",{className:"absolute inset-0 opacity-0",children:h?c.map((y,M)=>R(M)):R()})]}),f()]})});Pe.displayName="Slider";var it={sm:"h-8 text-sm px-3",md:"h-10 text-sm px-4",lg:"h-12 text-base px-5"},lt=(e,n="YYYY-MM-DD",t="ko-KR")=>{if(!e)return "";let a=e.getFullYear(),u=String(e.getMonth()+1).padStart(2,"0"),d=String(e.getDate()).padStart(2,"0");return n.replace("YYYY",String(a)).replace("MM",u).replace("DD",d)},dt=(e,n)=>new Date(e,n+1,0).getDate(),ct=(e,n)=>new Date(e,n,1).getDay(),Ie=V.forwardRef(({value:e,onChange:n,minDate:t,maxDate:a$1,placeholder:u="\uB0A0\uC9DC\uB97C \uC120\uD0DD\uD558\uC138\uC694",disabled:d$1=false,error:r=false,dateFormat:i="YYYY-MM-DD",locale:o="ko-KR",size:b="md",className:m,markedDates:l$1,...D},p)=>{let[w,h]=V.useState(false),[c,x]=V.useState(e?new Date(e.getFullYear(),e.getMonth()):new Date),[T,N]=V.useState(null),k=e?lt(e,i,o):"",L=s=>{t&&s<t||a$1&&s>a$1||(n==null||n(s),h(false));},S=()=>{x(new Date(c.getFullYear(),c.getMonth()-1));},R=()=>{x(new Date(c.getFullYear(),c.getMonth()+1));},f=()=>{let s=new Date;s.setHours(0,0,0,0),L(s);},y=c.getFullYear(),M=c.getMonth(),U=dt(y,M),Y=ct(y,M),ne={"ko-KR":["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],ko:["\uC77C","\uC6D4","\uD654","\uC218","\uBAA9","\uAE08","\uD1A0"],"ja-JP":["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"],ja:["\u65E5","\u6708","\u706B","\u6C34","\u6728","\u91D1","\u571F"],"en-US":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},de=ne[o]||ne.en,ce=(s,C,G)=>G==="ko-KR"||G==="ko"?`${s}\uB144 ${C+1}\uC6D4`:G==="ja-JP"||G==="ja"?`${s}\u5E74 ${C+1}\u6708`:`${["January","February","March","April","May","June","July","August","September","October","November","December"][C]} ${s}`,me={"ko-KR":"\uC624\uB298",ko:"\uC624\uB298","ja-JP":"\u4ECA\u65E5",ja:"\u4ECA\u65E5","en-US":"Today",en:"Today"}[o]||"Today",ae={prevMonth:o.startsWith("ko")?"\uC774\uC804 \uB2EC":o.startsWith("ja")?"\u524D\u6708":"Previous month",nextMonth:o.startsWith("ko")?"\uB2E4\uC74C \uB2EC":o.startsWith("ja")?"\u7FCC\u6708":"Next month"},v=(s,C)=>C.startsWith("ko")?`${s.getFullYear()}\uB144 ${s.getMonth()+1}\uC6D4 ${s.getDate()}\uC77C`:C.startsWith("ja")?`${s.getFullYear()}\u5E74${s.getMonth()+1}\u6708${s.getDate()}\u65E5`:s.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),E=s=>!!(t&&s<t||a$1&&s>a$1),O=s=>e?s.getFullYear()===e.getFullYear()&&s.getMonth()===e.getMonth()&&s.getDate()===e.getDate():false,X=s=>{let C=new Date;return s.getFullYear()===C.getFullYear()&&s.getMonth()===C.getMonth()&&s.getDate()===C.getDate()},Ye=s=>l$1?l$1.some(C=>C.getFullYear()===s.getFullYear()&&C.getMonth()===s.getMonth()&&C.getDate()===s.getDate()):false,K=[];for(let s=Y-1;s>=0;s--){let C=new Date(y,M,-s);K.push(C);}for(let s=1;s<=U;s++)K.push(new Date(y,M,s));let Be=Math.ceil(K.length/7)*7-K.length;for(let s=1;s<=Be;s++)K.push(new Date(y,M+1,s));let Ue=jsxs("button",{type:"button",disabled:d$1,className:a("flex w-full items-center justify-between rounded-lg border border-input bg-background px-4 py-2 text-left text-sm transition-colors","hover:bg-muted focus:outline-none focus:ring-1 focus:ring-ring focus:ring-offset-2",r&&"border-destructive focus:ring-destructive",d$1&&"cursor-not-allowed opacity-50",it[b]),"aria-label":k||u,children:[jsx("span",{className:a("flex-1",!k&&"text-muted-foreground"),children:k||u}),jsx(l,{name:"calendar",className:"ml-2 h-4 w-4"})]});return jsx("div",{ref:p,className:a("relative",m),...D,children:jsx(a$2,{open:w,onOpenChange:h,trigger:Ue,position:"bottom",align:"start",fullWidth:true,contentClassName:"p-0",children:jsx("div",{className:"rounded-lg bg-popover",children:jsxs("div",{className:"p-4",children:[jsxs("div",{className:"flex items-center justify-between mb-4",children:[jsx("button",{type:"button",onClick:S,className:"rounded-lg p-2 hover:bg-muted transition-colors","aria-label":ae.prevMonth,children:jsx(l,{name:"chevronLeft",className:"h-4 w-4"})}),jsx("div",{className:"text-lg font-semibold text-foreground",children:ce(y,M,o)}),jsx("button",{type:"button",onClick:R,className:"rounded-lg p-2 hover:bg-muted transition-colors","aria-label":ae.nextMonth,children:jsx(l,{name:"chevronRight",className:"h-4 w-4"})})]}),jsx("div",{className:"grid grid-cols-7 gap-1 mb-2",children:de.map((s,C)=>jsx("div",{className:a("text-center text-xs font-medium py-2",C===0&&"text-destructive",C===6&&"text-primary"),children:s},C))}),jsx("div",{className:"grid grid-cols-7 gap-1",children:K.map((s,C)=>{if(!s)return jsx("div",{},C);let G=s.getMonth()===M,Ne=E(s),Z=O(s),We=X(s),je=Ye(s),qe=T&&s.getFullYear()===T.getFullYear()&&s.getMonth()===T.getMonth()&&s.getDate()===T.getDate(),_e={...!G&&!Z?{opacity:.3}:{},...Z?{backgroundColor:"hsl(var(--primary, 187 92% 50%))",color:"#fff"}:{},...We&&!Z?{boxShadow:"inset 0 0 0 2px hsl(var(--primary, 187 92% 50%))",fontWeight:700}:{},...qe&&!Z?{backgroundColor:"hsl(var(--primary, 187 92% 50%) / 0.15)"}:{}};return jsxs("button",{type:"button",disabled:Ne,onClick:()=>L(s),onMouseEnter:()=>N(s),onMouseLeave:()=>N(null),className:"relative flex flex-col items-center justify-center h-9 w-9 rounded-lg text-sm font-medium transition-all focus:outline-none",style:_e,"aria-label":v(s,o),children:[jsx("span",{className:"relative z-10 leading-none",children:s.getDate()}),je&&jsx("span",{className:"absolute rounded-full",style:{bottom:"1px",width:"6px",height:"6px",backgroundColor:Z?"#fff":"hsl(var(--primary, 187 92% 50%))"}})]},C)})}),jsx("div",{className:"mt-4 pt-4 border-t border-border",children:jsx(d,{variant:"outline",size:"sm",onClick:f,className:"w-full",children:me})})]})})})})});Ie.displayName="DatePicker";var ye=e=>{if(e===0)return "0 Bytes";let n=1024,t=["Bytes","KB","MB","GB"],a=Math.floor(Math.log(e)/Math.log(n));return Math.round(e/Math.pow(n,a)*100)/100+" "+t[a]},ut=e=>e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.includes("pdf")||e.includes("word")||e.includes("document")||e.includes("excel")||e.includes("spreadsheet")?"fileText":"file",He=V.forwardRef(({files:e=[],onChange:n,onRemove:t,multiple:a$1=false,accept:u,maxSize:d,maxFiles:r,disabled:i=false,dragDrop:o=true,placeholder:b="\uD30C\uC77C\uC744 \uC120\uD0DD\uD558\uAC70\uB098 \uC5EC\uAE30\uC5D0 \uB4DC\uB798\uADF8\uD558\uC138\uC694",size:m="md",className:l$1,...D},p)=>{let w=V.useRef(null),[h,c]=V.useState(false),x=f=>{if(!f||f.length===0)return;let y=Array.from(f);if(r&&e.length+y.length>r){alert(`\uCD5C\uB300 ${r}\uAC1C\uC758 \uD30C\uC77C\uB9CC \uC5C5\uB85C\uB4DC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`);return}let M=y.filter(U=>d&&U.size>d?(alert(`\uD30C\uC77C \uD06C\uAE30\uB294 ${ye(d)}\uB97C \uCD08\uACFC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: ${U.name}`),false):true);M.length>0&&(n==null||n(M));},T=()=>{var f;i||(f=w.current)==null||f.click();},N=f=>{f.preventDefault(),!i&&o&&c(true);},k=f=>{f.preventDefault(),c(false);},L=f=>{f.preventDefault(),c(false),!i&&o&&x(f.dataTransfer.files);},S=f=>{t==null||t(f);},R={sm:"p-4",md:"p-6",lg:"p-8"};return jsxs("div",{ref:p,className:a("w-full",l$1),...D,children:[jsxs("div",{onClick:T,onDragOver:N,onDragLeave:k,onDrop:L,className:a("relative border-2 border-dashed rounded-xl transition-all cursor-pointer","bg-muted/50","border-border",h&&"border-primary bg-primary/10",i&&"cursor-not-allowed opacity-50",R[m]),children:[jsx("input",{ref:w,type:"file",multiple:a$1,accept:u,disabled:i,onChange:f=>x(f.target.files),className:"hidden","aria-label":"\uD30C\uC77C \uC120\uD0DD"}),jsxs("div",{className:"flex flex-col items-center justify-center text-center",children:[jsx("div",{className:a("rounded-full bg-primary/10 p-4 mb-4",h&&"bg-primary/20"),children:jsx(l,{name:"upload",className:a("h-8 w-8 text-primary",h&&"scale-110")})}),jsx("p",{className:"text-sm font-medium text-foreground mb-1",children:b}),jsxs("p",{className:"text-xs text-muted-foreground",children:[u&&`\uC9C0\uC6D0 \uD615\uC2DD: ${u}`,d&&` \u2022 \uCD5C\uB300 \uD06C\uAE30: ${ye(d)}`,r&&` \u2022 \uCD5C\uB300 ${r}\uAC1C`]})]})]}),e.length>0&&jsx("div",{className:"mt-4 space-y-2",children:e.map(f=>jsxs("div",{className:a("flex items-center gap-3 p-3 rounded-lg border","bg-card","border-border",f.status==="error"&&"border-destructive/50 bg-destructive/5"),children:[jsx("div",{className:"flex-shrink-0",children:jsx("div",{className:"rounded-lg bg-muted p-2",children:jsx(l,{name:ut(f.type),className:"h-5 w-5 text-muted-foreground"})})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("p",{className:"text-sm font-medium text-foreground truncate",children:f.name}),jsxs("div",{className:"flex items-center gap-2 mt-1",children:[jsx("p",{className:"text-xs text-muted-foreground",children:ye(f.size)}),f.status==="uploading"&&f.progress!==void 0&&jsxs(Fragment,{children:[jsx("div",{className:"flex-1 h-1.5 bg-muted rounded-full overflow-hidden",children:jsx("div",{className:"h-full bg-primary transition-all duration-300",style:{width:`${f.progress}%`}})}),jsxs("span",{className:"text-xs text-muted-foreground",children:[f.progress,"%"]})]}),f.status==="success"&&jsxs("span",{className:"text-xs text-[var(--progress-success)] flex items-center gap-1",children:[jsx(l,{name:"check",className:"h-3 w-3"}),"\uC644\uB8CC"]}),f.status==="error"&&jsx("span",{className:"text-xs text-destructive",children:f.error||"\uC5C5\uB85C\uB4DC \uC2E4\uD328"})]})]}),t&&jsx("button",{type:"button",onClick:()=>S(f),className:"flex-shrink-0 rounded-lg p-1.5 hover:bg-muted transition-colors","aria-label":"\uD30C\uC77C \uC81C\uAC70",children:jsx(l,{name:"close",className:"h-4 w-4 text-muted-foreground"})})]},f.id))})]})});He.displayName="Upload";var ft={sm:"h-8 text-sm",md:"h-10 text-sm",lg:"h-12 text-base"},$e=V.forwardRef(({options:e,value:n,onChange:t,placeholder:a$1="\uAC80\uC0C9\uD558\uAC70\uB098 \uC120\uD0DD\uD558\uC138\uC694",disabled:u=false,error:d=false,loading:r=false,maxHeight:i=300,clearable:o=true,filterable:b$1=true,onSearch:m,emptyText:l$1="\uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",size:D="md",className:p,...w},h)=>{let[c,x]=V.useState(false),[T,N]=V.useState(""),[k,L]=V.useState(e),[S,R]=V.useState(-1),[f,y]=V.useState(false),M=V.useRef(null),U=V.useRef(null),Y=V.useMemo(()=>e.find(v=>v.value===n),[e,n]);V.useEffect(()=>{Y?N(Y.label):n||N("");},[Y,n]),V.useEffect(()=>{if(m){y(true);let v=m(T);v instanceof Promise?v.then(E=>{L(E),y(false);}):(L(v),y(false));}else if(b$1)if(!T.trim())L(e);else {let v=e.filter(E=>{var O;return E.label.toLowerCase().includes(T.toLowerCase())||E.value.toLowerCase().includes(T.toLowerCase())||((O=E.description)==null?void 0:O.toLowerCase().includes(T.toLowerCase()))});L(v);}else L(e);},[T,e,b$1,m]);let ne=v=>{let E=v.target.value;N(E),x(true),R(-1),!E&&o&&(t==null||t(""));},de=()=>{x(true);},ce=v=>{var E;(E=U.current)!=null&&E.contains(v.relatedTarget)||(x(false),R(-1),Y&&N(Y.label));},ue=v=>{var E;N(v.label),t==null||t(v.value,v),x(false),(E=M.current)==null||E.blur();},me=()=>{var v;N(""),t==null||t(""),(v=M.current)==null||v.focus();},ae=v=>{var E;if(!c||k.length===0){v.key==="ArrowDown"&&x(true);return}switch(v.key){case "ArrowDown":v.preventDefault(),R(O=>O<k.length-1?O+1:O);break;case "ArrowUp":v.preventDefault(),R(O=>O>0?O-1:-1);break;case "Enter":v.preventDefault(),S>=0&&k[S]&&ue(k[S]);break;case "Escape":x(false),(E=M.current)==null||E.blur();break}};return jsxs("div",{ref:h,className:a("relative w-full",p),...w,children:[jsxs("div",{className:"relative",children:[jsx(b,{ref:M,type:"text",value:T,onChange:ne,onFocus:de,onBlur:ce,onKeyDown:ae,placeholder:a$1,disabled:u,"aria-invalid":d,"aria-autocomplete":"list","aria-expanded":c,"aria-controls":"autocomplete-list",className:a(ft[D],"pr-10")}),jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-1",children:r||f?jsx(l,{name:"loader",className:"h-4 w-4 animate-spin text-muted-foreground"}):o&&T?jsx("button",{type:"button",onClick:me,className:"rounded p-1 hover:bg-muted transition-colors","aria-label":"\uC9C0\uC6B0\uAE30",children:jsx(l,{name:"close",className:"h-4 w-4 text-muted-foreground"})}):jsx(l,{name:"chevronDown",className:"h-4 w-4 text-muted-foreground"})})]}),c&&jsx("div",{ref:U,id:"autocomplete-list",role:"listbox",className:a("absolute z-50 w-full mt-1 rounded-lg border shadow-lg","bg-popover text-popover-foreground","border-border","overflow-hidden"),style:{maxHeight:`${i}px`},children:jsx("div",{className:"overflow-y-auto",style:{maxHeight:`${i}px`},children:k.length===0?jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:l$1}):k.map((v,E)=>{let O=S===E,X=n===v.value;return jsx("div",{role:"option","aria-selected":X,onClick:()=>ue(v),onMouseEnter:()=>R(E),className:a("px-4 py-3 cursor-pointer transition-colors","hover:bg-muted",O&&"bg-primary/10",X&&"bg-primary/15"),children:jsxs("div",{className:"flex items-center gap-3",children:[v.icon&&jsx("div",{className:"flex-shrink-0 text-muted-foreground",children:v.icon}),jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("p",{className:"text-sm font-medium text-foreground",children:v.label}),X&&jsx(l,{name:"check",className:"h-4 w-4 text-primary flex-shrink-0"})]}),v.description&&jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:v.description})]})]})},v.value)})})})]})});$e.displayName="Autocomplete";var gt={gray:["#f9fafb","#f3f4f6","#e5e7eb","#d1d5db","#9ca3af","#6b7280","#4b5563","#374151","#1f2937","#111827"],red:["#fef2f2","#fee2e2","#fecaca","#fca5a5","#f87171","#ef4444","#dc2626","#b91c1c","#991b1b","#7f1d1d"],orange:["#fff7ed","#ffedd5","#fed7aa","#fdba74","#fb923c","#f97316","#ea580c","#c2410c","#9a3412","#7c2d12"],amber:["#fffbeb","#fef3c7","#fde68a","#fcd34d","#fbbf24","#f59e0b","#d97706","#b45309","#92400e","#78350f"],yellow:["#fefce8","#fef9c3","#fef08a","#fde047","#facc15","#eab308","#ca8a04","#a16207","#854d0e","#713f12"],lime:["#f7fee7","#ecfccb","#d9f99d","#bef264","#a3e635","#84cc16","#65a30d","#4d7c0f","#3f6212","#365314"],green:["#f0fdf4","#dcfce7","#bbf7d0","#86efac","#4ade80","#22c55e","#16a34a","#15803d","#166534","#14532d"],emerald:["#ecfdf5","#d1fae5","#a7f3d0","#6ee7b7","#34d399","#10b981","#059669","#047857","#065f46","#064e3b"],teal:["#f0fdfa","#ccfbf1","#99f6e4","#5eead4","#2dd4bf","#14b8a6","#0d9488","#0f766e","#115e59","#134e4a"],cyan:["#ecfeff","#cffafe","#a5f3fc","#67e8f9","#22d3ee","#06b6d4","#0891b2","#0e7490","#155e75","#164e63"],sky:["#f0f9ff","#e0f2fe","#bae6fd","#7dd3fc","#38bdf8","#0ea5e9","#0284c7","#0369a1","#075985","#0c4a6e"],blue:["#eff6ff","#dbeafe","#bfdbfe","#93c5fd","#60a5fa","#3b82f6","#2563eb","#1d4ed8","#1e40af","#1e3a8a"],indigo:["#eef2ff","#e0e7ff","#c7d2fe","#a5b4fc","#818cf8","#6366f1","#4f46e5","#4338ca","#3730a3","#312e81"],violet:["#f5f3ff","#ede9fe","#ddd6fe","#c4b5fd","#a78bfa","#8b5cf6","#7c3aed","#6d28d9","#5b21b6","#4c1d95"],purple:["#faf5ff","#f3e8ff","#e9d5ff","#d8b4fe","#c084fc","#a855f7","#9333ea","#7e22ce","#6b21a8","#581c87"],fuchsia:["#fdf4ff","#fae8ff","#f5d0fe","#f0abfc","#e879f9","#d946ef","#c026d3","#a21caf","#86198f","#701a75"],pink:["#fdf2f8","#fce7f3","#fbcfe8","#f9a8d4","#f472b6","#ec4899","#db2777","#be185d","#9d174d","#831843"],rose:["#fff1f2","#ffe4e6","#fecdd3","#fda4af","#fb7185","#f43f5e","#e11d48","#be123c","#9f1239","#881337"]},bt=["#000000","#ffffff","transparent"];function ie(e){let n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!n)return [0,100,50];let t=parseInt(n[1],16)/255,a=parseInt(n[2],16)/255,u=parseInt(n[3],16)/255,d=Math.max(t,a,u),r=Math.min(t,a,u),i=0,o=0,b=(d+r)/2;if(d!==r){let m=d-r;switch(o=b>.5?m/(2-d-r):m/(d+r),d){case t:i=((a-u)/m+(a<u?6:0))/6;break;case a:i=((u-t)/m+2)/6;break;case u:i=((t-a)/m+4)/6;break}}return [Math.round(i*360),Math.round(o*100),Math.round(b*100)]}function le(e,n,t){n/=100,t/=100;let a=n*Math.min(t,1-t),u=d=>{let r=(d+e/30)%12,i=t-a*Math.max(Math.min(r-3,9-r,1),-1);return Math.round(255*i).toString(16).padStart(2,"0")};return `#${u(0)}${u(8)}${u(4)}`}function we(e){return /^#[0-9A-Fa-f]{6}$/.test(e)||e==="transparent"}function ht({hue:e$1,saturation:n,lightness:t,onChange:a,disabled:u}){let d=useRef(null),r=useRef(false),i=useCallback((l,D)=>{if(!d.current||u)return;let p=d.current.getBoundingClientRect(),w=Math.max(0,Math.min(1,(l-p.left)/p.width)),h=Math.max(0,Math.min(1,(D-p.top)/p.height)),c=Math.round(w*100),x=Math.round((1-h)*100);a(c,x);},[a,u]),o=l=>{u||(r.current=true,i(l.clientX,l.clientY));};useEffect(()=>{let l=p=>{r.current&&i(p.clientX,p.clientY);},D=()=>{r.current=false;};return window.addEventListener("mousemove",l),window.addEventListener("mouseup",D),()=>{window.removeEventListener("mousemove",l),window.removeEventListener("mouseup",D);}},[i]);let b=n,m=100-t;return jsx("div",{ref:d,className:e("relative w-full h-28 rounded-md overflow-hidden",u?"opacity-50 cursor-not-allowed":"cursor-crosshair"),style:{background:`
3
3
  linear-gradient(to top, #000, transparent),
4
4
  linear-gradient(to right, #fff, hsl(${e$1}, 100%, 50%))
5
- `},onMouseDown:o,children:jsx("div",{className:"absolute w-4 h-4 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-md pointer-events-none",style:{left:`${b}%`,top:`${m}%`,background:le(e$1,n,t)}})})}function ht({hue:e$1,onChange:n,disabled:t}){return jsx("div",{className:"relative",children:jsx("input",{type:"range",min:"0",max:"360",value:e$1,disabled:t,onChange:a=>n(Number(a.target.value)),className:e("w-full h-3 rounded-md appearance-none cursor-pointer","[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3.5 [&::-webkit-slider-thumb]:h-3.5","[&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white","[&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-current","[&::-webkit-slider-thumb]:shadow-md [&::-webkit-slider-thumb]:cursor-pointer","[&::-moz-range-thumb]:w-3.5 [&::-moz-range-thumb]:h-3.5","[&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-white","[&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-current","[&::-moz-range-thumb]:shadow-md [&::-moz-range-thumb]:cursor-pointer",t&&"opacity-50 cursor-not-allowed"),style:{background:`linear-gradient(to right,
5
+ `},onMouseDown:o,children:jsx("div",{className:"absolute w-4 h-4 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-md pointer-events-none",style:{left:`${b}%`,top:`${m}%`,background:le(e$1,n,t)}})})}function vt({hue:e$1,onChange:n,disabled:t}){return jsx("div",{className:"relative",children:jsx("input",{type:"range",min:"0",max:"360",value:e$1,disabled:t,onChange:a=>n(Number(a.target.value)),className:e("w-full h-3 rounded-md appearance-none cursor-pointer","[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3.5 [&::-webkit-slider-thumb]:h-3.5","[&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white","[&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-current","[&::-webkit-slider-thumb]:shadow-md [&::-webkit-slider-thumb]:cursor-pointer","[&::-moz-range-thumb]:w-3.5 [&::-moz-range-thumb]:h-3.5","[&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-white","[&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-current","[&::-moz-range-thumb]:shadow-md [&::-moz-range-thumb]:cursor-pointer",t&&"opacity-50 cursor-not-allowed"),style:{background:`linear-gradient(to right,
6
6
  hsl(0, 100%, 50%), hsl(60, 100%, 50%), hsl(120, 100%, 50%),
7
7
  hsl(180, 100%, 50%), hsl(240, 100%, 50%), hsl(300, 100%, 50%), hsl(360, 100%, 50%)
8
- )`,color:`hsl(${e$1}, 100%, 50%)`}})})}function vt({currentColor:e$1,onColorSelect:n,disabled:t}){return jsxs("div",{className:"space-y-2",children:[jsx("div",{className:"space-y-0.5",children:Object.entries(pt).map(([a,u])=>jsx("div",{className:"flex gap-0.5",children:u.map((d,r)=>jsx("button",{type:"button",disabled:t,className:e("flex-1 aspect-square rounded-[2px] transition-transform",!t&&"hover:scale-110 hover:z-10",e$1.toLowerCase()===d.toLowerCase()&&"ring-1 ring-ring ring-offset-1",t&&"opacity-50 cursor-not-allowed"),style:{background:d},onClick:()=>n(d),title:`${a}-${(r+1)*100}`},`${a}-${r}`))},a))}),jsxs("div",{className:"flex gap-1 pt-1 border-t border-border",children:[gt.map(a=>jsx("button",{type:"button",disabled:t,className:e("w-6 h-6 rounded-sm border border-border/50 transition-transform",!t&&"hover:scale-110",e$1===a&&"ring-1 ring-ring ring-offset-1",t&&"opacity-50 cursor-not-allowed"),style:{background:a==="transparent"?"repeating-conic-gradient(#ccc 0% 25%, transparent 0% 50%) 50% / 8px 8px":a},onClick:()=>n(a),title:a},a)),jsx("span",{className:"flex-1 text-[10px] text-muted-foreground self-center text-right",children:"Black / White / Transparent"})]})]})}function xt({h:e$1,s:n,l:t,hexInput:a,onHslChange:u,onHexInputChange:d,disabled:r}){let i=le(e$1,n,t);return jsxs("div",{className:"space-y-3",children:[jsx(bt,{hue:e$1,saturation:n,lightness:t,onChange:(o,b)=>u(e$1,o,b),disabled:r}),jsx(ht,{hue:e$1,onChange:o=>u(o,n,t),disabled:r}),jsxs("div",{className:"flex gap-2 items-center",children:[jsx("div",{className:"w-10 h-10 rounded-md border border-border shadow-inner flex-shrink-0",style:{background:i}}),jsx("input",{type:"text",value:a,onChange:d,disabled:r,className:e("flex-1 px-3 py-2 text-sm rounded-md border bg-background font-mono","focus:outline-none focus:ring-1 focus:ring-ring",!Ne(a)&&"border-destructive",r&&"opacity-50 cursor-not-allowed"),placeholder:"#000000",maxLength:7})]}),jsxs("div",{className:"flex gap-2 text-[10px] text-muted-foreground",children:[jsxs("span",{children:["H: ",e$1,"\xB0"]}),jsxs("span",{children:["S: ",n,"%"]}),jsxs("span",{children:["L: ",t,"%"]})]})]})}var Ye=V.forwardRef(({value:e$1,onChange:n,className:t,disabled:a=false},u)=>{let[d,r]=useState("tailwind"),[i,o,b]=ie(e$1||"#3b82f6"),[m,l]=useState(i),[D,g]=useState(o),[w,h]=useState(b),[c,x]=useState(e$1||"#3b82f6");useEffect(()=>{if(Ne(e$1)){let[E,R,f]=ie(e$1);l(E),g(R),h(f),x(e$1);}},[e$1]);let T=useCallback((E,R,f)=>{l(E),g(R),h(f);let y=le(E,R,f);x(y),n(y);},[n]),N=E=>{if(a)return;let R=E.target.value;if(R.startsWith("#")||(R="#"+R),x(R),Ne(R)){let[f,y,M]=ie(R);l(f),g(y),h(M),n(R);}},k=E=>{if(a)return;if(E==="transparent"){x("transparent"),n("transparent");return}let[R,f,y]=ie(E);l(R),g(f),h(y),x(E),n(E);},L=le(m,D,w);return jsxs("div",{ref:u,className:e("space-y-2",t),children:[jsxs("div",{className:"flex gap-1 p-0.5 bg-muted/50 rounded-md",children:[jsx("button",{type:"button",disabled:a,onClick:()=>r("tailwind"),className:e("flex-1 px-2 py-1 text-xs font-medium rounded transition-colors",d==="tailwind"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",a&&"opacity-50 cursor-not-allowed"),children:"Tailwind"}),jsx("button",{type:"button",disabled:a,onClick:()=>r("custom"),className:e("flex-1 px-2 py-1 text-xs font-medium rounded transition-colors",d==="custom"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",a&&"opacity-50 cursor-not-allowed"),children:"Custom"})]}),jsxs("div",{className:"flex items-center gap-2 px-1",children:[jsx("div",{className:"w-6 h-6 rounded border border-border shadow-inner flex-shrink-0",style:{background:c==="transparent"?"repeating-conic-gradient(#ccc 0% 25%, transparent 0% 50%) 50% / 8px 8px":L}}),jsx("span",{className:"text-xs font-mono text-muted-foreground truncate",children:c==="transparent"?"transparent":L})]}),d==="tailwind"?jsx(vt,{currentColor:c,onColorSelect:k,disabled:a}):jsx(xt,{h:m,s:D,l:w,hexInput:c,onHslChange:T,onHexInputChange:N,disabled:a})]})});Ye.displayName="ColorPicker";export{Oe as Autocomplete,Ye as ColorPicker,He as DatePicker,Re as Form,Qe as FormControl,Le as FormField,Te as FormGroup,Pe as Radio,Se as Select,Ce as SelectOption,Ie as Slider,$e as Upload,tt as useFormValidation};//# sourceMappingURL=form.mjs.map
8
+ )`,color:`hsl(${e$1}, 100%, 50%)`}})})}function xt({currentColor:e$1,onColorSelect:n,disabled:t}){return jsxs("div",{className:"space-y-2",children:[jsx("div",{className:"space-y-0.5",children:Object.entries(gt).map(([a,u])=>jsx("div",{className:"flex gap-0.5",children:u.map((d,r)=>jsx("button",{type:"button",disabled:t,className:e("flex-1 aspect-square rounded-[2px] transition-transform",!t&&"hover:scale-110 hover:z-10",e$1.toLowerCase()===d.toLowerCase()&&"ring-1 ring-ring ring-offset-1",t&&"opacity-50 cursor-not-allowed"),style:{background:d},onClick:()=>n(d),title:`${a}-${(r+1)*100}`},`${a}-${r}`))},a))}),jsxs("div",{className:"flex gap-1 pt-1 border-t border-border",children:[bt.map(a=>jsx("button",{type:"button",disabled:t,className:e("w-6 h-6 rounded-sm border border-border/50 transition-transform",!t&&"hover:scale-110",e$1===a&&"ring-1 ring-ring ring-offset-1",t&&"opacity-50 cursor-not-allowed"),style:{background:a==="transparent"?"repeating-conic-gradient(#ccc 0% 25%, transparent 0% 50%) 50% / 8px 8px":a},onClick:()=>n(a),title:a},a)),jsx("span",{className:"flex-1 text-[10px] text-muted-foreground self-center text-right",children:"Black / White / Transparent"})]})]})}function yt({h:e$1,s:n,l:t,hexInput:a,onHslChange:u,onHexInputChange:d,disabled:r}){let i=le(e$1,n,t);return jsxs("div",{className:"space-y-3",children:[jsx(ht,{hue:e$1,saturation:n,lightness:t,onChange:(o,b)=>u(e$1,o,b),disabled:r}),jsx(vt,{hue:e$1,onChange:o=>u(o,n,t),disabled:r}),jsxs("div",{className:"flex gap-2 items-center",children:[jsx("div",{className:"w-10 h-10 rounded-md border border-border shadow-inner flex-shrink-0",style:{background:i}}),jsx("input",{type:"text",value:a,onChange:d,disabled:r,className:e("flex-1 px-3 py-2 text-sm rounded-md border bg-background font-mono","focus:outline-none focus:ring-1 focus:ring-ring",!we(a)&&"border-destructive",r&&"opacity-50 cursor-not-allowed"),placeholder:"#000000",maxLength:7})]}),jsxs("div",{className:"flex gap-2 text-[10px] text-muted-foreground",children:[jsxs("span",{children:["H: ",e$1,"\xB0"]}),jsxs("span",{children:["S: ",n,"%"]}),jsxs("span",{children:["L: ",t,"%"]})]})]})}var ze=V.forwardRef(({value:e$1,onChange:n,className:t,disabled:a=false},u)=>{let[d,r]=useState("tailwind"),[i,o,b]=ie(e$1||"#3b82f6"),[m,l]=useState(i),[D,p]=useState(o),[w,h]=useState(b),[c,x]=useState(e$1||"#3b82f6");useEffect(()=>{if(we(e$1)){let[S,R,f]=ie(e$1);l(S),p(R),h(f),x(e$1);}},[e$1]);let T=useCallback((S,R,f)=>{l(S),p(R),h(f);let y=le(S,R,f);x(y),n(y);},[n]),N=S=>{if(a)return;let R=S.target.value;if(R.startsWith("#")||(R="#"+R),x(R),we(R)){let[f,y,M]=ie(R);l(f),p(y),h(M),n(R);}},k=S=>{if(a)return;if(S==="transparent"){x("transparent"),n("transparent");return}let[R,f,y]=ie(S);l(R),p(f),h(y),x(S),n(S);},L=le(m,D,w);return jsxs("div",{ref:u,className:e("space-y-2",t),children:[jsxs("div",{className:"flex gap-1 p-0.5 bg-muted/50 rounded-md",children:[jsx("button",{type:"button",disabled:a,onClick:()=>r("tailwind"),className:e("flex-1 px-2 py-1 text-xs font-medium rounded transition-colors",d==="tailwind"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",a&&"opacity-50 cursor-not-allowed"),children:"Tailwind"}),jsx("button",{type:"button",disabled:a,onClick:()=>r("custom"),className:e("flex-1 px-2 py-1 text-xs font-medium rounded transition-colors",d==="custom"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",a&&"opacity-50 cursor-not-allowed"),children:"Custom"})]}),jsxs("div",{className:"flex items-center gap-2 px-1",children:[jsx("div",{className:"w-6 h-6 rounded border border-border shadow-inner flex-shrink-0",style:{background:c==="transparent"?"repeating-conic-gradient(#ccc 0% 25%, transparent 0% 50%) 50% / 8px 8px":L}}),jsx("span",{className:"text-xs font-mono text-muted-foreground truncate",children:c==="transparent"?"transparent":L})]}),d==="tailwind"?jsx(xt,{currentColor:c,onColorSelect:k,disabled:a}):jsx(yt,{h:m,s:D,l:w,hexInput:c,onHslChange:T,onHexInputChange:N,disabled:a})]})});ze.displayName="ColorPicker";export{$e as Autocomplete,ze as ColorPicker,Ie as DatePicker,De as Form,et as FormControl,Re as FormField,Le as FormGroup,Fe as Radio,Se as Select,Ce as SelectOption,Pe as Slider,He as Upload,rt as useFormValidation};//# sourceMappingURL=form.mjs.map
9
9
  //# sourceMappingURL=form.mjs.map