@hua-labs/ui 2.0.1 → 2.0.2

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 (118) hide show
  1. package/README.md +182 -67
  2. package/dist/{Switch-O4TpMKfQ.d.mts → Switch-Dzm5TLR3.d.mts} +1 -1
  3. package/dist/advanced/dashboard.d.ts.map +1 -1
  4. package/dist/advanced-dashboard.js +1 -1
  5. package/dist/advanced-dashboard.js.map +1 -1
  6. package/dist/advanced-dashboard.mjs +1 -1
  7. package/dist/advanced-motion.js +5 -5
  8. package/dist/advanced-motion.js.map +1 -1
  9. package/dist/advanced-motion.mjs +1 -1
  10. package/dist/advanced.js +7 -7
  11. package/dist/advanced.js.map +1 -1
  12. package/dist/advanced.mjs +1 -1
  13. package/dist/{chunk-ECLIPN34.mjs → chunk-COR6CDMA.mjs} +3 -3
  14. package/dist/{chunk-ECLIPN34.mjs.map → chunk-COR6CDMA.mjs.map} +1 -1
  15. package/dist/chunk-HN5LSP6L.mjs +3 -0
  16. package/dist/chunk-HN5LSP6L.mjs.map +1 -0
  17. package/dist/{chunk-T3GU5BJ3.mjs → chunk-LOYAJIWO.mjs} +2 -2
  18. package/dist/{chunk-T3GU5BJ3.mjs.map → chunk-LOYAJIWO.mjs.map} +1 -1
  19. package/dist/{chunk-TOANBEPN.mjs → chunk-NBJUE7NR.mjs} +2 -2
  20. package/dist/{chunk-TOANBEPN.mjs.map → chunk-NBJUE7NR.mjs.map} +1 -1
  21. package/dist/{chunk-PQ3DBOMK.mjs → chunk-QQCELXFD.mjs} +2 -2
  22. package/dist/{chunk-PQ3DBOMK.mjs.map → chunk-QQCELXFD.mjs.map} +1 -1
  23. package/dist/{chunk-OI66ZLUB.mjs → chunk-UWHCM3S6.mjs} +2 -2
  24. package/dist/{chunk-OI66ZLUB.mjs.map → chunk-UWHCM3S6.mjs.map} +1 -1
  25. package/dist/{chunk-MYFMKCYX.mjs → chunk-XV3Y7QVU.mjs} +2 -2
  26. package/dist/{chunk-MYFMKCYX.mjs.map → chunk-XV3Y7QVU.mjs.map} +1 -1
  27. package/dist/components/Avatar.d.ts +1 -1
  28. package/dist/components/Avatar.d.ts.map +1 -1
  29. package/dist/components/Badge.d.ts +1 -1
  30. package/dist/components/Badge.d.ts.map +1 -1
  31. package/dist/components/Button.variants.d.ts +1 -1
  32. package/dist/components/Button.variants.d.ts.map +1 -1
  33. package/dist/components/Card.d.ts +1 -1
  34. package/dist/components/Card.d.ts.map +1 -1
  35. package/dist/components/CodeBlock.d.ts +1 -1
  36. package/dist/components/Container.d.ts +1 -1
  37. package/dist/components/Container.d.ts.map +1 -1
  38. package/dist/components/Grid.d.ts +1 -1
  39. package/dist/components/Grid.d.ts.map +1 -1
  40. package/dist/components/Icon/Icon.d.ts.map +1 -1
  41. package/dist/components/Input.d.ts +1 -1
  42. package/dist/components/Input.d.ts.map +1 -1
  43. package/dist/components/Label.d.ts +1 -1
  44. package/dist/components/Label.d.ts.map +1 -1
  45. package/dist/components/Link.d.ts +1 -1
  46. package/dist/components/Link.d.ts.map +1 -1
  47. package/dist/components/Panel.d.ts +1 -1
  48. package/dist/components/Panel.d.ts.map +1 -1
  49. package/dist/components/Progress.d.ts +2 -2
  50. package/dist/components/Progress.d.ts.map +1 -1
  51. package/dist/components/Select.d.ts +1 -1
  52. package/dist/components/Select.d.ts.map +1 -1
  53. package/dist/components/Skeleton.d.ts +1 -1
  54. package/dist/components/Skeleton.d.ts.map +1 -1
  55. package/dist/components/Stack.d.ts +1 -1
  56. package/dist/components/Stack.d.ts.map +1 -1
  57. package/dist/components/Textarea.d.ts +1 -1
  58. package/dist/components/Textarea.d.ts.map +1 -1
  59. package/dist/components/icons/essential.d.ts +68 -0
  60. package/dist/components/icons/essential.d.ts.map +1 -0
  61. package/dist/components/icons-bold/essential.d.ts +68 -0
  62. package/dist/components/icons-bold/essential.d.ts.map +1 -0
  63. package/dist/data.d.mts +1 -1
  64. package/dist/data.js.map +1 -1
  65. package/dist/data.mjs.map +1 -1
  66. package/dist/form.d.mts +1 -1
  67. package/dist/form.js +1 -1
  68. package/dist/form.js.map +1 -1
  69. package/dist/form.mjs +1 -1
  70. package/dist/iconsax-extended.d.ts +19 -0
  71. package/dist/iconsax-extended.d.ts.map +1 -0
  72. package/dist/iconsax-extended.js +3 -0
  73. package/dist/iconsax-extended.js.map +1 -0
  74. package/dist/iconsax-extended.mjs +4 -0
  75. package/dist/iconsax-extended.mjs.map +1 -0
  76. package/dist/iconsax.d.ts +10 -11
  77. package/dist/iconsax.d.ts.map +1 -1
  78. package/dist/iconsax.js +2 -2
  79. package/dist/iconsax.js.map +1 -1
  80. package/dist/iconsax.mjs +2 -2
  81. package/dist/iconsax.mjs.map +1 -1
  82. package/dist/index.d.mts +2 -2
  83. package/dist/index.js +4 -4
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.mjs +1 -1
  86. package/dist/interactive.js +1 -1
  87. package/dist/interactive.js.map +1 -1
  88. package/dist/interactive.mjs +1 -1
  89. package/dist/lib/iconsax-loader.d.ts +15 -45
  90. package/dist/lib/iconsax-loader.d.ts.map +1 -1
  91. package/dist/navigation.js +2 -2
  92. package/dist/navigation.js.map +1 -1
  93. package/dist/navigation.mjs +1 -1
  94. package/dist/overlay.js +1 -1
  95. package/dist/overlay.js.map +1 -1
  96. package/dist/overlay.mjs +1 -1
  97. package/dist/sdui.js +3 -3
  98. package/dist/sdui.js.map +1 -1
  99. package/dist/sdui.mjs +1 -1
  100. package/package.json +18 -7
  101. package/src/components/icons/essential.ts +195 -0
  102. package/src/components/icons-bold/essential.ts +195 -0
  103. package/LICENSE +0 -21
  104. package/dist/chunk-AANHUMJ2.mjs +0 -3
  105. package/dist/chunk-AANHUMJ2.mjs.map +0 -1
  106. package/dist/components/icons/Frame2.d.ts +0 -4
  107. package/dist/components/icons/Frame2.d.ts.map +0 -1
  108. package/dist/components/icons/Group.d.ts +0 -4
  109. package/dist/components/icons/Group.d.ts.map +0 -1
  110. package/dist/components/icons/Group1.d.ts +0 -4
  111. package/dist/components/icons/Group1.d.ts.map +0 -1
  112. package/dist/components/icons/GroupCopy.d.ts +0 -4
  113. package/dist/components/icons/GroupCopy.d.ts.map +0 -1
  114. package/dist/iconsax.d.mts +0 -160
  115. package/src/components/icons/Frame2.tsx +0 -28
  116. package/src/components/icons/Group.tsx +0 -35
  117. package/src/components/icons/Group1.tsx +0 -21
  118. package/src/components/icons/GroupCopy.tsx +0 -21
