blunt-ui 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("styled-components"),a=require("react"),fo=require("react-dom"),A=(o,r,n)=>s.css`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),s=require("styled-components"),l=require("react"),no=require("react-dom"),A=(o,r,n)=>s.css`
2
2
  background: ${r};
3
3
  color: ${n};
4
4
  border: ${o.brutalism.borderWidth} solid ${o.colors.neutral[900]};
5
5
  box-shadow: 2px 2px 0 ${o.colors.neutral[900]};
6
- `,Do=s.span`
6
+ `,No=s.span`
7
7
  display: inline-flex;
8
8
  align-items: center;
9
9
  font-weight: 700;
@@ -42,7 +42,7 @@
42
42
  background: ${r.colors.info[50]};
43
43
  color: ${r.colors.info[500]};
44
44
  `}[o]}
45
- `;function bo({variant:o="primary",size:r="md",children:n,...e}){return t.jsx(Do,{$variant:o,$size:r,...e,children:n})}bo.displayName="Badge";const J=(o,r,n)=>s.css`
45
+ `;function go({variant:o="primary",size:r="md",children:n,...e}){return t.jsx(No,{$variant:o,$size:r,...e,children:n})}go.displayName="Badge";const Q=(o,r,n)=>s.css`
46
46
  background-color: ${r};
47
47
  color: ${n};
48
48
  border: ${o.brutalism.borderWidth} solid ${o.colors.neutral[900]};
@@ -55,7 +55,7 @@
55
55
  transform: translate(2px, 2px);
56
56
  box-shadow: 2px 2px 0 ${o.colors.neutral[900]};
57
57
  }
58
- `,Ro=s.button`
58
+ `,Lo=s.button`
59
59
  display: inline-flex;
60
60
  align-items: center;
61
61
  justify-content: center;
@@ -74,7 +74,7 @@
74
74
  cursor: not-allowed;
75
75
  }
76
76
 
77
- ${({$variant:o,theme:r})=>r.brutalism?{primary:J(r,r.colors.primary[500],r.colors.primary.contrast),secondary:J(r,r.colors.neutral[100],r.colors.neutral[900]),outline:J(r,r.colors.neutral[0],r.colors.neutral[900])}[o]:{primary:s.css`
77
+ ${({$variant:o,theme:r})=>r.brutalism?{primary:Q(r,r.colors.primary[500],r.colors.primary.contrast),secondary:Q(r,r.colors.neutral[100],r.colors.neutral[900]),outline:Q(r,r.colors.neutral[0],r.colors.neutral[900])}[o]:{primary:s.css`
78
78
  background-color: ${r.colors.primary[500]};
79
79
  color: ${r.colors.neutral[0]};
80
80
  border: none;
@@ -107,18 +107,18 @@
107
107
  padding: ${r.spacing[3]} ${r.spacing[6]};
108
108
  font-size: ${r.fontSizes.lg};
109
109
  `})[o]}
110
- `;function go({ref:o,as:r,href:n,variant:e="primary",size:c="md",isLoading:i,disabled:l,children:u,...x}){const p=r??(n?"a":"button");return t.jsx(Ro,{ref:o,as:p,href:n,$variant:e,$size:c,disabled:i||l,...x,children:i?"Loading...":u})}go.displayName="Button";const No=s.div`
110
+ `;function $o({ref:o,as:r,href:n,variant:e="primary",size:d="md",isLoading:i,disabled:c,children:u,...b}){const p=r??(n?"a":"button");return t.jsx(Lo,{ref:o,as:p,href:n,$variant:e,$size:d,disabled:i||c,...b,children:i?"Loading...":u})}$o.displayName="Button";const Ao=s.div`
111
111
  display: flex;
112
112
  flex-direction: column;
113
113
  gap: ${({theme:o})=>o.spacing[1]};
114
114
  width: ${({$fullWidth:o})=>o?"100%":"auto"};
115
- `,Lo=s.label`
115
+ `,Mo=s.label`
116
116
  font-size: ${({theme:o})=>o.fontSizes.sm};
117
117
  font-weight: ${({theme:o})=>o.brutalism?"700":"500"};
118
- `,Ao=s.span`
118
+ `,_o=s.span`
119
119
  font-size: ${({theme:o})=>o.fontSizes.xs};
120
120
  color: ${({$error:o,theme:r})=>o?r.colors.error[500]:r.colors.neutral[500]};
121
- `,Mo=s.div`
121
+ `,Vo=s.div`
122
122
  display: flex;
123
123
  align-items: center;
124
124
  border-radius: ${({theme:o})=>o.radius.md};
@@ -163,7 +163,7 @@
163
163
  &:focus-within {
164
164
  box-shadow: ${({theme:o})=>o.shadows.focusRing};
165
165
  }
166
- `,_o=s.input`
166
+ `,Fo=s.input`
167
167
  flex: 1;
168
168
  border: none;
169
169
  outline: none;
@@ -174,11 +174,11 @@
174
174
  cursor: not-allowed;
175
175
  opacity: 0.6;
176
176
  }
177
- `,io=s.div`
177
+ `,lo=s.div`
178
178
  display: inline-flex;
179
179
  align-items: center;
180
180
  margin: 0 ${({theme:o})=>o.spacing[1]};
181
- `,Fo=s.button`
181
+ `,Ko=s.button`
182
182
  display: inline-flex;
183
183
  align-items: center;
184
184
  margin: 0 ${({theme:o})=>o.spacing[1]};
@@ -191,19 +191,19 @@
191
191
  &:hover {
192
192
  opacity: 0.8;
193
193
  }
194
- `;function $o({ref:o,type:r="text",size:n="md",variant:e="default",label:c,helperText:i,error:l,leftElement:u,rightElement:x,clearable:p,onClear:g,fullWidth:w,id:y,value:b,defaultValue:k,onChange:C,...S}){const v=a.useId(),z=y??v,W=`${z}-hint`,[B,h]=a.useState(k??""),$=b!==void 0,m=$?b:B,E=typeof l=="string"?l:void 0,R=!!(i||l),N=P=>{$||h(P.target.value),C?.(P)},M=()=>{$||h(""),g?.()};return t.jsxs(No,{$fullWidth:w,children:[c&&t.jsx(Lo,{htmlFor:z,children:c}),t.jsxs(Mo,{$size:n,$variant:e,$error:!!l,children:[u&&t.jsx(io,{children:u}),t.jsx(_o,{id:z,ref:o,type:r,value:m,onChange:N,...S,"aria-invalid":!!l,"aria-describedby":R?W:void 0}),p&&m&&t.jsx(Fo,{type:"button",onClick:M,"aria-label":"Clear input",children:"✕"}),x&&t.jsx(io,{children:x})]}),R&&t.jsx(Ao,{id:W,$error:!!l,children:E??i})]})}$o.displayName="Input";const Vo=s.keyframes`
194
+ `;function xo({ref:o,type:r="text",size:n="md",variant:e="default",label:d,helperText:i,error:c,leftElement:u,rightElement:b,clearable:p,onClear:$,fullWidth:w,id:y,value:g,defaultValue:m,onChange:I,...z}){const x=l.useId(),E=y??x,W=`${E}-hint`,[B,h]=l.useState(m??""),v=g!==void 0,k=v?g:B,P=typeof c=="string"?c:void 0,R=!!(i||c),D=O=>{v||h(O.target.value),I?.(O)},N=()=>{v||h(""),$?.()};return t.jsxs(Ao,{$fullWidth:w,children:[d&&t.jsx(Mo,{htmlFor:E,children:d}),t.jsxs(Vo,{$size:n,$variant:e,$error:!!c,children:[u&&t.jsx(lo,{children:u}),t.jsx(Fo,{id:E,ref:o,type:r,value:k,onChange:D,...z,"aria-invalid":!!c,"aria-describedby":R?W:void 0}),p&&k&&t.jsx(Ko,{type:"button",onClick:N,"aria-label":"Clear input",children:"✕"}),b&&t.jsx(lo,{children:b})]}),R&&t.jsx(_o,{id:W,$error:!!c,children:P??i})]})}xo.displayName="Input";const Ho=s.keyframes`
195
195
  from { opacity: 0; }
196
196
  to { opacity: 1; }
197
- `,Ko=s.keyframes`
197
+ `,qo=s.keyframes`
198
198
  from { opacity: 1; }
199
199
  to { opacity: 0; }
200
- `,Ho=s.keyframes`
200
+ `,Yo=s.keyframes`
201
201
  from { opacity: 0; transform: scale(0.95) translateY(-8px); }
202
202
  to { opacity: 1; transform: scale(1) translateY(0); }
203
- `,qo=s.keyframes`
203
+ `,Uo=s.keyframes`
204
204
  from { opacity: 1; transform: scale(1) translateY(0); }
205
205
  to { opacity: 0; transform: scale(0.95) translateY(-8px); }
206
- `,Yo=s.div`
206
+ `,Go=s.div`
207
207
  position: fixed;
208
208
  inset: 0;
209
209
  background-color: rgba(0, 0, 0, 0.5);
@@ -211,9 +211,9 @@
211
211
  align-items: center;
212
212
  justify-content: center;
213
213
  z-index: ${({theme:o})=>o.zIndex.modal};
