@agenticindiedev/ui 0.1.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 +109 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +110 -0
- package/dist/index.js +3184 -0
- package/dist/styles.css +827 -0
- package/package.json +105 -0
package/README.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# IndieUI
|
|
2
|
+
|
|
3
|
+
A modern React component library built with TypeScript, Tailwind CSS v4, and class-variance-authority.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @agenticindiedev/ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
### 1. Install dependencies
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
bun run pre:install
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This command updates all dependencies to their latest versions and runs the build.
|
|
20
|
+
|
|
21
|
+
### 2. Development
|
|
22
|
+
|
|
23
|
+
Start the Storybook development server:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
bun dev
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This launches Storybook at `http://localhost:6006` where you can preview and develop components.
|
|
30
|
+
|
|
31
|
+
## Scripts
|
|
32
|
+
|
|
33
|
+
| Command | Description |
|
|
34
|
+
| ------------------------ | -------------------------------------- |
|
|
35
|
+
| `bun dev` | Start Storybook development server |
|
|
36
|
+
| `bun run build` | Build the library for production |
|
|
37
|
+
| `bun run build:lib` | Build only the JS/TS bundle |
|
|
38
|
+
| `bun run build:css` | Build only the CSS bundle |
|
|
39
|
+
| `bun run pre:install` | Update dependencies and rebuild |
|
|
40
|
+
| `bun run prepare:deploy` | Format, lint, and build for deployment |
|
|
41
|
+
| `bun run format:check` | Check code formatting |
|
|
42
|
+
| `bun run format:fix` | Fix code formatting |
|
|
43
|
+
| `bun run lint:check` | Check for linting errors |
|
|
44
|
+
| `bun run lint:fix` | Fix linting errors |
|
|
45
|
+
| `bun test` | Run tests |
|
|
46
|
+
| `bun run typecheck` | Run TypeScript type checking |
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
```tsx
|
|
51
|
+
import { Button, Card, CardHeader, CardContent } from '@agenticindiedev/ui';
|
|
52
|
+
import '@agenticindiedev/ui/styles.css';
|
|
53
|
+
|
|
54
|
+
function App() {
|
|
55
|
+
return (
|
|
56
|
+
<Card>
|
|
57
|
+
<CardHeader>Welcome</CardHeader>
|
|
58
|
+
<CardContent>
|
|
59
|
+
<Button variant="primary" size="md">
|
|
60
|
+
Click me
|
|
61
|
+
</Button>
|
|
62
|
+
</CardContent>
|
|
63
|
+
</Card>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Components
|
|
69
|
+
|
|
70
|
+
### Primitives
|
|
71
|
+
|
|
72
|
+
- **Badge** - Status indicators and labels
|
|
73
|
+
- **Button** - Interactive buttons with variants
|
|
74
|
+
- **Card** - Container component with header, content, and footer
|
|
75
|
+
- **Checkbox** - Checkbox input with label support
|
|
76
|
+
- **Input** - Text input fields
|
|
77
|
+
- **Select** - Dropdown select component
|
|
78
|
+
|
|
79
|
+
## Tech Stack
|
|
80
|
+
|
|
81
|
+
- **React 19** - UI framework
|
|
82
|
+
- **TypeScript 5.9** - Type safety
|
|
83
|
+
- **Tailwind CSS 4** - Utility-first CSS
|
|
84
|
+
- **Vite 7** - Build tool
|
|
85
|
+
- **Storybook 10** - Component development
|
|
86
|
+
- **Bun** - Package manager and runtime
|
|
87
|
+
|
|
88
|
+
## Project Structure
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
src/
|
|
92
|
+
├── components/
|
|
93
|
+
│ └── primitives/ # Base UI components
|
|
94
|
+
│ ├── Badge/
|
|
95
|
+
│ ├── Button/
|
|
96
|
+
│ ├── Card/
|
|
97
|
+
│ ├── Checkbox/
|
|
98
|
+
│ ├── Input/
|
|
99
|
+
│ └── Select/
|
|
100
|
+
├── styles/
|
|
101
|
+
│ └── globals.css # Tailwind CSS entry point
|
|
102
|
+
├── utils/
|
|
103
|
+
│ └── cn.ts # Class name utility
|
|
104
|
+
└── index.ts # Public exports
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
MIT
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react/jsx-runtime"),Ze=require("react");function er(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,t.get?t:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const j=er(Ze);function ze(e){var o,r,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(o=0;o<s;o++)e[o]&&(r=ze(e[o]))&&(t&&(t+=" "),t+=r)}else for(r in e)e[r]&&(t&&(t+=" "),t+=r);return t}function je(){for(var e,o,r=0,t="",s=arguments.length;r<s;r++)(e=arguments[r])&&(o=ze(e))&&(t&&(t+=" "),t+=o);return t}const he=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,xe=je,_=(e,o)=>r=>{var t;if(o?.variants==null)return xe(e,r?.class,r?.className);const{variants:s,defaultVariants:a}=o,n=Object.keys(s).map(d=>{const f=r?.[d],h=a?.[d];if(f===null)return null;const k=he(f)||he(h);return s[d][k]}),u=r&&Object.entries(r).reduce((d,f)=>{let[h,k]=f;return k===void 0||(d[h]=k),d},{}),c=o==null||(t=o.compoundVariants)===null||t===void 0?void 0:t.reduce((d,f)=>{let{class:h,className:k,...R}=f;return Object.entries(R).every(S=>{let[C,v]=S;return Array.isArray(v)?v.includes({...a,...u}[C]):{...a,...u}[C]===v})?[...d,h,k]:d},[]);return xe(e,n,c,r?.class,r?.className)},rr=(e,o)=>{const r=new Array(e.length+o.length);for(let t=0;t<e.length;t++)r[t]=e[t];for(let t=0;t<o.length;t++)r[e.length+t]=o[t];return r},tr=(e,o)=>({classGroupId:e,validator:o}),Ne=(e=new Map,o=null,r)=>({nextPart:e,validators:o,classGroupId:r}),re="-",ye=[],or="arbitrary..",sr=e=>{const o=nr(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:n=>{if(n.startsWith("[")&&n.endsWith("]"))return ar(n);const u=n.split(re),c=u[0]===""&&u.length>1?1:0;return Re(u,c,o)},getConflictingClassGroupIds:(n,u)=>{if(u){const c=t[n],d=r[n];return c?d?rr(d,c):c:d||ye}return r[n]||ye}}},Re=(e,o,r)=>{if(e.length-o===0)return r.classGroupId;const s=e[o],a=r.nextPart.get(s);if(a){const d=Re(e,o+1,a);if(d)return d}const n=r.validators;if(n===null)return;const u=o===0?e.join(re):e.slice(o).join(re),c=n.length;for(let d=0;d<c;d++){const f=n[d];if(f.validator(u))return f.classGroupId}},ar=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const o=e.slice(1,-1),r=o.indexOf(":"),t=o.slice(0,r);return t?or+t:void 0})(),nr=e=>{const{theme:o,classGroups:r}=e;return ir(r,o)},ir=(e,o)=>{const r=Ne();for(const t in e){const s=e[t];le(s,r,t,o)}return r},le=(e,o,r,t)=>{const s=e.length;for(let a=0;a<s;a++){const n=e[a];lr(n,o,r,t)}},lr=(e,o,r,t)=>{if(typeof e=="string"){cr(e,o,r);return}if(typeof e=="function"){dr(e,o,r,t);return}mr(e,o,r,t)},cr=(e,o,r)=>{const t=e===""?o:Se(o,e);t.classGroupId=r},dr=(e,o,r,t)=>{if(ur(e)){le(e(t),o,r,t);return}o.validators===null&&(o.validators=[]),o.validators.push(tr(r,e))},mr=(e,o,r,t)=>{const s=Object.entries(e),a=s.length;for(let n=0;n<a;n++){const[u,c]=s[n];le(c,Se(o,u),r,t)}},Se=(e,o)=>{let r=e;const t=o.split(re),s=t.length;for(let a=0;a<s;a++){const n=t[a];let u=r.nextPart.get(n);u||(u=Ne(),r.nextPart.set(n,u)),r=u}return r},ur=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,pr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let o=0,r=Object.create(null),t=Object.create(null);const s=(a,n)=>{r[a]=n,o++,o>e&&(o=0,t=r,r=Object.create(null))};return{get(a){let n=r[a];if(n!==void 0)return n;if((n=t[a])!==void 0)return s(a,n),n},set(a,n){a in r?r[a]=n:s(a,n)}}},ie="!",ke=":",gr=[],ve=(e,o,r,t,s)=>({modifiers:e,hasImportantModifier:o,baseClassName:r,maybePostfixModifierPosition:t,isExternal:s}),br=e=>{const{prefix:o,experimentalParseClassName:r}=e;let t=s=>{const a=[];let n=0,u=0,c=0,d;const f=s.length;for(let C=0;C<f;C++){const v=s[C];if(n===0&&u===0){if(v===ke){a.push(s.slice(c,C)),c=C+1;continue}if(v==="/"){d=C;continue}}v==="["?n++:v==="]"?n--:v==="("?u++:v===")"&&u--}const h=a.length===0?s:s.slice(c);let k=h,R=!1;h.endsWith(ie)?(k=h.slice(0,-1),R=!0):h.startsWith(ie)&&(k=h.slice(1),R=!0);const S=d&&d>c?d-c:void 0;return ve(a,R,k,S)};if(o){const s=o+ke,a=t;t=n=>n.startsWith(s)?a(n.slice(s.length)):ve(gr,!1,n,void 0,!0)}if(r){const s=t;t=a=>r({className:a,parseClassName:s})}return t},fr=e=>{const o=new Map;return e.orderSensitiveModifiers.forEach((r,t)=>{o.set(r,1e6+t)}),r=>{const t=[];let s=[];for(let a=0;a<r.length;a++){const n=r[a],u=n[0]==="[",c=o.has(n);u||c?(s.length>0&&(s.sort(),t.push(...s),s=[]),t.push(n)):s.push(n)}return s.length>0&&(s.sort(),t.push(...s)),t}},hr=e=>({cache:pr(e.cacheSize),parseClassName:br(e),sortModifiers:fr(e),...sr(e)}),xr=/\s+/,yr=(e,o)=>{const{parseClassName:r,getClassGroupId:t,getConflictingClassGroupIds:s,sortModifiers:a}=o,n=[],u=e.trim().split(xr);let c="";for(let d=u.length-1;d>=0;d-=1){const f=u[d],{isExternal:h,modifiers:k,hasImportantModifier:R,baseClassName:S,maybePostfixModifierPosition:C}=r(f);if(h){c=f+(c.length>0?" "+c:c);continue}let v=!!C,P=t(v?S.substring(0,C):S);if(!P){if(!v){c=f+(c.length>0?" "+c:c);continue}if(P=t(S),!P){c=f+(c.length>0?" "+c:c);continue}v=!1}const H=k.length===0?"":k.length===1?k[0]:a(k).join(":"),$=R?H+ie:H,L=$+P;if(n.indexOf(L)>-1)continue;n.push(L);const B=s(P,v);for(let O=0;O<B.length;++O){const U=B[O];n.push($+U)}c=f+(c.length>0?" "+c:c)}return c},kr=(...e)=>{let o=0,r,t,s="";for(;o<e.length;)(r=e[o++])&&(t=Ae(r))&&(s&&(s+=" "),s+=t);return s},Ae=e=>{if(typeof e=="string")return e;let o,r="";for(let t=0;t<e.length;t++)e[t]&&(o=Ae(e[t]))&&(r&&(r+=" "),r+=o);return r},vr=(e,...o)=>{let r,t,s,a;const n=c=>{const d=o.reduce((f,h)=>h(f),e());return r=hr(d),t=r.cache.get,s=r.cache.set,a=u,u(c)},u=c=>{const d=t(c);if(d)return d;const f=yr(c,r);return s(c,f),f};return a=n,(...c)=>a(kr(...c))},wr=[],x=e=>{const o=r=>r[e]||wr;return o.isThemeGetter=!0,o},Ve=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ie=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Cr=/^\d+\/\d+$/,zr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jr=/\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$/,Nr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Rr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Sr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,F=e=>Cr.test(e),g=e=>!!e&&!Number.isNaN(Number(e)),M=e=>!!e&&Number.isInteger(Number(e)),ae=e=>e.endsWith("%")&&g(e.slice(0,-1)),I=e=>zr.test(e),Ar=()=>!0,Vr=e=>jr.test(e)&&!Nr.test(e),Me=()=>!1,Ir=e=>Rr.test(e),Mr=e=>Sr.test(e),Pr=e=>!i(e)&&!l(e),Or=e=>W(e,Te,Me),i=e=>Ve.test(e),G=e=>W(e,Ge,Vr),ne=e=>W(e,Er,g),we=e=>W(e,Pe,Me),Tr=e=>W(e,Oe,Mr),Z=e=>W(e,Le,Ir),l=e=>Ie.test(e),q=e=>D(e,Ge),Gr=e=>D(e,Fr),Ce=e=>D(e,Pe),Lr=e=>D(e,Te),Br=e=>D(e,Oe),ee=e=>D(e,Le,!0),W=(e,o,r)=>{const t=Ve.exec(e);return t?t[1]?o(t[1]):r(t[2]):!1},D=(e,o,r=!1)=>{const t=Ie.exec(e);return t?t[1]?o(t[1]):r:!1},Pe=e=>e==="position"||e==="percentage",Oe=e=>e==="image"||e==="url",Te=e=>e==="length"||e==="size"||e==="bg-size",Ge=e=>e==="length",Er=e=>e==="number",Fr=e=>e==="family-name",Le=e=>e==="shadow",_r=()=>{const e=x("color"),o=x("font"),r=x("text"),t=x("font-weight"),s=x("tracking"),a=x("leading"),n=x("breakpoint"),u=x("container"),c=x("spacing"),d=x("radius"),f=x("shadow"),h=x("inset-shadow"),k=x("text-shadow"),R=x("drop-shadow"),S=x("blur"),C=x("perspective"),v=x("aspect"),P=x("ease"),H=x("animate"),$=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],B=()=>[...L(),l,i],O=()=>["auto","hidden","clip","visible","scroll"],U=()=>["auto","contain","none"],p=()=>[l,i,c],A=()=>[F,"full","auto",...p()],ce=()=>[M,"none","subgrid",l,i],de=()=>["auto",{span:["full",M,l,i]},M,l,i],Y=()=>[M,"auto",l,i],me=()=>["auto","min","max","fr",l,i],te=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],E=()=>["start","end","center","stretch","center-safe","end-safe"],V=()=>["auto",...p()],T=()=>[F,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...p()],m=()=>[e,l,i],ue=()=>[...L(),Ce,we,{position:[l,i]}],pe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ge=()=>["auto","cover","contain",Lr,Or,{size:[l,i]}],oe=()=>[ae,q,G],w=()=>["","none","full",d,l,i],z=()=>["",g,q,G],X=()=>["solid","dashed","dotted","double"],be=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],y=()=>[g,ae,Ce,we],fe=()=>["","none",S,l,i],J=()=>["none",g,l,i],K=()=>["none",g,l,i],se=()=>[g,l,i],Q=()=>[F,"full",...p()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[I],breakpoint:[I],color:[Ar],container:[I],"drop-shadow":[I],ease:["in","out","in-out"],font:[Pr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[I],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[I],shadow:[I],spacing:["px",g],text:[I],"text-shadow":[I],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",F,i,l,v]}],container:["container"],columns:[{columns:[g,i,l,u]}],"break-after":[{"break-after":$()}],"break-before":[{"break-before":$()}],"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:B()}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:U()}],"overscroll-x":[{"overscroll-x":U()}],"overscroll-y":[{"overscroll-y":U()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{start:A()}],end:[{end:A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[M,"auto",l,i]}],basis:[{basis:[F,"full","auto",u,...p()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[g,F,"auto","initial","none",i]}],grow:[{grow:["",g,l,i]}],shrink:[{shrink:["",g,l,i]}],order:[{order:[M,"first","last","none",l,i]}],"grid-cols":[{"grid-cols":ce()}],"col-start-end":[{col:de()}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":ce()}],"row-start-end":[{row:de()}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":me()}],"auto-rows":[{"auto-rows":me()}],gap:[{gap:p()}],"gap-x":[{"gap-x":p()}],"gap-y":[{"gap-y":p()}],"justify-content":[{justify:[...te(),"normal"]}],"justify-items":[{"justify-items":[...E(),"normal"]}],"justify-self":[{"justify-self":["auto",...E()]}],"align-content":[{content:["normal",...te()]}],"align-items":[{items:[...E(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...E(),{baseline:["","last"]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...E(),"baseline"]}],"place-self":[{"place-self":["auto",...E()]}],p:[{p:p()}],px:[{px:p()}],py:[{py:p()}],ps:[{ps:p()}],pe:[{pe:p()}],pt:[{pt:p()}],pr:[{pr:p()}],pb:[{pb:p()}],pl:[{pl:p()}],m:[{m:V()}],mx:[{mx:V()}],my:[{my:V()}],ms:[{ms:V()}],me:[{me:V()}],mt:[{mt:V()}],mr:[{mr:V()}],mb:[{mb:V()}],ml:[{ml:V()}],"space-x":[{"space-x":p()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":p()}],"space-y-reverse":["space-y-reverse"],size:[{size:T()}],w:[{w:[u,"screen",...T()]}],"min-w":[{"min-w":[u,"screen","none",...T()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[n]},...T()]}],h:[{h:["screen","lh",...T()]}],"min-h":[{"min-h":["screen","lh","none",...T()]}],"max-h":[{"max-h":["screen","lh",...T()]}],"font-size":[{text:["base",r,q,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,l,ne]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ae,i]}],"font-family":[{font:[Gr,i,o]}],"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:[s,l,i]}],"line-clamp":[{"line-clamp":[g,"none",l,ne]}],leading:[{leading:[a,...p()]}],"list-image":[{"list-image":["none",l,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",l,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:m()}],"text-color":[{text:m()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[g,"from-font","auto",l,G]}],"text-decoration-color":[{decoration:m()}],"underline-offset":[{"underline-offset":[g,"auto",l,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:p()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",l,i]}],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",l,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:pe()}],"bg-size":[{bg:ge()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},M,l,i],radial:["",l,i],conic:[M,l,i]},Br,Tr]}],"bg-color":[{bg:m()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:m()}],"gradient-via":[{via:m()}],"gradient-to":[{to:m()}],rounded:[{rounded:w()}],"rounded-s":[{"rounded-s":w()}],"rounded-e":[{"rounded-e":w()}],"rounded-t":[{"rounded-t":w()}],"rounded-r":[{"rounded-r":w()}],"rounded-b":[{"rounded-b":w()}],"rounded-l":[{"rounded-l":w()}],"rounded-ss":[{"rounded-ss":w()}],"rounded-se":[{"rounded-se":w()}],"rounded-ee":[{"rounded-ee":w()}],"rounded-es":[{"rounded-es":w()}],"rounded-tl":[{"rounded-tl":w()}],"rounded-tr":[{"rounded-tr":w()}],"rounded-br":[{"rounded-br":w()}],"rounded-bl":[{"rounded-bl":w()}],"border-w":[{border:z()}],"border-w-x":[{"border-x":z()}],"border-w-y":[{"border-y":z()}],"border-w-s":[{"border-s":z()}],"border-w-e":[{"border-e":z()}],"border-w-t":[{"border-t":z()}],"border-w-r":[{"border-r":z()}],"border-w-b":[{"border-b":z()}],"border-w-l":[{"border-l":z()}],"divide-x":[{"divide-x":z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"hidden","none"]}],"border-color":[{border:m()}],"border-color-x":[{"border-x":m()}],"border-color-y":[{"border-y":m()}],"border-color-s":[{"border-s":m()}],"border-color-e":[{"border-e":m()}],"border-color-t":[{"border-t":m()}],"border-color-r":[{"border-r":m()}],"border-color-b":[{"border-b":m()}],"border-color-l":[{"border-l":m()}],"divide-color":[{divide:m()}],"outline-style":[{outline:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[g,l,i]}],"outline-w":[{outline:["",g,q,G]}],"outline-color":[{outline:m()}],shadow:[{shadow:["","none",f,ee,Z]}],"shadow-color":[{shadow:m()}],"inset-shadow":[{"inset-shadow":["none",h,ee,Z]}],"inset-shadow-color":[{"inset-shadow":m()}],"ring-w":[{ring:z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:m()}],"ring-offset-w":[{"ring-offset":[g,G]}],"ring-offset-color":[{"ring-offset":m()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":m()}],"text-shadow":[{"text-shadow":["none",k,ee,Z]}],"text-shadow-color":[{"text-shadow":m()}],opacity:[{opacity:[g,l,i]}],"mix-blend":[{"mix-blend":[...be(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":be()}],"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":y()}],"mask-image-linear-to-pos":[{"mask-linear-to":y()}],"mask-image-linear-from-color":[{"mask-linear-from":m()}],"mask-image-linear-to-color":[{"mask-linear-to":m()}],"mask-image-t-from-pos":[{"mask-t-from":y()}],"mask-image-t-to-pos":[{"mask-t-to":y()}],"mask-image-t-from-color":[{"mask-t-from":m()}],"mask-image-t-to-color":[{"mask-t-to":m()}],"mask-image-r-from-pos":[{"mask-r-from":y()}],"mask-image-r-to-pos":[{"mask-r-to":y()}],"mask-image-r-from-color":[{"mask-r-from":m()}],"mask-image-r-to-color":[{"mask-r-to":m()}],"mask-image-b-from-pos":[{"mask-b-from":y()}],"mask-image-b-to-pos":[{"mask-b-to":y()}],"mask-image-b-from-color":[{"mask-b-from":m()}],"mask-image-b-to-color":[{"mask-b-to":m()}],"mask-image-l-from-pos":[{"mask-l-from":y()}],"mask-image-l-to-pos":[{"mask-l-to":y()}],"mask-image-l-from-color":[{"mask-l-from":m()}],"mask-image-l-to-color":[{"mask-l-to":m()}],"mask-image-x-from-pos":[{"mask-x-from":y()}],"mask-image-x-to-pos":[{"mask-x-to":y()}],"mask-image-x-from-color":[{"mask-x-from":m()}],"mask-image-x-to-color":[{"mask-x-to":m()}],"mask-image-y-from-pos":[{"mask-y-from":y()}],"mask-image-y-to-pos":[{"mask-y-to":y()}],"mask-image-y-from-color":[{"mask-y-from":m()}],"mask-image-y-to-color":[{"mask-y-to":m()}],"mask-image-radial":[{"mask-radial":[l,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":y()}],"mask-image-radial-to-pos":[{"mask-radial-to":y()}],"mask-image-radial-from-color":[{"mask-radial-from":m()}],"mask-image-radial-to-color":[{"mask-radial-to":m()}],"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":L()}],"mask-image-conic-pos":[{"mask-conic":[g]}],"mask-image-conic-from-pos":[{"mask-conic-from":y()}],"mask-image-conic-to-pos":[{"mask-conic-to":y()}],"mask-image-conic-from-color":[{"mask-conic-from":m()}],"mask-image-conic-to-color":[{"mask-conic-to":m()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:pe()}],"mask-size":[{mask:ge()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",l,i]}],filter:[{filter:["","none",l,i]}],blur:[{blur:fe()}],brightness:[{brightness:[g,l,i]}],contrast:[{contrast:[g,l,i]}],"drop-shadow":[{"drop-shadow":["","none",R,ee,Z]}],"drop-shadow-color":[{"drop-shadow":m()}],grayscale:[{grayscale:["",g,l,i]}],"hue-rotate":[{"hue-rotate":[g,l,i]}],invert:[{invert:["",g,l,i]}],saturate:[{saturate:[g,l,i]}],sepia:[{sepia:["",g,l,i]}],"backdrop-filter":[{"backdrop-filter":["","none",l,i]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[g,l,i]}],"backdrop-contrast":[{"backdrop-contrast":[g,l,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",g,l,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[g,l,i]}],"backdrop-invert":[{"backdrop-invert":["",g,l,i]}],"backdrop-opacity":[{"backdrop-opacity":[g,l,i]}],"backdrop-saturate":[{"backdrop-saturate":[g,l,i]}],"backdrop-sepia":[{"backdrop-sepia":["",g,l,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":p()}],"border-spacing-x":[{"border-spacing-x":p()}],"border-spacing-y":[{"border-spacing-y":p()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",l,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[g,"initial",l,i]}],ease:[{ease:["linear","initial",P,l,i]}],delay:[{delay:[g,l,i]}],animate:[{animate:["none",H,l,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,l,i]}],"perspective-origin":[{"perspective-origin":B()}],rotate:[{rotate:J()}],"rotate-x":[{"rotate-x":J()}],"rotate-y":[{"rotate-y":J()}],"rotate-z":[{"rotate-z":J()}],scale:[{scale:K()}],"scale-x":[{"scale-x":K()}],"scale-y":[{"scale-y":K()}],"scale-z":[{"scale-z":K()}],"scale-3d":["scale-3d"],skew:[{skew:se()}],"skew-x":[{"skew-x":se()}],"skew-y":[{"skew-y":se()}],transform:[{transform:[l,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:B()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Q()}],"translate-x":[{"translate-x":Q()}],"translate-y":[{"translate-y":Q()}],"translate-z":[{"translate-z":Q()}],"translate-none":["translate-none"],accent:[{accent:m()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:m()}],"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",l,i]}],"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":p()}],"scroll-mx":[{"scroll-mx":p()}],"scroll-my":[{"scroll-my":p()}],"scroll-ms":[{"scroll-ms":p()}],"scroll-me":[{"scroll-me":p()}],"scroll-mt":[{"scroll-mt":p()}],"scroll-mr":[{"scroll-mr":p()}],"scroll-mb":[{"scroll-mb":p()}],"scroll-ml":[{"scroll-ml":p()}],"scroll-p":[{"scroll-p":p()}],"scroll-px":[{"scroll-px":p()}],"scroll-py":[{"scroll-py":p()}],"scroll-ps":[{"scroll-ps":p()}],"scroll-pe":[{"scroll-pe":p()}],"scroll-pt":[{"scroll-pt":p()}],"scroll-pr":[{"scroll-pr":p()}],"scroll-pb":[{"scroll-pb":p()}],"scroll-pl":[{"scroll-pl":p()}],"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",l,i]}],fill:[{fill:["none",...m()]}],"stroke-w":[{stroke:[g,q,G,ne]}],stroke:[{stroke:["none",...m()]}],"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"]}},Wr=vr(_r);function N(...e){return Wr(je(e))}const Be=_("inline-flex items-center rounded-full font-medium transition-colors",{variants:{variant:{default:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-200",primary:"bg-primary-100 text-primary-800 dark:bg-primary-900 dark:text-primary-200",secondary:"bg-gray-200 text-gray-900 dark:bg-gray-700 dark:text-gray-100",success:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200",error:"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200",outline:"border border-gray-300 text-gray-700 dark:border-gray-600 dark:text-gray-300"},size:{sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-0.5 text-sm",lg:"px-3 py-1 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),Ee=j.forwardRef(({className:e,variant:o,size:r,children:t,...s},a)=>b.jsx("span",{ref:a,className:N(Be({variant:o,size:r}),e),...s,children:t}));Ee.displayName="Badge";const Fe=_("inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{primary:"bg-primary-500 text-white hover:bg-primary-600 dark:bg-primary-600 dark:hover:bg-primary-700",secondary:"bg-gray-100 text-gray-900 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-100 dark:hover:bg-gray-700",ghost:"text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800",outline:"border border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",destructive:"bg-red-500 text-white hover:bg-red-600 dark:bg-red-600 dark:hover:bg-red-700",link:"text-primary-600 underline-offset-4 hover:underline dark:text-primary-400"},size:{sm:"h-8 px-3 text-sm",md:"h-10 px-4 text-sm",lg:"h-12 px-6 text-base",icon:"h-10 w-10"}},defaultVariants:{variant:"primary",size:"md"}}),Dr=()=>b.jsxs("svg",{className:"h-4 w-4 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",children:[b.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),b.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),_e=j.forwardRef(({className:e,variant:o,size:r,isLoading:t,leftIcon:s,rightIcon:a,children:n,disabled:u,...c},d)=>b.jsx("button",{ref:d,className:N(Fe({variant:o,size:r}),e),disabled:t||u,...c,children:t?b.jsx(Dr,{}):b.jsxs(b.Fragment,{children:[s&&b.jsx("span",{className:"shrink-0",children:s}),n,a&&b.jsx("span",{className:"shrink-0",children:a})]})}));_e.displayName="Button";const We=_("flex w-full rounded-md border bg-white text-gray-900 transition-colors placeholder:text-gray-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:bg-gray-900 dark:text-gray-100 dark:placeholder:text-gray-500",{variants:{variant:{default:"border-gray-300 dark:border-gray-700",error:"border-red-500 dark:border-red-500"},size:{sm:"h-8 px-3 text-sm",md:"h-10 px-4 text-sm",lg:"h-12 px-4 text-base"}},defaultVariants:{variant:"default",size:"md"}}),De=j.forwardRef(({className:e,variant:o,size:r,leftIcon:t,rightIcon:s,error:a,errorMessage:n,type:u="text",...c},d)=>{const f=!!t,h=!!s;return b.jsxs("div",{className:"relative w-full",children:[f&&b.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3 text-gray-400 dark:text-gray-500",children:t}),b.jsx("input",{ref:d,type:u,className:N(We({variant:a?"error":o,size:r}),f&&"pl-10",h&&"pr-10",e),"aria-invalid":a,...c}),h&&b.jsx("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 dark:text-gray-500",children:s}),a&&n&&b.jsx("p",{className:"mt-1 text-sm text-red-500",children:n})]})});De.displayName="Input";const $e=_("rounded-lg border bg-white text-gray-900 dark:bg-gray-800 dark:text-gray-100",{variants:{variant:{default:"border-gray-200 dark:border-gray-700",elevated:"border-gray-200 shadow-md dark:border-gray-700",outline:"border-gray-300 dark:border-gray-600"},hover:{true:"transition-all hover:border-primary-500 hover:shadow-lg cursor-pointer",false:""},padding:{none:"",sm:"p-4",md:"p-6",lg:"p-8"}},defaultVariants:{variant:"default",hover:!1,padding:"none"}}),Ue=j.forwardRef(({className:e,variant:o,hover:r,padding:t,...s},a)=>b.jsx("div",{ref:a,className:N($e({variant:o,hover:r,padding:t}),e),...s}));Ue.displayName="Card";const qe=j.forwardRef(({className:e,...o},r)=>b.jsx("div",{ref:r,className:N("flex flex-col space-y-1.5 p-6",e),...o}));qe.displayName="CardHeader";const He=j.forwardRef(({className:e,...o},r)=>b.jsx("div",{ref:r,className:N("p-6 pt-0",e),...o}));He.displayName="CardContent";const Ye=j.forwardRef(({className:e,...o},r)=>b.jsx("div",{ref:r,className:N("flex items-center p-6 pt-0",e),...o}));Ye.displayName="CardFooter";const Xe=_("flex w-full appearance-none rounded-md border bg-white text-gray-900 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:bg-gray-900 dark:text-gray-100",{variants:{variant:{default:"border-gray-300 dark:border-gray-700",error:"border-red-500 dark:border-red-500"},size:{sm:"h-8 px-3 pr-8 text-sm",md:"h-10 px-4 pr-10 text-sm",lg:"h-12 px-4 pr-10 text-base"}},defaultVariants:{variant:"default",size:"md"}}),$r=()=>b.jsx("svg",{className:"h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",children:b.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})}),Je=j.forwardRef(({className:e,variant:o,size:r,options:t,placeholder:s,error:a,errorMessage:n,...u},c)=>b.jsxs("div",{className:"relative w-full",children:[b.jsxs("select",{ref:c,className:N(Xe({variant:a?"error":o,size:r}),e),"aria-invalid":a,...u,children:[s&&b.jsx("option",{value:"",disabled:!0,children:s}),t.map(d=>b.jsx("option",{value:d.value,disabled:d.disabled,children:d.label},d.value))]}),b.jsx("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 dark:text-gray-500",children:b.jsx($r,{})}),a&&n&&b.jsx("p",{className:"mt-1 text-sm text-red-500",children:n})]}));Je.displayName="Select";const Ke=_("shrink-0 rounded border bg-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 checked:bg-primary-500 checked:border-primary-500 dark:bg-gray-900 dark:checked:bg-primary-600 dark:checked:border-primary-600",{variants:{variant:{default:"border-gray-300 dark:border-gray-700",error:"border-red-500 dark:border-red-500"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}},defaultVariants:{variant:"default",size:"md"}}),Qe=j.forwardRef(({className:e,variant:o,size:r,label:t,description:s,error:a,id:n,...u},c)=>{const d=j.useId(),f=n||d;return b.jsxs("div",{className:"flex items-start gap-3",children:[b.jsx("input",{ref:c,type:"checkbox",id:f,className:N(Ke({variant:a?"error":o,size:r}),e),"aria-invalid":a,...u}),(t||s)&&b.jsxs("div",{className:"flex flex-col",children:[t&&b.jsx("label",{htmlFor:f,className:"text-sm font-medium text-gray-900 dark:text-gray-100 cursor-pointer",children:t}),s&&b.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:s})]})]})});Qe.displayName="Checkbox";exports.Badge=Ee;exports.Button=_e;exports.Card=Ue;exports.CardContent=He;exports.CardFooter=Ye;exports.CardHeader=qe;exports.Checkbox=Qe;exports.Input=De;exports.Select=Je;exports.badgeVariants=Be;exports.buttonVariants=Fe;exports.cardVariants=$e;exports.checkboxVariants=Ke;exports.cn=N;exports.inputVariants=We;exports.selectVariants=Xe;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ClassProp } from 'class-variance-authority/types';
|
|
2
|
+
import { ClassValue } from 'clsx';
|
|
3
|
+
import * as React_2 from 'react';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
export declare const Badge: React_2.ForwardRefExoticComponent<BadgeProps & React_2.RefAttributes<HTMLSpanElement>>;
|
|
7
|
+
|
|
8
|
+
export declare interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export declare const badgeVariants: (props?: ({
|
|
13
|
+
variant?: "default" | "primary" | "secondary" | "success" | "warning" | "error" | "outline" | null | undefined;
|
|
14
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
15
|
+
} & ClassProp) | undefined) => string;
|
|
16
|
+
|
|
17
|
+
export declare const Button: React_2.ForwardRefExoticComponent<ButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
18
|
+
|
|
19
|
+
export declare interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
20
|
+
isLoading?: boolean;
|
|
21
|
+
leftIcon?: React.ReactNode;
|
|
22
|
+
rightIcon?: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export declare const buttonVariants: (props?: ({
|
|
26
|
+
variant?: "primary" | "secondary" | "outline" | "link" | "ghost" | "destructive" | null | undefined;
|
|
27
|
+
size?: "sm" | "md" | "lg" | "icon" | null | undefined;
|
|
28
|
+
} & ClassProp) | undefined) => string;
|
|
29
|
+
|
|
30
|
+
export declare const Card: React_2.ForwardRefExoticComponent<CardProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
|
|
32
|
+
export declare const CardContent: React_2.ForwardRefExoticComponent<CardContentProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
33
|
+
|
|
34
|
+
export declare interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export declare const CardFooter: React_2.ForwardRefExoticComponent<CardFooterProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
38
|
+
|
|
39
|
+
export declare interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export declare const CardHeader: React_2.ForwardRefExoticComponent<CardHeaderProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
43
|
+
|
|
44
|
+
export declare interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export declare interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
48
|
+
asChild?: boolean;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export declare const cardVariants: (props?: ({
|
|
52
|
+
variant?: "default" | "outline" | "elevated" | null | undefined;
|
|
53
|
+
hover?: boolean | null | undefined;
|
|
54
|
+
padding?: "sm" | "md" | "lg" | "none" | null | undefined;
|
|
55
|
+
} & ClassProp) | undefined) => string;
|
|
56
|
+
|
|
57
|
+
export declare const Checkbox: React_2.ForwardRefExoticComponent<CheckboxProps & React_2.RefAttributes<HTMLInputElement>>;
|
|
58
|
+
|
|
59
|
+
export declare interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>, VariantProps<typeof checkboxVariants> {
|
|
60
|
+
label?: string;
|
|
61
|
+
description?: string;
|
|
62
|
+
error?: boolean;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export declare const checkboxVariants: (props?: ({
|
|
66
|
+
variant?: "default" | "error" | null | undefined;
|
|
67
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
68
|
+
} & ClassProp) | undefined) => string;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Merge Tailwind CSS classes with clsx
|
|
72
|
+
* Handles conditional classes and resolves Tailwind conflicts
|
|
73
|
+
*/
|
|
74
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
75
|
+
|
|
76
|
+
export declare const Input: React_2.ForwardRefExoticComponent<InputProps & React_2.RefAttributes<HTMLInputElement>>;
|
|
77
|
+
|
|
78
|
+
export declare interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
|
|
79
|
+
leftIcon?: React.ReactNode;
|
|
80
|
+
rightIcon?: React.ReactNode;
|
|
81
|
+
error?: boolean;
|
|
82
|
+
errorMessage?: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export declare const inputVariants: (props?: ({
|
|
86
|
+
variant?: "default" | "error" | null | undefined;
|
|
87
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
88
|
+
} & ClassProp) | undefined) => string;
|
|
89
|
+
|
|
90
|
+
export declare const Select: React_2.ForwardRefExoticComponent<SelectProps & React_2.RefAttributes<HTMLSelectElement>>;
|
|
91
|
+
|
|
92
|
+
export declare interface SelectOption {
|
|
93
|
+
value: string;
|
|
94
|
+
label: string;
|
|
95
|
+
disabled?: boolean;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export declare interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'>, VariantProps<typeof selectVariants> {
|
|
99
|
+
options: SelectOption[];
|
|
100
|
+
placeholder?: string;
|
|
101
|
+
error?: boolean;
|
|
102
|
+
errorMessage?: string;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export declare const selectVariants: (props?: ({
|
|
106
|
+
variant?: "default" | "error" | null | undefined;
|
|
107
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
108
|
+
} & ClassProp) | undefined) => string;
|
|
109
|
+
|
|
110
|
+
export { }
|