package/dist/form.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import {a as a$2}from'./chunk-LPAG7DCA.mjs';export{b as Checkbox,a as Textarea}from'./chunk-OI66ZLUB.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-AANHUMJ2.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-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:`
3
3
  linear-gradient(to top, #000, transparent),
4
4
  linear-gradient(to right, #fff, hsl(${e$1}, 100%, 50%))
5
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,
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Iconsax Extended Icons Entry Point
3
+ *
4
+ * 모든 iconsax 아이콘을 즉시 로드합니다 (에센셜 + 확장).
5
+ * 갤러리, 관리자 등 전체 아이콘이 필요한 경우 사용:
6
+ *
7
+ * import '@hua-labs/ui/iconsax-extended'
8
+ *
9
+ * 일반 사용은 '@hua-labs/ui/iconsax' (에센셜만, ~80% 경량)
10
+ */
11
+ export { ICONSAX_ICONS, getIconsaxIcon } from './components/icons';
12
+ export type { IconsaxIcon } from './components/icons';
13
+ export { ICONSAX_BOLD_ICONS, getIconsaxBoldIcon } from './components/icons-bold';
14
+ export type { IconsaxBoldIcon } from './components/icons-bold';
15
+ export { IconsaxGallery, ICONSAX_ICON_NAMES } from './components/IconsaxGallery';
16
+ export type { IconsaxGalleryProps, IconsaxIconName } from './components/IconsaxGallery';
17
+ export { loadIconsaxIcon, getIconsaxIconSync, preloadIconsaxIcons, preloadCommonIconsaxIcons, isIconsaxIconCached, createLazyIconsaxIcon, registerExtendedIcons, } from './lib/iconsax-loader';
18
+ export type { IconsaxIconComponent } from './lib/iconsax-loader';
19
+ //# sourceMappingURL=iconsax-extended.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconsax-extended.d.ts","sourceRoot":"","sources":["../src/iconsax-extended.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChF,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAGvF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA"}