214
- animation: ${({$closing:o})=>o?Ko:Vo} 0.15s ease
214
+ animation: ${({$closing:o})=>o?qo:Ho} 0.15s ease
215
215
  forwards;
216
- `,Uo=s.div`
216
+ `,Xo=s.div`
217
217
  position: relative;
218
218
  background: ${({theme:o})=>o.colors.neutral[0]};
219
219
  border-radius: ${({theme:o})=>o.radius.md};
@@ -222,7 +222,7 @@
222
222
  display: flex;
223
223
  flex-direction: column;
224
224
  max-height: 90vh;
225
- animation: ${({$closing:o})=>o?qo:Ho} 0.15s ease
225
+ animation: ${({$closing:o})=>o?Uo:Yo} 0.15s ease
226
226
  forwards;
227
227
 
228
228
  ${({$size:o})=>o==="sm"&&s.css`
@@ -240,19 +240,19 @@
240
240
  max-height: 100vh;
241
241
  border-radius: 0;
242
242
  `}
243
- `,Go=s.div`
243
+ `,Zo=s.div`
244
244
  display: flex;
245
245
  align-items: center;
246
246
  gap: ${({theme:o})=>o.spacing[2]};
247
247
  padding: ${({theme:o})=>o.spacing[4]};
248
248
  border-bottom: 1px solid ${({theme:o})=>o.colors.neutral[200]};
249
249
  flex-shrink: 0;
250
- `,Xo=s.h2`
250
+ `,Jo=s.h2`
251
251
  flex: 1;
252
252
  font-size: ${({theme:o})=>o.fontSizes.lg};
253
253
  font-weight: 600;
254
254
  margin: 0;
255
- `,Zo=s.button`
255
+ `,Qo=s.button`
256
256
  display: inline-flex;
257
257
  align-items: center;
258
258
  justify-content: center;
@@ -277,11 +277,11 @@
277
277
  outline: 2px solid ${({theme:o})=>o.colors.primary[500]};
278
278
  outline-offset: 2px;
279
279
  }
280
- `,Jo=s.div`
280
+ `,or=s.div`
281
281
  padding: ${({theme:o})=>o.spacing[4]};
282
282
  overflow-y: auto;
283
283
  flex: 1;
284
- `,Qo=s.div`
284
+ `,rr=s.div`
285
285
  display: flex;
286
286
  align-items: center;
287
287
  justify-content: flex-end;
@@ -289,16 +289,16 @@
289
289
  padding: ${({theme:o})=>o.spacing[4]};
290
290
  border-top: 1px solid ${({theme:o})=>o.colors.neutral[200]};
291
291
  flex-shrink: 0;
292
- `,or=["button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].join(", ");function ao(o){return Array.from(o.querySelectorAll(or))}function xo({open:o,onClose:r,title:n,children:e,footer:c,size:i="md",closeOnBackdrop:l=!0,closeOnEscape:u=!0,ariaLabelledBy:x,ariaDescribedBy:p}){const g=a.useRef(null),w=a.useId(),y=x??(n?w:void 0),[b,k]=a.useState(o),[C,S]=a.useState(!1);return a.useEffect(()=>{if(o)k(!0),S(!1);else if(b){S(!0);const v=setTimeout(()=>{k(!1),S(!1)},150);return()=>clearTimeout(v)}},[o,b]),a.useEffect(()=>{if(!o)return;const v=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=v}},[o]),a.useEffect(()=>{if(!o||!g.current)return;const v=g.current,z=document.activeElement;(ao(v)[0]??v).focus();const B=h=>{if(h.key==="Escape"&&u){r();return}if(h.key!=="Tab")return;const $=ao(v);if($.length===0){h.preventDefault();return}const m=$[0],E=$[$.length-1];h.shiftKey?document.activeElement===m&&(h.preventDefault(),E.focus()):document.activeElement===E&&(h.preventDefault(),m.focus())};return document.addEventListener("keydown",B),()=>{document.removeEventListener("keydown",B),z?.focus()}},[o,u,r,b]),b?fo.createPortal(t.jsx(Yo,{$closing:C,onClick:l?r:void 0,children:t.jsxs(Uo,{ref:g,role:"dialog","aria-modal":"true","aria-labelledby":y,"aria-describedby":p,$size:i,$closing:C,tabIndex:-1,onClick:v=>v.stopPropagation(),children:[t.jsxs(Go,{children:[n&&t.jsx(Xo,{id:w,children:n}),t.jsx(Zo,{onClick:r,"aria-label":"Close modal",children:"×"})]}),t.jsx(Jo,{children:e}),c&&t.jsx(Qo,{children:c})]})}),document.body):null}xo.displayName="Modal";const yo=(...o)=>o.filter((r,n,e)=>!!r&&r.trim()!==""&&e.indexOf(r)===n).join(" ").trim();const rr=o=>o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const sr=o=>o.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,n,e)=>e?e.toUpperCase():n.toLowerCase());const lo=o=>{const r=sr(o);return r.charAt(0).toUpperCase()+r.slice(1)};var Q={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"};const nr=o=>{for(const r in o)if(r.startsWith("aria-")||r==="role"||r==="title")return!0;return!1},tr=a.createContext({}),er=()=>a.useContext(tr),ir=a.forwardRef(({color:o,size:r,strokeWidth:n,absoluteStrokeWidth:e,className:c="",children:i,iconNode:l,...u},x)=>{const{size:p=24,strokeWidth:g=2,absoluteStrokeWidth:w=!1,color:y="currentColor",className:b=""}=er()??{},k=e??w?Number(n??g)*24/Number(r??p):n??g;return a.createElement("svg",{ref:x,...Q,width:r??p??Q.width,height:r??p??Q.height,stroke:o??y,strokeWidth:k,className:yo("lucide",b,c),...!i&&!nr(u)&&{"aria-hidden":"true"},...u},[...l.map(([C,S])=>a.createElement(C,S)),...Array.isArray(i)?i:[i]])});const K=(o,r)=>{const n=a.forwardRef(({className:e,...c},i)=>a.createElement(ir,{ref:i,iconNode:r,className:yo(`lucide-${rr(lo(o))}`,`lucide-${o}`,e),...c}));return n.displayName=lo(o),n};const ar=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],lr=K("arrow-down",ar);const cr=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],dr=K("arrow-up-down",cr);const ur=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],pr=K("arrow-up",ur);const fr=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ho=K("chevron-down",fr);const br=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],wo=K("x",br),gr=s.keyframes`
292
+ `,sr=["button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])'].join(", ");function co(o){return Array.from(o.querySelectorAll(sr))}function yo({open:o,onClose:r,title:n,children:e,footer:d,size:i="md",closeOnBackdrop:c=!0,closeOnEscape:u=!0,ariaLabelledBy:b,ariaDescribedBy:p}){const $=l.useRef(null),w=l.useId(),y=b??(n?w:void 0),[g,m]=l.useState(o),[I,z]=l.useState(!1);return l.useEffect(()=>{if(o)m(!0),z(!1);else if(g){z(!0);const x=setTimeout(()=>{m(!1),z(!1)},150);return()=>clearTimeout(x)}},[o,g]),l.useEffect(()=>{if(!o)return;const x=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=x}},[o]),l.useEffect(()=>{if(!o||!$.current)return;const x=$.current,E=document.activeElement;(co(x)[0]??x).focus();const B=h=>{if(h.key==="Escape"&&u){r();return}if(h.key!=="Tab")return;const v=co(x);if(v.length===0){h.preventDefault();return}const k=v[0],P=v[v.length-1];h.shiftKey?document.activeElement===k&&(h.preventDefault(),P.focus()):document.activeElement===P&&(h.preventDefault(),k.focus())};return document.addEventListener("keydown",B),()=>{document.removeEventListener("keydown",B),E?.focus()}},[o,u,r,g]),g?no.createPortal(t.jsx(Go,{$closing:I,onClick:c?r:void 0,children:t.jsxs(Xo,{ref:$,role:"dialog","aria-modal":"true","aria-labelledby":y,"aria-describedby":p,$size:i,$closing:I,tabIndex:-1,onClick:x=>x.stopPropagation(),children:[t.jsxs(Zo,{children:[n&&t.jsx(Jo,{id:w,children:n}),t.jsx(Qo,{onClick:r,"aria-label":"Close modal",children:"×"})]}),t.jsx(or,{children:e}),d&&t.jsx(rr,{children:d})]})}),document.body):null}yo.displayName="Modal";const ho=(...o)=>o.filter((r,n,e)=>!!r&&r.trim()!==""&&e.indexOf(r)===n).join(" ").trim();const nr=o=>o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const tr=o=>o.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,n,e)=>e?e.toUpperCase():n.toLowerCase());const uo=o=>{const r=tr(o);return r.charAt(0).toUpperCase()+r.slice(1)};var oo={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"};const er=o=>{for(const r in o)if(r.startsWith("aria-")||r==="role"||r==="title")return!0;return!1},ir=l.createContext({}),ar=()=>l.useContext(ir),lr=l.forwardRef(({color:o,size:r,strokeWidth:n,absoluteStrokeWidth:e,className:d="",children:i,iconNode:c,...u},b)=>{const{size:p=24,strokeWidth:$=2,absoluteStrokeWidth:w=!1,color:y="currentColor",className:g=""}=ar()??{},m=e??w?Number(n??$)*24/Number(r??p):n??$;return l.createElement("svg",{ref:b,...oo,width:r??p??oo.width,height:r??p??oo.height,stroke:o??y,strokeWidth:m,className:ho("lucide",g,d),...!i&&!er(u)&&{"aria-hidden":"true"},...u},[...c.map(([I,z])=>l.createElement(I,z)),...Array.isArray(i)?i:[i]])});const H=(o,r)=>{const n=l.forwardRef(({className:e,...d},i)=>l.createElement(lr,{ref:i,iconNode:r,className:ho(`lucide-${nr(uo(o))}`,`lucide-${o}`,e),...d}));return n.displayName=uo(o),n};const cr=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],dr=H("arrow-down",cr);const ur=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],pr=H("arrow-up-down",ur);const fr=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],br=H("arrow-up",fr);const gr=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],wo=H("chevron-down",gr);const $r=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],vo=H("x",$r),xr=s.keyframes`
293
293
  from { opacity: 0; transform: translateY(12px); }
