hans-ui-design-lib 0.0.68 → 0.0.70

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 d=require("react");var h={exports:{}},p={};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react");var M={exports:{}},j={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,19 +6,48 @@
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 f;function I(){if(f)return p;f=1;var o=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function i(a,e,t){var r=null;if(t!==void 0&&(r=""+t),e.key!==void 0&&(r=""+e.key),"key"in e){t={};for(var n in e)n!=="key"&&(t[n]=e[n])}else t=e;return e=t.ref,{$$typeof:o,type:a,key:r,ref:e!==void 0?e:null,props:t}}return p.Fragment=s,p.jsx=i,p.jsxs=i,p}var v;function q(){return v||(v=1,h.exports=I()),h.exports}var u=q();const x=d.memo(o=>{const{label:s="",buttonSize:i="medium",buttonColor:a="primary",buttonVariant:e="default",buttonType:t="button",customClasses:r="",disabled:n=!1,children:c,...l}=o;return u.jsx("button",{type:t,disabled:n,className:`
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:`
10
10
  hans-button
11
- hans-button-${i}
12
- hans-button-${a}
13
- hans-button-${e}
14
- ${r}
15
- `,...l,children:u.jsx("slot",{children:c??(s&&u.jsx("span",{children:s}))})})});x.displayName="HansButton";const b=d.memo(o=>{const{label:s="",placeholder:i="",value:a="",inputColor:e="primary",inputSize:t="medium",inputType:r="text",customClasses:n="",disabled:c=!1,children:l,...m}=o;return u.jsxs(u.Fragment,{children:[l,s,u.jsx("input",{type:r,disabled:c,value:a,placeholder:i,className:`
16
- hans-input
17
- hans-input-${t}
18
- hans-input-${e}
19
- ${n}
20
- `,...m})]})});b.displayName="HansInput";function P(o){return Object.keys(o)}const R={name:"string",iconSize:{type:"custom",ref:{}},customClasses:"string"},j=P(R),y={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"))},H=d.memo(o=>{const{name:s,iconSize:i="medium",customClasses:a="",...e}=o,[t,r]=d.useState(null);return d.useEffect(()=>{let n=!0;if(!s)return;const c=s.slice(0,2),l=y[c];if(l)return(async()=>{try{const m=await l();if(!n)return;r(()=>m[s]||null)}catch(m){console.warn(`[HansUI] Error loading icon ${s}:`,m),n&&r(()=>null)}})(),()=>{n=!1}},[s]),t?u.jsx(t,{className:`
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:`
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:`
19
+ hans-input-icon
20
+ hans-input-icon-left
21
+ hans-input-icon-${l}
22
+ `,children:c}):null,n.jsx("input",{id:o,type:g,disabled:q,placeholder:f,className:`
23
+ hans-input
24
+ hans-input-${u}
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:`
30
+ hans-input-icon
31
+ hans-input-icon-right
32
+ hans-input-icon-${l}
33
+ `,children:d}):null]}),b?n.jsx("p",{className:`
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:`
21
37
  hans-icon
22
- hans-icon-${i}
23
- ${a}
24
- `,...e}):u.jsx("span",{className:"hans-icon-loading"})});H.displayName="HansIcon";const C={label:"string",buttonSize:{type:"custom",ref:{}},buttonColor:{type:"custom",ref:{}},buttonVariant:{type:"custom",ref:{}},buttonType:{type:"custom",ref:{}},customClasses:"string",disabled:"boolean"},S=P(C);exports.DynamicIconImports=y;exports.HansButton=x;exports.HansButtonPropsList=S;exports.HansIcon=H;exports.HansIconPropsList=j;exports.HansInput=b;
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:`
41
+ 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:`
44
+ hans-dropdown-option
45
+ ${m?"hans-dropdown-option-selected":""}
46
+ ${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:`
48
+ hans-dropdown-chip
49
+ hans-dropdown-chip-${o}
50
+ `,children:e.label},$(e)))}):null,u?n.jsx("p",{className:`
51
+ hans-input-message
52
+ 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;
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-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}}}*,:before,:after{box-sizing:border-box;font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif}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-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{border-radius:var(--radius-lg);border-color:var(--text-color);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);outline-style:var(--tw-outline-style);outline-width:1px}.hans-input-small{height:calc(var(--spacing)*6);width:calc(var(--spacing)*24)}.hans-input-medium{height:calc(var(--spacing)*8);width:calc(var(--spacing)*36)}.hans-input-large{height:calc(var(--spacing)*10);width:calc(var(--spacing)*50)}.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-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)}.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)}.\!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}}*,: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-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}@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-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}}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,20 @@ import { JSX } from 'react/jsx-runtime';
3
3
 
