@enonic/ui 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,11 +4,21 @@ A modern UI component library built with Preact/React, TypeScript, and Tailwind
4
4
 
5
5
  ## Installation
6
6
 
7
+ #### NPM
8
+
7
9
  ```bash
8
10
  npm install @enonic/ui
9
- # or
11
+ ```
12
+
13
+ #### PNPM
14
+
15
+ ```bash
10
16
  pnpm add @enonic/ui
11
- # or
17
+ ```
18
+
19
+ #### Yarn
20
+
21
+ ```bash
12
22
  yarn add @enonic/ui
13
23
  ```
14
24
 
@@ -43,8 +53,8 @@ If you only need the CSS styles:
43
53
  ## Components
44
54
 
45
55
  - **Button** - Versatile button component with multiple variants and sizes
46
- - **Input** - Form input component with built-in validation states
47
56
  - **IconButton** - Button component optimized for icon usage
57
+ - **Input** - Form input component with built-in validation states
48
58
 
49
59
  ## Peer Dependencies
50
60
 
@@ -54,8 +64,8 @@ This library requires one of the following frameworks:
54
64
 
55
65
  ```json
56
66
  {
57
- "react": ">=16.8.0",
58
- "react-dom": ">=16.8.0"
67
+ "react": ">=18.0.0 || >=19.0.0",
68
+ "react-dom": ">=18.0.0 || >=19.0.0"
59
69
  }
60
70
  ```
61
71
 
@@ -64,7 +74,7 @@ This library requires one of the following frameworks:
64
74
  ```json
65
75
  {
66
76
  "preact": ">=10.0.0",
67
- "@preact/compat": ">=17.0.0"
77
+ "@preact/compat": ">=17.0.0 || >=18.0.0"
68
78
  }
69
79
  ```
70
80
 
@@ -106,14 +116,4 @@ pnpm size
106
116
 
107
117
  ## License
108
118
 