294
294
  to { opacity: 1; transform: translateY(0); }
295
- `,$r=s.keyframes`
295
+ `,yr=s.keyframes`
296
296
  from { opacity: 0; transform: translateY(-12px); }
297
297
  to { opacity: 1; transform: translateY(0); }
298
- `,xr=s.keyframes`
298
+ `,hr=s.keyframes`
299
299
  from { opacity: 1; }
300
300
  to { opacity: 0; }
301
- `,yr=s.div`
301
+ `,wr=s.div`
302
302
  position: fixed;
303
303
  z-index: ${({theme:o})=>o.zIndex.toast};
304
304
  display: flex;
@@ -309,11 +309,11 @@
309
309
  padding: ${({theme:o})=>`${o.spacing[3]} ${o.spacing[4]}`};
310
310
  border-radius: ${({theme:o})=>o.radius.md};
311
311
  animation: ${({$closing:o,$position:r})=>o?s.css`
312
- ${xr} 0.2s ease forwards
312
+ ${hr} 0.2s ease forwards
313
313
  `:r.startsWith("top")?s.css`
314
- ${$r} 0.2s ease forwards
314
+ ${yr} 0.2s ease forwards
315
315
  `:s.css`
316
- ${gr} 0.2s ease forwards
316
+ ${xr} 0.2s ease forwards
317
317
  `};
318
318
 
319
319
  ${({$position:o,theme:r})=>({"bottom-right":s.css`
@@ -334,7 +334,7 @@
334
334
  border: ${o.brutalism.borderWidth} solid ${n};
335
335
  box-shadow: ${o.brutalism.shadowOffset} ${o.brutalism.shadowOffset}
336
336
  0 ${n};
337
- `,hr=s(yr)`
337
+ `,vr=s(wr)`
338
338
  ${({$variant:o,theme:r})=>r.brutalism?{success:Y(r,r.colors.success[50],r.colors.success[500]),error:Y(r,r.colors.error[50],r.colors.error[500]),warning:Y(r,r.colors.warning[50],r.colors.warning[500]),info:Y(r,r.colors.info[50],r.colors.info[500])}[o]:{success:s.css`
339
339
  background: ${r.colors.success[50]};
340
340
  border-left: 4px solid ${r.colors.success[500]};
@@ -352,14 +352,14 @@
352
352
  border-left: 4px solid ${r.colors.info[500]};
353
353
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
354
354
  `}[o]}
355
- `,wr=s.p`
355
+ `,kr=s.p`
356
356
  flex: 1;
357
357
  margin: 0;
358
358
  font-size: ${({theme:o})=>o.fontSizes.sm};
359
359
  font-weight: ${({theme:o})=>o.brutalism?600:400};
360
360
  line-height: 1.5;
361
361
  color: ${({theme:o})=>o.colors.neutral[900]};
362
- `,vr=s.button`
362
+ `,mr=s.button`
363
363
  flex-shrink: 0;
364
364
  display: inline-flex;
365
365
  align-items: center;
@@ -381,37 +381,37 @@
381
381
  outline: 2px solid ${({theme:o})=>o.colors.primary[500]};
382
382
  outline-offset: 2px;
383
383
  }
384
- `;function so({open:o,onClose:r,message:n,variant:e="info",duration:c=4e3,position:i="bottom-right"}){const[l,u]=a.useState(o),[x,p]=a.useState(!1);return a.useEffect(()=>{if(o)u(!0),p(!1);else if(l){p(!0);const g=setTimeout(()=>{u(!1),p(!1)},200);return()=>{clearTimeout(g)}}},[o,l]),a.useEffect(()=>{if(!o||c===0)return;const g=setTimeout(r,c);return()=>{clearTimeout(g)}},[o,c,r]),l?fo.createPortal(t.jsxs(hr,{$position:i,$variant:e,$closing:x,role:"alert","aria-live":"polite",children:[t.jsx(wr,{children:n}),t.jsx(vr,{onClick:r,"aria-label":"Close notification",children:t.jsx(wo,{size:14,strokeWidth:2.5})})]}),document.body):null}so.displayName="Toast";const kr=s.form`
384
+ `;function to({open:o,onClose:r,message:n,variant:e="info",duration:d=4e3,position:i="bottom-right"}){const[c,u]=l.useState(o),[b,p]=l.useState(!1);return l.useEffect(()=>{if(o)u(!0),p(!1);else if(c){p(!0);const $=setTimeout(()=>{u(!1),p(!1)},200);return()=>{clearTimeout($)}}},[o,c]),l.useEffect(()=>{if(!o||d===0)return;const $=setTimeout(r,d);return()=>{clearTimeout($)}},[o,d,r]),c?no.createPortal(t.jsxs(vr,{$position:i,$variant:e,$closing:b,role:"alert","aria-live":"polite",children:[t.jsx(kr,{children:n}),t.jsx(mr,{onClick:r,"aria-label":"Close notification",children:t.jsx(vo,{size:14,strokeWidth:2.5})})]}),document.body):null}to.displayName="Toast";const jr=s.form`
385
385
  display: flex;
386
386
  flex-direction: column;
387
387
  gap: ${({theme:o})=>o.spacing[4]};
388
- `,mr=s.div`
388
+ `,Sr=s.div`
389
389
  display: flex;
390
390
  flex-direction: column;
391
391
  gap: ${({theme:o})=>o.spacing[1]};
392
- `,jr=s.label`
392
+ `,Cr=s.label`
393
393
  font-size: ${({theme:o})=>o.fontSizes.sm};
394
394
  font-weight: 500;
395
395
  color: ${({theme:o})=>o.colors.neutral[900]};
396
- `,Sr=s.span`
396
+ `,zr=s.span`
397
397
  color: ${({theme:o})=>o.colors.error[500]};
398
398
  margin-left: 2px;
399
- `,Cr=s.span`
399
+ `,Tr=s.span`
400
400
  font-size: ${({theme:o})=>o.fontSizes.xs};
401
401
  color: ${({$error:o,theme:r})=>o?r.colors.error[500]:r.colors.neutral[500]};
402
- `;function vo({onSubmit:o,children:r,...n}){return t.jsx(kr,{onSubmit:e=>{e.preventDefault(),o?.(e)},noValidate:!0,...n,children:r})}vo.displayName="Form";function ko({label:o,error:r,helperText:n,required:e,children:c}){const i=a.useId(),l=`${i}-hint`,u=!!(r||n),x=typeof r=="string"?r:void 0,p=a.isValidElement(c)?a.cloneElement(c,{id:i,...u&&{"aria-describedby":l},...r&&{"aria-invalid":!0}}):c;return t.jsxs(mr,{children:[o&&t.jsxs(jr,{htmlFor:i,children:[o,e&&t.jsx(Sr,{"aria-hidden":"true",children:" *"})]}),p,u&&t.jsx(Cr,{id:l,$error:!!r,children:x??n})]})}ko.displayName="FormField";const zr=s.div`
402
+ `;function ko({onSubmit:o,children:r,...n}){return t.jsx(jr,{onSubmit:e=>{e.preventDefault(),o?.(e)},noValidate:!0,...n,children:r})}ko.displayName="Form";function mo({label:o,error:r,helperText:n,required:e,children:d}){const i=l.useId(),c=`${i}-hint`,u=!!(r||n),b=typeof r=="string"?r:void 0,p=l.isValidElement(d)?l.cloneElement(d,{id:i,...u&&{"aria-describedby":c},...r&&{"aria-invalid":!0}}):d;return t.jsxs(Sr,{children:[o&&t.jsxs(Cr,{htmlFor:i,children:[o,e&&t.jsx(zr,{"aria-hidden":"true",children:" *"})]}),p,u&&t.jsx(Tr,{id:c,$error:!!r,children:b??n})]})}mo.displayName="FormField";const Ir=s.div`
403
403
  display: inline-flex;
404
404
  flex-direction: column;
405
405
  gap: ${({theme:o})=>o.spacing[1]};
406
406
  width: ${({$fullWidth:o})=>o?"100%":"auto"};
407
- `,Tr=s.div`
407
+ `,Er=s.div`
408
408
  position: relative;
409
409
  display: flex;
410
410
  width: 100%;
411
- `,Ir=s.span`
411
+ `,Pr=s.span`
412
412
  font-size: ${({theme:o})=>o.fontSizes.xs};
413
413
  color: ${({$error:o,theme:r})=>o?r.colors.error[500]:r.colors.neutral[500]};
414
- `,Er=s.select`
414
+ `,Wr=s.select`
415
415
  appearance: none;
416
416
  width: 100%;
417
417
  border-radius: ${({theme:o})=>o.radius.md};
@@ -464,7 +464,7 @@
464
464
  cursor: not-allowed;
465
465
  opacity: 0.6;
466
466
  }
467
- `,Wr=s.button`
467
+ `,Br=s.button`
468
468
  position: absolute;
469
469
  right: ${({theme:o})=>o.spacing[3]};
470
470
  top: 50%;
@@ -486,7 +486,7 @@
486
486
  outline-offset: 2px;
487
487
  border-radius: 2px;
488
488
  }
489
- `,Br=s.span`
489
+ `,Or=s.span`
490
490
  position: absolute;
491
491
  right: ${({theme:o})=>o.spacing[3]};
492
492
  top: 50%;
@@ -495,7 +495,7 @@
495
495
  display: flex;
496
496
  align-items: center;
497
497
  color: ${({theme:o})=>o.colors.neutral[500]};
498
- `;function mo({options:o,placeholder:r,size:n="md",variant:e="default",error:c,fullWidth:i,clearable:l,onClear:u,id:x,value:p,defaultValue:g,onChange:w,...y}){const b=a.useId(),k=x??b,C=`${k}-hint`,S=typeof c=="string"?c:void 0,[v,z]=a.useState(g??""),W=p!==void 0,B=W?p:v,h=E=>{W||z(E.target.value),w?.(E)},$=()=>{W||z(""),u?.()},m=l&&!!B;return t.jsxs(zr,{$fullWidth:i,children:[t.jsxs(Tr,{children:[t.jsxs(Er,{id:k,$size:n,$variant:e,$error:!!c,"aria-invalid":!!c,"aria-describedby":S?C:void 0,value:B,onChange:h,...y,children:[r&&t.jsx("option",{value:"",disabled:!0,children:r}),o.map(E=>t.jsx("option",{value:E.value,disabled:E.disabled,children:E.label},E.value))]}),m?t.jsx(Wr,{type:"button",onClick:$,"aria-label":"Clear selection",children:t.jsx(wo,{size:14})}):t.jsx(Br,{"aria-hidden":"true",children:t.jsx(ho,{size:14})})]}),S&&t.jsx(Ir,{id:C,$error:!0,children:S})]})}mo.displayName="Select";const Pr=s.a`
498
+ `;function jo({options:o,placeholder:r,size:n="md",variant:e="default",error:d,fullWidth:i,clearable:c,onClear:u,id:b,value:p,defaultValue:$,onChange:w,...y}){const g=l.useId(),m=b??g,I=`${m}-hint`,z=typeof d=="string"?d:void 0,[x,E]=l.useState($??""),W=p!==void 0,B=W?p:x,h=P=>{W||E(P.target.value),w?.(P)},v=()=>{W||E(""),u?.()},k=c&&!!B;return t.jsxs(Ir,{$fullWidth:i,children:[t.jsxs(Er,{children:[t.jsxs(Wr,{id:m,$size:n,$variant:e,$error:!!d,"aria-invalid":!!d,"aria-describedby":z?I:void 0,value:B,onChange:h,...y,children:[r&&t.jsx("option",{value:"",disabled:!0,children:r}),o.map(P=>t.jsx("option",{value:P.value,disabled:P.disabled,children:P.label},P.value))]}),k?t.jsx(Br,{type:"button",onClick:v,"aria-label":"Clear selection",children:t.jsx(vo,{size:14})}):t.jsx(Or,{"aria-hidden":"true",children:t.jsx(wo,{size:14})})]}),z&&t.jsx(Pr,{id:I,$error:!0,children:z})]})}jo.displayName="Select";const Rr=s.a`
499
499
  text-decoration: underline;
500
500
  text-underline-offset: 2px;
501
501
  transition: color 0.15s;
@@ -517,7 +517,7 @@
517
517
  color: ${r.colors.neutral[900]};
518
518
  }
519
519
  `})[o]}
