hans-ui-design-lib 0.0.70 → 0.0.72

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.
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react");var M={exports:{}},j={};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react");var M={exports:{}},j={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,48 +6,52 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Y;function ae(){if(Y)return j;Y=1;var s=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function h(f,t,o){var l=null;if(o!==void 0&&(l=""+o),t.key!==void 0&&(l=""+t.key),"key"in t){o={};for(var u in t)u!=="key"&&(o[u]=t[u])}else o=t;return t=o.ref,{$$typeof:s,type:f,key:l,ref:t!==void 0?t:null,props:o}}return j.Fragment=i,j.jsx=h,j.jsxs=h,j}var G;function ie(){return G||(G=1,M.exports=ae()),M.exports}var n=ie();const Q=a.memo(s=>{const{label:i="",buttonId:h="hans-button",buttonSize:f="medium",buttonColor:t="primary",buttonVariant:o="default",buttonType:l="button",customClasses:u="",disabled:g=!1,children:b,...p}=s;return n.jsx("button",{id:h,type:l,disabled:g,className:`
9
+ */var Q;function ue(){if(Q)return j;Q=1;var s=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function d(m,r,i){var l=null;if(i!==void 0&&(l=""+i),r.key!==void 0&&(l=""+r.key),"key"in r){i={};for(var c in r)c!=="key"&&(i[c]=r[c])}else i=r;return r=i.ref,{$$typeof:s,type:m,key:l,ref:r!==void 0?r:null,props:i}}return j.Fragment=o,j.jsx=d,j.jsxs=d,j}var W;function de(){return W||(W=1,M.exports=ue()),M.exports}var n=de();const X=t.memo(s=>{const{label:o="",buttonId:d="hans-button",buttonSize:m="medium",buttonColor:r="primary",buttonVariant:i="default",buttonType:l="button",customClasses:c="",disabled:g=!1,children:f,...h}=s;return n.jsx("button",{id:d,type:l,disabled:g,className:`
10
10
  hans-button
11
- hans-button-${f}
12
- hans-button-${t}
13
- hans-button-${o}
14
- ${u}
15
- `,...p,children:n.jsx("slot",{children:b??(i&&n.jsx("span",{children:i}))})})});Q.displayName="HansButton";const V=a.memo(s=>{const{label:i="",labelColor:h="base",placeholder:f="",value:t,inputId:o="hans-input",inputColor:l="base",inputSize:u="medium",inputType:g="text",message:b="",messageColor:p="base",customClasses:x="",disabled:q=!1,leftIcon:c,rightIcon:d,children:I,...E}=s,A=typeof t>"u"?{}:{value:t};return n.jsxs("div",{className:"hans-input-div",children:[I,i?n.jsx("label",{htmlFor:o,className:`
11
+ hans-button-${m}
12
+ hans-button-${r}
13
+ hans-button-${i}
14
+ ${c}
15
+ `,...h,children:n.jsx("slot",{children:f??(o&&n.jsx("span",{children:o}))})})});X.displayName="HansButton";const V=t.memo(s=>{const{label:o="",labelColor:d="base",placeholder:m="",value:r,inputId:i="hans-input",inputColor:l="base",inputSize:c="medium",inputType:g="text",message:f="",messageColor:h="base",customClasses:v="",disabled:T=!1,leftIcon:u,rightIcon:p,children:I,...q}=s,z=typeof r>"u"?{}:{value:r};return n.jsxs("div",{className:"hans-input-div",children:[I,o?n.jsx("label",{htmlFor:i,className:`
16
16
  hans-input-label
17
- hans-input-label-${h}
18
- `,children:i}):null,n.jsxs("div",{className:"hans-input-field",children:[c?n.jsx("span",{className:`
17
+ hans-input-label-${d}
18
+ `,children:o}):null,n.jsxs("div",{className:"hans-input-field",children:[u?n.jsx("span",{className:`
19
19
  hans-input-icon
20
20
  hans-input-icon-left
21
21
  hans-input-icon-${l}
22
- `,children:c}):null,n.jsx("input",{id:o,type:g,disabled:q,placeholder:f,className:`
22
+ `,children:u}):null,n.jsx("input",{id:i,type:g,disabled:T,placeholder:m,className:`
23
23
  hans-input
24
- hans-input-${u}
24
+ hans-input-${c}
25
25
  hans-input-${l}
26
- ${c?"hans-input-has-left-icon":""}
27
- ${d?"hans-input-has-right-icon":""}
28
- ${x}
29
- `,...A,...E}),d?n.jsx("span",{className:`
26
+ ${u?"hans-input-has-left-icon":""}
27
+ ${p?"hans-input-has-right-icon":""}
28
+ ${v}
29
+ `,...z,...q}),p?n.jsx("span",{className:`
30
30
  hans-input-icon
31
31
  hans-input-icon-right
32
32
  hans-input-icon-${l}
33
- `,children:d}):null]}),b?n.jsx("p",{className:`
33
+ `,children:p}):null]}),f?n.jsx("p",{className:`
34
34
  hans-input-message
35
- hans-input-message-${p}
36
- `,children:b}):null]})});V.displayName="HansInput";function F(s){return Object.keys(s)}const le={name:"string",iconSize:{type:"custom",ref:{}},customClasses:"string"},ue=F(le),W={Fa:()=>Promise.resolve().then(()=>require("./index-B8vGj59Y.cjs")),Md:()=>Promise.resolve().then(()=>require("./index-BniI3q7_.cjs")),Bi:()=>Promise.resolve().then(()=>require("./index-CzJEuaAC.cjs")),Ai:()=>Promise.resolve().then(()=>require("./index-DpGEmQKf.cjs")),Bs:()=>Promise.resolve().then(()=>require("./index-DOM24eP1.cjs")),Io:()=>Promise.resolve().then(()=>require("./index-DqJAPiPg.cjs")),Ri:()=>Promise.resolve().then(()=>require("./index-Cg9EwHiA.cjs")),Hi:()=>Promise.resolve().then(()=>require("./index-Cd4f2LU9.cjs")),Pi:()=>Promise.resolve().then(()=>require("./index-DgzbVFqs.cjs")),Tb:()=>Promise.resolve().then(()=>require("./index-BMJKTS9q.cjs")),Lu:()=>Promise.resolve().then(()=>require("./index-CsmLabva.cjs"))},T=a.memo(s=>{const{name:i,iconSize:h="medium",customClasses:f="",...t}=s,[o,l]=a.useState(null);return a.useEffect(()=>{let u=!0;if(!i)return;const g=i.slice(0,2),b=W[g];if(b)return(async()=>{try{const p=await b();if(!u)return;l(()=>p[i]||null)}catch(p){console.warn(`[HansUI] Error loading icon ${i}:`,p),u&&l(()=>null)}})(),()=>{u=!1}},[i]),o?n.jsx(o,{className:`
35
+ hans-input-message-${h}
36
+ `,children:f}):null]})});V.displayName="HansInput";function E(s){return Object.keys(s)}const pe={name:"string",iconSize:{type:"custom",ref:{}},customClasses:"string"},me=E(pe),Z={Fa:()=>Promise.resolve().then(()=>require("./index-B8vGj59Y.cjs")),Md:()=>Promise.resolve().then(()=>require("./index-BniI3q7_.cjs")),Bi:()=>Promise.resolve().then(()=>require("./index-CzJEuaAC.cjs")),Ai:()=>Promise.resolve().then(()=>require("./index-DpGEmQKf.cjs")),Bs:()=>Promise.resolve().then(()=>require("./index-DOM24eP1.cjs")),Io:()=>Promise.resolve().then(()=>require("./index-DqJAPiPg.cjs")),Ri:()=>Promise.resolve().then(()=>require("./index-Cg9EwHiA.cjs")),Hi:()=>Promise.resolve().then(()=>require("./index-Cd4f2LU9.cjs")),Pi:()=>Promise.resolve().then(()=>require("./index-DgzbVFqs.cjs")),Tb:()=>Promise.resolve().then(()=>require("./index-BMJKTS9q.cjs")),Lu:()=>Promise.resolve().then(()=>require("./index-CsmLabva.cjs"))},S=t.memo(s=>{const{name:o,iconSize:d="medium",customClasses:m="",...r}=s,[i,l]=t.useState(null);return t.useEffect(()=>{let c=!0;if(!o)return;const g=o.slice(0,2),f=Z[g];if(f)return(async()=>{try{const h=await f();if(!c)return;l(()=>h[o]||null)}catch(h){console.warn(`[HansUI] Error loading icon ${o}:`,h),c&&l(()=>null)}})(),()=>{c=!1}},[o]),i?n.jsx(i,{className:`
37
37
  hans-icon
38
- hans-icon-${h}
39
- ${f}
40
- `,...t}):n.jsx("span",{className:"hans-icon-loading"})});T.displayName="HansIcon";const ce=s=>Array.isArray(s)?s:typeof s=="string"&&s.length>0?[s]:[],$=s=>s.id??s.value,X=a.memo(s=>{const{label:i="",labelColor:h="base",placeholder:f="Select an option",inputId:t="hans-dropdown",inputColor:o="base",inputSize:l="medium",message:u="",messageColor:g="base",customClasses:b="",disabled:p=!1,options:x=[],selectionType:q="single",enableAutocomplete:c=!0,value:d,defaultValue:I,noOptionsText:E="No options",dropdownBackgroundColor:A="var(--white)",dropdownHoverColor:Z="var(--gray-100)",onChange:S,onSearch:_,onInputChange:J,...K}=s,y=q==="multi",[v,H]=a.useState(!1),[ee,U]=a.useState("down"),[N,P]=a.useState(""),[ne,D]=a.useState(()=>typeof d<"u"?d:typeof I<"u"?I:y?[]:""),C=a.useRef(null),L=a.useRef(null);a.useEffect(()=>{typeof d<"u"&&D(d)},[d]);const w=ce(typeof d<"u"?d:ne),R=a.useMemo(()=>x.filter(e=>w.includes($(e))),[x,w]),O=y?R.map(e=>e.label).join(", "):R[0]?.label??"";a.useEffect(()=>{!c||y||P(O)},[c,y,O]),a.useEffect(()=>{const e=r=>{const m=r.target;!C.current||!m||C.current.contains(m)||H(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]);const B=a.useMemo(()=>{if(!c||N.trim().length===0)return x;const e=N.toLowerCase();return x.filter(r=>r.label.toLowerCase().includes(e))},[c,x,N]);a.useEffect(()=>{if(!v)return;const e=requestAnimationFrame(()=>{if(!C.current||!L.current)return;const r=C.current.getBoundingClientRect(),m=L.current.getBoundingClientRect(),z=window.innerHeight-r.bottom,re=r.top;z<m.height&&re>m.height?U("up"):U("down")});return()=>cancelAnimationFrame(e)},[v,B.length]);const se=e=>{if(!c)return;const r=e.target.value;P(r),v||H(!0),_&&_(r),J&&J(e)},te=e=>{if(e.disabled||p)return;const r=$(e);if(y){const m=w.includes(r)?w.filter(z=>z!==r):[...w,r];typeof d>"u"&&D(m),S&&S(m),c&&P("");return}typeof d>"u"&&D(r),S&&S(r),c&&P(e.label),H(!1)},k=()=>{p||H(!0)},oe=c?N:O;return n.jsxs("div",{className:"hans-dropdown",ref:C,children:[i?n.jsx("label",{htmlFor:t,className:`
38
+ hans-icon-${d}
39
+ ${m}
40
+ `,...r}):n.jsx("span",{className:"hans-icon-loading"})});S.displayName="HansIcon";const he={small:"small",medium:"medium",large:"large"},_=t.memo(s=>{const{src:o="",alt:d="Avatar",avatarSize:m="medium",customClasses:r="",fallbackIconName:i="MdOutlineAccountCircle",...l}=s,[c,g]=t.useState(!1);t.useEffect(()=>{g(!1)},[o]);const f=!o||c;return n.jsx("div",{className:`
41
+ hans-avatar
42
+ hans-avatar-${m}
43
+ ${r}
44
+ `,"aria-label":d,children:f?n.jsx("span",{className:"hans-avatar-fallback",role:"img","aria-hidden":"true",children:n.jsx(S,{name:i,iconSize:he[m],customClasses:"hans-avatar-icon"})}):n.jsx("img",{src:o,alt:d,className:"hans-avatar-img",onError:()=>g(!0),...l})})});_.displayName="HansAvatar";const fe=s=>Array.isArray(s)?s:typeof s=="string"&&s.length>0?[s]:[],A=s=>s.id??s.value,K=t.memo(s=>{const{label:o="",labelColor:d="base",placeholder:m="Select an option",inputId:r="hans-dropdown",inputColor:i="base",inputSize:l="medium",message:c="",messageColor:g="base",customClasses:f="",disabled:h=!1,options:v=[],selectionType:T="single",enableAutocomplete:u=!0,value:p,defaultValue:I,noOptionsText:q="No options",dropdownBackgroundColor:z="var(--white)",dropdownHoverColor:ee="var(--gray-100)",onSearch:J,onChange:H,onInputChange:U,...ne}=s,x=T==="multi",[y,N]=t.useState(!1),[se,Y]=t.useState("down"),[P,R]=t.useState(""),[te,L]=t.useState(()=>typeof p<"u"?p:typeof I<"u"?I:x?[]:""),C=t.useRef(null),k=t.useRef(null),D=t.useRef(!1);t.useEffect(()=>{typeof p<"u"&&L(p)},[p]);const w=fe(typeof p<"u"?p:te),$=t.useMemo(()=>v.filter(e=>w.includes(A(e))),[v,w]),O=x?$.map(e=>e.label).join(", "):$[0]?.label??"";t.useEffect(()=>{!u||x||R(O)},[u,x,O]),t.useEffect(()=>{const e=a=>{const b=a.target;!C.current||!b||C.current.contains(b)||N(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]);const B=t.useMemo(()=>{if(!u||P.trim().length===0)return v;const e=P.toLowerCase();return v.filter(a=>a.label.toLowerCase().includes(e))},[u,v,P]);t.useEffect(()=>{if(!y)return;const e=requestAnimationFrame(()=>{if(!C.current||!k.current)return;const a=C.current.getBoundingClientRect(),b=k.current.getBoundingClientRect(),F=window.innerHeight-a.bottom,ce=a.top;F<b.height&&ce>b.height?Y("up"):Y("down")});return()=>cancelAnimationFrame(e)},[y,B.length]);const re=e=>{if(!u)return;const a=e.target.value;R(a),y||N(!0),J&&J(a),U&&U(e)},ae=e=>{if(e.disabled||h)return;const a=A(e);if(x){const b=w.includes(a)?w.filter(F=>F!==a):[...w,a];typeof p>"u"&&L(b),H&&H(b),u&&R("");return}typeof p>"u"&&L(a),H&&H(a),u&&R(e.label),N(!1)},G=(e,a)=>{if(!h){if(a==="focus"&&D.current){D.current=!1;return}a==="toggle"&&!e&&(D.current=!0),N(e)}},oe=()=>{G(!0,"focus")},ie=()=>{G(!y,"toggle")},le=u?P:O;return n.jsxs("div",{className:"hans-dropdown",ref:C,children:[o?n.jsx("label",{htmlFor:r,className:`
41
45
  hans-input-label
42
- hans-input-label-${h}
43
- `,children:i}):null,n.jsxs("div",{className:"hans-dropdown-field",onMouseDown:k,children:[n.jsx(V,{label:"",message:"",inputId:t,inputColor:o,inputSize:l,placeholder:f,customClasses:`hans-dropdown-input ${b}`,disabled:p,value:oe,onChange:se,onFocus:k,onClick:k,readOnly:!c,leftIcon:c?n.jsx(T,{name:"FaSearch",iconSize:"small"}):void 0,rightIcon:n.jsx(T,{name:v?"MdArrowDropUp":"MdArrowDropDown",iconSize:"small"}),...K}),v&&!p?n.jsx("ul",{ref:L,className:"hans-dropdown-list",role:"listbox","aria-multiselectable":y,"data-direction":ee,style:{"--hans-dropdown-bg":A,"--hans-dropdown-hover":Z},children:B.length===0?n.jsx("li",{className:"hans-dropdown-empty",children:E}):B.map(e=>{const r=$(e),m=w.includes(r);return n.jsxs("li",{role:"option","aria-selected":m,className:`
46
+ hans-input-label-${d}
47
+ `,children:o}):null,n.jsxs("div",{className:"hans-dropdown-field",children:[n.jsx(V,{label:"",message:"",inputId:r,inputColor:i,inputSize:l,placeholder:m,customClasses:`hans-dropdown-input ${f}`,disabled:h,value:le,onChange:re,onFocus:oe,onMouseDown:ie,readOnly:!u,leftIcon:u?n.jsx(S,{name:"FaSearch",iconSize:"small"}):void 0,rightIcon:n.jsx(S,{name:y?"MdArrowDropUp":"MdArrowDropDown",iconSize:"small"}),...ne}),y&&!h?n.jsx("ul",{ref:k,className:"hans-dropdown-list",role:"listbox","aria-multiselectable":x,"data-direction":se,style:{"--hans-dropdown-bg":z,"--hans-dropdown-hover":ee},children:B.length===0?n.jsx("li",{className:"hans-dropdown-empty",children:q}):B.map(e=>{const a=A(e),b=w.includes(a);return n.jsxs("li",{role:"option","aria-selected":b,className:`
44
48
  hans-dropdown-option
45
- ${m?"hans-dropdown-option-selected":""}
49
+ ${b?"hans-dropdown-option-selected":""}
46
50
  ${e.disabled?"hans-dropdown-option-disabled":""}
47
- `,onClick:()=>te(e),children:[e.imageSrc?n.jsx("img",{className:"hans-dropdown-option-image",src:e.imageSrc,alt:e.imageAlt??e.label}):null,n.jsx("span",{className:"hans-dropdown-option-label",children:e.label})]},r)})}):null]}),y&&R.length>0?n.jsx("div",{className:"hans-dropdown-selected",children:R.map(e=>n.jsx("span",{className:`
51
+ `,onClick:()=>ae(e),children:[e.imageSrc?n.jsx(_,{src:e.imageSrc,alt:e.imageAlt??e.label,avatarSize:"small"}):null,n.jsx("span",{className:"hans-dropdown-option-label",children:e.label})]},a)})}):null]}),x&&$.length>0?n.jsx("div",{className:"hans-dropdown-selected",children:$.map(e=>n.jsx("span",{className:`
48
52
  hans-dropdown-chip
49
- hans-dropdown-chip-${o}
50
- `,children:e.label},$(e)))}):null,u?n.jsx("p",{className:`
53
+ hans-dropdown-chip-${i}
54
+ `,children:e.label},A(e)))}):null,c?n.jsx("p",{className:`
51
55
  hans-input-message
52
56
  hans-input-message-${g}
53
- `,children:u}):null]})});X.displayName="HansDropdown";const de={label:"string",buttonId:"string",buttonSize:{type:"custom",ref:{}},buttonColor:{type:"custom",ref:{}},buttonVariant:{type:"custom",ref:{}},buttonType:{type:"custom",ref:{}},customClasses:"string",disabled:"boolean"},pe=F(de),me={label:"string",labelColor:{type:"custom",ref:{}},placeholder:"string",inputId:"string",inputColor:{type:"custom",ref:{}},inputSize:{type:"custom",ref:{}},message:"string",messageColor:{type:"custom",ref:{}},customClasses:"string",disabled:"boolean",options:{type:"custom",ref:{}},selectionType:{type:"custom",ref:{}},enableAutocomplete:"boolean",value:{type:"custom",ref:{}},defaultValue:{type:"custom",ref:{}},noOptionsText:"string",dropdownBackgroundColor:"string",dropdownHoverColor:"string"},he=F(me);exports.DynamicIconImports=W;exports.HansButton=Q;exports.HansButtonPropsList=pe;exports.HansDropdown=X;exports.HansDropdownPropsList=he;exports.HansIcon=T;exports.HansIconPropsList=ue;exports.HansInput=V;
57
+ `,children:c}):null]})});K.displayName="HansDropdown";const be={label:"string",buttonId:"string",buttonSize:{type:"custom",ref:{}},buttonColor:{type:"custom",ref:{}},buttonVariant:{type:"custom",ref:{}},buttonType:{type:"custom",ref:{}},customClasses:"string",disabled:"boolean"},ge=E(be),ve={label:"string",labelColor:{type:"custom",ref:{}},placeholder:"string",inputId:"string",inputColor:{type:"custom",ref:{}},inputSize:{type:"custom",ref:{}},message:"string",messageColor:{type:"custom",ref:{}},customClasses:"string",disabled:"boolean",options:{type:"custom",ref:{}},selectionType:{type:"custom",ref:{}},enableAutocomplete:"boolean",value:{type:"custom",ref:{}},defaultValue:{type:"custom",ref:{}},noOptionsText:"string",dropdownBackgroundColor:"string",dropdownHoverColor:"string"},xe=E(ve),ye={src:"string",alt:"string",avatarSize:{type:"custom",ref:{}},customClasses:"string",fallbackIconName:"string"},we=E(ye);exports.DynamicIconImports=Z;exports.HansAvatar=_;exports.HansAvatarPropsList=we;exports.HansButton=X;exports.HansButtonPropsList=ge;exports.HansDropdown=K;exports.HansDropdownPropsList=xe;exports.HansIcon=S;exports.HansIconPropsList=me;exports.HansInput=V;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-font-weight:initial;--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}*,:before,:after{box-sizing:border-box;font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}ol,ul{list-style:none}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;line-height:1.5}.hans-button{cursor:pointer;align-items:center;gap:calc(var(--spacing)*1);border-radius:3.40282e38px;display:flex}.hans-button:disabled,.hans-button[disabled]{cursor:not-allowed;opacity:.5}.hans-button:disabled>*{pointer-events:none}.hans-button-small{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*1)}.hans-button-medium{padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*2)}.hans-button-large{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*3)}.hans-button-base.hans-button-strong{background-color:var(--text-color);color:var(--background-color)}.hans-button-base.hans-button-default{background-color:var(--text-color);color:var(--white)}.hans-button-base.hans-button-neutral{background-color:var(--background-color);color:var(--text-color)}.hans-button-base.hans-button-outline{border-color:var(--text-color);color:var(--text-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-base.hans-button-transparent{color:var(--text-color);background-color:#0000}.hans-button-primary.hans-button-strong{background-color:var(--primary-strong-color);color:var(--primary-neutral-color)}.hans-button-primary.hans-button-default{background-color:var(--primary-default-color);color:var(--white)}.hans-button-primary.hans-button-neutral{background-color:var(--primary-neutral-color);color:var(--primary-strong-color)}.hans-button-primary.hans-button-outline{border-color:var(--primary-default-color);color:var(--primary-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-primary.hans-button-transparent{color:var(--primary-default-color);background-color:#0000}.hans-button-secondary.hans-button-strong{background-color:var(--secondary-strong-color);color:var(--secondary-neutral-color)}.hans-button-secondary.hans-button-default{background-color:var(--secondary-default-color);color:var(--white)}.hans-button-secondary.hans-button-neutral{background-color:var(--secondary-neutral-color);color:var(--secondary-strong-color)}.hans-button-secondary.hans-button-outline{border-color:var(--secondary-default-color);color:var(--secondary-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-secondary.hans-button-transparent{color:var(--secondary-default-color);background-color:#0000}.hans-button-success.hans-button-strong{background-color:var(--success-strong-color);color:var(--success-neutral-color)}.hans-button-success.hans-button-default{background-color:var(--success-default-color);color:var(--white)}.hans-button-success.hans-button-neutral{background-color:var(--success-neutral-color);color:var(--success-strong-color)}.hans-button-success.hans-button-outline{border-color:var(--success-default-color);color:var(--success-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-success.hans-button-transparent{color:var(--success-default-color);background-color:#0000}.hans-button-danger.hans-button-strong{background-color:var(--danger-strong-color);color:var(--danger-neutral-color)}.hans-button-danger.hans-button-default{background-color:var(--danger-default-color);color:var(--white)}.hans-button-danger.hans-button-neutral{background-color:var(--danger-neutral-color);color:var(--danger-strong-color)}.hans-button-danger.hans-button-outline{border-color:var(--danger-default-color);color:var(--danger-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-danger.hans-button-transparent{color:var(--danger-default-color);background-color:#0000}.hans-button-warning.hans-button-strong{background-color:var(--warning-strong-color);color:var(--warning-neutral-color)}.hans-button-warning.hans-button-default{background-color:var(--warning-default-color);color:var(--white)}.hans-button-warning.hans-button-neutral{background-color:var(--warning-neutral-color);color:var(--warning-strong-color)}.hans-button-warning.hans-button-outline{border-color:var(--warning-default-color);color:var(--warning-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-warning.hans-button-transparent{color:var(--warning-default-color);background-color:#0000}.hans-button-info.hans-button-strong{background-color:var(--info-strong-color);color:var(--info-neutral-color)}.hans-button-info.hans-button-default{background-color:var(--info-default-color);color:var(--white)}.hans-button-info.hans-button-neutral{background-color:var(--info-neutral-color);color:var(--info-strong-color)}.hans-button-info.hans-button-outline{border-color:var(--info-default-color);color:var(--info-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-info.hans-button-transparent{color:var(--info-default-color);background-color:#0000}.hans-input-div{flex-direction:column;display:flex}.hans-input-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.hans-input{border-radius:var(--radius-lg);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);color:var(--text-color);--tw-outline-style:none;background-color:#0000;border-width:1px;outline-style:none}.hans-input:focus{--tw-outline-style:none;outline-style:none}.hans-input:disabled,.hans-input[disabled]{cursor:not-allowed;opacity:.5}.hans-input-field{align-items:center;width:100%;display:flex;position:relative}.hans-input-icon{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);justify-content:center;align-items:center;display:flex;position:absolute;top:50%}.hans-input-icon-left{left:calc(var(--spacing)*2)}.hans-input-icon-right{right:calc(var(--spacing)*2)}.hans-input-has-left-icon{padding-left:calc(var(--spacing)*8)}.hans-input-has-right-icon{padding-right:calc(var(--spacing)*8)}.hans-input-icon-base{color:var(--text-color)}.hans-input-icon-primary{color:var(--primary-default-color)}.hans-input-icon-secondary{color:var(--secondary-default-color)}.hans-input-icon-success{color:var(--success-default-color)}.hans-input-icon-danger{color:var(--danger-default-color)}.hans-input-icon-warning{color:var(--warning-default-color)}.hans-input-icon-info{color:var(--info-default-color)}.hans-input-small{height:calc(var(--spacing)*6);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.hans-input-medium{height:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hans-input-large{height:calc(var(--spacing)*10);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.hans-input-message{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hans-input-label-base{color:var(--text-color)}.hans-input-label-primary{color:var(--primary-default-color)}.hans-input-label-secondary{color:var(--secondary-default-color)}.hans-input-label-success{color:var(--success-default-color)}.hans-input-label-danger{color:var(--danger-default-color)}.hans-input-label-warning{color:var(--warning-default-color)}.hans-input-label-info{color:var(--info-default-color)}.hans-input-base{border-color:var(--gray-300)}.hans-input-base:focus{border-color:var(--text-color)}.hans-input-primary{border-color:var(--primary-neutral-color)}.hans-input-primary:focus{border-color:var(--primary-default-color)}.hans-input-secondary{border-color:var(--secondary-neutral-color)}.hans-input-secondary:focus{border-color:var(--secondary-default-color)}.hans-input-success{border-color:var(--success-neutral-color)}.hans-input-success:focus{border-color:var(--success-default-color)}.hans-input-danger{border-color:var(--danger-neutral-color)}.hans-input-danger:focus{border-color:var(--danger-default-color)}.hans-input-warning{border-color:var(--warning-neutral-color)}.hans-input-warning:focus{border-color:var(--warning-default-color)}.hans-input-info{border-color:var(--info-neutral-color)}.hans-input-info:focus{border-color:var(--info-default-color)}.hans-input-message-base{color:var(--text-color)}.hans-input-message-primary{color:var(--primary-default-color)}.hans-input-message-secondary{color:var(--secondary-default-color)}.hans-input-message-success{color:var(--success-default-color)}.hans-input-message-danger{color:var(--danger-default-color)}.hans-input-message-warning{color:var(--warning-default-color)}.hans-input-message-info{color:var(--info-default-color)}.hans-dropdown{flex-direction:column;width:100%;display:flex;overflow:visible}.hans-dropdown-field{width:100%;position:relative;overflow:visible}.hans-dropdown-input{width:100%}.hans-dropdown-list{z-index:9999;max-height:calc(var(--spacing)*60);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300);background-color:var(--background-color);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);width:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:var(--hans-dropdown-bg,var(--white));position:absolute;overflow:auto}.hans-dropdown-list[data-direction=down]{margin-top:calc(var(--spacing)*1);top:calc(100% + .25rem)}.hans-dropdown-list[data-direction=up]{margin-bottom:calc(var(--spacing)*1);bottom:calc(100% + .25rem)}.hans-dropdown-option{cursor:pointer;align-items:center;gap:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:flex}.hans-dropdown-option:hover{background-color:var(--hans-dropdown-hover,var(--gray-100))}.hans-dropdown-option-selected{background-color:var(--gray-100);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.hans-dropdown-option-disabled{cursor:not-allowed;opacity:.5}.hans-dropdown-empty{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.hans-dropdown-option-image{height:calc(var(--spacing)*6);width:calc(var(--spacing)*6);object-fit:cover;border-radius:3.40282e38px}.hans-dropdown-option-label{flex:1}.hans-dropdown-selected{margin-top:calc(var(--spacing)*2);gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.hans-dropdown-chip{background-color:var(--gray-100);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--text-color);border-radius:3.40282e38px}.hans-dropdown-chip-base{background-color:var(--gray-100);color:var(--text-color)}.hans-dropdown-chip-primary{background-color:var(--primary-neutral-color);color:var(--primary-strong-color)}.hans-dropdown-chip-secondary{background-color:var(--secondary-neutral-color);color:var(--secondary-strong-color)}.hans-dropdown-chip-success{background-color:var(--success-neutral-color);color:var(--success-strong-color)}.hans-dropdown-chip-danger{background-color:var(--danger-neutral-color);color:var(--danger-strong-color)}.hans-dropdown-chip-warning{background-color:var(--warning-neutral-color);color:var(--warning-strong-color)}.hans-dropdown-chip-info{background-color:var(--info-neutral-color);color:var(--info-strong-color)}.hans-icon{justify-content:center;align-items:center;display:inline-flex}.hans-icon-small{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hans-icon-medium{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.hans-icon-large{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.hans-icon-loading{height:calc(var(--spacing)*4);width:calc(var(--spacing)*4);animation:var(--animate-pulse);background-color:var(--gray-300);border-radius:3.40282e38px}:root{--purple-900:#2e1a73;--purple-500:#8257e5;--purple-300:#bba7ff;--blue-900:#1b3c8e;--blue-500:#3d8bff;--blue-300:#a8c9ff;--green-900:#027a43;--green-500:#04d361;--green-300:#a3f3c4;--red-900:#8b1e34;--red-500:#e83f5b;--red-300:#ffa3b1;--yellow-900:#ff8c42;--yellow-500:#f7b500;--yellow-300:#ffe9a3;--gray-900:#0e0e10;--gray-700:#2d2d33;--gray-500:#7a7a85;--gray-300:#c7c7d1;--gray-100:#f2f2f5;--black:#000;--white:#fff;--primary-strong-color:var(--purple-900);--primary-default-color:var(--purple-500);--primary-neutral-color:var(--purple-300);--secondary-strong-color:var(--blue-900);--secondary-default-color:var(--blue-500);--secondary-neutral-color:var(--blue-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--blue-900);--info-default-color:var(--blue-500);--info-neutral-color:var(--blue-300);--background-color:var(--gray-100);--text-color:var(--gray-900)}[data-theme=combination1]{--primary-strong-color:var(--purple-900);--primary-default-color:var(--purple-500);--primary-neutral-color:var(--purple-300);--secondary-strong-color:var(--blue-900);--secondary-default-color:var(--blue-500);--secondary-neutral-color:var(--blue-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--blue-900);--info-default-color:var(--blue-500);--info-neutral-color:var(--blue-300);--background-color:var(--gray-100);--text-color:var(--gray-900)}[data-theme=combination2]{--primary-strong-color:var(--green-900);--primary-default-color:var(--green-500);--primary-neutral-color:var(--green-300);--secondary-strong-color:var(--purple-900);--secondary-default-color:var(--purple-500);--secondary-neutral-color:var(--purple-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--green-900);--info-default-color:var(--green-500);--info-neutral-color:var(--green-300);--background-color:var(--gray-900);--text-color:var(--gray-100)}[data-theme=combination3]{--primary-strong-color:var(--yellow-900);--primary-default-color:var(--yellow-500);--primary-neutral-color:var(--yellow-300);--secondary-strong-color:var(--purple-900);--secondary-default-color:var(--purple-500);--secondary-neutral-color:var(--purple-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--yellow-900);--info-default-color:var(--yellow-500);--info-neutral-color:var(--yellow-300);--background-color:var(--gray-100);--text-color:var(--gray-900)}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-bold:700;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.\!mx-2{margin-inline:calc(var(--spacing)*2)!important}.\!mx-5{margin-inline:calc(var(--spacing)*5)!important}.\!my-1{margin-block:calc(var(--spacing)*1)!important}.\!my-2{margin-block:calc(var(--spacing)*2)!important}.\!my-3{margin-block:calc(var(--spacing)*3)!important}.\!my-4{margin-block:calc(var(--spacing)*4)!important}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.flex{display:flex}.hidden{display:none}.h-auto{height:auto}.w-6{width:calc(var(--spacing)*6)}.w-full{width:100%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.\!text-xl{font-size:var(--text-xl)!important;line-height:var(--tw-leading,var(--text-xl--line-height))!important}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-\[var\(--primary-default-color\)\]{color:var(--primary-default-color)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
1
+ /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-font-weight:initial;--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-leading:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}*,:before,:after{box-sizing:border-box;font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}ol,ul{list-style:none}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;line-height:1.5}.hans-button{cursor:pointer;align-items:center;gap:calc(var(--spacing)*1);border-radius:3.40282e38px;display:flex}.hans-button:disabled,.hans-button[disabled]{cursor:not-allowed;opacity:.5}.hans-button:disabled>*{pointer-events:none}.hans-button-small{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*1)}.hans-button-medium{padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*2)}.hans-button-large{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*3)}.hans-button-base.hans-button-strong{background-color:var(--text-color);color:var(--background-color)}.hans-button-base.hans-button-default{background-color:var(--text-color);color:var(--white)}.hans-button-base.hans-button-neutral{background-color:var(--background-color);color:var(--text-color)}.hans-button-base.hans-button-outline{border-color:var(--text-color);color:var(--text-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-base.hans-button-transparent{color:var(--text-color);background-color:#0000}.hans-button-primary.hans-button-strong{background-color:var(--primary-strong-color);color:var(--primary-neutral-color)}.hans-button-primary.hans-button-default{background-color:var(--primary-default-color);color:var(--white)}.hans-button-primary.hans-button-neutral{background-color:var(--primary-neutral-color);color:var(--primary-strong-color)}.hans-button-primary.hans-button-outline{border-color:var(--primary-default-color);color:var(--primary-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-primary.hans-button-transparent{color:var(--primary-default-color);background-color:#0000}.hans-button-secondary.hans-button-strong{background-color:var(--secondary-strong-color);color:var(--secondary-neutral-color)}.hans-button-secondary.hans-button-default{background-color:var(--secondary-default-color);color:var(--white)}.hans-button-secondary.hans-button-neutral{background-color:var(--secondary-neutral-color);color:var(--secondary-strong-color)}.hans-button-secondary.hans-button-outline{border-color:var(--secondary-default-color);color:var(--secondary-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-secondary.hans-button-transparent{color:var(--secondary-default-color);background-color:#0000}.hans-button-success.hans-button-strong{background-color:var(--success-strong-color);color:var(--success-neutral-color)}.hans-button-success.hans-button-default{background-color:var(--success-default-color);color:var(--white)}.hans-button-success.hans-button-neutral{background-color:var(--success-neutral-color);color:var(--success-strong-color)}.hans-button-success.hans-button-outline{border-color:var(--success-default-color);color:var(--success-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-success.hans-button-transparent{color:var(--success-default-color);background-color:#0000}.hans-button-danger.hans-button-strong{background-color:var(--danger-strong-color);color:var(--danger-neutral-color)}.hans-button-danger.hans-button-default{background-color:var(--danger-default-color);color:var(--white)}.hans-button-danger.hans-button-neutral{background-color:var(--danger-neutral-color);color:var(--danger-strong-color)}.hans-button-danger.hans-button-outline{border-color:var(--danger-default-color);color:var(--danger-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-danger.hans-button-transparent{color:var(--danger-default-color);background-color:#0000}.hans-button-warning.hans-button-strong{background-color:var(--warning-strong-color);color:var(--warning-neutral-color)}.hans-button-warning.hans-button-default{background-color:var(--warning-default-color);color:var(--white)}.hans-button-warning.hans-button-neutral{background-color:var(--warning-neutral-color);color:var(--warning-strong-color)}.hans-button-warning.hans-button-outline{border-color:var(--warning-default-color);color:var(--warning-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-warning.hans-button-transparent{color:var(--warning-default-color);background-color:#0000}.hans-button-info.hans-button-strong{background-color:var(--info-strong-color);color:var(--info-neutral-color)}.hans-button-info.hans-button-default{background-color:var(--info-default-color);color:var(--white)}.hans-button-info.hans-button-neutral{background-color:var(--info-neutral-color);color:var(--info-strong-color)}.hans-button-info.hans-button-outline{border-color:var(--info-default-color);color:var(--info-strong-color);outline-style:var(--tw-outline-style);background-color:#0000;outline-width:1px}.hans-button-info.hans-button-transparent{color:var(--info-default-color);background-color:#0000}.hans-input-div{flex-direction:column;display:flex}.hans-input-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.hans-input{border-radius:var(--radius-lg);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);color:var(--text-color);--tw-outline-style:none;background-color:#0000;border-width:1px;outline-style:none}.hans-input:focus{--tw-outline-style:none;outline-style:none}.hans-input:disabled,.hans-input[disabled]{cursor:not-allowed;opacity:.5}.hans-input-field{align-items:center;width:100%;display:flex;position:relative}.hans-input-icon{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);justify-content:center;align-items:center;display:flex;position:absolute;top:50%}.hans-input-icon-left{left:calc(var(--spacing)*2)}.hans-input-icon-right{right:calc(var(--spacing)*2)}.hans-input-has-left-icon{padding-left:calc(var(--spacing)*8)}.hans-input-has-right-icon{padding-right:calc(var(--spacing)*8)}.hans-input-icon-base{color:var(--text-color)}.hans-input-icon-primary{color:var(--primary-default-color)}.hans-input-icon-secondary{color:var(--secondary-default-color)}.hans-input-icon-success{color:var(--success-default-color)}.hans-input-icon-danger{color:var(--danger-default-color)}.hans-input-icon-warning{color:var(--warning-default-color)}.hans-input-icon-info{color:var(--info-default-color)}.hans-input-small{height:calc(var(--spacing)*6);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.hans-input-medium{height:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hans-input-large{height:calc(var(--spacing)*10);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.hans-input-message{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hans-input-label-base{color:var(--text-color)}.hans-input-label-primary{color:var(--primary-default-color)}.hans-input-label-secondary{color:var(--secondary-default-color)}.hans-input-label-success{color:var(--success-default-color)}.hans-input-label-danger{color:var(--danger-default-color)}.hans-input-label-warning{color:var(--warning-default-color)}.hans-input-label-info{color:var(--info-default-color)}.hans-input-base{border-color:var(--gray-300)}.hans-input-base:focus{border-color:var(--text-color)}.hans-input-primary{border-color:var(--primary-neutral-color)}.hans-input-primary:focus{border-color:var(--primary-default-color)}.hans-input-secondary{border-color:var(--secondary-neutral-color)}.hans-input-secondary:focus{border-color:var(--secondary-default-color)}.hans-input-success{border-color:var(--success-neutral-color)}.hans-input-success:focus{border-color:var(--success-default-color)}.hans-input-danger{border-color:var(--danger-neutral-color)}.hans-input-danger:focus{border-color:var(--danger-default-color)}.hans-input-warning{border-color:var(--warning-neutral-color)}.hans-input-warning:focus{border-color:var(--warning-default-color)}.hans-input-info{border-color:var(--info-neutral-color)}.hans-input-info:focus{border-color:var(--info-default-color)}.hans-input-message-base{color:var(--text-color)}.hans-input-message-primary{color:var(--primary-default-color)}.hans-input-message-secondary{color:var(--secondary-default-color)}.hans-input-message-success{color:var(--success-default-color)}.hans-input-message-danger{color:var(--danger-default-color)}.hans-input-message-warning{color:var(--warning-default-color)}.hans-input-message-info{color:var(--info-default-color)}.hans-dropdown{flex-direction:column;width:100%;display:flex;overflow:visible}.hans-dropdown-field{width:100%;position:relative;overflow:visible}.hans-dropdown-input{width:100%}.hans-dropdown-list{z-index:9999;max-height:calc(var(--spacing)*60);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300);background-color:var(--background-color);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);width:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:var(--hans-dropdown-bg,var(--white));position:absolute;overflow:auto}.hans-dropdown-list[data-direction=down]{margin-top:-4px;top:calc(100% + .25rem)}.hans-dropdown-list[data-direction=up]{margin-bottom:-4px;bottom:calc(100% + .25rem)}.hans-dropdown-option{cursor:pointer;align-items:center;gap:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:flex}.hans-dropdown-option:hover{background-color:var(--hans-dropdown-hover,var(--gray-100))}.hans-dropdown-option-selected{background-color:var(--gray-100);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.hans-dropdown-option-disabled{cursor:not-allowed;opacity:.5}.hans-dropdown-empty{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.hans-dropdown-option-label{flex:1}.hans-dropdown-selected{margin-top:calc(var(--spacing)*2);gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.hans-dropdown-chip{background-color:var(--gray-100);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--text-color);border-radius:3.40282e38px}.hans-dropdown-chip-base{background-color:var(--gray-100);color:var(--text-color)}.hans-dropdown-chip-primary{background-color:var(--primary-neutral-color);color:var(--primary-strong-color)}.hans-dropdown-chip-secondary{background-color:var(--secondary-neutral-color);color:var(--secondary-strong-color)}.hans-dropdown-chip-success{background-color:var(--success-neutral-color);color:var(--success-strong-color)}.hans-dropdown-chip-danger{background-color:var(--danger-neutral-color);color:var(--danger-strong-color)}.hans-dropdown-chip-warning{background-color:var(--warning-neutral-color);color:var(--warning-strong-color)}.hans-dropdown-chip-info{background-color:var(--info-neutral-color);color:var(--info-strong-color)}.hans-avatar{border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300);background-color:var(--gray-100);color:var(--gray-700);border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.hans-avatar-small{width:22px;height:22px}.hans-avatar-medium{width:40px;height:40px}.hans-avatar-large{width:100px;height:100px}.hans-avatar-img{object-fit:cover;width:100%;height:100%}.hans-avatar-fallback{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.hans-avatar-icon{--tw-leading:1;width:100%;height:100%;line-height:1}.hans-avatar-small .hans-avatar-icon{font-size:22px}.hans-avatar-medium .hans-avatar-icon{font-size:40px}.hans-avatar-large .hans-avatar-icon{font-size:100px}.hans-icon{justify-content:center;align-items:center;display:inline-flex}.hans-icon-small{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.hans-icon-medium{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.hans-icon-large{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.hans-icon-loading{height:calc(var(--spacing)*4);width:calc(var(--spacing)*4);animation:var(--animate-pulse);background-color:var(--gray-300);border-radius:3.40282e38px}:root{--purple-900:#2e1a73;--purple-500:#8257e5;--purple-300:#bba7ff;--blue-900:#1b3c8e;--blue-500:#3d8bff;--blue-300:#a8c9ff;--green-900:#027a43;--green-500:#04d361;--green-300:#a3f3c4;--red-900:#8b1e34;--red-500:#e83f5b;--red-300:#ffa3b1;--yellow-900:#ff8c42;--yellow-500:#f7b500;--yellow-300:#ffe9a3;--gray-900:#0e0e10;--gray-700:#2d2d33;--gray-500:#7a7a85;--gray-300:#c7c7d1;--gray-100:#f2f2f5;--black:#000;--white:#fff;--primary-strong-color:var(--purple-900);--primary-default-color:var(--purple-500);--primary-neutral-color:var(--purple-300);--secondary-strong-color:var(--blue-900);--secondary-default-color:var(--blue-500);--secondary-neutral-color:var(--blue-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--blue-900);--info-default-color:var(--blue-500);--info-neutral-color:var(--blue-300);--background-color:var(--gray-100);--text-color:var(--gray-900)}[data-theme=combination1]{--primary-strong-color:var(--purple-900);--primary-default-color:var(--purple-500);--primary-neutral-color:var(--purple-300);--secondary-strong-color:var(--blue-900);--secondary-default-color:var(--blue-500);--secondary-neutral-color:var(--blue-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--blue-900);--info-default-color:var(--blue-500);--info-neutral-color:var(--blue-300);--background-color:var(--gray-100);--text-color:var(--gray-900)}[data-theme=combination2]{--primary-strong-color:var(--green-900);--primary-default-color:var(--green-500);--primary-neutral-color:var(--green-300);--secondary-strong-color:var(--purple-900);--secondary-default-color:var(--purple-500);--secondary-neutral-color:var(--purple-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--green-900);--info-default-color:var(--green-500);--info-neutral-color:var(--green-300);--background-color:var(--gray-900);--text-color:var(--gray-100)}[data-theme=combination3]{--primary-strong-color:var(--yellow-900);--primary-default-color:var(--yellow-500);--primary-neutral-color:var(--yellow-300);--secondary-strong-color:var(--purple-900);--secondary-default-color:var(--purple-500);--secondary-neutral-color:var(--purple-300);--success-strong-color:var(--green-900);--success-default-color:var(--green-500);--success-neutral-color:var(--green-300);--danger-strong-color:var(--red-900);--danger-default-color:var(--red-500);--danger-neutral-color:var(--red-300);--warning-strong-color:var(--yellow-900);--warning-default-color:var(--yellow-500);--warning-neutral-color:var(--yellow-300);--info-strong-color:var(--yellow-900);--info-default-color:var(--yellow-500);--info-neutral-color:var(--yellow-300);--background-color:var(--gray-100);--text-color:var(--gray-900)}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-bold:700;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.\!mx-2{margin-inline:calc(var(--spacing)*2)!important}.\!mx-5{margin-inline:calc(var(--spacing)*5)!important}.\!my-1{margin-block:calc(var(--spacing)*1)!important}.\!my-2{margin-block:calc(var(--spacing)*2)!important}.\!my-3{margin-block:calc(var(--spacing)*3)!important}.\!my-4{margin-block:calc(var(--spacing)*4)!important}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.flex{display:flex}.hidden{display:none}.h-auto{height:auto}.w-6{width:calc(var(--spacing)*6)}.w-full{width:100%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.\!text-xl{font-size:var(--text-xl)!important;line-height:var(--tw-leading,var(--text-xl--line-height))!important}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-\[var\(--primary-default-color\)\]{color:var(--primary-default-color)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-leading{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import { default as default_2 } from 'react';
1
+ import { default as default_2 } from '../../../../node_modules/react';
2
+ import { default as default_3 } from '../../node_modules/react';
3
+ import { default as default_4 } from '../../../node_modules/react';
2
4
  import { JSX } from 'react/jsx-runtime';
3
5
 
4
6
  export declare type ButtonType = 'button' | 'submit' | 'reset';
@@ -20,6 +22,23 @@ export declare type DropdownValue = string | string[];
20
22
 
21
23
  export declare const DynamicIconImports: Record<string, () => Promise<IconLibrary>>;
22
24
 
25
+ export declare const HansAvatar: default_4.MemoExoticComponent<(props: HansAvatarProps) => JSX.Element>;
26
+
27
+ export declare type HansAvatarProps = InferPropsFromSchema<typeof HansAvatarSchema> & Omit<default_4.ImgHTMLAttributes<HTMLImageElement>, 'src' | 'alt' | 'size'>;
28
+
29
+ export declare const HansAvatarPropsList: ("src" | "alt" | "customClasses" | "avatarSize" | "fallbackIconName")[];
30
+
31
+ declare const HansAvatarSchema: {
32
+ readonly src: "string";
33
+ readonly alt: "string";
34
+ readonly avatarSize: {
35
+ readonly type: "custom";
36
+ readonly ref: Size;
37
+ };
38
+ readonly customClasses: "string";
39
+ readonly fallbackIconName: "string";
40
+ };
41
+
23
42
  export declare const HansButton: default_2.MemoExoticComponent<(props: HansButtonProps) => JSX.Element>;
24
43
 
25
44
  export declare type HansButtonProps = InferPropsFromSchema<typeof HansButtonSchema> & default_2.ButtonHTMLAttributes<HTMLButtonElement>;
@@ -52,8 +71,8 @@ declare const HansButtonSchema: {
52
71
  export declare const HansDropdown: default_2.MemoExoticComponent<(props: HansDropdownProps) => JSX.Element>;
53
72
 
54
73
  export declare type HansDropdownProps = InferPropsFromSchema<typeof HansDropdownSchema> & Omit<default_2.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'type'> & {
55
- onChange?: (value: DropdownValue) => void;
56
74
  onSearch?: (query: string) => void;
75
+ onChange?: (value: DropdownValue) => void;
57
76
  onInputChange?: default_2.ChangeEventHandler<HTMLInputElement>;
58
77
  };
59
78
 
@@ -104,7 +123,7 @@ declare const HansDropdownSchema: {
104
123
  readonly dropdownHoverColor: "string";
105
124
  };
106
125
 
107
- export declare const HansIcon: default_2.FC<HansIconProps>;
126
+ export declare const HansIcon: default_4.FC<HansIconProps>;
108
127
 
109
128
  export declare type HansIconProps = InferPropsFromSchema<typeof HansIconSchema>;
110
129
 
@@ -155,10 +174,10 @@ declare const HansInputSchema: {
155
174
  readonly rightIcon: "node";
156
175
  };
157
176
 
158
- export declare type IconLibrary = Record<string, default_2.ComponentType<default_2.SVGProps<SVGSVGElement>>>;
177
+ export declare type IconLibrary = Record<string, default_4.ComponentType<default_4.SVGProps<SVGSVGElement>>>;
159
178
 
160
179
  declare type InferPropsFromSchema<T extends Record<string, SchemaType>> = Partial<{
161
- [K in keyof T]: T[K] extends 'string' ? string : T[K] extends 'boolean' ? boolean : T[K] extends 'number' ? number : T[K] extends 'node' ? default_2.ReactNode : T[K] extends 'json' ? Record<string, unknown> : T[K] extends {
180
+ [K in keyof T]: T[K] extends 'string' ? string : T[K] extends 'boolean' ? boolean : T[K] extends 'number' ? number : T[K] extends 'node' ? default_3.ReactNode : T[K] extends 'json' ? Record<string, unknown> : T[K] extends {
162
181
  type: 'custom';
163
182
  ref: infer U;
164
183
  } ? U : never;
package/dist/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
- import a from "react";
2
- var F = { exports: {} }, v = {};
1
+ import t from "react";
2
+ var V = { exports: {} }, j = {};
3
3
  /**
4
4
  * @license React
5
5
  * react-jsx-runtime.production.js
@@ -9,99 +9,99 @@ var F = { exports: {} }, v = {};
9
9
  * This source code is licensed under the MIT license found in the
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  */
12
- var U;
13
- function se() {
14
- if (U) return v;
15
- U = 1;
16
- var t = Symbol.for("react.transitional.element"), i = Symbol.for("react.fragment");
17
- function h(f, s, o) {
12
+ var Y;
13
+ function ie() {
14
+ if (Y) return j;
15
+ Y = 1;
16
+ var s = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment");
17
+ function d(m, a, i) {
18
18
  var l = null;
19
- if (o !== void 0 && (l = "" + o), s.key !== void 0 && (l = "" + s.key), "key" in s) {
20
- o = {};
21
- for (var u in s)
22
- u !== "key" && (o[u] = s[u]);
23
- } else o = s;
24
- return s = o.ref, {
25
- $$typeof: t,
26
- type: f,
19
+ if (i !== void 0 && (l = "" + i), a.key !== void 0 && (l = "" + a.key), "key" in a) {
20
+ i = {};
21
+ for (var c in a)
22
+ c !== "key" && (i[c] = a[c]);
23
+ } else i = a;
24
+ return a = i.ref, {
25
+ $$typeof: s,
26
+ type: m,
27
27
  key: l,
28
- ref: s !== void 0 ? s : null,
29
- props: o
28
+ ref: a !== void 0 ? a : null,
29
+ props: i
30
30
  };
31
31
  }
32
- return v.Fragment = i, v.jsx = h, v.jsxs = h, v;
32
+ return j.Fragment = r, j.jsx = d, j.jsxs = d, j;
33
33
  }
34
- var Y;
35
- function oe() {
36
- return Y || (Y = 1, F.exports = se()), F.exports;
34
+ var G;
35
+ function le() {
36
+ return G || (G = 1, V.exports = ie()), V.exports;
37
37
  }
38
- var n = oe();
39
- const re = a.memo((t) => {
38
+ var n = le();
39
+ const ce = t.memo((s) => {
40
40
  const {
41
- label: i = "",
42
- buttonId: h = "hans-button",
43
- buttonSize: f = "medium",
44
- buttonColor: s = "primary",
45
- buttonVariant: o = "default",
41
+ label: r = "",
42
+ buttonId: d = "hans-button",
43
+ buttonSize: m = "medium",
44
+ buttonColor: a = "primary",
45
+ buttonVariant: i = "default",
46
46
  buttonType: l = "button",
47
- customClasses: u = "",
47
+ customClasses: c = "",
48
48
  disabled: g = !1,
49
- children: b,
50
- ...p
51
- } = t;
49
+ children: f,
50
+ ...h
51
+ } = s;
52
52
  return /* @__PURE__ */ n.jsx(
53
53
  "button",
54
54
  {
55
- id: h,
55
+ id: d,
56
56
  type: l,
57
57
  disabled: g,
58
58
  className: `
59
59
  hans-button
60
- hans-button-${f}
61
- hans-button-${s}
62
- hans-button-${o}
63
- ${u}
60
+ hans-button-${m}
61
+ hans-button-${a}
62
+ hans-button-${i}
63
+ ${c}
64
64
  `,
65
- ...p,
66
- children: /* @__PURE__ */ n.jsx("slot", { children: b ?? (i && /* @__PURE__ */ n.jsx("span", { children: i })) })
65
+ ...h,
66
+ children: /* @__PURE__ */ n.jsx("slot", { children: f ?? (r && /* @__PURE__ */ n.jsx("span", { children: r })) })
67
67
  }
68
68
  );
69
69
  });
70
- re.displayName = "HansButton";
71
- const G = a.memo((t) => {
70
+ ce.displayName = "HansButton";
71
+ const Q = t.memo((s) => {
72
72
  const {
73
- label: i = "",
74
- labelColor: h = "base",
75
- placeholder: f = "",
76
- value: s,
77
- inputId: o = "hans-input",
73
+ label: r = "",
74
+ labelColor: d = "base",
75
+ placeholder: m = "",
76
+ value: a,
77
+ inputId: i = "hans-input",
78
78
  inputColor: l = "base",
79
- inputSize: u = "medium",
79
+ inputSize: c = "medium",
80
80
  inputType: g = "text",
81
- message: b = "",
82
- messageColor: p = "base",
81
+ message: f = "",
82
+ messageColor: h = "base",
83
83
  customClasses: x = "",
84
- disabled: T = !1,
85
- leftIcon: c,
86
- rightIcon: d,
87
- children: I,
88
- ...A
89
- } = t, O = typeof s > "u" ? {} : { value: s };
84
+ disabled: z = !1,
85
+ leftIcon: u,
86
+ rightIcon: p,
87
+ children: S,
88
+ ...k
89
+ } = s, O = typeof a > "u" ? {} : { value: a };
90
90
  return /* @__PURE__ */ n.jsxs("div", { className: "hans-input-div", children: [
91
- I,
92
- i ? /* @__PURE__ */ n.jsx(
91
+ S,
92
+ r ? /* @__PURE__ */ n.jsx(
93
93
  "label",
94
94
  {
95
- htmlFor: o,
95
+ htmlFor: i,
96
96
  className: `
97
97
  hans-input-label
98
- hans-input-label-${h}
98
+ hans-input-label-${d}
99
99
  `,
100
- children: i
100
+ children: r
101
101
  }
102
102
  ) : null,
103
103
  /* @__PURE__ */ n.jsxs("div", { className: "hans-input-field", children: [
104
- c ? /* @__PURE__ */ n.jsx(
104
+ u ? /* @__PURE__ */ n.jsx(
105
105
  "span",
106
106
  {
107
107
  className: `
@@ -109,29 +109,29 @@ const G = a.memo((t) => {
109
109
  hans-input-icon-left
110
110
  hans-input-icon-${l}
111
111
  `,
112
- children: c
112
+ children: u
113
113
  }
114
114
  ) : null,
115
115
  /* @__PURE__ */ n.jsx(
116
116
  "input",
117
117
  {
118
- id: o,
118
+ id: i,
119
119
  type: g,
120
- disabled: T,
121
- placeholder: f,
120
+ disabled: z,
121
+ placeholder: m,
122
122
  className: `
123
123
  hans-input
124
- hans-input-${u}
124
+ hans-input-${c}
125
125
  hans-input-${l}
126
- ${c ? "hans-input-has-left-icon" : ""}
127
- ${d ? "hans-input-has-right-icon" : ""}
126
+ ${u ? "hans-input-has-left-icon" : ""}
127
+ ${p ? "hans-input-has-right-icon" : ""}
128
128
  ${x}
129
129
  `,
130
130
  ...O,
131
- ...A
131
+ ...k
132
132
  }
133
133
  ),
134
- d ? /* @__PURE__ */ n.jsx(
134
+ p ? /* @__PURE__ */ n.jsx(
135
135
  "span",
136
136
  {
137
137
  className: `
@@ -139,31 +139,31 @@ const G = a.memo((t) => {
139
139
  hans-input-icon-right
140
140
  hans-input-icon-${l}
141
141
  `,
142
- children: d
142
+ children: p
143
143
  }
144
144
  ) : null
145
145
  ] }),
146
- b ? /* @__PURE__ */ n.jsx(
146
+ f ? /* @__PURE__ */ n.jsx(
147
147
  "p",
148
148
  {
149
149
  className: `
150
150
  hans-input-message
151
- hans-input-message-${p}
151
+ hans-input-message-${h}
152
152
  `,
153
- children: b
153
+ children: f
154
154
  }
155
155
  ) : null
156
156
  ] });
157
157
  });
158
- G.displayName = "HansInput";
159
- function P(t) {
160
- return Object.keys(t);
158
+ Q.displayName = "HansInput";
159
+ function T(s) {
160
+ return Object.keys(s);
161
161
  }
162
- const ae = {
162
+ const ue = {
163
163
  name: "string",
164
164
  iconSize: { type: "custom", ref: {} },
165
165
  customClasses: "string"
166
- }, me = P(ae), ie = {
166
+ }, ye = T(ue), de = {
167
167
  Fa: () => import("./index-CuLnU-aI.js"),
168
168
  Md: () => import("./index-D5QBazti.js"),
169
169
  Bi: () => import("./index-Cru_aeJC.js"),
@@ -175,198 +175,255 @@ const ae = {
175
175
  Pi: () => import("./index-CraOMhSg.js"),
176
176
  Tb: () => import("./index-C_w14lJB.js"),
177
177
  Lu: () => import("./index-HCQwBvMc.js")
178
- }, M = a.memo(
179
- (t) => {
180
- const { name: i, iconSize: h = "medium", customClasses: f = "", ...s } = t, [o, l] = a.useState(null);
181
- return a.useEffect(() => {
182
- let u = !0;
183
- if (!i) return;
184
- const g = i.slice(0, 2), b = ie[g];
185
- if (b)
178
+ }, E = t.memo(
179
+ (s) => {
180
+ const { name: r, iconSize: d = "medium", customClasses: m = "", ...a } = s, [i, l] = t.useState(null);
181
+ return t.useEffect(() => {
182
+ let c = !0;
183
+ if (!r) return;
184
+ const g = r.slice(0, 2), f = de[g];
185
+ if (f)
186
186
  return (async () => {
187
187
  try {
188
- const p = await b();
189
- if (!u) return;
190
- l(() => p[i] || null);
191
- } catch (p) {
192
- console.warn(`[HansUI] Error loading icon ${i}:`, p), u && l(() => null);
188
+ const h = await f();
189
+ if (!c) return;
190
+ l(() => h[r] || null);
191
+ } catch (h) {
192
+ console.warn(`[HansUI] Error loading icon ${r}:`, h), c && l(() => null);
193
193
  }
194
194
  })(), () => {
195
- u = !1;
195
+ c = !1;
196
196
  };
197
- }, [i]), o ? /* @__PURE__ */ n.jsx(
198
- o,
197
+ }, [r]), i ? /* @__PURE__ */ n.jsx(
198
+ i,
199
199
  {
200
200
  className: `
201
201
  hans-icon
202
- hans-icon-${h}
203
- ${f}
202
+ hans-icon-${d}
203
+ ${m}
204
204
  `,
205
- ...s
205
+ ...a
206
206
  }
207
207
  ) : /* @__PURE__ */ n.jsx("span", { className: "hans-icon-loading" });
208
208
  }
209
209
  );
210
- M.displayName = "HansIcon";
211
- const le = (t) => Array.isArray(t) ? t : typeof t == "string" && t.length > 0 ? [t] : [], E = (t) => t.id ?? t.value, ue = a.memo((t) => {
210
+ E.displayName = "HansIcon";
211
+ const pe = {
212
+ small: "small",
213
+ medium: "medium",
214
+ large: "large"
215
+ }, W = t.memo((s) => {
212
216
  const {
213
- label: i = "",
214
- labelColor: h = "base",
215
- placeholder: f = "Select an option",
216
- inputId: s = "hans-dropdown",
217
- inputColor: o = "base",
217
+ src: r = "",
218
+ alt: d = "Avatar",
219
+ avatarSize: m = "medium",
220
+ customClasses: a = "",
221
+ fallbackIconName: i = "MdOutlineAccountCircle",
222
+ ...l
223
+ } = s, [c, g] = t.useState(!1);
224
+ t.useEffect(() => {
225
+ g(!1);
226
+ }, [r]);
227
+ const f = !r || c;
228
+ return /* @__PURE__ */ n.jsx(
229
+ "div",
230
+ {
231
+ className: `
232
+ hans-avatar
233
+ hans-avatar-${m}
234
+ ${a}
235
+ `,
236
+ "aria-label": d,
237
+ children: f ? /* @__PURE__ */ n.jsx("span", { className: "hans-avatar-fallback", role: "img", "aria-hidden": "true", children: /* @__PURE__ */ n.jsx(
238
+ E,
239
+ {
240
+ name: i,
241
+ iconSize: pe[m],
242
+ customClasses: "hans-avatar-icon"
243
+ }
244
+ ) }) : /* @__PURE__ */ n.jsx(
245
+ "img",
246
+ {
247
+ src: r,
248
+ alt: d,
249
+ className: "hans-avatar-img",
250
+ onError: () => g(!0),
251
+ ...l
252
+ }
253
+ )
254
+ }
255
+ );
256
+ });
257
+ W.displayName = "HansAvatar";
258
+ const me = (s) => Array.isArray(s) ? s : typeof s == "string" && s.length > 0 ? [s] : [], A = (s) => s.id ?? s.value, he = t.memo((s) => {
259
+ const {
260
+ label: r = "",
261
+ labelColor: d = "base",
262
+ placeholder: m = "Select an option",
263
+ inputId: a = "hans-dropdown",
264
+ inputColor: i = "base",
218
265
  inputSize: l = "medium",
219
- message: u = "",
266
+ message: c = "",
220
267
  messageColor: g = "base",
221
- customClasses: b = "",
222
- disabled: p = !1,
268
+ customClasses: f = "",
269
+ disabled: h = !1,
223
270
  options: x = [],
224
- selectionType: T = "single",
225
- enableAutocomplete: c = !0,
226
- value: d,
227
- defaultValue: I,
228
- noOptionsText: A = "No options",
271
+ selectionType: z = "single",
272
+ enableAutocomplete: u = !0,
273
+ value: p,
274
+ defaultValue: S,
275
+ noOptionsText: k = "No options",
229
276
  dropdownBackgroundColor: O = "var(--white)",
230
- dropdownHoverColor: Q = "var(--gray-100)",
231
- onChange: S,
277
+ dropdownHoverColor: X = "var(--gray-100)",
232
278
  onSearch: _,
279
+ onChange: N,
233
280
  onInputChange: q,
234
- ...W
235
- } = t, y = T === "multi", [C, N] = a.useState(!1), [X, J] = a.useState(
281
+ ...Z
282
+ } = s, y = z === "multi", [v, I] = t.useState(!1), [K, J] = t.useState(
236
283
  "down"
237
- ), [R, $] = a.useState(""), [Z, k] = a.useState(() => typeof d < "u" ? d : typeof I < "u" ? I : y ? [] : ""), j = a.useRef(null), B = a.useRef(null);
238
- a.useEffect(() => {
239
- typeof d < "u" && k(d);
240
- }, [d]);
241
- const w = le(
242
- typeof d < "u" ? d : Z
243
- ), H = a.useMemo(
244
- () => x.filter(
245
- (e) => w.includes(E(e))
246
- ),
284
+ ), [R, $] = t.useState(""), [ee, B] = t.useState(
285
+ () => typeof p < "u" ? p : typeof S < "u" ? S : y ? [] : ""
286
+ ), C = t.useRef(null), D = t.useRef(null), L = t.useRef(!1);
287
+ t.useEffect(() => {
288
+ typeof p < "u" && B(p);
289
+ }, [p]);
290
+ const w = me(
291
+ typeof p < "u" ? p : ee
292
+ ), H = t.useMemo(
293
+ () => x.filter((e) => w.includes(A(e))),
247
294
  [x, w]
248
- ), D = y ? H.map((e) => e.label).join(", ") : H[0]?.label ?? "";
249
- a.useEffect(() => {
250
- !c || y || $(D);
251
- }, [c, y, D]), a.useEffect(() => {
252
- const e = (r) => {
253
- const m = r.target;
254
- !j.current || !m || j.current.contains(m) || N(!1);
295
+ ), F = y ? H.map((e) => e.label).join(", ") : H[0]?.label ?? "";
296
+ t.useEffect(() => {
297
+ !u || y || $(F);
298
+ }, [u, y, F]), t.useEffect(() => {
299
+ const e = (o) => {
300
+ const b = o.target;
301
+ !C.current || !b || C.current.contains(b) || I(!1);
255
302
  };
256
303
  return document.addEventListener("mousedown", e), () => {
257
304
  document.removeEventListener("mousedown", e);
258
305
  };
259
306
  }, []);
260
- const L = a.useMemo(() => {
261
- if (!c || R.trim().length === 0) return x;
307
+ const M = t.useMemo(() => {
308
+ if (!u || R.trim().length === 0) return x;
262
309
  const e = R.toLowerCase();
263
310
  return x.filter(
264
- (r) => r.label.toLowerCase().includes(e)
311
+ (o) => o.label.toLowerCase().includes(e)
265
312
  );
266
- }, [c, x, R]);
267
- a.useEffect(() => {
268
- if (!C) return;
313
+ }, [u, x, R]);
314
+ t.useEffect(() => {
315
+ if (!v) return;
269
316
  const e = requestAnimationFrame(() => {
270
- if (!j.current || !B.current) return;
271
- const r = j.current.getBoundingClientRect(), m = B.current.getBoundingClientRect(), V = window.innerHeight - r.bottom, te = r.top;
272
- V < m.height && te > m.height ? J("up") : J("down");
317
+ if (!C.current || !D.current) return;
318
+ const o = C.current.getBoundingClientRect(), b = D.current.getBoundingClientRect(), P = window.innerHeight - o.bottom, re = o.top;
319
+ P < b.height && re > b.height ? J("up") : J("down");
273
320
  });
274
321
  return () => cancelAnimationFrame(e);
275
- }, [C, L.length]);
276
- const K = (e) => {
277
- if (!c) return;
278
- const r = e.target.value;
279
- $(r), C || N(!0), _ && _(r), q && q(e);
280
- }, ee = (e) => {
281
- if (e.disabled || p) return;
282
- const r = E(e);
322
+ }, [v, M.length]);
323
+ const ne = (e) => {
324
+ if (!u) return;
325
+ const o = e.target.value;
326
+ $(o), v || I(!0), _ && _(o), q && q(e);
327
+ }, se = (e) => {
328
+ if (e.disabled || h) return;
329
+ const o = A(e);
283
330
  if (y) {
284
- const m = w.includes(r) ? w.filter((V) => V !== r) : [...w, r];
285
- typeof d > "u" && k(m), S && S(m), c && $("");
331
+ const b = w.includes(o) ? w.filter((P) => P !== o) : [...w, o];
332
+ typeof p > "u" && B(b), N && N(b), u && $("");
286
333
  return;
287
334
  }
288
- typeof d > "u" && k(r), S && S(r), c && $(e.label), N(!1);
289
- }, z = () => {
290
- p || N(!0);
291
- }, ne = c ? R : D;
292
- return /* @__PURE__ */ n.jsxs("div", { className: "hans-dropdown", ref: j, children: [
293
- i ? /* @__PURE__ */ n.jsx(
335
+ typeof p > "u" && B(o), N && N(o), u && $(e.label), I(!1);
336
+ }, U = (e, o) => {
337
+ if (!h) {
338
+ if (o === "focus" && L.current) {
339
+ L.current = !1;
340
+ return;
341
+ }
342
+ o === "toggle" && !e && (L.current = !0), I(e);
343
+ }
344
+ }, te = () => {
345
+ U(!0, "focus");
346
+ }, ae = () => {
347
+ U(!v, "toggle");
348
+ }, oe = u ? R : F;
349
+ return /* @__PURE__ */ n.jsxs("div", { className: "hans-dropdown", ref: C, children: [
350
+ r ? /* @__PURE__ */ n.jsx(
294
351
  "label",
295
352
  {
296
- htmlFor: s,
353
+ htmlFor: a,
297
354
  className: `
298
355
  hans-input-label
299
- hans-input-label-${h}
356
+ hans-input-label-${d}
300
357
  `,
301
- children: i
358
+ children: r
302
359
  }
303
360
  ) : null,
304
- /* @__PURE__ */ n.jsxs("div", { className: "hans-dropdown-field", onMouseDown: z, children: [
361
+ /* @__PURE__ */ n.jsxs("div", { className: "hans-dropdown-field", children: [
305
362
  /* @__PURE__ */ n.jsx(
306
- G,
363
+ Q,
307
364
  {
308
365
  label: "",
309
366
  message: "",
310
- inputId: s,
311
- inputColor: o,
367
+ inputId: a,
368
+ inputColor: i,
312
369
  inputSize: l,
313
- placeholder: f,
314
- customClasses: `hans-dropdown-input ${b}`,
315
- disabled: p,
316
- value: ne,
317
- onChange: K,
318
- onFocus: z,
319
- onClick: z,
320
- readOnly: !c,
321
- leftIcon: c ? /* @__PURE__ */ n.jsx(M, { name: "FaSearch", iconSize: "small" }) : void 0,
370
+ placeholder: m,
371
+ customClasses: `hans-dropdown-input ${f}`,
372
+ disabled: h,
373
+ value: oe,
374
+ onChange: ne,
375
+ onFocus: te,
376
+ onMouseDown: ae,
377
+ readOnly: !u,
378
+ leftIcon: u ? /* @__PURE__ */ n.jsx(E, { name: "FaSearch", iconSize: "small" }) : void 0,
322
379
  rightIcon: /* @__PURE__ */ n.jsx(
323
- M,
380
+ E,
324
381
  {
325
- name: C ? "MdArrowDropUp" : "MdArrowDropDown",
382
+ name: v ? "MdArrowDropUp" : "MdArrowDropDown",
326
383
  iconSize: "small"
327
384
  }
328
385
  ),
329
- ...W
386
+ ...Z
330
387
  }
331
388
  ),
332
- C && !p ? /* @__PURE__ */ n.jsx(
389
+ v && !h ? /* @__PURE__ */ n.jsx(
333
390
  "ul",
334
391
  {
335
- ref: B,
392
+ ref: D,
336
393
  className: "hans-dropdown-list",
337
394
  role: "listbox",
338
395
  "aria-multiselectable": y,
339
- "data-direction": X,
396
+ "data-direction": K,
340
397
  style: {
341
398
  "--hans-dropdown-bg": O,
342
- "--hans-dropdown-hover": Q
399
+ "--hans-dropdown-hover": X
343
400
  },
344
- children: L.length === 0 ? /* @__PURE__ */ n.jsx("li", { className: "hans-dropdown-empty", children: A }) : L.map((e) => {
345
- const r = E(e), m = w.includes(r);
401
+ children: M.length === 0 ? /* @__PURE__ */ n.jsx("li", { className: "hans-dropdown-empty", children: k }) : M.map((e) => {
402
+ const o = A(e), b = w.includes(o);
346
403
  return /* @__PURE__ */ n.jsxs(
347
404
  "li",
348
405
  {
349
406
  role: "option",
350
- "aria-selected": m,
407
+ "aria-selected": b,
351
408
  className: `
352
409
  hans-dropdown-option
353
- ${m ? "hans-dropdown-option-selected" : ""}
410
+ ${b ? "hans-dropdown-option-selected" : ""}
354
411
  ${e.disabled ? "hans-dropdown-option-disabled" : ""}
355
412
  `,
356
- onClick: () => ee(e),
413
+ onClick: () => se(e),
357
414
  children: [
358
415
  e.imageSrc ? /* @__PURE__ */ n.jsx(
359
- "img",
416
+ W,
360
417
  {
361
- className: "hans-dropdown-option-image",
362
418
  src: e.imageSrc,
363
- alt: e.imageAlt ?? e.label
419
+ alt: e.imageAlt ?? e.label,
420
+ avatarSize: "small"
364
421
  }
365
422
  ) : null,
366
423
  /* @__PURE__ */ n.jsx("span", { className: "hans-dropdown-option-label", children: e.label })
367
424
  ]
368
425
  },
369
- r
426
+ o
370
427
  );
371
428
  })
372
429
  }
@@ -377,26 +434,26 @@ const le = (t) => Array.isArray(t) ? t : typeof t == "string" && t.length > 0 ?
377
434
  {
378
435
  className: `
379
436
  hans-dropdown-chip
380
- hans-dropdown-chip-${o}
437
+ hans-dropdown-chip-${i}
381
438
  `,
382
439
  children: e.label
383
440
  },
384
- E(e)
441
+ A(e)
385
442
  )) }) : null,
386
- u ? /* @__PURE__ */ n.jsx(
443
+ c ? /* @__PURE__ */ n.jsx(
387
444
  "p",
388
445
  {
389
446
  className: `
390
447
  hans-input-message
391
448
  hans-input-message-${g}
392
449
  `,
393
- children: u
450
+ children: c
394
451
  }
395
452
  ) : null
396
453
  ] });
397
454
  });
398
- ue.displayName = "HansDropdown";
399
- const ce = {
455
+ he.displayName = "HansDropdown";
456
+ const fe = {
400
457
  label: "string",
401
458
  buttonId: "string",
402
459
  buttonSize: { type: "custom", ref: {} },
@@ -405,7 +462,7 @@ const ce = {
405
462
  buttonType: { type: "custom", ref: {} },
406
463
  customClasses: "string",
407
464
  disabled: "boolean"
408
- }, he = P(ce), de = {
465
+ }, ve = T(fe), be = {
409
466
  label: "string",
410
467
  labelColor: { type: "custom", ref: {} },
411
468
  placeholder: "string",
@@ -424,14 +481,22 @@ const ce = {
424
481
  noOptionsText: "string",
425
482
  dropdownBackgroundColor: "string",
426
483
  dropdownHoverColor: "string"
427
- }, fe = P(de);
484
+ }, we = T(be), ge = {
485
+ src: "string",
486
+ alt: "string",
487
+ avatarSize: { type: "custom", ref: {} },
488
+ customClasses: "string",
489
+ fallbackIconName: "string"
490
+ }, Ce = T(ge);
428
491
  export {
429
- ie as DynamicIconImports,
430
- re as HansButton,
431
- he as HansButtonPropsList,
432
- ue as HansDropdown,
433
- fe as HansDropdownPropsList,
434
- M as HansIcon,
435
- me as HansIconPropsList,
436
- G as HansInput
492
+ de as DynamicIconImports,
493
+ W as HansAvatar,
494
+ Ce as HansAvatarPropsList,
495
+ ce as HansButton,
496
+ ve as HansButtonPropsList,
497
+ he as HansDropdown,
498
+ we as HansDropdownPropsList,
499
+ E as HansIcon,
500
+ ye as HansIconPropsList,
501
+ Q as HansInput
437
502
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hans-ui-design-lib",
3
3
  "description": "UI Design System Base Lib",
4
4
  "author": "Victor Hanszman",
5
- "version": "0.0.70",
5
+ "version": "0.0.72",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
8
  "main": "dist/index.cjs.js",