109
- Apache-2.0
110
-
111
- ## Contributing
112
-
113
- See [Contributing Guide](https://github.com/enonic/enonic-ui/blob/main/CONTRIBUTING.md)
114
-
115
- ## Links
116
-
117
- - [Documentation](https://github.com/enonic/enonic-ui#readme)
118
- - [Storybook](https://enonic.github.io/enonic-ui)
119
- - [Issue Tracker](https://github.com/enonic/enonic-ui/issues)
119
+ MIT
@@ -1,27 +1,27 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("preact"),r=require("react");function o(e){var r,t,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var n=e.length;for(r=0;r<n;r++)e[r]&&(t=o(e[r]))&&(a&&(a+=" "),a+=t)}else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}function t(){for(var e,r,t=0,a="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=o(e))&&(a&&(a+=" "),a+=r);return a}const a=e=>{const r=l(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:e=>{const o=e.split("-");return""===o[0]&&1!==o.length&&o.shift(),n(o,r)||i(e)},getConflictingClassGroupIds:(e,r)=>{const a=o[e]||[];return r&&t[e]?[...a,...t[e]]:a}}},n=(e,r)=>{var o;if(0===e.length)return r.classGroupId;const t=e[0],a=r.nextPart.get(t),s=a?n(e.slice(1),a):void 0;if(s)return s;if(0===r.validators.length)return;const i=e.join("-");return null==(o=r.validators.find(({validator:e})=>e(i)))?void 0:o.classGroupId},s=/^\[(.+)\]$/,i=e=>{if(s.test(e)){const r=s.exec(e)[1],o=null==r?void 0:r.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}},l=e=>{const{theme:r,classGroups:o}=e,t={nextPart:new Map,validators:[]};for(const a in o)d(o[a],t,a,r);return t},d=(e,r,o,t)=>{e.forEach(e=>{if("string"==typeof e){return void((""===e?r:c(r,e)).classGroupId=o)}if("function"==typeof e)return m(e)?void d(e(t),r,o,t):void r.validators.push({validator:e,classGroupId:o});Object.entries(e).forEach(([e,a])=>{d(a,c(r,e),o,t)})})},c=(e,r)=>{let o=e;return r.split("-").forEach(e=>{o.nextPart.has(e)||o.nextPart.set(e,{nextPart:new Map,validators:[]}),o=o.nextPart.get(e)}),o},m=e=>e.isThemeGetter,u=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,o=new Map,t=new Map;const a=(a,n)=>{o.set(a,n),r++,r>e&&(r=0,t=o,o=new Map)};return{get(e){let r=o.get(e);return void 0!==r?r:void 0!==(r=t.get(e))?(a(e,r),r):void 0},set(e,r){o.has(e)?o.set(e,r):a(e,r)}}},p=e=>{const{prefix:r,experimentalParseClassName:o}=e;let t=e=>{const r=[];let o,t=0,a=0,n=0;for(let l=0;l<e.length;l++){let s=e[l];if(0===t&&0===a){if(":"===s){r.push(e.slice(n,l)),n=l+1;continue}if("/"===s){o=l;continue}}"["===s?t++:"]"===s?t--:"("===s?a++:")"===s&&a--}const s=0===r.length?e:e.substring(n),i=b(s);return{modifiers:r,hasImportantModifier:i!==s,baseClassName:i,maybePostfixModifierPosition:o&&o>n?o-n:void 0}};if(r){const e=r+":",o=t;t=r=>r.startsWith(e)?o(r.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:r,maybePostfixModifierPosition:void 0}}if(o){const e=t;t=r=>o({className:r,parseClassName:e})}return t},b=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,f=e=>{const r=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;const o=[];let t=[];return e.forEach(e=>{"["===e[0]||r[e]?(o.push(...t.sort(),e),t=[]):t.push(e)}),o.push(...t.sort()),o}},g=/\s+/;function h(){let e,r,o=0,t="";for(;o<arguments.length;)(e=arguments[o++])&&(r=v(e))&&(t&&(t+=" "),t+=r);return t}const v=e=>{if("string"==typeof e)return e;let r,o="";for(let t=0;t<e.length;t++)e[t]&&(r=v(e[t]))&&(o&&(o+=" "),o+=r);return o};function x(e,...r){let o,t,n,s=function(l){const d=r.reduce((e,r)=>r(e),e());return o=(e=>({cache:u(e.cacheSize),parseClassName:p(e),sortModifiers:f(e),...a(e)}))(d),t=o.cache.get,n=o.cache.set,s=i,i(l)};function i(e){const r=t(e);if(r)return r;const a=((e,r)=>{const{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:a,sortModifiers:n}=r,s=[],i=e.trim().split(g);let l="";for(let d=i.length-1;d>=0;d-=1){const e=i[d],{isExternal:r,modifiers:c,hasImportantModifier:m,baseClassName:u,maybePostfixModifierPosition:p}=o(e);if(r){l=e+(l.length>0?" "+l:l);continue}let b=!!p,f=t(b?u.substring(0,p):u);if(!f){if(!b){l=e+(l.length>0?" "+l:l);continue}if(f=t(u),!f){l=e+(l.length>0?" "+l:l);continue}b=!1}const g=n(c).join(":"),h=m?g+"!":g,v=h+f;if(s.includes(v))continue;s.push(v);const x=a(f,b);for(let o=0;o<x.length;++o){const e=x[o];s.push(h+e)}l=e+(l.length>0?" "+l:l)}return l})(e,o);return n(e,a),a}return function(){return s(h.apply(null,arguments))}}const k=e=>{const r=r=>r[e]||[];return r.isThemeGetter=!0,r},y=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,w=/^\((?:(\w[\w-]*):)?(.+)\)$/i,z=/^\d+\/\d+$/,N=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,C=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,j=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,M=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,I=e=>z.test(e),G=e=>!!e&&!Number.isNaN(Number(e)),P=e=>!!e&&Number.isInteger(Number(e)),A=e=>e.endsWith("%")&&G(e.slice(0,-1)),$=e=>N.test(e),V=()=>!0,q=e=>C.test(e)&&!j.test(e),E=()=>!1,O=e=>M.test(e),W=e=>_.test(e),L=e=>!B(e)&&!H(e),S=e=>ee(e,ae,E),B=e=>y.test(e),F=e=>ee(e,ne,q),T=e=>ee(e,se,G),R=e=>ee(e,oe,E),U=e=>ee(e,te,W),Z=e=>ee(e,le,O),H=e=>w.test(e),D=e=>re(e,ne),J=e=>re(e,ie),K=e=>re(e,oe),Q=e=>re(e,ae),X=e=>re(e,te),Y=e=>re(e,le,!0),ee=(e,r,o)=>{const t=y.exec(e);return!!t&&(t[1]?r(t[1]):o(t[2]))},re=(e,r,o=!1)=>{const t=w.exec(e);return!!t&&(t[1]?r(t[1]):o)},oe=e=>"position"===e||"percentage"===e,te=e=>"image"===e||"url"===e,ae=e=>"length"===e||"size"===e||"bg-size"===e,ne=e=>"length"===e,se=e=>"number"===e,ie=e=>"family-name"===e,le=e=>"shadow"===e,de=x(()=>{const e=k("color"),r=k("font"),o=k("text"),t=k("font-weight"),a=k("tracking"),n=k("leading"),s=k("breakpoint"),i=k("container"),l=k("spacing"),d=k("radius"),c=k("shadow"),m=k("inset-shadow"),u=k("text-shadow"),p=k("drop-shadow"),b=k("blur"),f=k("perspective"),g=k("aspect"),h=k("ease"),v=k("animate"),x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",H,B],y=()=>[H,B,l],w=()=>[I,"full","auto",...y()],z=()=>[P,"none","subgrid",H,B],N=()=>["auto",{span:["full",P,H,B]},P,H,B],C=()=>[P,"auto",H,B],j=()=>["auto","min","max","fr",H,B],M=()=>["auto",...y()],_=()=>[I,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],q=()=>[e,H,B],E=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",K,R,{position:[H,B]}],O=()=>["auto","cover","contain",Q,S,{size:[H,B]}],W=()=>[A,D,F],ee=()=>["","none","full",d,H,B],re=()=>["",G,D,F],oe=()=>[G,A,K,R],te=()=>["","none",b,H,B],ae=()=>["none",G,H,B],ne=()=>["none",G,H,B],se=()=>[G,H,B],ie=()=>[I,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[$],breakpoint:[$],color:[V],container:[$],"drop-shadow":[$],ease:["in","out","in-out"],font:[L],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[$],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[$],shadow:[$],spacing:["px",G],text:[$],"text-shadow":[$],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",I,B,H,g]}],container:["container"],columns:[{columns:[G,B,H,i]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:x()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{start:w()}],end:[{end:w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:["visible","invisible","collapse"],z:[{z:[P,"auto",H,B]}],basis:[{basis:[I,"full","auto",i,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[G,I,"auto","initial","none",B]}],grow:[{grow:["",G,H,B]}],shrink:[{shrink:["",G,H,B]}],order:[{order:[P,"first","last","none",H,B]}],"grid-cols":[{"grid-cols":z()}],"col-start-end":[{col:N()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":z()}],"row-start-end":[{row:N()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":j()}],"auto-rows":[{"auto-rows":j()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:_()}],w:[{w:[i,"screen",..._()]}],"min-w":[{"min-w":[i,"screen","none",..._()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},..._()]}],h:[{h:["screen","lh",..._()]}],"min-h":[{"min-h":["screen","lh","none",..._()]}],"max-h":[{"max-h":["screen","lh",..._()]}],"font-size":[{text:["base",o,D,F]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,H,T]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",A,B]}],"font-family":[{font:[J,B,r]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,H,B]}],"line-clamp":[{"line-clamp":[G,"none",H,T]}],leading:[{leading:[n,...y()]}],"list-image":[{"list-image":["none",H,B]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",H,B]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:q()}],"text-color":[{text:q()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[G,"from-font","auto",H,F]}],"text-decoration-color":[{decoration:q()}],"underline-offset":[{"underline-offset":[G,"auto",H,B]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",H,B]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",H,B]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:E()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:O()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},P,H,B],radial:["",H,B],conic:[P,H,B]},X,U]}],"bg-color":[{bg:q()}],"gradient-from-pos":[{from:W()}],"gradient-via-pos":[{via:W()}],"gradient-to-pos":[{to:W()}],"gradient-from":[{from:q()}],"gradient-via":[{via:q()}],"gradient-to":[{to:q()}],rounded:[{rounded:ee()}],"rounded-s":[{"rounded-s":ee()}],"rounded-e":[{"rounded-e":ee()}],"rounded-t":[{"rounded-t":ee()}],"rounded-r":[{"rounded-r":ee()}],"rounded-b":[{"rounded-b":ee()}],"rounded-l":[{"rounded-l":ee()}],"rounded-ss":[{"rounded-ss":ee()}],"rounded-se":[{"rounded-se":ee()}],"rounded-ee":[{"rounded-ee":ee()}],"rounded-es":[{"rounded-es":ee()}],"rounded-tl":[{"rounded-tl":ee()}],"rounded-tr":[{"rounded-tr":ee()}],"rounded-br":[{"rounded-br":ee()}],"rounded-bl":[{"rounded-bl":ee()}],"border-w":[{border:re()}],"border-w-x":[{"border-x":re()}],"border-w-y":[{"border-y":re()}],"border-w-s":[{"border-s":re()}],"border-w-e":[{"border-e":re()}],"border-w-t":[{"border-t":re()}],"border-w-r":[{"border-r":re()}],"border-w-b":[{"border-b":re()}],"border-w-l":[{"border-l":re()}],"divide-x":[{"divide-x":re()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":re()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:q()}],"border-color-x":[{"border-x":q()}],"border-color-y":[{"border-y":q()}],"border-color-s":[{"border-s":q()}],"border-color-e":[{"border-e":q()}],"border-color-t":[{"border-t":q()}],"border-color-r":[{"border-r":q()}],"border-color-b":[{"border-b":q()}],"border-color-l":[{"border-l":q()}],"divide-color":[{divide:q()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[G,H,B]}],"outline-w":[{outline:["",G,D,F]}],"outline-color":[{outline:q()}],shadow:[{shadow:["","none",c,Y,Z]}],"shadow-color":[{shadow:q()}],"inset-shadow":[{"inset-shadow":["none",m,Y,Z]}],"inset-shadow-color":[{"inset-shadow":q()}],"ring-w":[{ring:re()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:q()}],"ring-offset-w":[{"ring-offset":[G,F]}],"ring-offset-color":[{"ring-offset":q()}],"inset-ring-w":[{"inset-ring":re()}],"inset-ring-color":[{"inset-ring":q()}],"text-shadow":[{"text-shadow":["none",u,Y,Z]}],"text-shadow-color":[{"text-shadow":q()}],opacity:[{opacity:[G,H,B]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[G]}],"mask-image-linear-from-pos":[{"mask-linear-from":oe()}],"mask-image-linear-to-pos":[{"mask-linear-to":oe()}],"mask-image-linear-from-color":[{"mask-linear-from":q()}],"mask-image-linear-to-color":[{"mask-linear-to":q()}],"mask-image-t-from-pos":[{"mask-t-from":oe()}],"mask-image-t-to-pos":[{"mask-t-to":oe()}],"mask-image-t-from-color":[{"mask-t-from":q()}],"mask-image-t-to-color":[{"mask-t-to":q()}],"mask-image-r-from-pos":[{"mask-r-from":oe()}],"mask-image-r-to-pos":[{"mask-r-to":oe()}],"mask-image-r-from-color":[{"mask-r-from":q()}],"mask-image-r-to-color":[{"mask-r-to":q()}],"mask-image-b-from-pos":[{"mask-b-from":oe()}],"mask-image-b-to-pos":[{"mask-b-to":oe()}],"mask-image-b-from-color":[{"mask-b-from":q()}],"mask-image-b-to-color":[{"mask-b-to":q()}],"mask-image-l-from-pos":[{"mask-l-from":oe()}],"mask-image-l-to-pos":[{"mask-l-to":oe()}],"mask-image-l-from-color":[{"mask-l-from":q()}],"mask-image-l-to-color":[{"mask-l-to":q()}],"mask-image-x-from-pos":[{"mask-x-from":oe()}],"mask-image-x-to-pos":[{"mask-x-to":oe()}],"mask-image-x-from-color":[{"mask-x-from":q()}],"mask-image-x-to-color":[{"mask-x-to":q()}],"mask-image-y-from-pos":[{"mask-y-from":oe()}],"mask-image-y-to-pos":[{"mask-y-to":oe()}],"mask-image-y-from-color":[{"mask-y-from":q()}],"mask-image-y-to-color":[{"mask-y-to":q()}],"mask-image-radial":[{"mask-radial":[H,B]}],"mask-image-radial-from-pos":[{"mask-radial-from":oe()}],"mask-image-radial-to-pos":[{"mask-radial-to":oe()}],"mask-image-radial-from-color":[{"mask-radial-from":q()}],"mask-image-radial-to-color":[{"mask-radial-to":q()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[G]}],"mask-image-conic-from-pos":[{"mask-conic-from":oe()}],"mask-image-conic-to-pos":[{"mask-conic-to":oe()}],"mask-image-conic-from-color":[{"mask-conic-from":q()}],"mask-image-conic-to-color":[{"mask-conic-to":q()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:E()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:O()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",H,B]}],filter:[{filter:["","none",H,B]}],blur:[{blur:te()}],brightness:[{brightness:[G,H,B]}],contrast:[{contrast:[G,H,B]}],"drop-shadow":[{"drop-shadow":["","none",p,Y,Z]}],"drop-shadow-color":[{"drop-shadow":q()}],grayscale:[{grayscale:["",G,H,B]}],"hue-rotate":[{"hue-rotate":[G,H,B]}],invert:[{invert:["",G,H,B]}],saturate:[{saturate:[G,H,B]}],sepia:[{sepia:["",G,H,B]}],"backdrop-filter":[{"backdrop-filter":["","none",H,B]}],"backdrop-blur":[{"backdrop-blur":te()}],"backdrop-brightness":[{"backdrop-brightness":[G,H,B]}],"backdrop-contrast":[{"backdrop-contrast":[G,H,B]}],"backdrop-grayscale":[{"backdrop-grayscale":["",G,H,B]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[G,H,B]}],"backdrop-invert":[{"backdrop-invert":["",G,H,B]}],"backdrop-opacity":[{"backdrop-opacity":[G,H,B]}],"backdrop-saturate":[{"backdrop-saturate":[G,H,B]}],"backdrop-sepia":[{"backdrop-sepia":["",G,H,B]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",H,B]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[G,"initial",H,B]}],ease:[{ease:["linear","initial",h,H,B]}],delay:[{delay:[G,H,B]}],animate:[{animate:["none",v,H,B]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[f,H,B]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ae()}],"rotate-x":[{"rotate-x":ae()}],"rotate-y":[{"rotate-y":ae()}],"rotate-z":[{"rotate-z":ae()}],scale:[{scale:ne()}],"scale-x":[{"scale-x":ne()}],"scale-y":[{"scale-y":ne()}],"scale-z":[{"scale-z":ne()}],"scale-3d":["scale-3d"],skew:[{skew:se()}],"skew-x":[{"skew-x":se()}],"skew-y":[{"skew-y":se()}],transform:[{transform:[H,B,"","none","gpu","cpu"]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ie()}],"translate-x":[{"translate-x":ie()}],"translate-y":[{"translate-y":ie()}],"translate-z":[{"translate-z":ie()}],"translate-none":["translate-none"],accent:[{accent:q()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:q()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",H,B]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",H,B]}],fill:[{fill:["none",...q()]}],"stroke-w":[{stroke:[G,D,F,T]}],stroke:[{stroke:["none",...q()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ce(...e){return de(t(e))}var me=0;function ue(r,o,t,a,n,s){o||(o={});var i,l,d=o;if("ref"in d)for(l in d={},o)"ref"==l?i=o[l]:d[l]=o[l];var c={type:r,props:d,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--me,__i:-1,__u:0,__source:n,__self:s};if("function"==typeof r&&(i=r.defaultProps))for(l in i)void 0===d[l]&&(d[l]=i[l]);return e.options.vnode&&e.options.vnode(c),c}const pe=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,be=t,fe=(e,r)=>o=>{var t;if(null==(null==r?void 0:r.variants))return be(e,null==o?void 0:o.class,null==o?void 0:o.className);const{variants:a,defaultVariants:n}=r,s=Object.keys(a).map(e=>{const r=null==o?void 0:o[e],t=null==n?void 0:n[e];if(null===r)return null;const s=pe(r)||pe(t);return a[e][s]}),i=o&&Object.entries(o).reduce((e,r)=>{let[o,t]=r;return void 0===t||(e[o]=t),e},{}),l=null==r||null===(t=r.compoundVariants)||void 0===t?void 0:t.reduce((e,r)=>{let{class:o,className:t,...a}=r;return Object.entries(a).every(e=>{let[r,o]=e;return Array.isArray(o)?o.includes({...n,...i}[r]):{...n,...i}[r]===o})?[...e,o,t]:e},[]);return be(e,s,l,null==o?void 0:o.class,null==o?void 0:o.className)},ge=fe(["inline-flex items-center justify-center","text-main dark:text-main font-medium","box-border rounded-sm transition-highlight duration-100","focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-0","disabled:pointer-events-none disabled:opacity-30","cursor-pointer"],{variants:{variant:{text:"bg-btn-primary hover:bg-btn-primary-hover active:bg-btn-active active:text-rev dark:active:text-main",filled:"bg-btn-secondary hover:bg-btn-secondary-hover active:bg-btn-active active:text-rev dark:active:text-main",solid:"bg-btn-tertiary text-rev dark:text-main hover:bg-btn-tertiary-hover active:bg-btn-active dark:active:text-main",outline:"bg-btn-primary hover:bg-btn-primary-hover active:bg-btn-active active:text-rev dark:active:text-main border border-bdr-strong"},size:{sm:"h-9 px-3.5 gap-2 text-sm",md:"h-10 px-3.5 gap-2.5 text-base",lg:"h-11.5 px-4 gap-3 text-lg"}},defaultVariants:{variant:"text",size:"md"}});function he({className:e,variant:r="text",size:o="md",startIcon:t,label:a,endIcon:n,title:s,disabled:i=!1,onClick:l}){const d=t,c=n,m=(e=>{switch(e){case"sm":return 16;case"md":return 18;case"lg":return 20}})(o??"md");return ue("button",{type:"button",className:ce(ge({variant:r,size:o}),e??""),title:s,onClick:l,disabled:i,"aria-label":s??a,"aria-disabled":i,children:[d&&ue(d,{size:m}),a,c&&ue(c,{size:m})]})}const ve=fe(["p-0"],{variants:{size:{sm:"h-9 w-9",md:"h-10 w-10",lg:"h-11.5 w-11.5"},shape:{square:"rounded-sm",round:"rounded-full"}},defaultVariants:{size:"md",shape:"square"}});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("preact"),r=require("react");function t(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const t in e)if("default"!==t){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}return r.default=e,Object.freeze(r)}require("preact/compat");const o=t(r);var n=0;function a(r,t,o,a,s,i){t||(t={});var l,d,c=t;if("ref"in c)for(d in c={},t)"ref"==d?l=t[d]:c[d]=t[d];var u={type:r,props:c,key:o,ref:l,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--n,__i:-1,__u:0,__source:s,__self:i};if("function"==typeof r&&(l=r.defaultProps))for(d in l)void 0===c[d]&&(c[d]=l[d]);return e.options.vnode&&e.options.vnode(u),u}function s(e){var r,t,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var n=e.length;for(r=0;r<n;r++)e[r]&&(t=s(e[r]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function i(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=s(e))&&(o&&(o+=" "),o+=r);return o}const l=e=>{const r=m(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{const t=e.split("-");return""===t[0]&&1!==t.length&&t.shift(),d(t,r)||u(e)},getConflictingClassGroupIds:(e,r)=>{const n=t[e]||[];return r&&o[e]?[...n,...o[e]]:n}}},d=(e,r)=>{var t;if(0===e.length)return r.classGroupId;const o=e[0],n=r.nextPart.get(o),a=n?d(e.slice(1),n):void 0;if(a)return a;if(0===r.validators.length)return;const s=e.join("-");return null==(t=r.validators.find(({validator:e})=>e(s)))?void 0:t.classGroupId},c=/^\[(.+)\]$/,u=e=>{if(c.test(e)){const r=c.exec(e)[1],t=null==r?void 0:r.substring(0,r.indexOf(":"));if(t)return"arbitrary.."+t}},m=e=>{const{theme:r,classGroups:t}=e,o={nextPart:new Map,validators:[]};for(const n in t)p(t[n],o,n,r);return o},p=(e,r,t,o)=>{e.forEach(e=>{if("string"==typeof e){return void((""===e?r:f(r,e)).classGroupId=t)}if("function"==typeof e)return b(e)?void p(e(o),r,t,o):void r.validators.push({validator:e,classGroupId:t});Object.entries(e).forEach(([e,n])=>{p(n,f(r,e),t,o)})})},f=(e,r)=>{let t=e;return r.split("-").forEach(e=>{t.nextPart.has(e)||t.nextPart.set(e,{nextPart:new Map,validators:[]}),t=t.nextPart.get(e)}),t},b=e=>e.isThemeGetter,g=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=new Map,o=new Map;const n=(n,a)=>{t.set(n,a),r++,r>e&&(r=0,o=t,t=new Map)};return{get(e){let r=t.get(e);return void 0!==r?r:void 0!==(r=o.get(e))?(n(e,r),r):void 0},set(e,r){t.has(e)?t.set(e,r):n(e,r)}}},h=e=>{const{prefix:r,experimentalParseClassName:t}=e;let o=e=>{const r=[];let t,o=0,n=0,a=0;for(let l=0;l<e.length;l++){let s=e[l];if(0===o&&0===n){if(":"===s){r.push(e.slice(a,l)),a=l+1;continue}if("/"===s){t=l;continue}}"["===s?o++:"]"===s?o--:"("===s?n++:")"===s&&n--}const s=0===r.length?e:e.substring(a),i=v(s);return{modifiers:r,hasImportantModifier:i!==s,baseClassName:i,maybePostfixModifierPosition:t&&t>a?t-a:void 0}};if(r){const e=r+":",t=o;o=r=>r.startsWith(e)?t(r.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:r,maybePostfixModifierPosition:void 0}}if(t){const e=o;o=r=>t({className:r,parseClassName:e})}return o},v=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,x=e=>{const r=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;const t=[];let o=[];return e.forEach(e=>{"["===e[0]||r[e]?(t.push(...o.sort(),e),o=[]):o.push(e)}),t.push(...o.sort()),t}},w=/\s+/;function y(){let e,r,t=0,o="";for(;t<arguments.length;)(e=arguments[t++])&&(r=k(e))&&(o&&(o+=" "),o+=r);return o}const k=e=>{if("string"==typeof e)return e;let r,t="";for(let o=0;o<e.length;o++)e[o]&&(r=k(e[o]))&&(t&&(t+=" "),t+=r);return t};function z(e,...r){let t,o,n,a=function(i){const d=r.reduce((e,r)=>r(e),e());return t=(e=>({cache:g(e.cacheSize),parseClassName:h(e),sortModifiers:x(e),...l(e)}))(d),o=t.cache.get,n=t.cache.set,a=s,s(i)};function s(e){const r=o(e);if(r)return r;const a=((e,r)=>{const{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:a}=r,s=[],i=e.trim().split(w);let l="";for(let d=i.length-1;d>=0;d-=1){const e=i[d],{isExternal:r,modifiers:c,hasImportantModifier:u,baseClassName:m,maybePostfixModifierPosition:p}=t(e);if(r){l=e+(l.length>0?" "+l:l);continue}let f=!!p,b=o(f?m.substring(0,p):m);if(!b){if(!f){l=e+(l.length>0?" "+l:l);continue}if(b=o(m),!b){l=e+(l.length>0?" "+l:l);continue}f=!1}const g=a(c).join(":"),h=u?g+"!":g,v=h+b;if(s.includes(v))continue;s.push(v);const x=n(b,f);for(let t=0;t<x.length;++t){const e=x[t];s.push(h+e)}l=e+(l.length>0?" "+l:l)}return l})(e,t);return n(e,a),a}return function(){return a(y.apply(null,arguments))}}const N=e=>{const r=r=>r[e]||[];return r.isThemeGetter=!0,r},C=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,j=/^\((?:(\w[\w-]*):)?(.+)\)$/i,M=/^\d+\/\d+$/,_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,O=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,I=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,E=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,P=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,R=e=>M.test(e),S=e=>!!e&&!Number.isNaN(Number(e)),$=e=>!!e&&Number.isInteger(Number(e)),A=e=>e.endsWith("%")&&S(e.slice(0,-1)),G=e=>_.test(e),W=()=>!0,V=e=>O.test(e)&&!I.test(e),B=()=>!1,q=e=>E.test(e),T=e=>P.test(e),L=e=>!X(e)&&!J(e),F=e=>ne(e,le,B),X=e=>C.test(e),Y=e=>ne(e,de,V),D=e=>ne(e,ce,S),Z=e=>ne(e,se,B),H=e=>ne(e,ie,T),U=e=>ne(e,me,q),J=e=>j.test(e),K=e=>ae(e,de),Q=e=>ae(e,ue),ee=e=>ae(e,se),re=e=>ae(e,le),te=e=>ae(e,ie),oe=e=>ae(e,me,!0),ne=(e,r,t)=>{const o=C.exec(e);return!!o&&(o[1]?r(o[1]):t(o[2]))},ae=(e,r,t=!1)=>{const o=j.exec(e);return!!o&&(o[1]?r(o[1]):t)},se=e=>"position"===e||"percentage"===e,ie=e=>"image"===e||"url"===e,le=e=>"length"===e||"size"===e||"bg-size"===e,de=e=>"length"===e,ce=e=>"number"===e,ue=e=>"family-name"===e,me=e=>"shadow"===e,pe=z(()=>{const e=N("color"),r=N("font"),t=N("text"),o=N("font-weight"),n=N("tracking"),a=N("leading"),s=N("breakpoint"),i=N("container"),l=N("spacing"),d=N("radius"),c=N("shadow"),u=N("inset-shadow"),m=N("text-shadow"),p=N("drop-shadow"),f=N("blur"),b=N("perspective"),g=N("aspect"),h=N("ease"),v=N("animate"),x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",J,X],w=()=>[J,X,l],y=()=>[R,"full","auto",...w()],k=()=>[$,"none","subgrid",J,X],z=()=>["auto",{span:["full",$,J,X]},$,J,X],C=()=>[$,"auto",J,X],j=()=>["auto","min","max","fr",J,X],M=()=>["auto",...w()],_=()=>[R,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...w()],O=()=>[e,J,X],I=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",ee,Z,{position:[J,X]}],E=()=>["auto","cover","contain",re,F,{size:[J,X]}],P=()=>[A,K,Y],V=()=>["","none","full",d,J,X],B=()=>["",S,K,Y],q=()=>[S,A,ee,Z],T=()=>["","none",f,J,X],ne=()=>["none",S,J,X],ae=()=>["none",S,J,X],se=()=>[S,J,X],ie=()=>[R,"full",...w()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[G],breakpoint:[G],color:[W],container:[G],"drop-shadow":[G],ease:["in","out","in-out"],font:[L],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[G],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[G],shadow:[G],spacing:["px",S],text:[G],"text-shadow":[G],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",R,X,J,g]}],container:["container"],columns:[{columns:[S,X,J,i]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:x()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:y()}],"inset-x":[{"inset-x":y()}],"inset-y":[{"inset-y":y()}],start:[{start:y()}],end:[{end:y()}],top:[{top:y()}],right:[{right:y()}],bottom:[{bottom:y()}],left:[{left:y()}],visibility:["visible","invisible","collapse"],z:[{z:[$,"auto",J,X]}],basis:[{basis:[R,"full","auto",i,...w()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[S,R,"auto","initial","none",X]}],grow:[{grow:["",S,J,X]}],shrink:[{shrink:["",S,J,X]}],order:[{order:[$,"first","last","none",J,X]}],"grid-cols":[{"grid-cols":k()}],"col-start-end":[{col:z()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":k()}],"row-start-end":[{row:z()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":j()}],"auto-rows":[{"auto-rows":j()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":w()}],"space-y-reverse":["space-y-reverse"],size:[{size:_()}],w:[{w:[i,"screen",..._()]}],"min-w":[{"min-w":[i,"screen","none",..._()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},..._()]}],h:[{h:["screen","lh",..._()]}],"min-h":[{"min-h":["screen","lh","none",..._()]}],"max-h":[{"max-h":["screen","lh",..._()]}],"font-size":[{text:["base",t,K,Y]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,J,D]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",A,X]}],"font-family":[{font:[Q,X,r]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,J,X]}],"line-clamp":[{"line-clamp":[S,"none",J,D]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":["none",J,X]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",J,X]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[S,"from-font","auto",J,Y]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[S,"auto",J,X]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",J,X]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",J,X]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:I()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:E()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},$,J,X],radial:["",J,X],conic:[$,J,X]},te,H]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:P()}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:V()}],"rounded-s":[{"rounded-s":V()}],"rounded-e":[{"rounded-e":V()}],"rounded-t":[{"rounded-t":V()}],"rounded-r":[{"rounded-r":V()}],"rounded-b":[{"rounded-b":V()}],"rounded-l":[{"rounded-l":V()}],"rounded-ss":[{"rounded-ss":V()}],"rounded-se":[{"rounded-se":V()}],"rounded-ee":[{"rounded-ee":V()}],"rounded-es":[{"rounded-es":V()}],"rounded-tl":[{"rounded-tl":V()}],"rounded-tr":[{"rounded-tr":V()}],"rounded-br":[{"rounded-br":V()}],"rounded-bl":[{"rounded-bl":V()}],"border-w":[{border:B()}],"border-w-x":[{"border-x":B()}],"border-w-y":[{"border-y":B()}],"border-w-s":[{"border-s":B()}],"border-w-e":[{"border-e":B()}],"border-w-t":[{"border-t":B()}],"border-w-r":[{"border-r":B()}],"border-w-b":[{"border-b":B()}],"border-w-l":[{"border-l":B()}],"divide-x":[{"divide-x":B()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":B()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[S,J,X]}],"outline-w":[{outline:["",S,K,Y]}],"outline-color":[{outline:O()}],shadow:[{shadow:["","none",c,oe,U]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":["none",u,oe,U]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:B()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[S,Y]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":B()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":["none",m,oe,U]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[S,J,X]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[S]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[J,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[S]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:I()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:E()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",J,X]}],filter:[{filter:["","none",J,X]}],blur:[{blur:T()}],brightness:[{brightness:[S,J,X]}],contrast:[{contrast:[S,J,X]}],"drop-shadow":[{"drop-shadow":["","none",p,oe,U]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:["",S,J,X]}],"hue-rotate":[{"hue-rotate":[S,J,X]}],invert:[{invert:["",S,J,X]}],saturate:[{saturate:[S,J,X]}],sepia:[{sepia:["",S,J,X]}],"backdrop-filter":[{"backdrop-filter":["","none",J,X]}],"backdrop-blur":[{"backdrop-blur":T()}],"backdrop-brightness":[{"backdrop-brightness":[S,J,X]}],"backdrop-contrast":[{"backdrop-contrast":[S,J,X]}],"backdrop-grayscale":[{"backdrop-grayscale":["",S,J,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[S,J,X]}],"backdrop-invert":[{"backdrop-invert":["",S,J,X]}],"backdrop-opacity":[{"backdrop-opacity":[S,J,X]}],"backdrop-saturate":[{"backdrop-saturate":[S,J,X]}],"backdrop-sepia":[{"backdrop-sepia":["",S,J,X]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",J,X]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[S,"initial",J,X]}],ease:[{ease:["linear","initial",h,J,X]}],delay:[{delay:[S,J,X]}],animate:[{animate:["none",v,J,X]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,J,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ne()}],"rotate-x":[{"rotate-x":ne()}],"rotate-y":[{"rotate-y":ne()}],"rotate-z":[{"rotate-z":ne()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:se()}],"skew-x":[{"skew-x":se()}],"skew-y":[{"skew-y":se()}],transform:[{transform:[J,X,"","none","gpu","cpu"]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ie()}],"translate-x":[{"translate-x":ie()}],"translate-y":[{"translate-y":ie()}],"translate-z":[{"translate-z":ie()}],"translate-none":["translate-none"],accent:[{accent:O()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",J,X]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",J,X]}],fill:[{fill:["none",...O()]}],"stroke-w":[{stroke:[S,K,Y,D]}],stroke:[{stroke:["none",...O()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function fe(...e){return pe(i(e))}function be(e){return function(e){return!!(e&&"object"==typeof e&&"value"in e&&"peek"in e&&"function"==typeof e.peek&&"subscribe"in e&&"function"==typeof e.subscribe)}(e)?e.value:e}const ge=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,he=i,ve=(e,r)=>t=>{var o;if(null==(null==r?void 0:r.variants))return he(e,null==t?void 0:t.class,null==t?void 0:t.className);const{variants:n,defaultVariants:a}=r,s=Object.keys(n).map(e=>{const r=null==t?void 0:t[e],o=null==a?void 0:a[e];if(null===r)return null;const s=ge(r)||ge(o);return n[e][s]}),i=t&&Object.entries(t).reduce((e,r)=>{let[t,o]=r;return void 0===o||(e[t]=o),e},{}),l=null==r||null===(o=r.compoundVariants)||void 0===o?void 0:o.reduce((e,r)=>{let{class:t,className:o,...n}=r;return Object.entries(n).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...a,...i}[r]):{...a,...i}[r]===t})?[...e,t,o]:e},[]);return he(e,s,l,null==t?void 0:t.class,null==t?void 0:t.className)},xe=ve(["inline-flex items-center justify-center","text-main dark:text-main font-medium","box-border rounded-sm transition-highlight duration-100","focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-0","disabled:pointer-events-none disabled:opacity-30","cursor-pointer"],{variants:{variant:{text:"bg-btn-primary hover:bg-btn-primary-hover active:bg-btn-active active:text-rev dark:active:text-main",filled:"bg-btn-secondary hover:bg-btn-secondary-hover active:bg-btn-active active:text-rev dark:active:text-main",solid:"bg-btn-tertiary text-rev dark:text-main hover:bg-btn-tertiary-hover active:bg-btn-active dark:active:text-main",outline:"bg-btn-primary hover:bg-btn-primary-hover active:bg-btn-active active:text-rev dark:active:text-main border border-bdr-strong"},size:{sm:"h-9 px-3.5 gap-2 text-sm",md:"h-10 px-3.5 gap-2.5 text-base",lg:"h-11.5 px-4 gap-3 text-lg"}},defaultVariants:{variant:"text",size:"md"}}),we=r.forwardRef(({className:e,variant:r="text",size:t="md",startIcon:o,label:n,endIcon:s,title:i,children:l,...d},c)=>{const u=o,m=s,p=(e=>{switch(e){case"sm":return 16;case"md":return 18;case"lg":return 20}})(t??"md");return a("button",{ref:c,type:"button",className:fe(xe({variant:r,size:t}),e),title:i,"aria-label":i??n,"aria-disabled":d.disabled,...d,children:[u&&a(u,{size:p}),l,n,m&&a(m,{size:p})]})});we.displayName="Button";const ye=ve(["p-0"],{variants:{size:{sm:"h-9 w-9",md:"h-10 w-10",lg:"h-11.5 w-11.5"},shape:{square:"rounded-sm",round:"rounded-full"}},defaultVariants:{size:"md",shape:"square"}}),ke=r.forwardRef(({className:e,variant:r="text",size:t="md",shape:o="square",icon:n,...s},i)=>a(we,{ref:i,className:fe(ye({size:t,shape:o}),e),variant:r,size:t,startIcon:n,label:"",...s}));ke.displayName="IconButton";
2
2
  /**
3
3
  * @license lucide-react v0.525.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
6
6
  * See the LICENSE file in the root directory of this source tree.
7
7
  */