520
- `;function jo({variant:o="default",external:r,children:n,...e}){return t.jsx(Pr,{$variant:o,...r&&{target:"_blank",rel:"noreferrer"},...e,children:n})}jo.displayName="Link";const Or=s.div`
520
+ `;function So({variant:o="default",external:r,children:n,...e}){return t.jsx(Rr,{$variant:o,...r&&{target:"_blank",rel:"noreferrer"},...e,children:n})}So.displayName="Link";const Dr=s.div`
521
521
  border-radius: ${({theme:o})=>o.radius.md};
522
522
  background: ${({theme:o})=>o.colors.neutral[0]};
523
523
  overflow: hidden;
@@ -532,7 +532,7 @@
532
532
  border: 1px solid ${r??o.colors.neutral[200]};
533
533
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
534
534
  `}
535
- `,Dr=s.button`
535
+ `,Nr=s.button`
536
536
  width: 100%;
537
537
  display: flex;
538
538
  align-items: flex-start;
@@ -552,19 +552,19 @@
552
552
  ${({theme:o,$accentColor:r})=>r??o.colors.primary[500]};
553
553
  outline-offset: -2px;
554
554
  }
555
- `,Rr=s.div`
555
+ `,Lr=s.div`
556
556
  flex: 1;
557
557
  min-width: 0;
558
- `,Nr=s.span`
558
+ `,Ar=s.span`
559
559
  display: block;
560
560
  font-size: ${({theme:o})=>o.fontSizes.md};
561
561
  font-weight: 600;
562
562
  color: ${({theme:o})=>o.colors.neutral[900]};
563
- `,Lr=s.span`
563
+ `,Mr=s.span`
564
564
  display: block;
565
565
  font-size: ${({theme:o})=>o.fontSizes.sm};
566
566
  color: ${({theme:o})=>o.colors.neutral[500]};
567
- `,Ar=s.div`
567
+ `,_r=s.div`
568
568
  display: flex;
569
569
  flex-direction: row;
570
570
  align-items: center;
@@ -576,11 +576,11 @@
576
576
  align-items: flex-start;
577
577
  gap: ${({theme:o})=>o.spacing[2]};
578
578
  }
579
- `,Mr=s.div`
579
+ `,Vr=s.div`
580
580
  display: flex;
581
581
  align-items: center;
582
582
  gap: ${({theme:o})=>o.spacing[2]};
583
- `,_r=s.span`
583
+ `,Fr=s.span`
584
584
  display: inline-flex;
585
585
  align-items: center;
586
586
  justify-content: center;
@@ -588,16 +588,16 @@
588
588
  transition: transform 0.2s ease;
589
589
  transform: ${({$open:o})=>o?"rotate(180deg)":"rotate(0deg)"};
590
590
  color: ${({theme:o,$accentColor:r})=>r??o.colors.neutral[500]};
591
- `,Fr=s.div`
591
+ `,Kr=s.div`
592
592
  display: grid;
593
593
  grid-template-rows: ${({$open:o})=>o?"1fr":"0fr"};
594
594
  transition: grid-template-rows 0.2s ease;
595
- `,Vr=s.div`
595
+ `,Hr=s.div`
596
596
  overflow: hidden;
597
- `,Kr=s.div`
597
+ `,qr=s.div`
598
598
  padding: ${({theme:o})=>o.spacing[4]};
599
599
  border-top: 1px solid ${({theme:o})=>o.colors.neutral[200]};
600
- `;function So({title:o,children:r,defaultOpen:n=!1,open:e,onToggle:c,subtitle:i,headerActions:l,accentColor:u}){const[x,p]=a.useState(n),g=a.useId(),w=e!==void 0,y=w?e:x,b=()=>{const k=!y;w||p(k),c?.(k)};return t.jsxs(Or,{$accentColor:u,children:[t.jsxs(Dr,{type:"button",$open:y,$accentColor:u,"aria-expanded":y,"aria-controls":g,onClick:b,children:[t.jsxs(Rr,{children:[t.jsx(Nr,{children:o}),(i||l)&&t.jsxs(Ar,{children:[i&&t.jsx(Lr,{children:i}),l&&t.jsx(Mr,{onClick:k=>k.stopPropagation(),children:l})]})]}),t.jsx(_r,{$open:y,$accentColor:u,"aria-hidden":"true",children:t.jsx(ho,{size:18,strokeWidth:2.5})})]}),t.jsx(Fr,{$open:y,children:t.jsx(Vr,{id:g,role:"region","aria-label":o,children:t.jsx(Kr,{children:r})})})]})}So.displayName="CollapsibleCard";const Co=a.createContext(null);function Hr({children:o}){const[r,n]=a.useState(null),e=a.useCallback(i=>{n({...i,id:Date.now()})},[]),c=a.useMemo(()=>Object.assign(i=>e(i),{success:(i,l)=>e({...l,message:i,variant:"success"}),error:(i,l)=>e({...l,message:i,variant:"error"}),warning:(i,l)=>e({...l,message:i,variant:"warning"}),info:(i,l)=>e({...l,message:i,variant:"info"})}),[e]);return t.jsxs(Co.Provider,{value:{toast:c},children:[o,r&&t.jsx(so,{open:!0,onClose:()=>n(null),message:r.message,variant:r.variant,duration:r.duration,position:r.position},r.id)]})}function qr(){const o=a.useContext(Co);if(!o)throw new Error("useToast must be used within a ToastProvider");return o}function Yr({initialValues:o,validate:r,onSubmit:n,onError:e}){const[c,i]=a.useState(o),[l,u]=a.useState({}),[x,p]=a.useState({}),[g,w]=a.useState(!1),y=a.useRef(c);y.current=c;const b=a.useCallback(h=>{if(!r)return{};const $=r(h);return Object.fromEntries(Object.entries($).filter(([,m])=>m!==void 0))},[r]),k=a.useRef(x);k.current=x;const C=a.useCallback(h=>{const{name:$,value:m}=h.target,E={...y.current,[$]:m};i(E),k.current[$]&&u(b(E))},[b]),S=a.useCallback(h=>{const{name:$}=h.target;p(m=>({...m,[$]:!0})),u(b(y.current))},[b]),v=a.useCallback(h=>{h?.preventDefault();const $=Object.keys(y.current).reduce((R,N)=>({...R,[N]:!0}),{});p($);const m=b(y.current);if(u(m),Object.keys(m).length>0){e?.(m);return}(async()=>{w(!0);try{await n?.(y.current)}finally{w(!1)}})()},[b,n,e]),z=a.useCallback((h,$)=>{i(m=>({...m,[h]:$}))},[]),W=a.useCallback(()=>{i(o),u({}),p({}),w(!1)},[o]),B=Object.fromEntries(Object.entries(l).filter(([h])=>x[h]));return{values:c,errors:B,touched:x,handleChange:C,handleBlur:S,handleSubmit:v,setFieldValue:z,reset:W,isSubmitting:g}}function Ur(o,r){return o?.key!==r?{key:r,direction:"asc"}:o.direction==="asc"?{key:r,direction:"desc"}:null}function Gr({data:o,sort:r,defaultSort:n,onSortChange:e}){const c=r!==void 0,[i,l]=a.useState(n??null),u=c?r??null:i,x=g=>{const w=Ur(u,g);return c||l(w),e?.(w),w},p=a.useMemo(()=>c||!u?o:[...o].sort((g,w)=>{const y=g[u.key],b=w[u.key],k=y<b?-1:y>b?1:0;return u.direction==="asc"?k:-k}),[o,u,c]);return{activeSort:u,sortedData:p,handleSort:x}}const Xr=7,co=3,uo=1;function Zr(o,r){if(r<=Xr)return Array.from({length:r},(e,c)=>c+1);const n=[1];o>co&&n.push("...");for(let e=Math.max(2,o-uo);e<=Math.min(r-1,o+uo);e++)n.push(e);return o<r-co+1&&n.push("..."),n.push(r),n}function Jr({data:o,pageSize:r,page:n,defaultPage:e,totalRows:c,onPageChange:i}){const l=n!==void 0,[u,x]=a.useState(e??1),p=l?n:u,g=C=>{l||x(C),i?.(C)},w=l||c!==void 0,y=c??o.length,b=r?Math.max(1,Math.ceil(y/r)):1,k=a.useMemo(()=>{if(!r||w)return o;const C=(p-1)*r;return o.slice(C,C+r)},[o,r,p,w]);return{activePage:p,totalPages:b,displayData:k,handlePageChange:g}}const zo=(o,r)=>o==="sm"?`${r.spacing[1]} ${r.spacing[2]}`:o==="lg"?`${r.spacing[3]} ${r.spacing[4]}`:`${r.spacing[2]} ${r.spacing[3]}`,To=s.div`
600
+ `;function Co({title:o,children:r,defaultOpen:n=!1,open:e,onToggle:d,subtitle:i,headerActions:c,accentColor:u}){const[b,p]=l.useState(n),$=l.useId(),w=e!==void 0,y=w?e:b,g=()=>{const m=!y;w||p(m),d?.(m)};return t.jsxs(Dr,{$accentColor:u,children:[t.jsxs(Nr,{type:"button",$open:y,$accentColor:u,"aria-expanded":y,"aria-controls":$,onClick:g,children:[t.jsxs(Lr,{children:[t.jsx(Ar,{children:o}),(i||c)&&t.jsxs(_r,{children:[i&&t.jsx(Mr,{children:i}),c&&t.jsx(Vr,{onClick:m=>m.stopPropagation(),children:c})]})]}),t.jsx(Fr,{$open:y,$accentColor:u,"aria-hidden":"true",children:t.jsx(wo,{size:18,strokeWidth:2.5})})]}),t.jsx(Kr,{$open:y,children:t.jsx(Hr,{id:$,role:"region","aria-label":o,children:t.jsx(qr,{children:r})})})]})}Co.displayName="CollapsibleCard";const zo=l.createContext(null);function Yr({children:o}){const[r,n]=l.useState(null),e=l.useCallback(i=>{n({...i,id:Date.now()})},[]),d=l.useMemo(()=>Object.assign(i=>e(i),{success:(i,c)=>e({...c,message:i,variant:"success"}),error:(i,c)=>e({...c,message:i,variant:"error"}),warning:(i,c)=>e({...c,message:i,variant:"warning"}),info:(i,c)=>e({...c,message:i,variant:"info"})}),[e]);return t.jsxs(zo.Provider,{value:{toast:d},children:[o,r&&t.jsx(to,{open:!0,onClose:()=>n(null),message:r.message,variant:r.variant,duration:r.duration,position:r.position},r.id)]})}function Ur(){const o=l.useContext(zo);if(!o)throw new Error("useToast must be used within a ToastProvider");return o}function Gr({initialValues:o,validate:r,onSubmit:n,onError:e}){const[d,i]=l.useState(o),[c,u]=l.useState({}),[b,p]=l.useState({}),[$,w]=l.useState(!1),y=l.useRef(d);y.current=d;const g=l.useCallback(h=>{if(!r)return{};const v=r(h);return Object.fromEntries(Object.entries(v).filter(([,k])=>k!==void 0))},[r]),m=l.useRef(b);m.current=b;const I=l.useCallback(h=>{const{name:v,value:k}=h.target,P={...y.current,[v]:k};i(P),m.current[v]&&u(g(P))},[g]),z=l.useCallback(h=>{const{name:v}=h.target;p(k=>({...k,[v]:!0})),u(g(y.current))},[g]),x=l.useCallback(h=>{h?.preventDefault();const v=Object.keys(y.current).reduce((R,D)=>({...R,[D]:!0}),{});p(v);const k=g(y.current);if(u(k),Object.keys(k).length>0){e?.(k);return}(async()=>{w(!0);try{await n?.(y.current)}finally{w(!1)}})()},[g,n,e]),E=l.useCallback((h,v)=>{i(k=>({...k,[h]:v}))},[]),W=l.useCallback(()=>{i(o),u({}),p({}),w(!1)},[o]),B=Object.fromEntries(Object.entries(c).filter(([h])=>b[h]));return{values:d,errors:B,touched:b,handleChange:I,handleBlur:z,handleSubmit:x,setFieldValue:E,reset:W,isSubmitting:$}}function Xr(o,r){return o?.key!==r?{key:r,direction:"asc"}:o.direction==="asc"?{key:r,direction:"desc"}:null}function Zr({data:o,sort:r,defaultSort:n,onSortChange:e}){const d=r!==void 0,[i,c]=l.useState(n??null),u=d?r??null:i,b=$=>{const w=Xr(u,$);return d||c(w),e?.(w),w},p=l.useMemo(()=>d||!u?o:[...o].sort(($,w)=>{const y=$[u.key],g=w[u.key],m=y<g?-1:y>g?1:0;return u.direction==="asc"?m:-m}),[o,u,d]);return{activeSort:u,sortedData:p,handleSort:b}}const Jr=7,po=3,fo=1;function Qr(o,r){if(r<=Jr)return Array.from({length:r},(e,d)=>d+1);const n=[1];o>po&&n.push("...");for(let e=Math.max(2,o-fo);e<=Math.min(r-1,o+fo);e++)n.push(e);return o<r-po+1&&n.push("..."),n.push(r),n}function os({data:o,pageSize:r,page:n,defaultPage:e,totalRows:d,onPageChange:i}){const c=n!==void 0,[u,b]=l.useState(e??1),p=c?n:u,$=I=>{c||b(I),i?.(I)},w=c||d!==void 0,y=d??o.length,g=r?Math.max(1,Math.ceil(y/r)):1,m=l.useMemo(()=>{if(!r||w)return o;const I=(p-1)*r;return o.slice(I,I+r)},[o,r,p,w]);return{activePage:p,totalPages:g,displayData:m,handlePageChange:$}}const To=(o,r)=>o==="sm"?`${r.spacing[1]} ${r.spacing[2]}`:o==="lg"?`${r.spacing[3]} ${r.spacing[4]}`:`${r.spacing[2]} ${r.spacing[3]}`,Io=s.div`
601
601
  width: 100%;
602
602
 
603
603
  ${({theme:o,$borderColor:r})=>o.brutalism?s.css`