4
4
  export declare type ButtonType = 'button' | 'submit' | 'reset';
5
5
 
6
- declare type Color = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
6
+ declare type Color = 'base' | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
7
+
8
+ export declare type DropdownOption = {
9
+ id?: string;
10
+ label: string;
11
+ value: string;
12
+ imageSrc?: string;
13
+ imageAlt?: string;
14
+ disabled?: boolean;
15
+ };
16
+
17
+ export declare type DropdownSelectionType = 'single' | 'multi';
18
+
19
+ export declare type DropdownValue = string | string[];
7
20
 
8
21
  export declare const DynamicIconImports: Record<string, () => Promise<IconLibrary>>;
9
22
 
@@ -11,10 +24,11 @@ export declare const HansButton: default_2.MemoExoticComponent<(props: HansButto
11
24
 
12
25
  export declare type HansButtonProps = InferPropsFromSchema<typeof HansButtonSchema> & default_2.ButtonHTMLAttributes<HTMLButtonElement>;
13
26
 
14
- export declare const HansButtonPropsList: ("label" | "buttonSize" | "buttonColor" | "buttonVariant" | "buttonType" | "customClasses" | "disabled")[];
27
+ export declare const HansButtonPropsList: ("label" | "buttonId" | "buttonSize" | "buttonColor" | "buttonVariant" | "buttonType" | "customClasses" | "disabled")[];
15
28
 
16
29
  declare const HansButtonSchema: {
17
30
  readonly label: "string";
31
+ readonly buttonId: "string";
18
32
  readonly buttonSize: {
19
33
  readonly type: "custom";
20
34
  readonly ref: Size;
@@ -35,6 +49,61 @@ declare const HansButtonSchema: {
35
49
  readonly disabled: "boolean";
36
50
  };
37
51
 
52
+ export declare const HansDropdown: default_2.MemoExoticComponent<(props: HansDropdownProps) => JSX.Element>;
53
+
54
+ export declare type HansDropdownProps = InferPropsFromSchema<typeof HansDropdownSchema> & Omit<default_2.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'type'> & {
55
+ onChange?: (value: DropdownValue) => void;
56
+ onSearch?: (query: string) => void;
57
+ onInputChange?: default_2.ChangeEventHandler<HTMLInputElement>;
58
+ };
59
+
60
+ export declare const HansDropdownPropsList: ("label" | "customClasses" | "disabled" | "value" | "defaultValue" | "labelColor" | "placeholder" | "inputId" | "inputColor" | "inputSize" | "message" | "messageColor" | "options" | "selectionType" | "enableAutocomplete" | "noOptionsText" | "dropdownBackgroundColor" | "dropdownHoverColor")[];
61
+
62
+ declare const HansDropdownSchema: {
63
+ readonly label: "string";
64
+ readonly labelColor: {
65
+ readonly type: "custom";
66
+ readonly ref: Color;
67
+ };
68
+ readonly placeholder: "string";
69
+ readonly inputId: "string";
70
+ readonly inputColor: {
71
+ readonly type: "custom";
72
+ readonly ref: Color;
73
+ };
74
+ readonly inputSize: {
75
+ readonly type: "custom";
76
+ readonly ref: Size;
77
+ };
78
+ readonly message: "string";
79
+ readonly messageColor: {
80
+ readonly type: "custom";
81
+ readonly ref: Color;
82
+ };
83
+ readonly customClasses: "string";
84
+ readonly disabled: "boolean";
85
+ readonly options: {
86
+ readonly type: "custom";
87
+ readonly ref: DropdownOption[];
88
+ };
89
+ readonly selectionType: {
90
+ readonly type: "custom";
91
+ readonly ref: DropdownSelectionType;
92
+ };
93
+ readonly enableAutocomplete: "boolean";
94
+ readonly value: {
95
+ readonly type: "custom";
96
+ readonly ref: DropdownValue;
97
+ };
98
+ readonly defaultValue: {
99
+ readonly type: "custom";
100
+ readonly ref: DropdownValue;
101
+ };
102
+ readonly noOptionsText: "string";
103
+ readonly dropdownBackgroundColor: "string";
104
+ readonly dropdownHoverColor: "string";
105
+ };
106
+
38
107
  export declare const HansIcon: default_2.FC<HansIconProps>;
39
108
 
40
109
  export declare type HansIconProps = InferPropsFromSchema<typeof HansIconSchema>;
@@ -56,8 +125,13 @@ declare type HansInputProps = InferPropsFromSchema<typeof HansInputSchema> & def
56
125
 
57
126
  declare const HansInputSchema: {
58
127
  readonly label: "string";
128
+ readonly labelColor: {
129
+ readonly type: "custom";
130
+ readonly ref: Color;
131
+ };
59
132
  readonly placeholder: "string";
60
133
  readonly value: "string";
134
+ readonly inputId: "string";
61
135
  readonly inputColor: {
62
136
  readonly type: "custom";
63
137
  readonly ref: Color;
@@ -70,8 +144,15 @@ declare const HansInputSchema: {
70
144
  readonly type: "custom";
71
145
  readonly ref: InputType;
72
146
  };
147
+ readonly message: "string";
148
+ readonly messageColor: {
149
+ readonly type: "custom";
150
+ readonly ref: Color;
151
+ };
73
152
  readonly customClasses: "string";
74
153
  readonly disabled: "boolean";
154
+ readonly leftIcon: "node";
155
+ readonly rightIcon: "node";
75
156
  };
76
157
 
77
158
  export declare type IconLibrary = Record<string, default_2.ComponentType<default_2.SVGProps<SVGSVGElement>>>;
package/dist/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
- import d from "react";
2
- var x = { exports: {} }, p = {};
1
+ import a from "react";
2
+ var F = { exports: {} }, v = {};
3
3
  /**
4
4
  * @license React
5
5
  * react-jsx-runtime.production.js
@@ -9,106 +9,161 @@ var x = { exports: {} }, p = {};
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 f;
13
- function y() {
14
- if (f) return p;
15
- f = 1;
16
- var o = Symbol.for("react.transitional.element"), s = Symbol.for("react.fragment");
17
- function i(u, t, n) {
18
- var r = null;
19
- if (n !== void 0 && (r = "" + n), t.key !== void 0 && (r = "" + t.key), "key" in t) {
20
- n = {};
21
- for (var e in t)
22
- e !== "key" && (n[e] = t[e]);
23
- } else n = t;
24
- return t = n.ref, {
25
- $$typeof: o,
26
- type: u,
27
- key: r,
28
- ref: t !== void 0 ? t : null,
29
- props: n
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) {
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,
27
+ key: l,
28
+ ref: s !== void 0 ? s : null,
29
+ props: o
30
30
  };
31
31
  }
32
- return p.Fragment = s, p.jsx = i, p.jsxs = i, p;
32
+ return v.Fragment = i, v.jsx = h, v.jsxs = h, v;
33
33
  }
34
- var h;
35
- function R() {
36
- return h || (h = 1, x.exports = y()), x.exports;
34
+ var Y;
35
+ function oe() {
36
+ return Y || (Y = 1, F.exports = se()), F.exports;
37
37
  }
38
- var a = R();
39
- const j = d.memo((o) => {
38
+ var n = oe();
39
+ const re = a.memo((t) => {
40
40
  const {
41
- label: s = "",
42
- buttonSize: i = "medium",
43
- buttonColor: u = "primary",
44
- buttonVariant: t = "default",
45
- buttonType: n = "button",
46
- customClasses: r = "",
47
- disabled: e = !1,
48
- children: l,
49
- ...c
50
- } = o;
51
- return /* @__PURE__ */ a.jsx(
41
+ label: i = "",
42
+ buttonId: h = "hans-button",
43
+ buttonSize: f = "medium",
44
+ buttonColor: s = "primary",
45
+ buttonVariant: o = "default",
46
+ buttonType: l = "button",
47
+ customClasses: u = "",
48
+ disabled: g = !1,
49
+ children: b,
50
+ ...p
51
+ } = t;
52
+ return /* @__PURE__ */ n.jsx(
52
53
  "button",
53
54
  {
54
- type: n,
55
- disabled: e,
55
+ id: h,
56
+ type: l,
57
+ disabled: g,
56
58
  className: `
57
59
  hans-button
58
- hans-button-${i}
59
- hans-button-${u}
60
- hans-button-${t}
61
- ${r}
60
+ hans-button-${f}
61
+ hans-button-${s}
62
+ hans-button-${o}
63
+ ${u}
62
64
  `,
63
- ...c,
64
- children: /* @__PURE__ */ a.jsx("slot", { children: l ?? (s && /* @__PURE__ */ a.jsx("span", { children: s })) })
65
+ ...p,
66
+ children: /* @__PURE__ */ n.jsx("slot", { children: b ?? (i && /* @__PURE__ */ n.jsx("span", { children: i })) })
65
67
  }
66
68
  );
67
69
  });
68
- j.displayName = "HansButton";
69
- const v = d.memo((o) => {
70
+ re.displayName = "HansButton";
71
+ const G = a.memo((t) => {
70
72
  const {
71
- label: s = "",
72
- placeholder: i = "",
73
- value: u = "",
74
- inputColor: t = "primary",
75
- inputSize: n = "medium",
76
- inputType: r = "text",
77
- customClasses: e = "",
78
- disabled: l = !1,
79
- children: c,
80
- ...m
81
- } = o;
82
- return /* @__PURE__ */ a.jsxs(a.Fragment, { children: [
83
- c,
84
- s,
85
- /* @__PURE__ */ a.jsx(
86
- "input",
73
+ label: i = "",
74
+ labelColor: h = "base",
75
+ placeholder: f = "",
76
+ value: s,
77
+ inputId: o = "hans-input",
78
+ inputColor: l = "base",
79
+ inputSize: u = "medium",
80
+ inputType: g = "text",
81
+ message: b = "",
82
+ messageColor: p = "base",
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 };
90
+ return /* @__PURE__ */ n.jsxs("div", { className: "hans-input-div", children: [
91
+ I,
92
+ i ? /* @__PURE__ */ n.jsx(
93
+ "label",
87
94
  {
88
- type: r,
89
- disabled: l,
90
- value: u,
91
- placeholder: i,
95
+ htmlFor: o,
92
96
  className: `
93
- hans-input
94
- hans-input-${n}
95
- hans-input-${t}
96
- ${e}
97
- `,
98
- ...m
97
+ hans-input-label
98
+ hans-input-label-${h}
99
+ `,
100
+ children: i
99
101
  }
100
- )
102
+ ) : null,
103
+ /* @__PURE__ */ n.jsxs("div", { className: "hans-input-field", children: [
104
+ c ? /* @__PURE__ */ n.jsx(
105
+ "span",
106
+ {
107
+ className: `
108
+ hans-input-icon
109
+ hans-input-icon-left
110
+ hans-input-icon-${l}
111
+ `,
112
+ children: c
113
+ }
114
+ ) : null,
115
+ /* @__PURE__ */ n.jsx(
116
+ "input",
117
+ {
118
+ id: o,
119
+ type: g,
120
+ disabled: T,
121
+ placeholder: f,
122
+ className: `
123
+ hans-input
124
+ hans-input-${u}
125
+ hans-input-${l}
126
+ ${c ? "hans-input-has-left-icon" : ""}
127
+ ${d ? "hans-input-has-right-icon" : ""}
128
+ ${x}
129
+ `,
130
+ ...O,
131
+ ...A
132
+ }
133
+ ),
134
+ d ? /* @__PURE__ */ n.jsx(
135
+ "span",
136
+ {
137
+ className: `
138
+ hans-input-icon
139
+ hans-input-icon-right
140
+ hans-input-icon-${l}
141
+ `,
142
+ children: d
143
+ }
144
+ ) : null
145
+ ] }),
146
+ b ? /* @__PURE__ */ n.jsx(
147
+ "p",
148
+ {
149
+ className: `
150
+ hans-input-message
151
+ hans-input-message-${p}
152
+ `,
153
+ children: b
154
+ }
155
+ ) : null
101
156
  ] });
102
157
  });
103
- v.displayName = "HansInput";
104
- function b(o) {
105
- return Object.keys(o);
158
+ G.displayName = "HansInput";
159
+ function P(t) {
160
+ return Object.keys(t);
106
161
  }
107
- const C = {
162
+ const ae = {
108
163
  name: "string",
109
164
  iconSize: { type: "custom", ref: {} },
110
165
  customClasses: "string"
111
- }, S = b(C), H = {
166
+ }, me = P(ae), ie = {
112
167
  Fa: () => import("./index-CuLnU-aI.js"),
113
168
  Md: () => import("./index-D5QBazti.js"),
114
169
  Bi: () => import("./index-Cru_aeJC.js"),
@@ -120,53 +175,263 @@ const C = {
120
175
  Pi: () => import("./index-CraOMhSg.js"),
121
176
  Tb: () => import("./index-C_w14lJB.js"),
122
177
  Lu: () => import("./index-HCQwBvMc.js")
123
- }, I = d.memo(
124
- (o) => {
125
- const { name: s, iconSize: i = "medium", customClasses: u = "", ...t } = o, [n, r] = d.useState(null);
126
- return d.useEffect(() => {
127
- let e = !0;
128
- if (!s) return;
129
- const l = s.slice(0, 2), c = H[l];
130
- if (c)
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)
131
186
  return (async () => {
132
187
  try {
133
- const m = await c();
134
- if (!e) return;
135
- r(() => m[s] || null);
136
- } catch (m) {
137
- console.warn(`[HansUI] Error loading icon ${s}:`, m), e && r(() => null);
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);
138
193
  }
139
194
  })(), () => {
140
- e = !1;
195
+ u = !1;
141
196
  };
142
- }, [s]), n ? /* @__PURE__ */ a.jsx(
143
- n,
197
+ }, [i]), o ? /* @__PURE__ */ n.jsx(
198
+ o,
144
199
  {
145
200
  className: `
146
201
  hans-icon
147
- hans-icon-${i}
148
- ${u}
202
+ hans-icon-${h}
203
+ ${f}
149
204
  `,
150
- ...t
205
+ ...s
151
206
  }
152
- ) : /* @__PURE__ */ a.jsx("span", { className: "hans-icon-loading" });
207
+ ) : /* @__PURE__ */ n.jsx("span", { className: "hans-icon-loading" });
153
208
  }
154
209
  );
155
- I.displayName = "HansIcon";
156
- const $ = {
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) => {
212
+ const {
213
+ label: i = "",
214
+ labelColor: h = "base",
215
+ placeholder: f = "Select an option",
216
+ inputId: s = "hans-dropdown",
217
+ inputColor: o = "base",
218
+ inputSize: l = "medium",
219
+ message: u = "",
220
+ messageColor: g = "base",
221
+ customClasses: b = "",
222
+ disabled: p = !1,
223
+ options: x = [],
224
+ selectionType: T = "single",
225
+ enableAutocomplete: c = !0,
226
+ value: d,
227
+ defaultValue: I,
228
+ noOptionsText: A = "No options",
229
+ dropdownBackgroundColor: O = "var(--white)",
230
+ dropdownHoverColor: Q = "var(--gray-100)",
231
+ onChange: S,
232
+ onSearch: _,
233
+ onInputChange: q,
234
+ ...W
235
+ } = t, y = T === "multi", [C, N] = a.useState(!1), [X, J] = a.useState(
236
+ "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
+ ),
247
+ [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);
255
+ };
256
+ return document.addEventListener("mousedown", e), () => {
257
+ document.removeEventListener("mousedown", e);
258
+ };
259
+ }, []);
260
+ const L = a.useMemo(() => {
261
+ if (!c || R.trim().length === 0) return x;
262
+ const e = R.toLowerCase();
263
+ return x.filter(
264
+ (r) => r.label.toLowerCase().includes(e)
265
+ );
266
+ }, [c, x, R]);
267
+ a.useEffect(() => {
268
+ if (!C) return;
269
+ 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");
273
+ });
274
+ 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);
283
+ 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 && $("");
286
+ return;
287
+ }
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(
294
+ "label",
295
+ {
296
+ htmlFor: s,
297
+ className: `
298
+ hans-input-label
299
+ hans-input-label-${h}
300
+ `,
301
+ children: i
302
+ }
303
+ ) : null,
304
+ /* @__PURE__ */ n.jsxs("div", { className: "hans-dropdown-field", onMouseDown: z, children: [
305
+ /* @__PURE__ */ n.jsx(
306
+ G,
307
+ {
308
+ label: "",
309
+ message: "",
310
+ inputId: s,
311
+ inputColor: o,
312
+ 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,
322
+ rightIcon: /* @__PURE__ */ n.jsx(
323
+ M,
324
+ {
325
+ name: C ? "MdArrowDropUp" : "MdArrowDropDown",
326
+ iconSize: "small"
327
+ }
328
+ ),
329
+ ...W
330
+ }
331
+ ),
332
+ C && !p ? /* @__PURE__ */ n.jsx(
333
+ "ul",
334
+ {
335
+ ref: B,
336
+ className: "hans-dropdown-list",
337
+ role: "listbox",
338
+ "aria-multiselectable": y,
339
+ "data-direction": X,
340
+ style: {
341
+ "--hans-dropdown-bg": O,
342
+ "--hans-dropdown-hover": Q
343
+ },
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);
346
+ return /* @__PURE__ */ n.jsxs(
347
+ "li",
348
+ {
349
+ role: "option",
350
+ "aria-selected": m,
351
+ className: `
352
+ hans-dropdown-option
353
+ ${m ? "hans-dropdown-option-selected" : ""}
354
+ ${e.disabled ? "hans-dropdown-option-disabled" : ""}
355
+ `,
356
+ onClick: () => ee(e),
357
+ children: [
358
+ e.imageSrc ? /* @__PURE__ */ n.jsx(
359
+ "img",
360
+ {
361
+ className: "hans-dropdown-option-image",
362
+ src: e.imageSrc,
363
+ alt: e.imageAlt ?? e.label
364
+ }
365
+ ) : null,
366
+ /* @__PURE__ */ n.jsx("span", { className: "hans-dropdown-option-label", children: e.label })
367
+ ]
368
+ },
369
+ r
370
+ );
371
+ })
372
+ }
373
+ ) : null
374
+ ] }),
375
+ y && H.length > 0 ? /* @__PURE__ */ n.jsx("div", { className: "hans-dropdown-selected", children: H.map((e) => /* @__PURE__ */ n.jsx(
376
+ "span",
377
+ {
378
+ className: `
379
+ hans-dropdown-chip
380
+ hans-dropdown-chip-${o}
381
+ `,
382
+ children: e.label
383
+ },
384
+ E(e)
385
+ )) }) : null,
386
+ u ? /* @__PURE__ */ n.jsx(
387
+ "p",
388
+ {
389
+ className: `
390
+ hans-input-message
391
+ hans-input-message-${g}
392
+ `,
393
+ children: u
394
+ }
395
+ ) : null
396
+ ] });
397
+ });
398
+ ue.displayName = "HansDropdown";
399
+ const ce = {
157
400
  label: "string",
401
+ buttonId: "string",
158
402
  buttonSize: { type: "custom", ref: {} },
159
403
  buttonColor: { type: "custom", ref: {} },
160
404
  buttonVariant: { type: "custom", ref: {} },
161
405
  buttonType: { type: "custom", ref: {} },
162
406
  customClasses: "string",
163
407
  disabled: "boolean"
164
- }, T = b($);
408
+ }, he = P(ce), de = {
409
+ label: "string",
410
+ labelColor: { type: "custom", ref: {} },
411
+ placeholder: "string",
412
+ inputId: "string",
413
+ inputColor: { type: "custom", ref: {} },
414
+ inputSize: { type: "custom", ref: {} },
415
+ message: "string",
416
+ messageColor: { type: "custom", ref: {} },
417
+ customClasses: "string",
418
+ disabled: "boolean",
419
+ options: { type: "custom", ref: {} },
420
+ selectionType: { type: "custom", ref: {} },
421
+ enableAutocomplete: "boolean",
422
+ value: { type: "custom", ref: {} },
423
+ defaultValue: { type: "custom", ref: {} },
424
+ noOptionsText: "string",
425
+ dropdownBackgroundColor: "string",
426
+ dropdownHoverColor: "string"
427
+ }, fe = P(de);
165
428
  export {
166
- H as DynamicIconImports,
167
- j as HansButton,
168
- T as HansButtonPropsList,
169
- I as HansIcon,
170
- S as HansIconPropsList,
171
- v as HansInput
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
172
437
  };
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.68",
5
+ "version": "0.0.70",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
8
  "main": "dist/index.cjs.js",