8
- const xe=e=>{const r=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,o)=>o?o.toUpperCase():r.toLowerCase()))(e);return r.charAt(0).toUpperCase()+r.slice(1)},ke=(...e)=>e.filter((e,r,o)=>Boolean(e)&&""!==e.trim()&&o.indexOf(e)===r).join(" ").trim(),ye=e=>{for(const r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0};
8
+ const ze=e=>{const r=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,t)=>t?t.toUpperCase():r.toLowerCase()))(e);return r.charAt(0).toUpperCase()+r.slice(1)},Ne=(...e)=>e.filter((e,r,t)=>Boolean(e)&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim(),Ce=e=>{for(const r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0};
9
9
  /**
10
10
  * @license lucide-react v0.525.0 - ISC
11
11
  *
12
12
  * This source code is licensed under the ISC license.
13
13
  * See the LICENSE file in the root directory of this source tree.
14
14
  */
15
- var we={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};
15
+ var je={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};
16
16
  /**
17
17
  * @license lucide-react v0.525.0 - ISC
18
18
  *
19
19
  * This source code is licensed under the ISC license.
20
20
  * See the LICENSE file in the root directory of this source tree.
21
- */const ze=r.forwardRef(({color:e="currentColor",size:o=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:n="",children:s,iconNode:i,...l},d)=>r.createElement("svg",{ref:d,...we,width:o,height:o,stroke:e,strokeWidth:a?24*Number(t)/Number(o):t,className:ke("lucide",n),...!s&&!ye(l)&&{"aria-hidden":"true"},...l},[...i.map(([e,o])=>r.createElement(e,o)),...Array.isArray(s)?s:[s]])),Ne=(e,o)=>{const t=r.forwardRef(({className:t,...a},n)=>{return r.createElement(ze,{ref:n,iconNode:o,className:ke(`lucide-${s=xe(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,t),...a});var s});return t.displayName=xe(e),t},Ce=Ne("lock-keyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]),je=Ne("octagon-alert",[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]]),Me=fe(["relative flex rounded-sm overflow-hidden","h-10 border focus-within:border-bdr-solid","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight duration-100"],{variants:{state:{default:"border-bdr-subtle focus-within:border-bdr-strong",error:"border-bdr-danger focus-within:border-bdr-danger focus-within:ring-danger/50"},disabled:{true:"pointer-events-none",false:""}},defaultVariants:{state:"default",disabled:!1}}),_e=fe(["w-full px-3 text-base h-10","text-main bg-alt","placeholder:text-subtle","focus:outline-none","disabled:pointer-events-none","read-only:bg-surface-primary","border-0"]),Ie=fe(["block text-base font-semibold text-main"],{variants:{disabled:{true:"opacity-30",false:""}},defaultVariants:{disabled:!1}}),Ge=fe(["text-sm text-subtle"],{variants:{disabled:{true:"opacity-30",false:""}},defaultVariants:{disabled:!1}}),Pe=fe(["flex items-center gap-1 text-danger mt-1"]),Ae=fe(["flex items-center justify-center shrink-0","min-h-10 min-w-10","px-4 text-sm text-subtle bg-surface-primary","first:rounded-l-sm last:rounded-r-sm","first:border-r first:border-bdr-soft","last:border-l last:border-bdr-soft"]),$e=e=>ue("div",{className:ce(Ae()),children:e});
21
+ */const Me=r.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:o=2,absoluteStrokeWidth:n,className:a="",children:s,iconNode:i,...l},d)=>r.createElement("svg",{ref:d,...je,width:t,height:t,stroke:e,strokeWidth:n?24*Number(o)/Number(t):o,className:Ne("lucide",a),...!s&&!Ce(l)&&{"aria-hidden":"true"},...l},[...i.map(([e,t])=>r.createElement(e,t)),...Array.isArray(s)?s:[s]])),_e=(e,t)=>{const o=r.forwardRef(({className:o,...n},a)=>{return r.createElement(Me,{ref:a,iconNode:t,className:Ne(`lucide-${s=ze(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...n});var s});return o.displayName=ze(e),o},Oe=_e("lock-keyhole",[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]]),Ie=_e("octagon-alert",[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]]),Ee=ve(["relative flex rounded-sm overflow-hidden","h-10 border focus-within:border-bdr-solid","focus-within:outline-none focus-within:ring-3 focus-within:ring-ring/50 focus-within:ring-offset-0","transition-highlight duration-100"],{variants:{state:{default:"border-bdr-subtle focus-within:border-bdr-strong",error:"border-bdr-danger focus-within:border-bdr-danger focus-within:ring-danger/50"},disabled:{true:"pointer-events-none",false:""}},defaultVariants:{state:"default",disabled:!1}}),Pe=ve(["w-full px-3 text-base h-10","text-main bg-alt","placeholder:text-subtle","focus:outline-none","disabled:pointer-events-none","read-only:bg-surface-primary","border-0"]),Re=ve(["block text-base font-semibold text-main"],{variants:{disabled:{true:"opacity-30",false:""}},defaultVariants:{disabled:!1}}),Se=ve(["text-sm text-subtle"],{variants:{disabled:{true:"opacity-30",false:""}},defaultVariants:{disabled:!1}}),$e=ve(["flex items-center gap-1 text-danger mt-1"]),Ae=ve(["flex items-center justify-center shrink-0","min-h-10 min-w-10","px-4 text-sm text-subtle bg-surface-primary","first:rounded-l-sm last:rounded-r-sm","first:border-r first:border-bdr-soft","last:border-l last:border-bdr-soft"]),Ge=e=>a("div",{className:fe(Ae()),children:e}),We=r.forwardRef(({className:e,label:t,description:o,error:n,startAddon:s,endAddon:i,id:l,...d},c)=>{const u=l??r.useId(),m=be(d.disabled)??!1,p=be(d.readOnly)??!1,f=n?"error":"default";return a("div",{className:fe("w-full",m&&"opacity-30",e),children:[a("div",{className:"mb-2",children:[t&&a("label",{htmlFor:u,className:fe(Re({disabled:m})),children:a("div",{className:"flex items-center gap-1",children:[p&&a(Oe,{size:16}),t]})}),o&&a("div",{className:fe(Se({disabled:m})),children:o})]}),a("div",{className:fe(Ee({state:f,disabled:m})),children:[s&&Ge(s),a("input",{ref:c,id:u,...d,className:fe(Pe(),s&&"rounded-l-none",i&&"rounded-r-none","flex-1")}),i&&Ge(i)]}),n&&a("div",{className:fe($e()),children:[a(Ie,{size:16}),n]})]})});
22
22
  /**
23
23
  * @license lucide-react v0.525.0 - ISC
24
24
  *
25
25
  * This source code is licensed under the ISC license.
26
26
  * See the LICENSE file in the root directory of this source tree.
27
- */exports.Button=he,exports.IconButton=function({className:e,variant:r="text",size:o="md",shape:t="square",icon:a,title:n,disabled:s=!1,onClick:i}){return ue(he,{variant:r,size:o,startIcon:a,label:"",title:n,disabled:s,onClick:i,className:ce(ve({size:o,shape:t}),e)})},exports.Input=function({className:e,label:r,description:o,placeholder:t,error:a,startAddon:n,endAddon:s,value:i,defaultValue:l,disabled:d=!1,readOnly:c=!1,onChange:m,onInput:u,onFocus:p,onBlur:b,type:f="text",name:g,id:h,required:v=!1,minLength:x,maxLength:k,min:y,max:w,step:z,pattern:N,autoComplete:C,tabIndex:j}){const M=Boolean(a),_=h??`input-${Math.random().toString(36).slice(2,11)}`;return ue("div",{className:ce("w-full",d&&"opacity-30",e),children:[ue("div",{className:"mb-2",children:[r&&ue("label",{htmlFor:_,className:ce(Ie({disabled:d})),children:ue("div",{className:"flex items-center gap-1",children:[c&&ue(Ce,{size:16}),r]})}),o&&ue("div",{className:ce(Ge({disabled:d})),children:o})]}),ue("div",{className:ce(Me({state:M?"error":"default",disabled:d})),children:[n&&$e(n),ue("input",{id:_,type:f,name:g,value:i,defaultValue:l,placeholder:t,disabled:d,readOnly:c,required:v,minLength:x,maxLength:k,min:y,max:w,step:z,pattern:N,autoComplete:C,tabIndex:j,onChange:m,onInput:u,onFocus:p,onBlur:b,className:ce(_e(),n&&"rounded-l-none",s&&"rounded-r-none","flex-1")}),s&&$e(s)]}),a&&ue("div",{className:ce(Pe()),children:[ue(je,{size:16}),a]})]})},exports.cn=ce;
27
+ */function Ve(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}function Be(e){const r=Te(e),t=o.forwardRef((e,t)=>{const{children:n,...s}=e,i=o.Children.toArray(n),l=i.find(Fe);if(l){const e=l.props.children,n=i.map(r=>r===l?o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null:r);return a(r,{...s,ref:t,children:o.isValidElement(e)?o.cloneElement(e,void 0,n):null})}return a(r,{...s,ref:t,children:n})});return t.displayName=`${e}.Slot`,t}We.displayName="Input";var qe=Be("Slot");function Te(e){const r=o.forwardRef((e,r)=>{const{children:t,...n}=e;if(o.isValidElement(t)){const e=function(e){var r,t;let o=null==(r=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:r.get,n=o&&"isReactWarning"in o&&o.isReactWarning;if(n)return e.ref;if(o=null==(t=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:t.get,n=o&&"isReactWarning"in o&&o.isReactWarning,n)return e.props.ref;return e.props.ref||e.ref}(t),a=function(e,r){const t={...r};for(const o in r){const n=e[o],a=r[o];/^on[A-Z]/.test(o)?n&&a?t[o]=(...e)=>{const r=a(...e);return n(...e),r}:n&&(t[o]=n):"style"===o?t[o]={...n,...a}:"className"===o&&(t[o]=[n,a].filter(Boolean).join(" "))}return{...e,...t}}(n,t.props);return t.type!==o.Fragment&&(a.ref=r?function(...e){return r=>{let t=!1;const o=e.map(e=>{const o=Ve(e,r);return t||"function"!=typeof o||(t=!0),o});if(t)return()=>{for(let r=0;r<o.length;r++){const t=o[r];"function"==typeof t?t():Ve(e[r],null)}}}}(r,e):e),o.cloneElement(t,a)}return o.Children.count(t)>1?o.Children.only(null):null});return r.displayName=`${e}.SlotClone`,r}var Le=Symbol("radix.slottable");function Fe(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===Le}const Xe={top:"bottom",bottom:"top",left:"right",right:"left"};function Ye({children:e,asChild:r,triggerRef:t,isOpen:o,onMouseEnter:n,onMouseLeave:s,onFocus:i,onBlur:l}){return a(r?qe:"div",{ref:t,className:r?void 0:"inline-flex",onMouseEnter:n,onMouseLeave:s,onFocus:i,onBlur:l,"aria-describedby":o?"tooltip":void 0,role:r?void 0:"button",tabIndex:r?void 0:0,children:e})}function De({children:e,actualSide:r,className:t,position:o,tooltipRef:n}){return a("div",{ref:n,role:"tooltip",className:fe("fixed z-50 pointer-events-none",!o.transformOrigin&&"opacity-0"),style:{top:`${o.top}px`,left:`${o.left}px`,transformOrigin:o.transformOrigin},children:a("div",{className:fe("relative w-fit rounded-xs px-2 py-1 text-xs","bg-tooltip text-tooltip-foreground shadow-md","animate-in fade-in-0 zoom-in-95","top"===r&&"slide-in-from-top-2","bottom"===r&&"slide-in-from-bottom-2","left"===r&&"slide-in-from-left-2","right"===r&&"slide-in-from-right-2",t),children:[e,a("div",{className:fe("absolute size-2 rotate-45","top"===r&&"bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2","bottom"===r&&"top-0 left-1/2 -translate-x-1/2 -translate-y-1/2","left"===r&&"right-0 top-1/2 -translate-y-1/2 translate-x-1/2","right"===r&&"left-0 top-1/2 -translate-y-1/2 -translate-x-1/2"),style:{backgroundColor:"inherit"}})]})})}exports.Button=we,exports.IconButton=ke,exports.Input=We,exports.Tooltip=function({className:t,children:o,value:n,side:s="bottom",asChild:i=!0,delay:l=0}){const[d,c]=r.useState(!1),u=r.useRef(null),m=r.useRef(null),p=r.useRef(),f=function(e,t,o,n){const[a,s]=r.useState({top:0,left:0,transformOrigin:"",actualSide:t});return r.useEffect(()=>{if(!e||!o.current||!n.current)return;const r=o.current.getBoundingClientRect(),a=n.current.getBoundingClientRect(),i=e=>{let t=0,o=0,n="";switch(e){case"top":t=r.top+window.scrollY-a.height-8,o=r.left+window.scrollX+(r.width-a.width)/2,n="bottom center";break;case"bottom":t=r.bottom+window.scrollY+8,o=r.left+window.scrollX+(r.width-a.width)/2,n="top center";break;case"left":t=r.top+window.scrollY+(r.height-a.height)/2,o=r.left+window.scrollX-a.width-8,n="center right";break;case"right":t=r.top+window.scrollY+(r.height-a.height)/2,o=r.right+window.scrollX+8,n="center left"}return{top:t,left:o,transformOrigin:n,actualSide:e}},l=({top:e,left:r})=>{const t=window.scrollY+8,o=window.scrollY+window.innerHeight-a.height-8,n=window.scrollX+8,s=window.scrollX+window.innerWidth-a.width-8;return e>=t&&e<=o&&r>=n&&r<=s};let d=i(t);if(!l(d)){const e=i(Xe[t]);l(e)&&(d=e)}s(d)},[e,t]),a}(d,s,u,m);r.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const b=r.useCallback(()=>{p.current&&clearTimeout(p.current),l>0?p.current=window.setTimeout(()=>c(!0),l):c(!0)},[l]),g=r.useCallback(()=>{p.current&&clearTimeout(p.current),c(!1)},[]),h=r.useCallback(()=>c(!0),[]),v=r.useCallback(()=>c(!1),[]);return a(e.Fragment,{children:[a(Ye,{asChild:i,triggerRef:u,isOpen:d,onMouseEnter:b,onMouseLeave:g,onFocus:h,onBlur:v,children:o}),d&&r.createPortal(a(De,{actualSide:f.actualSide,className:t,position:f,tooltipRef:m,children:n}),document.body)]})},exports.cn=fe,exports.unwrap=be;
@@ -1,5 +1,16 @@
1
- import { options } from "preact";
2
- import { forwardRef, createElement } from "react";
1
+ import { options, Fragment } from "preact";
2
+ import * as React from "react";
3
+ import { forwardRef, createElement, useId, useState, useRef, useEffect, useCallback, createPortal } from "react";
4
+ import "preact/compat";
5
+ var f = 0;
6
+ function u(e, t, n, o, i, u2) {
7
+ t || (t = {});
8
+ var a, c, p = t;
9
+ if ("ref" in p) for (c in p = {}, t) "ref" == c ? a = t[c] : p[c] = t[c];
10
+ var l = { type: e, props: p, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --f, __i: -1, __u: 0, __source: i, __self: u2 };
11
+ if ("function" == typeof e && (a = e.defaultProps)) for (c in a) void 0 === p[c] && (p[c] = a[c]);
12
+ return options.vnode && options.vnode(l), l;
13
+ }
3
14
  function r(e) {
4
15
  var t, f2, n = "";
5
16
  if ("string" == typeof e || "number" == typeof e) n += e;
@@ -2968,14 +2979,11 @@ const twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
2968
2979
  function cn(...inputs) {
2969
2980
  return twMerge(clsx(inputs));
2970
2981
  }
2971
- var f = 0;
2972
- function u(e, t, n, o, i, u2) {
2973
- t || (t = {});
2974
- var a, c, p = t;
2975
- if ("ref" in p) for (c in p = {}, t) "ref" == c ? a = t[c] : p[c] = t[c];
2976
- var l = { type: e, props: p, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --f, __i: -1, __u: 0, __source: i, __self: u2 };
2977
- if ("function" == typeof e && (a = e.defaultProps)) for (c in a) void 0 === p[c] && (p[c] = a[c]);
2978
- return options.vnode && options.vnode(l), l;
2982
+ function isSignal(v) {
2983
+ return !!(v && typeof v === "object" && "value" in v && "peek" in v && typeof v.peek === "function" && "subscribe" in v && typeof v.subscribe === "function");
2984
+ }
2985
+ function unwrap(v) {
2986
+ return isSignal(v) ? v.value : v;
2979
2987
  }
2980
2988
  const falsyToString = (value) => typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
2981
2989
  const cx = clsx;
@@ -3056,38 +3064,32 @@ const getIconSize = (size) => {
3056
3064
  return 20;
3057
3065
  }
3058
3066
  };
3059
- function Button({
3060
- className,
3061
- variant = "text",
3062
- size = "md",
3063
- startIcon,
3064
- label,
3065
- endIcon,
3066
- title,
3067
- disabled = false,
3068
- onClick
3069
- }) {
3070
- const StartIcon = startIcon;
3071
- const EndIcon = endIcon;
3072
- const iconSize = getIconSize(size ?? "md");
3073
- return /* @__PURE__ */ u(
3074
- "button",
3075
- {
3076
- type: "button",
3077
- className: cn(buttonVariants({ variant, size }), className ?? ""),
3078
- title,
3079
- onClick,
3080
- disabled,
3081
- "aria-label": title ?? label,
3082
- "aria-disabled": disabled,
3083
- children: [
3084
- StartIcon && /* @__PURE__ */ u(StartIcon, { size: iconSize }),
3085
- label,
3086
- EndIcon && /* @__PURE__ */ u(EndIcon, { size: iconSize })
3087
- ]
3088
- }
3089
- );
3090
- }
3067
+ const Button = forwardRef(
3068
+ ({ className, variant = "text", size = "md", startIcon, label, endIcon, title, children, ...props }, ref) => {
3069
+ const StartIcon = startIcon;
3070
+ const EndIcon = endIcon;
3071
+ const iconSize = getIconSize(size ?? "md");
3072
+ return /* @__PURE__ */ u(
3073
+ "button",
3074
+ {
3075
+ ref,
3076
+ type: "button",
3077
+ className: cn(buttonVariants({ variant, size }), className),
3078
+ title,
3079
+ "aria-label": title ?? label,
3080
+ "aria-disabled": props.disabled,
3081
+ ...props,
3082
+ children: [
3083
+ StartIcon && /* @__PURE__ */ u(StartIcon, { size: iconSize }),
3084
+ children,
3085
+ label,
3086
+ EndIcon && /* @__PURE__ */ u(EndIcon, { size: iconSize })
3087
+ ]
3088
+ }
3089
+ );
3090
+ }
3091
+ );
3092
+ Button.displayName = "Button";
3091
3093
  const iconButtonVariants = cva(["p-0"], {
3092
3094
  variants: {
3093
3095
  size: {
@@ -3105,30 +3107,23 @@ const iconButtonVariants = cva(["p-0"], {
3105
3107
  shape: "square"
3106
3108
  }
3107
3109
  });
3108
- function IconButton({
3109
- className,
3110
- variant = "text",
3111
- size = "md",
3112
- shape = "square",
3113
- icon,
3114
- title,
3115
- disabled = false,
3116
- onClick
3117
- }) {
3118
- return /* @__PURE__ */ u(
3119
- Button,
3120
- {
3121
- variant,
3122
- size,
3123
- startIcon: icon,
3124
- label: "",
3125
- title,
3126
- disabled,
3127
- onClick,
3128
- className: cn(iconButtonVariants({ size, shape }), className)
3129
- }
3130
- );
3131
- }
3110
+ const IconButton = forwardRef(
3111
+ ({ className, variant = "text", size = "md", shape = "square", icon, ...props }, ref) => {
3112
+ return /* @__PURE__ */ u(
3113
+ Button,
3114
+ {
3115
+ ref,
3116
+ className: cn(iconButtonVariants({ size, shape }), className),
3117
+ variant,
3118
+ size,
3119
+ startIcon: icon,
3120
+ label: "",
3121
+ ...props
3122
+ }
3123
+ );
3124
+ }
3125
+ );
3126
+ IconButton.displayName = "IconButton";
3132
3127
  /**
3133
3128
  * @license lucide-react v0.525.0 - ISC
3134
3129
  *
@@ -3325,96 +3320,365 @@ const addonVariants = cva([
3325
3320
  const renderAddon = (addon) => {
3326
3321
  return /* @__PURE__ */ u("div", { className: cn(addonVariants()), children: addon });
3327
3322
  };
3328
- function Input({
3323
+ const Input = forwardRef(
3324
+ ({ className, label, description, error, startAddon, endAddon, id, ...props }, ref) => {
3325
+ const inputId = id ?? useId();
3326
+ const disabled = unwrap(props.disabled) ?? false;
3327
+ const readOnly = unwrap(props.readOnly) ?? false;
3328
+ const state = error ? "error" : "default";
3329
+ return /* @__PURE__ */ u("div", { className: cn("w-full", disabled && "opacity-30", className), children: [
3330
+ /* @__PURE__ */ u("div", { className: "mb-2", children: [
3331
+ label && /* @__PURE__ */ u("label", { htmlFor: inputId, className: cn(labelVariants({ disabled })), children: /* @__PURE__ */ u("div", { className: "flex items-center gap-1", children: [
3332
+ readOnly && /* @__PURE__ */ u(LockKeyhole, { size: 16 }),
3333
+ label
3334
+ ] }) }),
3335
+ description && /* @__PURE__ */ u("div", { className: cn(descriptionVariants({ disabled })), children: description })
3336
+ ] }),
3337
+ /* @__PURE__ */ u("div", { className: cn(inputContainerVariants({ state, disabled })), children: [
3338
+ startAddon && renderAddon(startAddon),
3339
+ /* @__PURE__ */ u(
3340
+ "input",
3341
+ {
3342
+ ref,
3343
+ id: inputId,
3344
+ ...props,
3345
+ className: cn(inputVariants(), startAddon && "rounded-l-none", endAddon && "rounded-r-none", "flex-1")
3346
+ }
3347
+ ),
3348
+ endAddon && renderAddon(endAddon)
3349
+ ] }),
3350
+ error && /* @__PURE__ */ u("div", { className: cn(errorVariants()), children: [
3351
+ /* @__PURE__ */ u(OctagonAlert, { size: 16 }),
3352
+ error
3353
+ ] })
3354
+ ] });
3355
+ }
3356
+ );
3357
+ Input.displayName = "Input";
3358
+ function setRef(ref, value) {
3359
+ if (typeof ref === "function") {
3360
+ return ref(value);
3361
+ } else if (ref !== null && ref !== void 0) {
3362
+ ref.current = value;
3363
+ }
3364
+ }
3365
+ function composeRefs(...refs) {
3366
+ return (node) => {
3367
+ let hasCleanup = false;
3368
+ const cleanups = refs.map((ref) => {
3369
+ const cleanup = setRef(ref, node);
3370
+ if (!hasCleanup && typeof cleanup == "function") {
3371
+ hasCleanup = true;
3372
+ }
3373
+ return cleanup;
3374
+ });
3375
+ if (hasCleanup) {
3376
+ return () => {
3377
+ for (let i = 0; i < cleanups.length; i++) {
3378
+ const cleanup = cleanups[i];
3379
+ if (typeof cleanup == "function") {
3380
+ cleanup();
3381
+ } else {
3382
+ setRef(refs[i], null);
3383
+ }
3384
+ }
3385
+ };
3386
+ }
3387
+ };
3388
+ }
3389
+ // @__NO_SIDE_EFFECTS__
3390
+ function createSlot(ownerName) {
3391
+ const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
3392
+ const Slot2 = React.forwardRef((props, forwardedRef) => {
3393
+ const { children, ...slotProps } = props;
3394
+ const childrenArray = React.Children.toArray(children);
3395
+ const slottable = childrenArray.find(isSlottable);
3396
+ if (slottable) {
3397
+ const newElement = slottable.props.children;
3398
+ const newChildren = childrenArray.map((child) => {
3399
+ if (child === slottable) {
3400
+ if (React.Children.count(newElement) > 1) return React.Children.only(null);
3401
+ return React.isValidElement(newElement) ? newElement.props.children : null;
3402
+ } else {
3403
+ return child;
3404
+ }
3405
+ });
3406
+ return /* @__PURE__ */ u(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
3407
+ }
3408
+ return /* @__PURE__ */ u(SlotClone, { ...slotProps, ref: forwardedRef, children });
3409
+ });
3410
+ Slot2.displayName = `${ownerName}.Slot`;
3411
+ return Slot2;
3412
+ }
3413
+ var Slot = /* @__PURE__ */ createSlot("Slot");
3414
+ // @__NO_SIDE_EFFECTS__
3415
+ function createSlotClone(ownerName) {
3416
+ const SlotClone = React.forwardRef((props, forwardedRef) => {
3417
+ const { children, ...slotProps } = props;
3418
+ if (React.isValidElement(children)) {
3419
+ const childrenRef = getElementRef(children);
3420
+ const props2 = mergeProps(slotProps, children.props);
3421
+ if (children.type !== React.Fragment) {
3422
+ props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
3423
+ }
3424
+ return React.cloneElement(children, props2);
3425
+ }
3426
+ return React.Children.count(children) > 1 ? React.Children.only(null) : null;
3427
+ });
3428
+ SlotClone.displayName = `${ownerName}.SlotClone`;
3429
+ return SlotClone;
3430
+ }
3431
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
3432
+ function isSlottable(child) {
3433
+ return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
3434
+ }
3435
+ function mergeProps(slotProps, childProps) {
3436
+ const overrideProps = { ...childProps };
3437
+ for (const propName in childProps) {
3438
+ const slotPropValue = slotProps[propName];
3439
+ const childPropValue = childProps[propName];
3440
+ const isHandler = /^on[A-Z]/.test(propName);
3441
+ if (isHandler) {
3442
+ if (slotPropValue && childPropValue) {
3443
+ overrideProps[propName] = (...args) => {
3444
+ const result = childPropValue(...args);
3445
+ slotPropValue(...args);
3446
+ return result;
3447
+ };
3448
+ } else if (slotPropValue) {
3449
+ overrideProps[propName] = slotPropValue;
3450
+ }
3451
+ } else if (propName === "style") {
3452
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
3453
+ } else if (propName === "className") {
3454
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
3455
+ }
3456
+ }
3457
+ return { ...slotProps, ...overrideProps };
3458
+ }
3459
+ function getElementRef(element) {
3460
+ var _a, _b;
3461
+ let getter = (_a = Object.getOwnPropertyDescriptor(element.props, "ref")) == null ? void 0 : _a.get;
3462
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
3463
+ if (mayWarn) {
3464
+ return element.ref;
3465
+ }
3466
+ getter = (_b = Object.getOwnPropertyDescriptor(element, "ref")) == null ? void 0 : _b.get;
3467
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
3468
+ if (mayWarn) {
3469
+ return element.props.ref;
3470
+ }
3471
+ return element.props.ref || element.ref;
3472
+ }
3473
+ const oppositeSide = {
3474
+ top: "bottom",
3475
+ bottom: "top",
3476
+ left: "right",
3477
+ right: "left"
3478
+ };
3479
+ function useTooltipPosition(isOpen, side, triggerRef, tooltipRef) {
3480
+ const [coords, setCoords] = useState({
3481
+ top: 0,
3482
+ left: 0,
3483
+ transformOrigin: "",
3484
+ actualSide: side
3485
+ });
3486
+ useEffect(() => {
3487
+ if (!isOpen || !triggerRef.current || !tooltipRef.current) return;
3488
+ const triggerRect = triggerRef.current.getBoundingClientRect();
3489
+ const tooltipRect = tooltipRef.current.getBoundingClientRect();
3490
+ const gap = 8;
3491
+ const padding = 8;
3492
+ const calculatePosition = (targetSide) => {
3493
+ let top = 0;
3494
+ let left = 0;
3495
+ let transformOrigin = "";
3496
+ switch (targetSide) {
3497
+ case "top":
3498
+ top = triggerRect.top + window.scrollY - tooltipRect.height - gap;
3499
+ left = triggerRect.left + window.scrollX + (triggerRect.width - tooltipRect.width) / 2;
3500
+ transformOrigin = "bottom center";
3501
+ break;
3502
+ case "bottom":
3503
+ top = triggerRect.bottom + window.scrollY + gap;
3504
+ left = triggerRect.left + window.scrollX + (triggerRect.width - tooltipRect.width) / 2;
3505
+ transformOrigin = "top center";
3506
+ break;
3507
+ case "left":
3508
+ top = triggerRect.top + window.scrollY + (triggerRect.height - tooltipRect.height) / 2;
3509
+ left = triggerRect.left + window.scrollX - tooltipRect.width - gap;
3510
+ transformOrigin = "center right";
3511
+ break;
3512
+ case "right":
3513
+ top = triggerRect.top + window.scrollY + (triggerRect.height - tooltipRect.height) / 2;
3514
+ left = triggerRect.right + window.scrollX + gap;
3515
+ transformOrigin = "center left";
3516
+ break;
3517
+ }
3518
+ return {
3519
+ top,
3520
+ left,
3521
+ transformOrigin,
3522
+ actualSide: targetSide
3523
+ };
3524
+ };
3525
+ const isWithinViewport = ({ top, left }) => {
3526
+ const viewportTop = window.scrollY + padding;
3527
+ const viewportBottom = window.scrollY + window.innerHeight - tooltipRect.height - padding;
3528
+ const viewportLeft = window.scrollX + padding;
3529
+ const viewportRight = window.scrollX + window.innerWidth - tooltipRect.width - padding;
3530
+ return top >= viewportTop && top <= viewportBottom && left >= viewportLeft && left <= viewportRight;
3531
+ };
3532
+ let position = calculatePosition(side);
3533
+ if (!isWithinViewport(position)) {
3534
+ const oppositePosition = calculatePosition(oppositeSide[side]);
3535
+ if (isWithinViewport(oppositePosition)) {
3536
+ position = oppositePosition;
3537
+ }
3538
+ }
3539
+ setCoords(position);
3540
+ }, [isOpen, side]);
3541
+ return coords;
3542
+ }
3543
+ function TooltipTrigger({
3544
+ children,
3545
+ asChild,
3546
+ triggerRef,
3547
+ isOpen,
3548
+ onMouseEnter,
3549
+ onMouseLeave,
3550
+ onFocus,
3551
+ onBlur
3552
+ }) {
3553
+ const Trigger = asChild ? Slot : "div";
3554
+ return /* @__PURE__ */ u(
3555
+ Trigger,
3556
+ {
3557
+ ref: triggerRef,
3558
+ className: !asChild ? "inline-flex" : void 0,
3559
+ onMouseEnter,
3560
+ onMouseLeave,
3561
+ onFocus,
3562
+ onBlur,
3563
+ "aria-describedby": isOpen ? "tooltip" : void 0,
3564
+ role: !asChild ? "button" : void 0,
3565
+ tabIndex: !asChild ? 0 : void 0,
3566
+ children
3567
+ }
3568
+ );
3569
+ }
3570
+ function TooltipContent({ children, actualSide, className, position, tooltipRef }) {
3571
+ return /* @__PURE__ */ u(
3572
+ "div",
3573
+ {
3574
+ ref: tooltipRef,
3575
+ role: "tooltip",
3576
+ className: cn("fixed z-50 pointer-events-none", !position.transformOrigin && "opacity-0"),
3577
+ style: {
3578
+ top: `${position.top}px`,
3579
+ left: `${position.left}px`,
3580
+ transformOrigin: position.transformOrigin
3581
+ },
3582
+ children: /* @__PURE__ */ u(
3583
+ "div",
3584
+ {
3585
+ className: cn(
3586
+ "relative w-fit rounded-xs px-2 py-1 text-xs",
3587
+ "bg-tooltip text-tooltip-foreground shadow-md",
3588
+ "animate-in fade-in-0 zoom-in-95",
3589
+ actualSide === "top" && "slide-in-from-top-2",
3590
+ actualSide === "bottom" && "slide-in-from-bottom-2",
3591
+ actualSide === "left" && "slide-in-from-left-2",
3592
+ actualSide === "right" && "slide-in-from-right-2",
3593
+ className
3594
+ ),
3595
+ children: [
3596
+ children,
3597
+ /* @__PURE__ */ u(
3598
+ "div",
3599
+ {
3600
+ className: cn(
3601
+ "absolute size-2 rotate-45",
3602
+ actualSide === "top" && "bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2",
3603
+ actualSide === "bottom" && "top-0 left-1/2 -translate-x-1/2 -translate-y-1/2",
3604
+ actualSide === "left" && "right-0 top-1/2 -translate-y-1/2 translate-x-1/2",
3605
+ actualSide === "right" && "left-0 top-1/2 -translate-y-1/2 -translate-x-1/2"
3606
+ ),
3607
+ style: { backgroundColor: "inherit" }
3608
+ }
3609
+ )
3610
+ ]
3611
+ }
3612
+ )
3613
+ }
3614
+ );
3615
+ }
3616
+ function Tooltip({
3329
3617
  className,
3330
- label,
3331
- description,
3332
- placeholder,
3333
- error,
3334
- startAddon,
3335
- endAddon,
3618
+ children,
3336
3619
  value,
3337
- defaultValue,
3338
- disabled = false,
3339
- readOnly = false,
3340
- onChange,
3341
- onInput,
3342
- onFocus,
3343
- onBlur,
3344
- type = "text",
3345
- name,
3346
- id,
3347
- required = false,
3348
- minLength,
3349
- maxLength,
3350
- min,
3351
- max,
3352
- step,
3353
- pattern,
3354
- autoComplete,
3355
- tabIndex
3620
+ side = "bottom",
3621
+ asChild = true,
3622
+ delay = 0
3356
3623
  }) {
3357
- const hasError = Boolean(error);
3358
- const inputId = id ?? `input-${Math.random().toString(36).slice(2, 11)}`;
3359
- return /* @__PURE__ */ u("div", { className: cn("w-full", disabled && "opacity-30", className), children: [
3360
- /* @__PURE__ */ u("div", { className: "mb-2", children: [
3361
- label && /* @__PURE__ */ u("label", { htmlFor: inputId, className: cn(labelVariants({ disabled })), children: /* @__PURE__ */ u("div", { className: "flex items-center gap-1", children: [
3362
- readOnly && /* @__PURE__ */ u(LockKeyhole, { size: 16 }),
3363
- label
3364
- ] }) }),
3365
- description && /* @__PURE__ */ u("div", { className: cn(descriptionVariants({ disabled })), children: description })
3366
- ] }),
3624
+ const [isOpen, setIsOpen] = useState(false);
3625
+ const triggerRef = useRef(null);
3626
+ const tooltipRef = useRef(null);
3627
+ const timeoutRef = useRef();
3628
+ const coords = useTooltipPosition(isOpen, side, triggerRef, tooltipRef);
3629
+ useEffect(() => {
3630
+ return () => {
3631
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
3632
+ };
3633
+ }, []);
3634
+ const handleMouseEnter = useCallback(() => {
3635
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
3636
+ if (delay > 0) {
3637
+ timeoutRef.current = window.setTimeout(() => setIsOpen(true), delay);
3638
+ } else {
3639
+ setIsOpen(true);
3640
+ }
3641
+ }, [delay]);
3642
+ const handleMouseLeave = useCallback(() => {
3643
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
3644
+ setIsOpen(false);
3645
+ }, []);
3646
+ const handleFocus = useCallback(() => setIsOpen(true), []);
3647
+ const handleBlur = useCallback(() => setIsOpen(false), []);
3648
+ return /* @__PURE__ */ u(Fragment, { children: [
3367
3649
  /* @__PURE__ */ u(
3368
- "div",
3650
+ TooltipTrigger,
3369
3651
  {
3370
- className: cn(
3371
- inputContainerVariants({
3372
- state: hasError ? "error" : "default",
3373
- disabled
3374
- })
3375
- ),
3376
- children: [
3377
- startAddon && renderAddon(startAddon),
3378
- /* @__PURE__ */ u(
3379
- "input",
3380
- {
3381
- id: inputId,
3382
- type,
3383
- name,
3384
- value,
3385
- defaultValue,
3386
- placeholder,
3387
- disabled,
3388
- readOnly,
3389
- required,
3390
- minLength,
3391
- maxLength,
3392
- min,
3393
- max,
3394
- step,
3395
- pattern,
3396
- autoComplete,
3397
- tabIndex,
3398
- onChange,
3399
- onInput,
3400
- onFocus,
3401
- onBlur,
3402
- className: cn(inputVariants(), startAddon && "rounded-l-none", endAddon && "rounded-r-none", "flex-1")
3403
- }
3404
- ),
3405
- endAddon && renderAddon(endAddon)
3406
- ]
3652
+ asChild,
3653
+ triggerRef,
3654
+ isOpen,
3655
+ onMouseEnter: handleMouseEnter,
3656
+ onMouseLeave: handleMouseLeave,
3657
+ onFocus: handleFocus,
3658
+ onBlur: handleBlur,
3659
+ children
3407
3660
  }
3408
3661
  ),
3409
- error && /* @__PURE__ */ u("div", { className: cn(errorVariants()), children: [
3410
- /* @__PURE__ */ u(OctagonAlert, { size: 16 }),
3411
- error
3412
- ] })
3662
+ isOpen && createPortal(
3663
+ /* @__PURE__ */ u(
3664
+ TooltipContent,
3665
+ {
3666
+ actualSide: coords.actualSide,
3667
+ className,
3668
+ position: coords,
3669
+ tooltipRef,
3670
+ children: value
3671
+ }
3672
+ ),
3673
+ document.body
3674
+ )
3413
3675
  ] });
3414
3676
  }
3415
3677
  export {
3416
3678
  Button,
3417
3679
  IconButton,
3418
3680
  Input,
3419
- cn
3681
+ Tooltip,
3682
+ cn,
3683
+ unwrap
3420
3684
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.11 | 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-space-y-reverse:0;--tw-border-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;--tw-outline-style:solid;--tw-duration:initial}}}@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;--color-blue-500:oklch(62.3% .214 259.815);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-main:var(--color-main);--color-subtle:var(--color-subtle);--color-alt:var(--color-alt);--color-rev:var(--color-rev);--color-surface-primary:var(--color-surface-primary);--color-info:var(--color-info);--color-info-subtle:var(--color-info-subtle);--color-info-surface:var(--color-info-surface);--color-warn:var(--color-warn);--color-warn-subtle:var(--color-warn-subtle);--color-warn-surface:var(--color-warn-surface);--color-success:var(--color-success);--color-success-subtle:var(--color-success-subtle);--color-success-surface:var(--color-success-surface);--color-danger:var(--color-danger);--color-danger-subtle:var(--color-danger-subtle);--color-danger-surface:var(--color-danger-surface);--color-bdr-subtle:var(--color-bdr-subtle);--color-bdr-soft:var(--color-bdr-soft);--color-bdr-strong:var(--color-bdr-strong);--color-bdr-danger:var(--color-bdr-danger);--color-ring:var(--color-ring);--color-btn-primary:var(--color-btn-primary);--color-btn-primary-hover:var(--color-btn-primary-hover);--color-btn-secondary:var(--color-btn-secondary);--color-btn-secondary-hover:var(--color-btn-secondary-hover);--color-btn-tertiary:var(--color-btn-tertiary);--color-btn-tertiary-hover:var(--color-btn-tertiary-hover);--color-btn-active:var(--color-btn-active);--color-input-disabled:var(--color-input-disabled);--color-doc-only:var(--color-doc-only)}}@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%;-moz-tab-size:4;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}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--color-black:#000;--color-grey-950:#242829;--color-grey-900:#3d4142;--color-grey-800:#5b5f60;--color-grey-700:#797d7e;--color-grey-600:#8d9192;--color-grey-500:#b2b2b2;--color-grey-400:#b5b9ba;--color-grey-300:#d3d7d8;--color-grey-200:#dde1e2;--color-grey-100:#e7ebeb;--color-grey-50:#f1f5f6;--color-white:#fff;--color-info:#0270a0;--color-info-subtle:#208ebe;--color-info-surface:#d7f3ff;--color-warn:#cb9126;--color-warn-subtle:#e9af44;--color-warn-surface:#f7e5c4;--color-success:#499349;--color-success-subtle:#67b167;--color-success-surface:#cee2ce;--color-danger:#d33030;--color-danger-subtle:#f56262;--color-danger-surface:#f6d7d7;--color-juke:#9747ff;--color-main:var(--color-black);--color-subtle:var(--color-grey-800);--color-alt:var(--color-white);--color-rev:var(--color-white);--color-surface-primary:var(--color-grey-50);--color-bdr-subtle:var(--color-grey-500);--color-bdr-soft:var(--color-grey-200);--color-bdr-strong:var(--color-black);--color-bdr-danger:var(--color-danger);--color-ring:var(--color-grey-500);--color-btn-primary:var(--color-white);--color-btn-primary-hover:var(--color-grey-50);--color-btn-secondary:var(--color-grey-50);--color-btn-secondary-hover:var(--color-grey-100);--color-btn-tertiary:var(--color-black);--color-btn-tertiary-hover:var(--color-grey-900);--color-btn-active:var(--color-grey-800);--color-input-disabled:var(--color-grey-100);--color-docs:var(--color-juke);font-size:16px}.dark{--color-main:var(--color-white);--color-subtle:var(--color-grey-200);--color-alt:var(--color-grey-950);--color-rev:var(--color-black);--color-surface-primary:var(--color-grey-900);--color-bdr-subtle:var(--color-grey-500);--color-bdr-soft:var(--color-grey-800);--color-bdr-strong:var(--color-white);--color-bdr-danger:var(--color-danger-sub);--color-ring:var(--color-grey-500);--color-btn-primary:var(--color-grey-950);--color-btn-primary-hover:var(--color-grey-900);--color-btn-secondary:var(--color-grey-900);--color-btn-secondary-hover:var(--color-grey-800);--color-btn-tertiary:var(--color-grey-600);--color-btn-tertiary-hover:var(--color-grey-700);--color-btn-active:var(--color-grey-800);--color-input-disabled:var(--color-grey-800);--color-doc-only:var(--color-juke)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.relative{position:relative}.static{position:static}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11\.5{height:calc(var(--spacing)*11.5)}.min-h-10{min-height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11\.5{width:calc(var(--spacing)*11.5)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-full{width:100%}.min-w-10{min-width:calc(var(--spacing)*10)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-bdr-danger{border-color:var(--color-bdr-danger)}.border-bdr-strong{border-color:var(--color-bdr-strong)}.border-bdr-subtle{border-color:var(--color-bdr-subtle)}.bg-alt{background-color:var(--color-alt)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-btn-primary{background-color:var(--color-btn-primary)}.bg-btn-secondary{background-color:var(--color-btn-secondary)}.bg-btn-tertiary{background-color:var(--color-btn-tertiary)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-surface-primary{background-color:var(--color-surface-primary)}.p-0{padding:calc(var(--spacing)*0)}.p-4{padding:calc(var(--spacing)*4)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-danger{color:var(--color-danger)}.text-gray-900{color:var(--color-gray-900)}.text-main{color:var(--color-main)}.text-rev{color:var(--color-rev)}.text-subtle{color:var(--color-subtle)}.text-white{color:var(--color-white)}.opacity-30{opacity:.3}.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}.duration-100{--tw-duration:.1s;transition-duration:.1s}.placeholder\:text-subtle::placeholder{color:var(--color-subtle)}.first\:rounded-l-sm:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.first\:border-r:first-child{border-right-style:var(--tw-border-style);border-right-width:1px}.first\:border-bdr-soft:first-child{border-color:var(--color-bdr-soft)}.last\:rounded-r-sm:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.last\:border-l:last-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:border-bdr-soft:last-child{border-color:var(--color-bdr-soft)}.read-only\:bg-surface-primary:read-only{background-color:var(--color-surface-primary)}.focus-within\:border-bdr-danger:focus-within{border-color:var(--color-bdr-danger)}.focus-within\:border-bdr-strong:focus-within{border-color:var(--color-bdr-strong)}.focus-within\:ring-3:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-danger\/50:focus-within{--tw-ring-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-danger\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-danger)50%,transparent)}}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}.focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-within\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-btn-primary-hover:hover{background-color:var(--color-btn-primary-hover)}.hover\:bg-btn-secondary-hover:hover{background-color:var(--color-btn-secondary-hover)}.hover\:bg-btn-tertiary-hover:hover{background-color:var(--color-btn-tertiary-hover)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-btn-active:active{background-color:var(--color-btn-active)}.active\:text-rev:active{color:var(--color-rev)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-30:disabled{opacity:.3}.dark\:text-main:where(.dark,.dark *),.dark\:active\:text-main:where(.dark,.dark *):active{color:var(--color-main)}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}
1
+ /*! tailwindcss v4.1.11 | 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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-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;--tw-outline-style:solid;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@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;--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--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);--font-weight-medium:500;--font-weight-semibold:600;--radius-xs:.125rem;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-main:var(--color-main);--color-subtle:var(--color-subtle);--color-alt:var(--color-alt);--color-rev:var(--color-rev);--color-surface-primary:var(--color-surface-primary);--color-info:var(--color-info);--color-info-subtle:var(--color-info-subtle);--color-info-surface:var(--color-info-surface);--color-warn:var(--color-warn);--color-warn-subtle:var(--color-warn-subtle);--color-warn-surface:var(--color-warn-surface);--color-success:var(--color-success);--color-success-subtle:var(--color-success-subtle);--color-success-surface:var(--color-success-surface);--color-danger:var(--color-danger);--color-danger-subtle:var(--color-danger-subtle);--color-danger-surface:var(--color-danger-surface);--color-bdr-subtle:var(--color-bdr-subtle);--color-bdr-soft:var(--color-bdr-soft);--color-bdr-strong:var(--color-bdr-strong);--color-bdr-danger:var(--color-bdr-danger);--color-ring:var(--color-ring);--color-btn-primary:var(--color-btn-primary);--color-btn-primary-hover:var(--color-btn-primary-hover);--color-btn-secondary:var(--color-btn-secondary);--color-btn-secondary-hover:var(--color-btn-secondary-hover);--color-btn-tertiary:var(--color-btn-tertiary);--color-btn-tertiary-hover:var(--color-btn-tertiary-hover);--color-btn-active:var(--color-btn-active);--color-input-disabled:var(--color-input-disabled);--color-tooltip:var(--color-tooltip);--color-tooltip-foreground:var(--color-tooltip-foreground);--color-doc-only:var(--color-doc-only)}}@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%;-moz-tab-size:4;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}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--color-black:#000;--color-grey-950:#242829;--color-grey-900:#3d4142;--color-grey-800:#5b5f60;--color-grey-700:#797d7e;--color-grey-600:#8d9192;--color-grey-500:#b2b2b2;--color-grey-400:#b5b9ba;--color-grey-300:#d3d7d8;--color-grey-200:#dde1e2;--color-grey-100:#e7ebeb;--color-grey-50:#f1f5f6;--color-white:#fff;--color-info:#0270a0;--color-info-subtle:#208ebe;--color-info-surface:#d7f3ff;--color-warn:#cb9126;--color-warn-subtle:#e9af44;--color-warn-surface:#f7e5c4;--color-success:#499349;--color-success-subtle:#67b167;--color-success-surface:#cee2ce;--color-danger:#d33030;--color-danger-subtle:#f56262;--color-danger-surface:#f6d7d7;--color-juke:#9747ff;--color-main:var(--color-black);--color-subtle:var(--color-grey-800);--color-alt:var(--color-white);--color-rev:var(--color-white);--color-surface-primary:var(--color-grey-50);--color-bdr-subtle:var(--color-grey-500);--color-bdr-soft:var(--color-grey-200);--color-bdr-strong:var(--color-black);--color-bdr-danger:var(--color-danger);--color-ring:var(--color-grey-500);--color-btn-primary:var(--color-white);--color-btn-primary-hover:var(--color-grey-50);--color-btn-secondary:var(--color-grey-50);--color-btn-secondary-hover:var(--color-grey-100);--color-btn-tertiary:var(--color-black);--color-btn-tertiary-hover:var(--color-grey-900);--color-btn-active:var(--color-grey-800);--color-input-disabled:var(--color-grey-100);--color-tooltip:var(--color-black);--color-tooltip-foreground:var(--color-white);--color-docs:var(--color-juke);font-size:16px}.dark{--color-main:var(--color-white);--color-subtle:var(--color-grey-200);--color-alt:var(--color-grey-950);--color-rev:var(--color-black);--color-surface-primary:var(--color-grey-900);--color-bdr-subtle:var(--color-grey-500);--color-bdr-soft:var(--color-grey-800);--color-bdr-strong:var(--color-white);--color-bdr-danger:var(--color-danger-sub);--color-ring:var(--color-grey-500);--color-btn-primary:var(--color-grey-950);--color-btn-primary-hover:var(--color-grey-900);--color-btn-secondary:var(--color-grey-900);--color-btn-secondary-hover:var(--color-grey-800);--color-btn-tertiary:var(--color-grey-600);--color-btn-tertiary-hover:var(--color-grey-700);--color-btn-active:var(--color-grey-800);--color-input-disabled:var(--color-grey-800);--color-tooltip:var(--color-grey-600);--color-tooltip-foreground:var(--color-white);--color-doc-only:var(--color-juke)}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-50{z-index:50}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11\.5{height:calc(var(--spacing)*11.5)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-\[200px\]{min-height:200px}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11\.5{width:calc(var(--spacing)*11.5)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-fit{width:fit-content}.w-full{width:100%}.min-w-10{min-width:calc(var(--spacing)*10)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.cursor-pointer{cursor:pointer}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-bdr-danger{border-color:var(--color-bdr-danger)}.border-bdr-strong{border-color:var(--color-bdr-strong)}.border-bdr-subtle{border-color:var(--color-bdr-subtle)}.bg-alt{background-color:var(--color-alt)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-btn-primary{background-color:var(--color-btn-primary)}.bg-btn-secondary{background-color:var(--color-btn-secondary)}.bg-btn-tertiary{background-color:var(--color-btn-tertiary)}.bg-danger{background-color:var(--color-danger)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-surface-primary{background-color:var(--color-surface-primary)}.bg-tooltip{background-color:var(--color-tooltip)}.p-0{padding:calc(var(--spacing)*0)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-danger{color:var(--color-danger)}.text-gray-900{color:var(--color-gray-900)}.text-main{color:var(--color-main)}.text-rev{color:var(--color-rev)}.text-subtle{color:var(--color-subtle)}.text-tooltip-foreground{color:var(--color-tooltip-foreground)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-30{opacity:.3}.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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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}.duration-100{--tw-duration:.1s;transition-duration:.1s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.slide-in-from-bottom-2{--tw-enter-translate-y:calc(2*var(--spacing))}.slide-in-from-left-2{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.slide-in-from-right-2{--tw-enter-translate-x:calc(2*var(--spacing))}.slide-in-from-top-2{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.placeholder\:text-subtle::placeholder{color:var(--color-subtle)}.first\:rounded-l-sm:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.first\:border-r:first-child{border-right-style:var(--tw-border-style);border-right-width:1px}.first\:border-bdr-soft:first-child{border-color:var(--color-bdr-soft)}.last\:rounded-r-sm:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.last\:border-l:last-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:border-bdr-soft:last-child{border-color:var(--color-bdr-soft)}.read-only\:bg-surface-primary:read-only{background-color:var(--color-surface-primary)}.focus-within\:border-bdr-danger:focus-within{border-color:var(--color-bdr-danger)}.focus-within\:border-bdr-strong:focus-within{border-color:var(--color-bdr-strong)}.focus-within\:ring-3:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-danger\/50:focus-within{--tw-ring-color:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-danger\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-danger)50%,transparent)}}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}.focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-within\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-btn-primary-hover:hover{background-color:var(--color-btn-primary-hover)}.hover\:bg-btn-secondary-hover:hover{background-color:var(--color-btn-secondary-hover)}.hover\:bg-btn-tertiary-hover:hover{background-color:var(--color-btn-tertiary-hover)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-ring)50%,transparent)}}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-btn-active:active{background-color:var(--color-btn-active)}.active\:text-rev:active{color:var(--color-rev)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-30:disabled{opacity:.3}.dark\:text-main:where(.dark,.dark *),.dark\:active\:text-main:where(.dark,.dark *):active{color:var(--color-main)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}
@@ -0,0 +1,18 @@
1
+ import { LucideIcon } from '../../types';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "text" | "filled" | "solid" | "outline" | null | undefined;
5
+ size?: "sm" | "md" | "lg" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ export type ButtonVariantsProps = VariantProps<typeof buttonVariants>;
8
+ export type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;
9
+ export type ButtonSize = NonNullable<ButtonVariantsProps['size']>;
10
+ export type ButtonProps = {
11
+ startIcon?: LucideIcon;
12
+ label: string;
13
+ endIcon?: LucideIcon;
14
+ } & ButtonVariantsProps & React.ButtonHTMLAttributes;
15
+ export declare const Button: import('preact').FunctionalComponent<import('preact/compat').PropsWithoutRef<ButtonProps> & {
16
+ ref?: import('preact').Ref<HTMLButtonElement> | undefined;
17
+ }>;
18
+ export {};
@@ -1 +1 @@
1
- export { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from './button';
1
+ export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, type ButtonVariantsProps } from './button';
@@ -0,0 +1,18 @@
1
+ import { ButtonVariantsProps } from '../button';
2
+ import { LucideIcon } from '../../types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ export type IconButtonVariantsProps = VariantProps<typeof iconButtonVariants> & ButtonVariantsProps;
5
+ export type IconButtonVariant = NonNullable<IconButtonVariantsProps['variant']>;
6
+ export type IconButtonSize = NonNullable<IconButtonVariantsProps['size']>;
7
+ export type IconButtonShape = NonNullable<IconButtonVariantsProps['shape']>;
8
+ declare const iconButtonVariants: (props?: ({
9
+ size?: "sm" | "md" | "lg" | null | undefined;
10
+ shape?: "round" | "square" | null | undefined;
11
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
12
+ export type IconButtonProps = {
13
+ icon: LucideIcon;
14
+ } & IconButtonVariantsProps & React.ButtonHTMLAttributes;
15
+ export declare const IconButton: import('preact').FunctionalComponent<import('preact/compat').PropsWithoutRef<IconButtonProps> & {
16
+ ref?: import('preact').Ref<HTMLButtonElement> | undefined;
17
+ }>;
18
+ export {};
@@ -0,0 +1,4 @@
1
+ export { Button, type ButtonProps } from './button';
2
+ export { IconButton, type IconButtonProps } from './icon-button';
3
+ export { Input, type InputProps } from './input';
4
+ export { Tooltip, type TooltipPosition, type TooltipProps } from './tooltip';
@@ -0,0 +1,12 @@
1
+ import { JSX } from 'react';
2
+ export type InputProps = {
3
+ className?: string;
4
+ label?: string;
5
+ description?: string;
6
+ error?: string;
7
+ startAddon?: string | JSX.Element;
8
+ endAddon?: string | JSX.Element;
9
+ } & React.InputHTMLAttributes;
10
+ export declare const Input: import('preact').FunctionalComponent<import('preact/compat').PropsWithoutRef<InputProps> & {
11
+ ref?: import('preact').Ref<HTMLInputElement> | undefined;
12
+ }>;
@@ -0,0 +1,2 @@
1
+ export { Tooltip } from './tooltip';
2
+ export type { TooltipSide as TooltipPosition, TooltipProps } from './tooltip';
@@ -0,0 +1,11 @@
1
+ import { JSX, ReactNode } from 'react';
2
+ export type TooltipSide = 'top' | 'bottom' | 'left' | 'right';
3
+ export type TooltipProps = {
4
+ children: ReactNode;
5
+ value: string;
6
+ side?: TooltipSide;
7
+ className?: string;
8
+ asChild?: boolean;
9
+ delay?: number;
10
+ };
11
+ export declare function Tooltip({ className, children, value, side, asChild, delay, }: TooltipProps): JSX.Element;
@@ -1,5 +1,3 @@
1
- export { cn } from './lib/utils';
2
- export type { LucideIcon } from './types';
3
- export { Button, type ButtonProps } from './ui/button';
4
- export { IconButton, type IconButtonProps } from './ui/icon-button';
5
- export { Input, type InputProps } from './ui/input';
1
+ export * from './components';
2
+ export * from './types';
3
+ export * from './utils';
@@ -0,0 +1 @@
1
+ export type * from './lucide';
@@ -0,0 +1,2 @@
1
+ export * from './cn';
2
+ export * from './unwrap';
@@ -0,0 +1 @@
1
+ export declare function isFunction(value: unknown): value is (...args: unknown[]) => unknown;
@@ -0,0 +1,2 @@
1
+ import { JSX } from 'react';
2
+ export declare function unwrap<T>(v: JSX.Signalish<T>): T;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@enonic/ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Enonic UI Component Library",
5
5
  "author": "Enonic",
6
- "license": "Apache-2.0",
6
+ "license": "MIT",
7
7
  "homepage": "https://github.com/enonic/npm-enonic-ui#readme",
8
8
  "repository": {
9
9
  "type": "git",
@@ -40,6 +40,7 @@
40
40
  "./style.css": "./dist/style.css"
41
41
  },
42
42
  "dependencies": {
43
+ "@radix-ui/react-slot": "^1.2.3",
43
44
  "class-variance-authority": "^0.7.1",
44
45
  "clsx": "^2.1.1",
45
46
  "tailwind-merge": "^3.3.1"
@@ -100,6 +101,7 @@
100
101
  "storybook": "^9.0.18",
101
102
  "tailwindcss": "^4.1.11",
102
103
  "terser": "^5.43.1",
104
+ "tw-animate-css": "^1.3.6",
103
105
  "typescript": "~5.8.3",
104
106
  "typescript-eslint": "^8.38.0",
105
107
  "vite": "^6.3.5",
@@ -1,22 +0,0 @@
1
- import { LucideIcon } from '../../types';
2
- import { VariantProps } from 'class-variance-authority';
3
- import { JSX } from 'react';
4
- declare const buttonVariants: (props?: ({
5
- variant?: "text" | "filled" | "solid" | "outline" | null | undefined;
6
- size?: "sm" | "md" | "lg" | null | undefined;
7
- } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
- export type ButtonVariant = VariantProps<typeof buttonVariants>['variant'];
9
- export type ButtonSize = VariantProps<typeof buttonVariants>['size'];
10
- export type ButtonProps = {
11
- className?: string;
12
- variant?: ButtonVariant;
13
- size?: ButtonSize;
14
- startIcon?: LucideIcon;
15
- label: string;
16
- endIcon?: LucideIcon;
17
- title?: string;
18
- disabled?: boolean;
19
- onClick?: () => void;
20
- };
21
- export declare function Button({ className, variant, size, startIcon, label, endIcon, title, disabled, onClick, }: ButtonProps): JSX.Element;
22
- export {};
@@ -1,17 +0,0 @@
1
- import { LucideIcon } from '../../types';
2
- import { ButtonSize, ButtonVariant } from '../button';
3
- import { JSX } from 'react';
4
- export type IconButtonVariant = ButtonVariant;
5
- export type IconButtonSize = ButtonSize;
6
- export type IconButtonShape = 'square' | 'round';
7
- export type IconButtonProps = {
8
- className?: string;
9
- variant?: IconButtonVariant;
10
- size?: IconButtonSize;
11
- shape?: IconButtonShape;
12
- icon: LucideIcon;
13
- title?: string;
14
- disabled?: boolean;
15
- onClick?: () => void;
16
- };
17
- export declare function IconButton({ className, variant, size, shape, icon, title, disabled, onClick, }: IconButtonProps): JSX.Element;
@@ -1,39 +0,0 @@
1
- import { JSX } from 'react';
2
- export type InputProps = {
3
- className?: string;
4
- label?: string;
5
- description?: string;
6
- placeholder?: string;
7
- error?: string;
8
- startAddon?: string | JSX.Element;
9
- endAddon?: string | JSX.Element;
10
- value?: string;
11
- defaultValue?: string;
12
- disabled?: boolean;
13
- readOnly?: boolean;
14
- onChange?: (event: Event & {
15
- currentTarget: HTMLInputElement;
16
- }) => void;
17
- onInput?: (event: Event & {
18
- currentTarget: HTMLInputElement;
19
- }) => void;
20
- onFocus?: (event: FocusEvent & {
21
- currentTarget: HTMLInputElement;
22
- }) => void;
23
- onBlur?: (event: FocusEvent & {
24
- currentTarget: HTMLInputElement;
25
- }) => void;
26
- type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
27
- name?: string;
28
- id?: string;
29
- required?: boolean;
30
- minLength?: number;
31
- maxLength?: number;
32
- min?: number;
33
- max?: number;
34
- step?: number;
35
- pattern?: string;
36
- autoComplete?: string;
37
- tabIndex?: number;
38
- };
39
- export declare function Input({ className, label, description, placeholder, error, startAddon, endAddon, value, defaultValue, disabled, readOnly, onChange, onInput, onFocus, onBlur, type, name, id, required, minLength, maxLength, min, max, step, pattern, autoComplete, tabIndex, }: InputProps): JSX.Element;
File without changes
File without changes
File without changes