@@ -616,7 +616,7 @@
616
616
  ${({$stickyHeader:o})=>o&&s.css`
617
617
  overflow-y: auto;
618
618
  `}
619
- `,Io=s.table`
619
+ `,Eo=s.table`
620
620
  width: 100%;
621
621
  border-collapse: collapse;
622
622
  font-size: ${({$size:o,theme:r})=>({sm:r.fontSizes.sm,md:r.fontSizes.md,lg:r.fontSizes.lg})[o]};
@@ -624,7 +624,7 @@
624
624
  caption {
625
625
  padding: 8px 0;
626
626
  }
627
- `,Eo=s.thead`
627
+ `,Po=s.thead`
628
628
  ${({$stickyHeader:o})=>o&&s.css`
629
629
  position: sticky;
630
630
  top: 0;
@@ -660,14 +660,14 @@
660
660
  tr:last-child td {
661
661
  border-bottom: none;
662
662
  }
663
- `,V=s.tr``,no=s.th`
663
+ `,K=s.tr``,eo=s.th`
664
664
  background-color: var(--th-bg);
665
665
  color: var(--th-text);
666
666
  text-align: left;
667
667
  font-weight: 700;
668
668
  white-space: nowrap;
669
669
 
670
- padding: ${({$size:o,theme:r})=>zo(o,r)};
670
+ padding: ${({$size:o,theme:r})=>To(o,r)};
671
671
 
672
672
  ${({theme:o,$bordered:r})=>o.brutalism?s.css`
673
673
  border-right: 1px solid var(--th-sep);
@@ -683,7 +683,7 @@
683
683
  }
684
684
  `}
685
685
  `}
686
- `,Qr=s.button`
686
+ `,rs=s.button`
687
687
  display: inline-flex;
688
688
  align-items: center;
689
689
  gap: ${({theme:o})=>o.spacing[1]};
@@ -702,12 +702,12 @@
702
702
  outline-offset: 2px;
703
703
  border-radius: 2px;
704
704
  }
705
- `,os=s.span`
705
+ `,ss=s.span`
706
706
  opacity: 0.5;
707
707
  display: inline-flex;
708
708
  align-items: center;
709
709
  `,G=s.td`
710
- padding: ${({$size:o,theme:r})=>zo(o,r)};
710
+ padding: ${({$size:o,theme:r})=>To(o,r)};
711
711
 
712
712
  ${({$bordered:o,$borderColor:r,theme:n})=>n.brutalism?s.css`
713
713
  border-bottom: ${n.brutalism.borderWidth} solid
@@ -725,16 +725,16 @@
725
725
  border-bottom: 1px solid
726
726
  ${r??n.colors.neutral[200]};
727
727
  `}
728
- `,rs=s.td`
728
+ `,ns=s.td`
729
729
  text-align: center;
730
730
  color: ${({theme:o})=>o.colors.neutral[400]};
731
731
  padding: ${({theme:o})=>`${o.spacing[4]} ${o.spacing[3]}`};
732
732
  font-size: ${({theme:o})=>o.fontSizes.sm};
733
733
  border-bottom: none;
734
- `,ss=s.keyframes`
734
+ `,ts=s.keyframes`
735
735
  0% { background-position: -400px 0; }
736
736
  100% { background-position: 400px 0; }
737
- `,ns=s(G)``,ts=s.div`
737
+ `,es=s(G)``,is=s.div`
738
738
  height: 14px;
739
739
  border-radius: 4px;
740
740
  background: linear-gradient(
@@ -744,8 +744,8 @@
744
744
  ${({theme:o})=>o.colors.neutral[200]} 75%
745
745
  );
746
746
  background-size: 800px 100%;
747
- animation: ${ss} 1.6s ease-in-out infinite;
748
- `,es=s.div`
747
+ animation: ${ts} 1.6s ease-in-out infinite;
748
+ `,as=s.div`
749
749
  display: flex;
750
750
  align-items: center;
751
751
  justify-content: center;
@@ -758,7 +758,7 @@
758
758
  `:s.css`
759
759
  border-top: 1px solid ${o.colors.neutral[200]};
760
760
  `}
761
- `,oo=s.button`
761
+ `,ro=s.button`
762
762
  display: inline-flex;
763
763
  align-items: center;
764
764
  justify-content: center;
@@ -801,9 +801,9 @@
801
801
  outline: 2px solid ${({theme:o})=>o.colors.primary[500]};
802
802
  outline-offset: 2px;
803
803
  }
804
- `,is=4;function as(o,r){return o?.key!==r?t.jsx(dr,{size:14}):o.direction==="asc"?t.jsx(pr,{size:14}):t.jsx(lr,{size:14})}function Bo({columns:o,data:r,rowKey:n,size:e="md",striped:c,bordered:i,stickyHeader:l,caption:u,emptyMessage:x="No data",loading:p,sort:g,defaultSort:w,onSortChange:y,pageSize:b,page:k,defaultPage:C,totalRows:S,onPageChange:v,onChange:z,borderColor:W,headerColor:B,rowColor:h,stripeColor:$,className:m,style:E}){const{activeSort:R,sortedData:N,handleSort:M}=Gr({data:r,sort:g,defaultSort:w,onSortChange:y}),{activePage:P,totalPages:_,displayData:H,handlePageChange:X}=Jr({data:N,pageSize:b,page:k,defaultPage:C,totalRows:S,onPageChange:v}),Z=d=>{const j=M(d);z?.({sort:j,page:P})},F=d=>{X(d),z?.({sort:R,page:d})},f=(d,j)=>String(n?d[n]:j),T=!p&&H.length===0,I=b??is;return t.jsxs(To,{$borderColor:W,$stickyHeader:l,className:m,style:E,children:[t.jsxs(Io,{$size:e,children:[u&&t.jsx("caption",{children:u}),t.jsx(Eo,{$headerColor:B,$borderColor:W,$stickyHeader:l,children:t.jsx(V,{children:o.map(d=>t.jsx(no,{$size:e,$bordered:i,scope:"col",style:d.width?{width:d.width}:void 0,children:d.sortable?t.jsxs(Qr,{type:"button",onClick:()=>Z(d.key),"aria-label":`Sort by ${d.header}${R?.key===d.key?`, ${R.direction}ending`:""}`,children:[d.header,t.jsx(os,{"aria-hidden":"true",children:as(R,d.key)})]}):d.header},d.key))})}),t.jsx(Wo,{$striped:c,$rowColor:h,$stripeColor:$,children:p?Array.from({length:I}).map((d,j)=>t.jsx(V,{children:o.map(O=>t.jsx(ns,{$size:e,$bordered:i,$borderColor:W,children:t.jsx(ts,{})},O.key))},j)):T?t.jsx("tr",{children:t.jsx(rs,{colSpan:o.length,children:x})}):H.map((d,j)=>t.jsx(V,{children:o.map(O=>t.jsx(G,{$size:e,$bordered:i,$borderColor:W,children:O.render?O.render(d[O.key],d,j):String(d[O.key]??"")||" "},O.key))},f(d,j)))})]}),b&&_>1&&t.jsxs(es,{children:[t.jsx(oo,{type:"button",onClick:()=>F(P-1),disabled:P<=1,"aria-label":"Previous page",children:"←"}),Zr(P,_).map((d,j)=>d==="..."?t.jsx("span",{"aria-hidden":"true",style:{padding:"0 4px"},children:"…"},`e${j}`):t.jsx(oo,{type:"button",$active:d===P,onClick:()=>F(d),"aria-label":`Page ${d}`,"aria-current":d===P?"page":void 0,children:d},d)),t.jsx(oo,{type:"button",onClick:()=>F(P+1),disabled:P>=_,"aria-label":"Next page",children:"→"})]})]})}Bo.displayName="Table";const ls=s(Io)`
804
+ `,ls=4;function cs(o,r){return o?.key!==r?t.jsx(pr,{size:14}):o.direction==="asc"?t.jsx(br,{size:14}):t.jsx(dr,{size:14})}function Bo({columns:o,data:r,rowKey:n,size:e="md",striped:d,bordered:i,stickyHeader:c,caption:u,emptyMessage:b="No data",loading:p,sort:$,defaultSort:w,onSortChange:y,pageSize:g,page:m,defaultPage:I,totalRows:z,onPageChange:x,onChange:E,borderColor:W,headerColor:B,rowColor:h,stripeColor:v,className:k,style:P}){const{activeSort:R,sortedData:D,handleSort:N}=Zr({data:r,sort:$,defaultSort:w,onSortChange:y}),{activePage:O,totalPages:M,displayData:_,handlePageChange:X}=os({data:D,pageSize:g,page:m,defaultPage:I,totalRows:z,onPageChange:x}),Z=a=>{const j=N(a);E?.({sort:j,page:O})},V=a=>{X(a),E?.({sort:R,page:a})},J=(a,j)=>String(n?a[n]:j),f=!p&&_.length===0,S=g??ls;return t.jsxs(Io,{$borderColor:W,$stickyHeader:c,className:k,style:P,children:[t.jsxs(Eo,{$size:e,children:[u&&t.jsx("caption",{children:u}),t.jsx(Po,{$headerColor:B,$borderColor:W,$stickyHeader:c,children:t.jsx(K,{children:o.map(a=>t.jsx(eo,{$size:e,$bordered:i,scope:"col",style:a.width?{width:a.width}:void 0,children:a.sortable?t.jsxs(rs,{type:"button",onClick:()=>Z(a.key),"aria-label":`Sort by ${a.header}${R?.key===a.key?`, ${R.direction}ending`:""}`,children:[a.header,t.jsx(ss,{"aria-hidden":"true",children:cs(R,a.key)})]}):a.header},a.key))})}),t.jsx(Wo,{$striped:d,$rowColor:h,$stripeColor:v,children:p?Array.from({length:S}).map((a,j)=>t.jsx(K,{children:o.map(C=>t.jsx(es,{$size:e,$bordered:i,$borderColor:W,children:t.jsx(is,{})},C.key))},j)):f?t.jsx("tr",{children:t.jsx(ns,{colSpan:o.length,children:b})}):_.map((a,j)=>t.jsx(K,{children:o.map(C=>t.jsx(G,{$size:e,$bordered:i,$borderColor:W,children:C.render?C.render(a[C.key],a,j):String(a[C.key]??"")||" "},C.key))},J(a,j)))})]}),g&&M>1&&t.jsxs(as,{children:[t.jsx(ro,{type:"button",onClick:()=>V(O-1),disabled:O<=1,"aria-label":"Previous page",children:"←"}),Qr(O,M).map((a,j)=>a==="..."?t.jsx("span",{"aria-hidden":"true",style:{padding:"0 4px"},children:"…"},`e${j}`):t.jsx(ro,{type:"button",$active:a===O,onClick:()=>V(a),"aria-label":`Page ${a}`,"aria-current":a===O?"page":void 0,children:a},a)),t.jsx(ro,{type:"button",onClick:()=>V(O+1),disabled:O>=M,"aria-label":"Next page",children:"→"})]})]})}Bo.displayName="Table";function ds({defaultSort:o,defaultPage:r=1}={}){const[n,e]=l.useState(o??null),[d,i]=l.useState(r);return{sort:n,page:d,onSortChange:b=>{e(b),i(1)},onPageChange:b=>{i(b)}}}const us=s(Eo)`
805
805
  table-layout: fixed;
806
- `,cs=s(G)`
806
+ `,ps=s(G)`
807
807
  ${({$editable:o,theme:r})=>o&&s.css`
808
808
  cursor: pointer;
809
809
  position: relative;
@@ -812,7 +812,7 @@
812
812
  background-color: ${r.brutalism?r.colors.neutral[100]:r.colors.primary[50]};
813
813
  }
814
814
  `}
815
- `,ds=s.input`
815
+ `,Oo=s.css`
816
816
  display: block;
817
817
  width: 100%;
818
818
  min-width: 0;
@@ -835,14 +835,19 @@
835
835
  box-shadow: ${o.shadows.focusRing};
836
836
  }
837
837
  `}
838
- `,us=s(no)`
838
+ `,fs=s.input`
839
+ ${Oo}
840
+ `,bs=s.select`
841
+ ${Oo}
842
+ cursor: pointer;
843
+ `,gs=s(eo)`
839
844
  width: 40px;
840
- `,ps=s(G)`
845
+ `,$s=s(G)`
841
846
  width: 40px;
842
847
  text-align: center;
843
848
  padding-left: 0;
844
849
  padding-right: 0;
845
- `,fs=s.button`
850
+ `,xs=s.button`
846
851
  display: inline-flex;
847
852
  align-items: center;
848
853
  justify-content: center;
@@ -864,14 +869,14 @@
864
869
  background-color: ${o.colors.error[50]};
865
870
  `}
866
871
  }
867
- `,bs=s.tr`
872
+ `,ys=s.tr`
868
873
  ${({theme:o})=>o.brutalism?s.css`
869
874
  border-top: ${o.brutalism.borderWidth} solid
870
875
  ${o.colors.neutral[900]};
871
876
  `:s.css`
872
877
  border-top: 1px solid ${o.colors.neutral[200]};
873
878
  `}
874
- `,gs=s.button`
879
+ `,hs=s.button`
875
880
  display: inline-flex;
876
881
  align-items: center;
877
882
  gap: ${({theme:o})=>o.spacing[1]};
@@ -893,4 +898,4 @@
893
898
  outline: 2px solid ${({theme:o})=>o.colors.primary[500]};
894
899
  outline-offset: 2px;
895
900
  }
896
- `;function ro(o,r,n){return typeof o.editable=="function"?o.editable(r,n):!!o.editable}function Po({columns:o,defaultData:r,data:n,rowKey:e,onChange:c,size:i="md",borderColor:l,headerColor:u,addRowLabel:x="Add row",newRowFactory:p,deletable:g=!1,className:w,style:y}){const b=n!==void 0,[k,C]=a.useState(r??[]),S=b?n:k,[v,z]=a.useState(null),[W,B]=a.useState(""),h=a.useRef(null);a.useEffect(()=>{v&&(h.current?.focus(),h.current?.select())},[v]);const $=a.useCallback(f=>{b||C(f),c?.(f)},[b,c]),m=a.useCallback(()=>p?p():Object.fromEntries(o.map(f=>[f.key,""])),[p,o]),E=a.useCallback(f=>{const T=[];return f.forEach((I,d)=>{o.forEach(j=>{ro(j,I,d)&&T.push({rowIndex:d,colKey:j.key})})}),T},[o]),R=(f,T,I)=>{z({rowIndex:f,colKey:T}),B(String(I??""))},N=a.useCallback(()=>{if(!v)return;const{rowIndex:f,colKey:T}=v,I=S.map((d,j)=>j===f?{...d,[T]:W}:d);$(I),z(null)},[v,S,W,$]),M=()=>{z(null),B("")},P=f=>{if(!v)return;f.preventDefault();const{rowIndex:T,colKey:I}=v,d=S.map((D,q)=>q===T?{...D,[I]:W}:D);$(d);const j=E(d),O=j.findIndex(D=>D.rowIndex===T&&D.colKey===I),L=f.shiftKey?O-1:O+1;if(L>=0&&L<j.length){const D=j[L];z(D),B(String(d[D.rowIndex][D.colKey]??""));return}if(!f.shiftKey&&L>=j.length){const D=m(),q=[...d,D];$(q);const to=q.length-1,eo=o.find(Oo=>ro(Oo,D,to));z(eo?{rowIndex:to,colKey:eo.key}:null),B("");return}z(null),B("")},_=f=>{if(f.key==="Enter"){N();return}if(f.key==="Escape"){M();return}f.key==="Tab"&&P(f)},H=()=>$([...S,m()]),X=f=>{v?.rowIndex===f&&z(null),$(S.filter((T,I)=>I!==f))},Z=(f,T)=>String(e?f[e]:T),F=g?o.length+1:o.length;return t.jsx(To,{$borderColor:l,className:w,style:y,children:t.jsxs(ls,{$size:i,children:[t.jsx(Eo,{$headerColor:u,$borderColor:l,children:t.jsxs(V,{children:[o.map(f=>t.jsx(no,{$size:i,scope:"col",style:f.width?{width:f.width}:void 0,children:f.header},f.key)),g&&t.jsx(us,{$size:i,"aria-label":"Actions"})]})}),t.jsxs(Wo,{children:[S.map((f,T)=>t.jsxs(V,{children:[o.map(I=>{const d=v?.rowIndex===T&&v.colKey===I.key,j=f[I.key],O=ro(I,f,T);return t.jsx(cs,{$size:i,$borderColor:l,$editable:O&&!d,onClick:O&&!d?()=>R(T,I.key,j):void 0,children:d?t.jsx(ds,{ref:h,$size:i,value:W,onChange:L=>B(L.target.value),onBlur:N,onKeyDown:_,"aria-label":`Edit ${I.header}`}):I.render?I.render(j,f,T):String(j??"")||" "},I.key)}),g&&t.jsx(ps,{$size:i,$borderColor:l,children:t.jsx(fs,{type:"button",onClick:()=>X(T),"aria-label":"Delete row",children:"✕"})})]},Z(f,T))),t.jsx(bs,{children:t.jsx("td",{colSpan:F,children:t.jsxs(gs,{type:"button",onClick:H,children:["+ ",x]})})})]})]})})}Po.displayName="DataTable";const po={primary:{50:"#f0f8ff",500:"#0070f3",700:"#005bb5"},neutral:{0:"#ffffff",100:"#f5f5f5",200:"#eaeaea",300:"#cacaca",400:"#cccccc",500:"#666666",600:"#333333",900:"#111111"},error:{50:"#fef2f2",500:"#d32f2f"},success:{50:"#f0fdf4",500:"#16a34a"},warning:{50:"#fffbeb",500:"#d97706"},info:{50:"#eff6ff",500:"#2563eb"}},$s={1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px"},xs={md:"6px"},ys={modal:1e3,toast:1100},hs={xs:"12px",sm:"14px",md:"16px",lg:"18px"},ws={colors:{...po,primary:{...po.primary,contrast:"#ffffff"}},spacing:$s,fontSizes:hs,radius:xs,zIndex:ys,shadows:{focusRing:"0 0 0 2px rgba(0, 112, 243, 0.25)"}};function vs(o){const r=parseInt(o.slice(1,3),16)/255,n=parseInt(o.slice(3,5),16)/255,e=parseInt(o.slice(5,7),16)/255,c=l=>l<=.03928?l/12.92:((l+.055)/1.055)**2.4;return .2126*c(r)+.7152*c(n)+.0722*c(e)>.179?"#111111":"#ffffff"}const U={colors:{primary:{50:"#fffde6",500:"#ffd000",700:"#ffd000",contrast:"#111111"},neutral:{0:"#ffffff",100:"#f5f0e8",200:"#e8e3db",300:"#ccc8c0",400:"#a8a49c",500:"#706c64",600:"#3c3830",900:"#111111"},error:{50:"#fff0f0",500:"#ff3333"},success:{50:"#f0fff4",500:"#00cc44"},warning:{50:"#fffbe6",500:"#ff9900"},info:{50:"#f0f0ff",500:"#3333ff"}},spacing:{1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px"},radius:{md:"2px"},zIndex:{modal:1e3,toast:1100},fontSizes:{xs:"12px",sm:"14px",md:"16px",lg:"18px"},shadows:{focusRing:"3px 3px 0 #111111"},brutalism:{borderWidth:"2px",shadowOffset:"4px"}};function ks(o){return{...U,colors:{...U.colors,primary:{50:"#fffff0",500:o,700:o,contrast:vs(o)}}}}function ms({theme:o=U,children:r}){return t.jsx(s.ThemeProvider,{theme:o,children:r})}exports.Badge=bo;exports.Button=go;exports.CollapsibleCard=So;exports.DataTable=Po;exports.Form=vo;exports.FormField=ko;exports.Input=$o;exports.Link=jo;exports.Modal=xo;exports.Select=mo;exports.Table=Bo;exports.ThemeProvider=ms;exports.Toast=so;exports.ToastProvider=Hr;exports.createNeoBrutalTheme=ks;exports.defaultTheme=ws;exports.neoBrutalTheme=U;exports.useForm=Yr;exports.useToast=qr;
901
+ `;function so(o,r,n){return typeof o.editable=="function"?o.editable(r,n):!!o.editable}function Ro({columns:o,defaultData:r,data:n,rowKey:e,onChange:d,size:i="md",borderColor:c,headerColor:u,addRowLabel:b="Add row",newRowFactory:p,deletable:$=!1,className:w,style:y}){const g=n!==void 0,[m,I]=l.useState(r??[]),z=g?n:m,[x,E]=l.useState(null),[W,B]=l.useState(""),h=l.useRef(null),v=l.useRef(null);l.useEffect(()=>{if(!x)return;o.find(S=>S.key===x.colKey)?.options?v.current?.focus():(h.current?.focus(),h.current?.select())},[x,o]);const k=l.useCallback(f=>{g||I(f),d?.(f)},[g,d]),P=l.useCallback(()=>p?p():Object.fromEntries(o.map(f=>[f.key,""])),[p,o]),R=l.useCallback(f=>{const S=[];return f.forEach((a,j)=>{o.forEach(C=>{so(C,a,j)&&S.push({rowIndex:j,colKey:C.key})})}),S},[o]),D=(f,S,a)=>{E({rowIndex:f,colKey:S}),B(String(a??""))},N=l.useCallback(()=>{if(!x)return;const{rowIndex:f,colKey:S}=x,a=z.map((j,C)=>C===f?{...j,[S]:W}:j);k(a),E(null)},[x,z,W,k]),O=()=>{E(null),B("")},M=f=>{if(!x)return;f.preventDefault();const{rowIndex:S,colKey:a}=x,j=z.map((T,q)=>q===S?{...T,[a]:W}:T);k(j);const C=R(j),F=C.findIndex(T=>T.rowIndex===S&&T.colKey===a),L=f.shiftKey?F-1:F+1;if(L>=0&&L<C.length){const T=C[L];E(T),B(String(j[T.rowIndex][T.colKey]??""));return}if(!f.shiftKey&&L>=C.length){const T=P(),q=[...j,T];k(q);const io=q.length-1,ao=o.find(Do=>so(Do,T,io));E(ao?{rowIndex:io,colKey:ao.key}:null),B("");return}E(null),B("")},_=f=>{if(f.key==="Enter"){if(o.find(a=>a.key===x?.colKey)?.options){v.current?.showPicker();return}N();return}if(f.key==="Escape"){O();return}f.key==="Tab"&&M(f)},X=()=>k([...z,P()]),Z=f=>{x?.rowIndex===f&&E(null),k(z.filter((S,a)=>a!==f))},V=(f,S)=>String(e?f[e]:S),J=$?o.length+1:o.length;return t.jsx(Io,{$borderColor:c,className:w,style:y,children:t.jsxs(us,{$size:i,children:[t.jsx(Po,{$headerColor:u,$borderColor:c,children:t.jsxs(K,{children:[o.map(f=>t.jsx(eo,{$size:i,scope:"col",style:f.width?{width:f.width}:void 0,children:f.header},f.key)),$&&t.jsx(gs,{$size:i,"aria-label":"Actions"})]})}),t.jsxs(Wo,{children:[z.map((f,S)=>t.jsxs(K,{children:[o.map(a=>{const j=x?.rowIndex===S&&x.colKey===a.key,C=f[a.key],F=so(a,f,S),L=a.options?(a.options.find(T=>T.value===String(C??""))?.label??String(C??""))||" ":a.render?a.render(C,f,S):String(C??"")||" ";return t.jsx(ps,{$size:i,$borderColor:c,$editable:F&&!j,onClick:F&&!j?()=>{a.options?(no.flushSync(()=>D(S,a.key,C)),v.current?.showPicker()):D(S,a.key,C)}:void 0,children:j&&a.options?t.jsx(bs,{ref:v,$size:i,value:W,onChange:T=>B(T.target.value),onBlur:N,onKeyDown:_,"aria-label":`Edit ${a.header}`,children:a.options.map(T=>t.jsx("option",{value:T.value,children:T.label},T.value))}):j?t.jsx(fs,{ref:h,$size:i,value:W,onChange:T=>B(T.target.value),onBlur:N,onKeyDown:_,"aria-label":`Edit ${a.header}`}):L},a.key)}),$&&t.jsx($s,{$size:i,$borderColor:c,children:t.jsx(xs,{type:"button",onClick:()=>Z(S),"aria-label":"Delete row",children:"✕"})})]},V(f,S))),t.jsx(ys,{children:t.jsx("td",{colSpan:J,children:t.jsxs(hs,{type:"button",onClick:X,children:["+ ",b]})})})]})]})})}Ro.displayName="DataTable";const bo={primary:{50:"#f0f8ff",500:"#0070f3",700:"#005bb5"},neutral:{0:"#ffffff",100:"#f5f5f5",200:"#eaeaea",300:"#cacaca",400:"#cccccc",500:"#666666",600:"#333333",900:"#111111"},error:{50:"#fef2f2",500:"#d32f2f"},success:{50:"#f0fdf4",500:"#16a34a"},warning:{50:"#fffbeb",500:"#d97706"},info:{50:"#eff6ff",500:"#2563eb"}},ws={1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px"},vs={md:"6px"},ks={modal:1e3,toast:1100},ms={xs:"12px",sm:"14px",md:"16px",lg:"18px"},js={colors:{...bo,primary:{...bo.primary,contrast:"#ffffff"}},spacing:ws,fontSizes:ms,radius:vs,zIndex:ks,shadows:{focusRing:"0 0 0 2px rgba(0, 112, 243, 0.25)"}};function Ss(o){const r=parseInt(o.slice(1,3),16)/255,n=parseInt(o.slice(3,5),16)/255,e=parseInt(o.slice(5,7),16)/255,d=c=>c<=.03928?c/12.92:((c+.055)/1.055)**2.4;return .2126*d(r)+.7152*d(n)+.0722*d(e)>.179?"#111111":"#ffffff"}const U={colors:{primary:{50:"#fffde6",500:"#ffd000",700:"#ffd000",contrast:"#111111"},neutral:{0:"#ffffff",100:"#f5f0e8",200:"#e8e3db",300:"#ccc8c0",400:"#a8a49c",500:"#706c64",600:"#3c3830",900:"#111111"},error:{50:"#fff0f0",500:"#ff3333"},success:{50:"#f0fff4",500:"#00cc44"},warning:{50:"#fffbe6",500:"#ff9900"},info:{50:"#f0f0ff",500:"#3333ff"}},spacing:{1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px"},radius:{md:"2px"},zIndex:{modal:1e3,toast:1100},fontSizes:{xs:"12px",sm:"14px",md:"16px",lg:"18px"},shadows:{focusRing:"3px 3px 0 #111111"},brutalism:{borderWidth:"2px",shadowOffset:"4px"}};function Cs(o){return{...U,colors:{...U.colors,primary:{50:"#fffff0",500:o,700:o,contrast:Ss(o)}}}}function zs({theme:o=U,children:r}){return t.jsx(s.ThemeProvider,{theme:o,children:r})}exports.Badge=go;exports.Button=$o;exports.CollapsibleCard=Co;exports.DataTable=Ro;exports.Form=ko;exports.FormField=mo;exports.Input=xo;exports.Link=So;exports.Modal=yo;exports.Select=jo;exports.Table=Bo;exports.ThemeProvider=zs;exports.Toast=to;exports.ToastProvider=Yr;exports.createNeoBrutalTheme=Cs;exports.defaultTheme=js;exports.neoBrutalTheme=U;exports.useForm=Gr;exports.useTable=ds;exports.useToast=Ur;