tekivex-ui 2.6.0 → 3.0.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.
Files changed (48) hide show
  1. package/README.md +22 -8
  2. package/dist/charts.cjs +1 -1
  3. package/dist/charts.js +14 -14
  4. package/dist/{chunk-B3ph66Zb.js → chunk-BHX35YDv.js} +1 -1
  5. package/dist/chunk-BpuJ3-K8.js +1 -0
  6. package/dist/{chunk-Bc16rJT-.js → chunk-C8Wy8P59.js} +1 -1
  7. package/dist/chunk-CDGrC2Wo.js +3 -0
  8. package/dist/{chunk-LWkKqC8d.js → chunk-D7-yknXg.js} +1 -1
  9. package/dist/{chunk-DnCXUUx5.js → chunk-DcVMayoM.js} +1 -1
  10. package/dist/chunk-DdHSYetV.js +1 -0
  11. package/dist/chunk-VUD-TF9j.js +1 -0
  12. package/dist/headless.cjs +1 -1
  13. package/dist/headless.js +1 -1
  14. package/dist/i18n.cjs +1 -1
  15. package/dist/i18n.js +1 -1
  16. package/dist/index.cjs +1 -1
  17. package/dist/index.d.ts +18 -2
  18. package/dist/index.js +499 -414
  19. package/dist/quantum.cjs +1 -1
  20. package/dist/quantum.js +1 -1
  21. package/dist/realtime.cjs +1 -1
  22. package/dist/realtime.js +1 -1
  23. package/dist/src/components/TkxAadhaarInput.d.ts +22 -0
  24. package/dist/src/components/TkxAddressInput.d.ts +32 -0
  25. package/dist/src/components/TkxCalendarLunar.d.ts +25 -0
  26. package/dist/src/components/TkxCaptcha.d.ts +23 -0
  27. package/dist/src/components/TkxCheckout.d.ts +26 -0
  28. package/dist/src/components/TkxConfetti.d.ts +21 -0
  29. package/dist/src/components/TkxCurrencyInput.d.ts +20 -0
  30. package/dist/src/components/TkxFontProvider.d.ts +12 -0
  31. package/dist/src/components/TkxImageEditor.d.ts +44 -0
  32. package/dist/src/components/TkxKycInputs.d.ts +59 -0
  33. package/dist/src/components/TkxOTP.d.ts +2 -1
  34. package/dist/src/components/TkxPaymentButton.d.ts +61 -0
  35. package/dist/src/components/TkxPhoneInput.d.ts +34 -0
  36. package/dist/src/components/TkxSEO.d.ts +58 -0
  37. package/dist/src/components/TkxSignaturePad.d.ts +21 -0
  38. package/dist/src/components/TkxSortable.d.ts +18 -0
  39. package/dist/src/components/TkxSubscription.d.ts +42 -0
  40. package/dist/src/components/TkxWatermark.d.ts +8 -1
  41. package/dist/src/i18n/index.d.ts +51 -0
  42. package/dist/src/themes/index.d.ts +6 -1
  43. package/dist/tekivex-ui.css +1 -1
  44. package/package.json +20 -4
  45. package/dist/chunk-Dike2DLU.js +0 -3
  46. package/dist/chunk-DjxOP8W4.js +0 -1
  47. package/dist/chunk-DkoFTL1O.js +0 -1
  48. package/dist/chunk-PJ50l0JC.js +0 -1
package/README.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  # ⚡ TekiVex UI
4
4
 
5
- **The React component library that refuses to compromise.**
5
+ **The first React UI library with a security kernel built in.**
6
6
 
7
- WCAG 2.1 AAA · WAI-ARIA 1.2 · Zero-Trust Security · 6 Locales + RTL · 70 Components · Zero Dependencies
7
+ WCAG 2.1 AAA · WAI-ARIA 1.2 · **SecurityCore** (XSS · clickjacking · Trojan Source · CSP · PII · magic-byte MIME) · 80+ Components · Zero Dependencies
8
+
9
+ 📄 **[Security Threat Model](./docs/SECURITY-THREAT-MODEL.md)** — the only mainstream React UI library that publishes one.
8
10
 
9
11
  [![npm version](https://img.shields.io/npm/v/tekivex-ui?color=00f5d4&label=tekivex-ui&logo=npm)](https://www.npmjs.com/package/tekivex-ui)
10
12
  [![npm downloads](https://img.shields.io/npm/dw/tekivex-ui?color=00f5d4)](https://www.npmjs.com/package/tekivex-ui)
@@ -12,7 +14,8 @@ WCAG 2.1 AAA · WAI-ARIA 1.2 · Zero-Trust Security · 6 Locales + RTL · 70 Com
12
14
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.6-3178c6.svg?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
13
15
  [![React](https://img.shields.io/badge/React-18+-61dafb.svg?logo=react&logoColor=white)](https://react.dev/)
14
16
  [![WCAG 2.1 AAA](https://img.shields.io/badge/WCAG-2.1%20AAA-00c853.svg)](https://www.w3.org/TR/WCAG21/)
15
- [![Tests](https://img.shields.io/badge/Tests-240%2B%20passing-00c853.svg)](#testing)
17
+ [![Tests](https://img.shields.io/badge/Tests-594%20passing-00c853.svg)](#testing)
18
+ [![SecurityCore](https://img.shields.io/badge/SecurityCore-v2.6-f72585.svg)](./docs/SECURITY-THREAT-MODEL.md)
16
19
 
17
20
  <br/>
18
21
 
@@ -31,14 +34,24 @@ npm install tekivex-ui
31
34
  | Feature | TekiVex UI | MUI | Ant Design | Mantine | shadcn/ui |
32
35
  |---|:---:|:---:|:---:|:---:|:---:|
33
36
  | WCAG **AAA** (not just AA) | ✅ | ❌ | ❌ | ❌ | ❌ |
34
- | Auto XSS sanitisation on every prop | ✅ | ❌ | ❌ | ❌ | ❌ |
35
- | Immutable security audit trail | ✅ | ❌ | ❌ | ❌ | ❌ |
37
+ | **XSS** — automatic sanitisation on every prop | ✅ | ❌ | ❌ | ❌ | ❌ |
38
+ | **Clickjacking** `isFramed()` + `frame-ancestors` CSP | ✅ | ❌ | ❌ | ❌ | ❌ |
39
+ | **Trojan Source** — bidi/zero-width stripped on inputs | ✅ | ❌ | ❌ | ❌ | ❌ |
40
+ | **Prototype pollution** — safe `JSON.parse` | ✅ | ❌ | ❌ | ❌ | ❌ |
41
+ | **File upload** — magic-byte MIME verification | ✅ | ❌ | ❌ | ❌ | ❌ |
42
+ | **CSP builder** — one-line strict policy | ✅ | ❌ | ❌ | ❌ | ❌ |
43
+ | **Trusted Types** — one-call policy install | ✅ | ❌ | ❌ | ❌ | ❌ |
44
+ | **PII redaction** — pre-LLM / pre-analytics | ✅ | ❌ | ❌ | ❌ | ❌ |
45
+ | **Rate limiter** — client-side DoS guard | ✅ | ❌ | ❌ | ❌ | ❌ |
46
+ | Immutable security audit trail + integrity check | ✅ | ❌ | ❌ | ❌ | ❌ |
47
+ | Published threat model | ✅ | ❌ | ❌ | ❌ | ❌ |
36
48
  | Full-featured DataGrid — **free** | ✅ | 💰 Pro | Partial | Partial | ❌ |
37
- | 70 production components — **free** | ✅ | ✅ | ✅ | ✅ | 30 |
49
+ | 80+ production components — **free** | ✅ | ✅ | ✅ | ✅ | 30 |
38
50
  | Hooks layer (a11y, theme, i18n) | ✅ | ❌ | ❌ | ✅ | ✅ |
39
- | i18n — 6 locales incl. RTL | ✅ | ✅ | ✅ | Partial | ❌ |
51
+ | i18n — 27 locales incl. RTL | ✅ | ✅ | ✅ | Partial | ❌ |
40
52
  | Plugin-extensible CSS engine | ✅ | ❌ | ❌ | ❌ | ❌ |
41
53
  | Zero extra dependencies | ✅ | ❌ | ❌ | ❌ | ✅ |
54
+ | **No `src/` in npm tarball** (IP protection) | ✅ | ❌ | ❌ | ❌ | ❌ |
42
55
 
43
56
  ---
44
57
 
@@ -150,6 +163,7 @@ import { useDisclosure, useFormState, useListSelection } from 'tekivex-ui/headle
150
163
  | `TkxRichTextDisplay` | Render structured rich-text blocks |
151
164
  | `TkxWatermark` | Canvas-based watermark overlay |
152
165
  | `TkxEmpty` | Empty state with custom illustration |
166
+ | `TkxOrgChart` | Reingold–Tilford org-chart with pan/zoom, collapsible subtrees, custom renderer ✨ v2.6 |
153
167
 
154
168
  </details>
155
169
 
@@ -515,7 +529,7 @@ npm run security:audit
515
529
  48 test files · 436 tests · 0 failures
516
530
  ```
517
531
 
518
- Coverage includes unit tests for all 70+ components, 7 chart types, 10 headless hooks, the TKX CSS engine, the WCAG engine, and the security (Shield) engine.
532
+ Coverage includes unit tests for all 80+ components, 7 chart types, 10 headless hooks, the TKX CSS engine, the WCAG engine, and the security (Shield) engine.
519
533
 
520
534
  ---
521
535
 
package/dist/charts.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./chunk-DmRB1Blb.js");const e=require("./chunk-DjxOP8W4.js"),t=require("./chunk-Bc16rJT-.js");let i=require("react"),r=require("react/jsx-runtime"),a=require("recharts");function o(e){return[e.primary,e.secondary,e.info,e.success,e.warning,e.danger,e.primary+"aa",e.secondary+"aa",e.info+"aa",e.success+"aa"]}var n={top:10,right:30,bottom:10,left:0};function l(e){return{contentStyle:{backgroundColor:e.surface,border:`1px solid ${e.border}`,borderRadius:8,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",color:e.text,fontSize:13},labelStyle:{color:e.textMuted,fontWeight:600,marginBottom:4},itemStyle:{color:e.text},cursor:{fill:`${e.primary}15`}}}exports.TkxAreaChart=function({data:t,series:i,xKey:c,height:s=300,margin:d=n,showGrid:h=!0,showLegend:y=!0,showTooltip:m=!0,smooth:k=!0,xTickFormatter:u,yTickFormatter:g,yDomain:p,ariaLabel:f="Area chart"}){const S=e.useTheme(),b=o(S),w=l(S),L={fill:S.textMuted,fontSize:12};return(0,r.jsx)("div",{role:"img","aria-label":f,style:{width:"100%",height:s},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.AreaChart,{data:t,margin:d,children:[h&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:S.border,vertical:!1}),(0,r.jsx)(a.XAxis,{dataKey:c,tick:L,axisLine:{stroke:S.border},tickLine:!1,tickFormatter:u}),(0,r.jsx)(a.YAxis,{tick:L,axisLine:!1,tickLine:!1,tickFormatter:g,domain:p}),m&&(0,r.jsx)(a.Tooltip,{contentStyle:w.contentStyle,labelStyle:w.labelStyle,itemStyle:w.itemStyle,cursor:w.cursor}),y&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:S.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??b[t%b.length];return(0,r.jsx)(a.Area,{type:k?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:2,fill:i,fillOpacity:e.fillOpacity??.2,stackId:e.stacked?"stack":void 0,dot:!1,activeDot:{r:5,strokeWidth:0}},e.key)})]})})})},exports.TkxBarChart=function({data:t,series:i,xKey:c,height:s=300,margin:d=n,showGrid:h=!0,showLegend:y=!0,showTooltip:m=!0,layout:k="horizontal",barSize:u,xTickFormatter:g,yTickFormatter:p,ariaLabel:f="Bar chart"}){const S=e.useTheme(),b=o(S),w=l(S),L={fill:S.textMuted,fontSize:12},x="vertical"===k;return(0,r.jsx)("div",{role:"img","aria-label":f,style:{width:"100%",height:s},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.BarChart,{data:t,margin:d,layout:k,children:[h&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:S.border,vertical:x,horizontal:!x}),x?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.YAxis,{dataKey:c,type:"category",tick:L,axisLine:!1,tickLine:!1,tickFormatter:g,width:100}),(0,r.jsx)(a.XAxis,{type:"number",tick:L,axisLine:{stroke:S.border},tickLine:!1,tickFormatter:p})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.XAxis,{dataKey:c,tick:L,axisLine:{stroke:S.border},tickLine:!1,tickFormatter:g}),(0,r.jsx)(a.YAxis,{tick:L,axisLine:!1,tickLine:!1,tickFormatter:p})]}),m&&(0,r.jsx)(a.Tooltip,{contentStyle:w.contentStyle,labelStyle:w.labelStyle,itemStyle:w.itemStyle,cursor:{fill:`${S.surfaceAlt}`}}),y&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:S.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??b[t%b.length];return(0,r.jsx)(a.Bar,{dataKey:e.key,name:e.label??e.key,fill:i,stackId:e.stackId,maxBarSize:u??40,radius:e.radius??[4,4,0,0]},e.key)})]})})})},exports.TkxDonutChart=function({data:n,height:c=300,showLegend:s=!0,showTooltip:d=!0,centerLabel:h,centerSublabel:y,innerRadius:m="55%",outerRadius:k="75%",startAngle:u=90,ariaLabel:g="Donut chart"}){const p=e.useTheme(),f=t.useReducedMotion(),S=o(p),b=l(p),[w,L]=(0,i.useState)(f);return(0,i.useEffect)(()=>{if(f)return void L(!0);const e=requestAnimationFrame(()=>L(!0));return()=>cancelAnimationFrame(e)},[f]),(0,r.jsxs)("div",{role:"img","aria-label":g,style:{width:"100%",minWidth:240,height:c,position:"relative"},children:[w&&(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",debounce:50,children:(0,r.jsxs)(a.PieChart,{children:[d&&(0,r.jsx)(a.Tooltip,{contentStyle:b.contentStyle,labelStyle:b.labelStyle,itemStyle:b.itemStyle}),s&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:p.textMuted}}),(0,r.jsx)(a.Pie,{data:n,dataKey:"value",nameKey:"name",innerRadius:m,outerRadius:k,startAngle:u,endAngle:u-360,strokeWidth:3,stroke:p.bg,label:!1,labelLine:!1,children:n.map((e,t)=>(0,r.jsx)(a.Cell,{fill:e.color??S[t%S.length]},e.name))}),(h||y)&&(0,r.jsx)("text",{})]})}),(h||y)&&(0,r.jsxs)("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",pointerEvents:"none",marginTop:s?-24:0},children:[h&&(0,r.jsx)("span",{style:{fontSize:22,fontWeight:700,color:p.text,lineHeight:1},children:h}),y&&(0,r.jsx)("span",{style:{fontSize:13,color:p.textMuted,marginTop:4},children:y})]})]})},exports.TkxLineChart=function({data:t,series:i,xKey:c,height:s=300,margin:d=n,showGrid:h=!0,showLegend:y=!0,showTooltip:m=!0,smooth:k=!0,referenceLines:u=[],xTickFormatter:g,yTickFormatter:p,yDomain:f,connectNulls:S=!1,ariaLabel:b="Line chart"}){const w=e.useTheme(),L=o(w),x=l(w),v={fill:w.textMuted,fontSize:12};return(0,r.jsx)("div",{role:"img","aria-label":b,style:{width:"100%",height:s},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.LineChart,{data:t,margin:d,children:[h&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:w.border,vertical:!1}),(0,r.jsx)(a.XAxis,{dataKey:c,tick:v,axisLine:{stroke:w.border},tickLine:!1,tickFormatter:g}),(0,r.jsx)(a.YAxis,{tick:v,axisLine:!1,tickLine:!1,tickFormatter:p,domain:f}),m&&(0,r.jsx)(a.Tooltip,{contentStyle:x.contentStyle,labelStyle:x.labelStyle,itemStyle:x.itemStyle,cursor:{stroke:w.border,strokeWidth:1}}),y&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:w.textMuted,paddingTop:8}}),u.map((e,t)=>(0,r.jsx)(a.ReferenceLine,{y:e.y,x:e.x,label:e.label?{value:e.label,fill:w.textMuted,fontSize:11}:void 0,stroke:e.color??w.border,strokeDasharray:e.dashed?"4 4":void 0},t)),i.map((e,t)=>{const i=e.color??L[t%L.length];return(0,r.jsx)(a.Line,{type:k?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:e.strokeWidth??2,strokeDasharray:e.dashed?"6 3":void 0,dot:e.dot??!1,activeDot:{r:5,strokeWidth:0,fill:i},connectNulls:S},e.key)})]})})})},exports.TkxPieChart=function({data:n,height:c=300,showLegend:s=!0,showTooltip:d=!0,showLabels:h=!1,outerRadius:y="70%",startAngle:m=90,ariaLabel:k="Pie chart"}){const u=e.useTheme(),g=t.useReducedMotion(),p=o(u),f=l(u),[S,b]=(0,i.useState)(g);return(0,i.useEffect)(()=>{if(g)return void b(!0);const e=requestAnimationFrame(()=>b(!0));return()=>cancelAnimationFrame(e)},[g]),(0,r.jsx)("div",{role:"img","aria-label":k,style:{width:"100%",minWidth:240,height:c,position:"relative"},children:S&&(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",debounce:50,children:(0,r.jsxs)(a.PieChart,{children:[d&&(0,r.jsx)(a.Tooltip,{contentStyle:f.contentStyle,labelStyle:f.labelStyle,itemStyle:f.itemStyle}),s&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:u.textMuted}}),(0,r.jsx)(a.Pie,{data:n,dataKey:"value",nameKey:"name",outerRadius:y,startAngle:m,endAngle:m-360,label:h?({name:e,percent:t})=>`${e} (${(100*(t??0)).toFixed(0)}%)`:void 0,labelLine:h,strokeWidth:2,stroke:u.bg,children:n.map((e,t)=>(0,r.jsx)(a.Cell,{fill:e.color??p[t%p.length]},e.name))})]})})})},exports.TkxRadarChart=function({data:t,series:i,angleKey:n,height:c=300,showLegend:s=!0,showTooltip:d=!0,outerRadius:h="70%",ariaLabel:y="Radar chart"}){const m=e.useTheme(),k=o(m),u=l(m);return(0,r.jsx)("div",{role:"img","aria-label":y,style:{width:"100%",height:c},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.RadarChart,{data:t,outerRadius:h,children:[(0,r.jsx)(a.PolarGrid,{stroke:m.border}),(0,r.jsx)(a.PolarAngleAxis,{dataKey:n,tick:{fill:m.textMuted,fontSize:12}}),(0,r.jsx)(a.PolarRadiusAxis,{tick:{fill:m.textMuted,fontSize:10},axisLine:!1,tickLine:!1}),d&&(0,r.jsx)(a.Tooltip,{contentStyle:u.contentStyle,labelStyle:u.labelStyle,itemStyle:u.itemStyle}),s&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:m.textMuted}}),i.map((e,t)=>{const i=e.color??k[t%k.length];return(0,r.jsx)(a.Radar,{name:e.label??e.key,dataKey:e.key,stroke:i,fill:i,fillOpacity:e.fillOpacity??.2,strokeWidth:2},e.key)})]})})})},exports.TkxScatterChart=function({series:t,height:i=300,margin:c=n,showGrid:s=!0,showLegend:d=!0,showTooltip:h=!0,xTickFormatter:y,yTickFormatter:m,zRange:k=[20,400],ariaLabel:u="Scatter chart"}){const g=e.useTheme(),p=o(g),f=l(g),S={fill:g.textMuted,fontSize:12};return(0,r.jsx)("div",{role:"img","aria-label":u,style:{width:"100%",height:i},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.ScatterChart,{margin:c,children:[s&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:g.border}),(0,r.jsx)(a.XAxis,{type:"number",dataKey:"x",tick:S,axisLine:{stroke:g.border},tickLine:!1,tickFormatter:y}),(0,r.jsx)(a.YAxis,{type:"number",dataKey:"y",tick:S,axisLine:!1,tickLine:!1,tickFormatter:m}),(0,r.jsx)(a.ZAxis,{type:"number",dataKey:"z",range:k}),h&&(0,r.jsx)(a.Tooltip,{contentStyle:f.contentStyle,labelStyle:f.labelStyle,itemStyle:f.itemStyle,cursor:{strokeDasharray:"3 3"}}),d&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:g.textMuted,paddingTop:8}}),t.map((e,t)=>(0,r.jsx)(a.Scatter,{name:e.name,data:e.data,fill:e.color??p[t%p.length],fillOpacity:.8},e.name??t))]})})})};
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("./chunk-DmRB1Blb.js");const e=require("./chunk-BpuJ3-K8.js"),t=require("./chunk-C8Wy8P59.js");let i=require("react"),r=require("react/jsx-runtime"),a=require("recharts");function o(e){return[e.primary,e.secondary,e.info,e.success,e.warning,e.danger,e.primary+"aa",e.secondary+"aa",e.info+"aa",e.success+"aa"]}var n={top:10,right:30,bottom:10,left:0};function l(e){return{contentStyle:{backgroundColor:e.surface,border:`1px solid ${e.border}`,borderRadius:8,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",color:e.text,fontSize:13},labelStyle:{color:e.textMuted,fontWeight:600,marginBottom:4},itemStyle:{color:e.text},cursor:{fill:`${e.primary}15`}}}exports.TkxAreaChart=function({data:t,series:i,xKey:c,height:s=300,margin:d=n,showGrid:h=!0,showLegend:y=!0,showTooltip:m=!0,smooth:k=!0,xTickFormatter:u,yTickFormatter:g,yDomain:p,ariaLabel:f="Area chart"}){const S=e.useTheme(),b=o(S),w=l(S),L={fill:S.textMuted,fontSize:12};return(0,r.jsx)("div",{role:"img","aria-label":f,style:{width:"100%",height:s},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.AreaChart,{data:t,margin:d,children:[h&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:S.border,vertical:!1}),(0,r.jsx)(a.XAxis,{dataKey:c,tick:L,axisLine:{stroke:S.border},tickLine:!1,tickFormatter:u}),(0,r.jsx)(a.YAxis,{tick:L,axisLine:!1,tickLine:!1,tickFormatter:g,domain:p}),m&&(0,r.jsx)(a.Tooltip,{contentStyle:w.contentStyle,labelStyle:w.labelStyle,itemStyle:w.itemStyle,cursor:w.cursor}),y&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:S.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??b[t%b.length];return(0,r.jsx)(a.Area,{type:k?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:2,fill:i,fillOpacity:e.fillOpacity??.2,stackId:e.stacked?"stack":void 0,dot:!1,activeDot:{r:5,strokeWidth:0}},e.key)})]})})})},exports.TkxBarChart=function({data:t,series:i,xKey:c,height:s=300,margin:d=n,showGrid:h=!0,showLegend:y=!0,showTooltip:m=!0,layout:k="horizontal",barSize:u,xTickFormatter:g,yTickFormatter:p,ariaLabel:f="Bar chart"}){const S=e.useTheme(),b=o(S),w=l(S),L={fill:S.textMuted,fontSize:12},x="vertical"===k;return(0,r.jsx)("div",{role:"img","aria-label":f,style:{width:"100%",height:s},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.BarChart,{data:t,margin:d,layout:k,children:[h&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:S.border,vertical:x,horizontal:!x}),x?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.YAxis,{dataKey:c,type:"category",tick:L,axisLine:!1,tickLine:!1,tickFormatter:g,width:100}),(0,r.jsx)(a.XAxis,{type:"number",tick:L,axisLine:{stroke:S.border},tickLine:!1,tickFormatter:p})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.XAxis,{dataKey:c,tick:L,axisLine:{stroke:S.border},tickLine:!1,tickFormatter:g}),(0,r.jsx)(a.YAxis,{tick:L,axisLine:!1,tickLine:!1,tickFormatter:p})]}),m&&(0,r.jsx)(a.Tooltip,{contentStyle:w.contentStyle,labelStyle:w.labelStyle,itemStyle:w.itemStyle,cursor:{fill:`${S.surfaceAlt}`}}),y&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:S.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??b[t%b.length];return(0,r.jsx)(a.Bar,{dataKey:e.key,name:e.label??e.key,fill:i,stackId:e.stackId,maxBarSize:u??40,radius:e.radius??[4,4,0,0]},e.key)})]})})})},exports.TkxDonutChart=function({data:n,height:c=300,showLegend:s=!0,showTooltip:d=!0,centerLabel:h,centerSublabel:y,innerRadius:m="55%",outerRadius:k="75%",startAngle:u=90,ariaLabel:g="Donut chart"}){const p=e.useTheme(),f=t.useReducedMotion(),S=o(p),b=l(p),[w,L]=(0,i.useState)(f);return(0,i.useEffect)(()=>{if(f)return void L(!0);const e=requestAnimationFrame(()=>L(!0));return()=>cancelAnimationFrame(e)},[f]),(0,r.jsxs)("div",{role:"img","aria-label":g,style:{width:"100%",minWidth:240,height:c,position:"relative"},children:[w&&(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",debounce:50,children:(0,r.jsxs)(a.PieChart,{children:[d&&(0,r.jsx)(a.Tooltip,{contentStyle:b.contentStyle,labelStyle:b.labelStyle,itemStyle:b.itemStyle}),s&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:p.textMuted}}),(0,r.jsx)(a.Pie,{data:n,dataKey:"value",nameKey:"name",innerRadius:m,outerRadius:k,startAngle:u,endAngle:u-360,strokeWidth:3,stroke:p.bg,label:!1,labelLine:!1,children:n.map((e,t)=>(0,r.jsx)(a.Cell,{fill:e.color??S[t%S.length]},e.name))}),(h||y)&&(0,r.jsx)("text",{})]})}),(h||y)&&(0,r.jsxs)("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",pointerEvents:"none",marginTop:s?-24:0},children:[h&&(0,r.jsx)("span",{style:{fontSize:22,fontWeight:700,color:p.text,lineHeight:1},children:h}),y&&(0,r.jsx)("span",{style:{fontSize:13,color:p.textMuted,marginTop:4},children:y})]})]})},exports.TkxLineChart=function({data:t,series:i,xKey:c,height:s=300,margin:d=n,showGrid:h=!0,showLegend:y=!0,showTooltip:m=!0,smooth:k=!0,referenceLines:u=[],xTickFormatter:g,yTickFormatter:p,yDomain:f,connectNulls:S=!1,ariaLabel:b="Line chart"}){const w=e.useTheme(),L=o(w),x=l(w),v={fill:w.textMuted,fontSize:12};return(0,r.jsx)("div",{role:"img","aria-label":b,style:{width:"100%",height:s},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.LineChart,{data:t,margin:d,children:[h&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:w.border,vertical:!1}),(0,r.jsx)(a.XAxis,{dataKey:c,tick:v,axisLine:{stroke:w.border},tickLine:!1,tickFormatter:g}),(0,r.jsx)(a.YAxis,{tick:v,axisLine:!1,tickLine:!1,tickFormatter:p,domain:f}),m&&(0,r.jsx)(a.Tooltip,{contentStyle:x.contentStyle,labelStyle:x.labelStyle,itemStyle:x.itemStyle,cursor:{stroke:w.border,strokeWidth:1}}),y&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:w.textMuted,paddingTop:8}}),u.map((e,t)=>(0,r.jsx)(a.ReferenceLine,{y:e.y,x:e.x,label:e.label?{value:e.label,fill:w.textMuted,fontSize:11}:void 0,stroke:e.color??w.border,strokeDasharray:e.dashed?"4 4":void 0},t)),i.map((e,t)=>{const i=e.color??L[t%L.length];return(0,r.jsx)(a.Line,{type:k?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:e.strokeWidth??2,strokeDasharray:e.dashed?"6 3":void 0,dot:e.dot??!1,activeDot:{r:5,strokeWidth:0,fill:i},connectNulls:S},e.key)})]})})})},exports.TkxPieChart=function({data:n,height:c=300,showLegend:s=!0,showTooltip:d=!0,showLabels:h=!1,outerRadius:y="70%",startAngle:m=90,ariaLabel:k="Pie chart"}){const u=e.useTheme(),g=t.useReducedMotion(),p=o(u),f=l(u),[S,b]=(0,i.useState)(g);return(0,i.useEffect)(()=>{if(g)return void b(!0);const e=requestAnimationFrame(()=>b(!0));return()=>cancelAnimationFrame(e)},[g]),(0,r.jsx)("div",{role:"img","aria-label":k,style:{width:"100%",minWidth:240,height:c,position:"relative"},children:S&&(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",debounce:50,children:(0,r.jsxs)(a.PieChart,{children:[d&&(0,r.jsx)(a.Tooltip,{contentStyle:f.contentStyle,labelStyle:f.labelStyle,itemStyle:f.itemStyle}),s&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:u.textMuted}}),(0,r.jsx)(a.Pie,{data:n,dataKey:"value",nameKey:"name",outerRadius:y,startAngle:m,endAngle:m-360,label:h?({name:e,percent:t})=>`${e} (${(100*(t??0)).toFixed(0)}%)`:void 0,labelLine:h,strokeWidth:2,stroke:u.bg,children:n.map((e,t)=>(0,r.jsx)(a.Cell,{fill:e.color??p[t%p.length]},e.name))})]})})})},exports.TkxRadarChart=function({data:t,series:i,angleKey:n,height:c=300,showLegend:s=!0,showTooltip:d=!0,outerRadius:h="70%",ariaLabel:y="Radar chart"}){const m=e.useTheme(),k=o(m),u=l(m);return(0,r.jsx)("div",{role:"img","aria-label":y,style:{width:"100%",height:c},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.RadarChart,{data:t,outerRadius:h,children:[(0,r.jsx)(a.PolarGrid,{stroke:m.border}),(0,r.jsx)(a.PolarAngleAxis,{dataKey:n,tick:{fill:m.textMuted,fontSize:12}}),(0,r.jsx)(a.PolarRadiusAxis,{tick:{fill:m.textMuted,fontSize:10},axisLine:!1,tickLine:!1}),d&&(0,r.jsx)(a.Tooltip,{contentStyle:u.contentStyle,labelStyle:u.labelStyle,itemStyle:u.itemStyle}),s&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:m.textMuted}}),i.map((e,t)=>{const i=e.color??k[t%k.length];return(0,r.jsx)(a.Radar,{name:e.label??e.key,dataKey:e.key,stroke:i,fill:i,fillOpacity:e.fillOpacity??.2,strokeWidth:2},e.key)})]})})})},exports.TkxScatterChart=function({series:t,height:i=300,margin:c=n,showGrid:s=!0,showLegend:d=!0,showTooltip:h=!0,xTickFormatter:y,yTickFormatter:m,zRange:k=[20,400],ariaLabel:u="Scatter chart"}){const g=e.useTheme(),p=o(g),f=l(g),S={fill:g.textMuted,fontSize:12};return(0,r.jsx)("div",{role:"img","aria-label":u,style:{width:"100%",height:i},children:(0,r.jsx)(a.ResponsiveContainer,{width:"100%",height:"100%",children:(0,r.jsxs)(a.ScatterChart,{margin:c,children:[s&&(0,r.jsx)(a.CartesianGrid,{strokeDasharray:"3 3",stroke:g.border}),(0,r.jsx)(a.XAxis,{type:"number",dataKey:"x",tick:S,axisLine:{stroke:g.border},tickLine:!1,tickFormatter:y}),(0,r.jsx)(a.YAxis,{type:"number",dataKey:"y",tick:S,axisLine:!1,tickLine:!1,tickFormatter:m}),(0,r.jsx)(a.ZAxis,{type:"number",dataKey:"z",range:k}),h&&(0,r.jsx)(a.Tooltip,{contentStyle:f.contentStyle,labelStyle:f.labelStyle,itemStyle:f.itemStyle,cursor:{strokeDasharray:"3 3"}}),d&&(0,r.jsx)(a.Legend,{wrapperStyle:{fontSize:13,color:g.textMuted,paddingTop:8}}),t.map((e,t)=>(0,r.jsx)(a.Scatter,{name:e.name,data:e.data,fill:e.color??p[t%p.length],fillOpacity:.8},e.name??t))]})})})};
package/dist/charts.js CHANGED
@@ -1,22 +1,22 @@
1
- import{f as e}from"./chunk-PJ50l0JC.js";import{o as t}from"./chunk-B3ph66Zb.js";import{useEffect as i,useState as r}from"react";import{Fragment as a,jsx as o,jsxs as n}from"react/jsx-runtime";import{Area as l,AreaChart as c,Bar as s,BarChart as d,CartesianGrid as h,Cell as m,Legend as y,Line as k,LineChart as u,Pie as g,PieChart as f,PolarAngleAxis as p,PolarGrid as S,PolarRadiusAxis as b,Radar as w,RadarChart as L,ReferenceLine as x,ResponsiveContainer as v,Scatter as z,ScatterChart as F,Tooltip as T,XAxis as K,YAxis as D,ZAxis as W}from"recharts";function A(e){return[e.primary,e.secondary,e.info,e.success,e.warning,e.danger,e.primary+"aa",e.secondary+"aa",e.info+"aa",e.success+"aa"]}var R={top:10,right:30,bottom:10,left:0};function $(e){return{contentStyle:{backgroundColor:e.surface,border:`1px solid ${e.border}`,borderRadius:8,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",color:e.text,fontSize:13},labelStyle:{color:e.textMuted,fontWeight:600,marginBottom:4},itemStyle:{color:e.text},cursor:{fill:`${e.primary}15`}}}function j({data:t,series:i,xKey:r,height:a=300,margin:s=R,showGrid:d=!0,showLegend:m=!0,showTooltip:k=!0,smooth:u=!0,xTickFormatter:g,yTickFormatter:f,yDomain:p,ariaLabel:S="Area chart"}){const b=e(),w=A(b),L=$(b),x={fill:b.textMuted,fontSize:12};/* @__PURE__ */
1
+ import{p as e}from"./chunk-DdHSYetV.js";import{o as t}from"./chunk-BHX35YDv.js";import{useEffect as i,useState as r}from"react";import{Fragment as a,jsx as o,jsxs as n}from"react/jsx-runtime";import{Area as l,AreaChart as c,Bar as s,BarChart as d,CartesianGrid as h,Cell as m,Legend as y,Line as k,LineChart as u,Pie as g,PieChart as p,PolarAngleAxis as f,PolarGrid as S,PolarRadiusAxis as b,Radar as w,RadarChart as L,ReferenceLine as x,ResponsiveContainer as v,Scatter as z,ScatterChart as F,Tooltip as T,XAxis as K,YAxis as D,ZAxis as W}from"recharts";function A(e){return[e.primary,e.secondary,e.info,e.success,e.warning,e.danger,e.primary+"aa",e.secondary+"aa",e.info+"aa",e.success+"aa"]}var R={top:10,right:30,bottom:10,left:0};function $(e){return{contentStyle:{backgroundColor:e.surface,border:`1px solid ${e.border}`,borderRadius:8,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",color:e.text,fontSize:13},labelStyle:{color:e.textMuted,fontWeight:600,marginBottom:4},itemStyle:{color:e.text},cursor:{fill:`${e.primary}15`}}}function j({data:t,series:i,xKey:r,height:a=300,margin:s=R,showGrid:d=!0,showLegend:m=!0,showTooltip:k=!0,smooth:u=!0,xTickFormatter:g,yTickFormatter:p,yDomain:f,ariaLabel:S="Area chart"}){const b=e(),w=A(b),L=$(b),x={fill:b.textMuted,fontSize:12};/* @__PURE__ */
2
2
  return o("div",{role:"img","aria-label":S,style:{width:"100%",height:a},children:/* @__PURE__ */o(v,{width:"100%",height:"100%",children:/* @__PURE__ */n(c,{data:t,margin:s,children:[d&&/* @__PURE__ */o(h,{strokeDasharray:"3 3",stroke:b.border,vertical:!1}),
3
3
  /* @__PURE__ */o(K,{dataKey:r,tick:x,axisLine:{stroke:b.border},tickLine:!1,tickFormatter:g}),
4
- /* @__PURE__ */o(D,{tick:x,axisLine:!1,tickLine:!1,tickFormatter:f,domain:p}),k&&/* @__PURE__ */o(T,{contentStyle:L.contentStyle,labelStyle:L.labelStyle,itemStyle:L.itemStyle,cursor:L.cursor}),m&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:b.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??w[t%w.length];/* @__PURE__ */
5
- return o(l,{type:u?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:2,fill:i,fillOpacity:e.fillOpacity??.2,stackId:e.stacked?"stack":void 0,dot:!1,activeDot:{r:5,strokeWidth:0}},e.key)})]})})})}function G({data:t,series:i,xKey:r,height:l=300,margin:c=R,showGrid:m=!0,showLegend:k=!0,showTooltip:u=!0,layout:g="horizontal",barSize:f,xTickFormatter:p,yTickFormatter:S,ariaLabel:b="Bar chart"}){const w=e(),L=A(w),x=$(w),z={fill:w.textMuted,fontSize:12},F="vertical"===g;/* @__PURE__ */
6
- return o("div",{role:"img","aria-label":b,style:{width:"100%",height:l},children:/* @__PURE__ */o(v,{width:"100%",height:"100%",children:/* @__PURE__ */n(d,{data:t,margin:c,layout:g,children:[m&&/* @__PURE__ */o(h,{strokeDasharray:"3 3",stroke:w.border,vertical:F,horizontal:!F}),/* @__PURE__ */n(a,F?{children:[/* @__PURE__ */o(D,{dataKey:r,type:"category",tick:z,axisLine:!1,tickLine:!1,tickFormatter:p,width:100}),/* @__PURE__ */o(K,{type:"number",tick:z,axisLine:{stroke:w.border},tickLine:!1,tickFormatter:S})]}:{children:[/* @__PURE__ */o(K,{dataKey:r,tick:z,axisLine:{stroke:w.border},tickLine:!1,tickFormatter:p}),/* @__PURE__ */o(D,{tick:z,axisLine:!1,tickLine:!1,tickFormatter:S})]}),u&&/* @__PURE__ */o(T,{contentStyle:x.contentStyle,labelStyle:x.labelStyle,itemStyle:x.itemStyle,cursor:{fill:`${w.surfaceAlt}`}}),k&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:w.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??L[t%L.length];/* @__PURE__ */
7
- return o(s,{dataKey:e.key,name:e.label??e.key,fill:i,stackId:e.stackId,maxBarSize:f??40,radius:e.radius??[4,4,0,0]},e.key)})]})})})}function B({data:t,series:i,xKey:r,height:a=300,margin:l=R,showGrid:c=!0,showLegend:s=!0,showTooltip:d=!0,smooth:m=!0,referenceLines:g=[],xTickFormatter:f,yTickFormatter:p,yDomain:S,connectNulls:b=!1,ariaLabel:w="Line chart"}){const L=e(),z=A(L),F=$(L),W={fill:L.textMuted,fontSize:12};/* @__PURE__ */
4
+ /* @__PURE__ */o(D,{tick:x,axisLine:!1,tickLine:!1,tickFormatter:p,domain:f}),k&&/* @__PURE__ */o(T,{contentStyle:L.contentStyle,labelStyle:L.labelStyle,itemStyle:L.itemStyle,cursor:L.cursor}),m&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:b.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??w[t%w.length];/* @__PURE__ */
5
+ return o(l,{type:u?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:2,fill:i,fillOpacity:e.fillOpacity??.2,stackId:e.stacked?"stack":void 0,dot:!1,activeDot:{r:5,strokeWidth:0}},e.key)})]})})})}function G({data:t,series:i,xKey:r,height:l=300,margin:c=R,showGrid:m=!0,showLegend:k=!0,showTooltip:u=!0,layout:g="horizontal",barSize:p,xTickFormatter:f,yTickFormatter:S,ariaLabel:b="Bar chart"}){const w=e(),L=A(w),x=$(w),z={fill:w.textMuted,fontSize:12},F="vertical"===g;/* @__PURE__ */
6
+ return o("div",{role:"img","aria-label":b,style:{width:"100%",height:l},children:/* @__PURE__ */o(v,{width:"100%",height:"100%",children:/* @__PURE__ */n(d,{data:t,margin:c,layout:g,children:[m&&/* @__PURE__ */o(h,{strokeDasharray:"3 3",stroke:w.border,vertical:F,horizontal:!F}),/* @__PURE__ */n(a,F?{children:[/* @__PURE__ */o(D,{dataKey:r,type:"category",tick:z,axisLine:!1,tickLine:!1,tickFormatter:f,width:100}),/* @__PURE__ */o(K,{type:"number",tick:z,axisLine:{stroke:w.border},tickLine:!1,tickFormatter:S})]}:{children:[/* @__PURE__ */o(K,{dataKey:r,tick:z,axisLine:{stroke:w.border},tickLine:!1,tickFormatter:f}),/* @__PURE__ */o(D,{tick:z,axisLine:!1,tickLine:!1,tickFormatter:S})]}),u&&/* @__PURE__ */o(T,{contentStyle:x.contentStyle,labelStyle:x.labelStyle,itemStyle:x.itemStyle,cursor:{fill:`${w.surfaceAlt}`}}),k&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:w.textMuted,paddingTop:8}}),i.map((e,t)=>{const i=e.color??L[t%L.length];/* @__PURE__ */
7
+ return o(s,{dataKey:e.key,name:e.label??e.key,fill:i,stackId:e.stackId,maxBarSize:p??40,radius:e.radius??[4,4,0,0]},e.key)})]})})})}function B({data:t,series:i,xKey:r,height:a=300,margin:l=R,showGrid:c=!0,showLegend:s=!0,showTooltip:d=!0,smooth:m=!0,referenceLines:g=[],xTickFormatter:p,yTickFormatter:f,yDomain:S,connectNulls:b=!1,ariaLabel:w="Line chart"}){const L=e(),z=A(L),F=$(L),W={fill:L.textMuted,fontSize:12};/* @__PURE__ */
8
8
  return o("div",{role:"img","aria-label":w,style:{width:"100%",height:a},children:/* @__PURE__ */o(v,{width:"100%",height:"100%",children:/* @__PURE__ */n(u,{data:t,margin:l,children:[c&&/* @__PURE__ */o(h,{strokeDasharray:"3 3",stroke:L.border,vertical:!1}),
9
- /* @__PURE__ */o(K,{dataKey:r,tick:W,axisLine:{stroke:L.border},tickLine:!1,tickFormatter:f}),
10
- /* @__PURE__ */o(D,{tick:W,axisLine:!1,tickLine:!1,tickFormatter:p,domain:S}),d&&/* @__PURE__ */o(T,{contentStyle:F.contentStyle,labelStyle:F.labelStyle,itemStyle:F.itemStyle,cursor:{stroke:L.border,strokeWidth:1}}),s&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:L.textMuted,paddingTop:8}}),g.map((e,t)=>/* @__PURE__ */o(x,{y:e.y,x:e.x,label:e.label?{value:e.label,fill:L.textMuted,fontSize:11}:void 0,stroke:e.color??L.border,strokeDasharray:e.dashed?"4 4":void 0},t)),i.map((e,t)=>{const i=e.color??z[t%z.length];/* @__PURE__ */
11
- return o(k,{type:m?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:e.strokeWidth??2,strokeDasharray:e.dashed?"6 3":void 0,dot:e.dot??!1,activeDot:{r:5,strokeWidth:0,fill:i},connectNulls:b},e.key)})]})})})}function I({data:a,height:l=300,showLegend:c=!0,showTooltip:s=!0,showLabels:d=!1,outerRadius:h="70%",startAngle:k=90,ariaLabel:u="Pie chart"}){const p=e(),S=t(),b=A(p),w=$(p),[L,x]=r(S);return i(()=>{if(S)return void x(!0);const e=requestAnimationFrame(()=>x(!0));return()=>cancelAnimationFrame(e)},[S]),/* @__PURE__ */o("div",{role:"img","aria-label":u,style:{width:"100%",minWidth:240,height:l,position:"relative"},children:L&&/* @__PURE__ */o(v,{width:"100%",height:"100%",debounce:50,children:/* @__PURE__ */n(f,{children:[s&&/* @__PURE__ */o(T,{contentStyle:w.contentStyle,labelStyle:w.labelStyle,itemStyle:w.itemStyle}),c&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:p.textMuted}}),
12
- /* @__PURE__ */o(g,{data:a,dataKey:"value",nameKey:"name",outerRadius:h,startAngle:k,endAngle:k-360,label:d?({name:e,percent:t})=>`${e} (${(100*(t??0)).toFixed(0)}%)`:void 0,labelLine:d,strokeWidth:2,stroke:p.bg,children:a.map((e,t)=>/* @__PURE__ */o(m,{fill:e.color??b[t%b.length]},e.name))})]})})})}function O({data:a,height:l=300,showLegend:c=!0,showTooltip:s=!0,centerLabel:d,centerSublabel:h,innerRadius:k="55%",outerRadius:u="75%",startAngle:p=90,ariaLabel:S="Donut chart"}){const b=e(),w=t(),L=A(b),x=$(b),[z,F]=r(w);return i(()=>{if(w)return void F(!0);const e=requestAnimationFrame(()=>F(!0));return()=>cancelAnimationFrame(e)},[w]),/* @__PURE__ */n("div",{role:"img","aria-label":S,style:{width:"100%",minWidth:240,height:l,position:"relative"},children:[z&&/* @__PURE__ */o(v,{width:"100%",height:"100%",debounce:50,children:/* @__PURE__ */n(f,{children:[s&&/* @__PURE__ */o(T,{contentStyle:x.contentStyle,labelStyle:x.labelStyle,itemStyle:x.itemStyle}),c&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:b.textMuted}}),
13
- /* @__PURE__ */o(g,{data:a,dataKey:"value",nameKey:"name",innerRadius:k,outerRadius:u,startAngle:p,endAngle:p-360,strokeWidth:3,stroke:b.bg,label:!1,labelLine:!1,children:a.map((e,t)=>/* @__PURE__ */o(m,{fill:e.color??L[t%L.length]},e.name))}),(d||h)&&/* @__PURE__ */o("text",{})]})}),(d||h)&&/* @__PURE__ */n("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",pointerEvents:"none",marginTop:c?-24:0},children:[d&&/* @__PURE__ */o("span",{style:{fontSize:22,fontWeight:700,color:b.text,lineHeight:1},children:d}),h&&/* @__PURE__ */o("span",{style:{fontSize:13,color:b.textMuted,marginTop:4},children:h})]})]})}function q({series:t,height:i=300,margin:r=R,showGrid:a=!0,showLegend:l=!0,showTooltip:c=!0,xTickFormatter:s,yTickFormatter:d,zRange:m=[20,400],ariaLabel:k="Scatter chart"}){const u=e(),g=A(u),f=$(u),p={fill:u.textMuted,fontSize:12};/* @__PURE__ */
9
+ /* @__PURE__ */o(K,{dataKey:r,tick:W,axisLine:{stroke:L.border},tickLine:!1,tickFormatter:p}),
10
+ /* @__PURE__ */o(D,{tick:W,axisLine:!1,tickLine:!1,tickFormatter:f,domain:S}),d&&/* @__PURE__ */o(T,{contentStyle:F.contentStyle,labelStyle:F.labelStyle,itemStyle:F.itemStyle,cursor:{stroke:L.border,strokeWidth:1}}),s&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:L.textMuted,paddingTop:8}}),g.map((e,t)=>/* @__PURE__ */o(x,{y:e.y,x:e.x,label:e.label?{value:e.label,fill:L.textMuted,fontSize:11}:void 0,stroke:e.color??L.border,strokeDasharray:e.dashed?"4 4":void 0},t)),i.map((e,t)=>{const i=e.color??z[t%z.length];/* @__PURE__ */
11
+ return o(k,{type:m?"monotone":"linear",dataKey:e.key,name:e.label??e.key,stroke:i,strokeWidth:e.strokeWidth??2,strokeDasharray:e.dashed?"6 3":void 0,dot:e.dot??!1,activeDot:{r:5,strokeWidth:0,fill:i},connectNulls:b},e.key)})]})})})}function I({data:a,height:l=300,showLegend:c=!0,showTooltip:s=!0,showLabels:d=!1,outerRadius:h="70%",startAngle:k=90,ariaLabel:u="Pie chart"}){const f=e(),S=t(),b=A(f),w=$(f),[L,x]=r(S);return i(()=>{if(S)return void x(!0);const e=requestAnimationFrame(()=>x(!0));return()=>cancelAnimationFrame(e)},[S]),/* @__PURE__ */o("div",{role:"img","aria-label":u,style:{width:"100%",minWidth:240,height:l,position:"relative"},children:L&&/* @__PURE__ */o(v,{width:"100%",height:"100%",debounce:50,children:/* @__PURE__ */n(p,{children:[s&&/* @__PURE__ */o(T,{contentStyle:w.contentStyle,labelStyle:w.labelStyle,itemStyle:w.itemStyle}),c&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:f.textMuted}}),
12
+ /* @__PURE__ */o(g,{data:a,dataKey:"value",nameKey:"name",outerRadius:h,startAngle:k,endAngle:k-360,label:d?({name:e,percent:t})=>`${e} (${(100*(t??0)).toFixed(0)}%)`:void 0,labelLine:d,strokeWidth:2,stroke:f.bg,children:a.map((e,t)=>/* @__PURE__ */o(m,{fill:e.color??b[t%b.length]},e.name))})]})})})}function O({data:a,height:l=300,showLegend:c=!0,showTooltip:s=!0,centerLabel:d,centerSublabel:h,innerRadius:k="55%",outerRadius:u="75%",startAngle:f=90,ariaLabel:S="Donut chart"}){const b=e(),w=t(),L=A(b),x=$(b),[z,F]=r(w);return i(()=>{if(w)return void F(!0);const e=requestAnimationFrame(()=>F(!0));return()=>cancelAnimationFrame(e)},[w]),/* @__PURE__ */n("div",{role:"img","aria-label":S,style:{width:"100%",minWidth:240,height:l,position:"relative"},children:[z&&/* @__PURE__ */o(v,{width:"100%",height:"100%",debounce:50,children:/* @__PURE__ */n(p,{children:[s&&/* @__PURE__ */o(T,{contentStyle:x.contentStyle,labelStyle:x.labelStyle,itemStyle:x.itemStyle}),c&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:b.textMuted}}),
13
+ /* @__PURE__ */o(g,{data:a,dataKey:"value",nameKey:"name",innerRadius:k,outerRadius:u,startAngle:f,endAngle:f-360,strokeWidth:3,stroke:b.bg,label:!1,labelLine:!1,children:a.map((e,t)=>/* @__PURE__ */o(m,{fill:e.color??L[t%L.length]},e.name))}),(d||h)&&/* @__PURE__ */o("text",{})]})}),(d||h)&&/* @__PURE__ */n("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",pointerEvents:"none",marginTop:c?-24:0},children:[d&&/* @__PURE__ */o("span",{style:{fontSize:22,fontWeight:700,color:b.text,lineHeight:1},children:d}),h&&/* @__PURE__ */o("span",{style:{fontSize:13,color:b.textMuted,marginTop:4},children:h})]})]})}function q({series:t,height:i=300,margin:r=R,showGrid:a=!0,showLegend:l=!0,showTooltip:c=!0,xTickFormatter:s,yTickFormatter:d,zRange:m=[20,400],ariaLabel:k="Scatter chart"}){const u=e(),g=A(u),p=$(u),f={fill:u.textMuted,fontSize:12};/* @__PURE__ */
14
14
  return o("div",{role:"img","aria-label":k,style:{width:"100%",height:i},children:/* @__PURE__ */o(v,{width:"100%",height:"100%",children:/* @__PURE__ */n(F,{margin:r,children:[a&&/* @__PURE__ */o(h,{strokeDasharray:"3 3",stroke:u.border}),
15
- /* @__PURE__ */o(K,{type:"number",dataKey:"x",tick:p,axisLine:{stroke:u.border},tickLine:!1,tickFormatter:s}),
16
- /* @__PURE__ */o(D,{type:"number",dataKey:"y",tick:p,axisLine:!1,tickLine:!1,tickFormatter:d}),
17
- /* @__PURE__ */o(W,{type:"number",dataKey:"z",range:m}),c&&/* @__PURE__ */o(T,{contentStyle:f.contentStyle,labelStyle:f.labelStyle,itemStyle:f.itemStyle,cursor:{strokeDasharray:"3 3"}}),l&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:u.textMuted,paddingTop:8}}),t.map((e,t)=>/* @__PURE__ */o(z,{name:e.name,data:e.data,fill:e.color??g[t%g.length],fillOpacity:.8},e.name??t))]})})})}function C({data:t,series:i,angleKey:r,height:a=300,showLegend:l=!0,showTooltip:c=!0,outerRadius:s="70%",ariaLabel:d="Radar chart"}){const h=e(),m=A(h),k=$(h);/* @__PURE__ */
15
+ /* @__PURE__ */o(K,{type:"number",dataKey:"x",tick:f,axisLine:{stroke:u.border},tickLine:!1,tickFormatter:s}),
16
+ /* @__PURE__ */o(D,{type:"number",dataKey:"y",tick:f,axisLine:!1,tickLine:!1,tickFormatter:d}),
17
+ /* @__PURE__ */o(W,{type:"number",dataKey:"z",range:m}),c&&/* @__PURE__ */o(T,{contentStyle:p.contentStyle,labelStyle:p.labelStyle,itemStyle:p.itemStyle,cursor:{strokeDasharray:"3 3"}}),l&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:u.textMuted,paddingTop:8}}),t.map((e,t)=>/* @__PURE__ */o(z,{name:e.name,data:e.data,fill:e.color??g[t%g.length],fillOpacity:.8},e.name??t))]})})})}function C({data:t,series:i,angleKey:r,height:a=300,showLegend:l=!0,showTooltip:c=!0,outerRadius:s="70%",ariaLabel:d="Radar chart"}){const h=e(),m=A(h),k=$(h);/* @__PURE__ */
18
18
  return o("div",{role:"img","aria-label":d,style:{width:"100%",height:a},children:/* @__PURE__ */o(v,{width:"100%",height:"100%",children:/* @__PURE__ */n(L,{data:t,outerRadius:s,children:[
19
19
  /* @__PURE__ */o(S,{stroke:h.border}),
20
- /* @__PURE__ */o(p,{dataKey:r,tick:{fill:h.textMuted,fontSize:12}}),
20
+ /* @__PURE__ */o(f,{dataKey:r,tick:{fill:h.textMuted,fontSize:12}}),
21
21
  /* @__PURE__ */o(b,{tick:{fill:h.textMuted,fontSize:10},axisLine:!1,tickLine:!1}),c&&/* @__PURE__ */o(T,{contentStyle:k.contentStyle,labelStyle:k.labelStyle,itemStyle:k.itemStyle}),l&&/* @__PURE__ */o(y,{wrapperStyle:{fontSize:13,color:h.textMuted}}),i.map((e,t)=>{const i=e.color??m[t%m.length];/* @__PURE__ */
22
22
  return o(w,{name:e.label??e.key,dataKey:e.key,stroke:i,fill:i,fillOpacity:e.fillOpacity??.2,strokeWidth:2},e.key)})]})})})}export{j as TkxAreaChart,G as TkxBarChart,O as TkxDonutChart,B as TkxLineChart,I as TkxPieChart,C as TkxRadarChart,q as TkxScatterChart};
@@ -1 +1 @@
1
- import{C as n,S as e,_ as o,g as t}from"./chunk-PJ50l0JC.js";import{useCallback as r,useEffect as u,useRef as c,useState as d}from"react";function i(){const[e,o]=d(()=>"undefined"!=typeof window&&n());return u(()=>{if("undefined"==typeof window)return;const n=window.matchMedia("(prefers-reduced-motion: reduce)"),e=n=>o(n.matches);return n.addEventListener("change",e),()=>n.removeEventListener("change",e)},[]),e}function f(){const[n,o]=d(()=>"undefined"!=typeof window&&e());return u(()=>{if("undefined"==typeof window)return;const n=window.matchMedia("(forced-colors: active)"),e=n=>o(n.matches);return n.addEventListener("change",e),()=>n.removeEventListener("change",e)},[]),n}function s(n){const e=c(null);return u(()=>{if(!n||!e.current)return;const t=o(e.current);return t.activate(),()=>t.deactivate()},[n]),e}function a(){const n=c(null);return u(()=>{if("undefined"!=typeof document)return n.current=t(),()=>{n.current?.destroy()}},[]),r((e,o="polite")=>{n.current?.announce(e,o)},[])}function w(n,e=!0){const o=c(n);o.current=n,u(()=>{if(!e||"undefined"==typeof document)return;const n=n=>{"Escape"===n.key&&o.current()};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e])}function p(n,e){const o=c(e);o.current=e,u(()=>{const e=e=>{n.current&&!n.current.contains(e.target)&&o.current()};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[n])}export{f as a,s as i,p as n,i as o,w as r,a as t};
1
+ import{C as n,_ as e,v as o,w as t}from"./chunk-DdHSYetV.js";import{useCallback as r,useEffect as u,useRef as c,useState as d}from"react";function i(){const[n,e]=d(()=>"undefined"!=typeof window&&t());return u(()=>{if("undefined"==typeof window)return;const n=window.matchMedia("(prefers-reduced-motion: reduce)"),o=n=>e(n.matches);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[]),n}function f(){const[e,o]=d(()=>"undefined"!=typeof window&&n());return u(()=>{if("undefined"==typeof window)return;const n=window.matchMedia("(forced-colors: active)"),e=n=>o(n.matches);return n.addEventListener("change",e),()=>n.removeEventListener("change",e)},[]),e}function s(n){const e=c(null);return u(()=>{if(!n||!e.current)return;const t=o(e.current);return t.activate(),()=>t.deactivate()},[n]),e}function a(){const n=c(null);return u(()=>{if("undefined"!=typeof document)return n.current=e(),()=>{n.current?.destroy()}},[]),r((e,o="polite")=>{n.current?.announce(e,o)},[])}function w(n,e=!0){const o=c(n);o.current=n,u(()=>{if(!e||"undefined"==typeof document)return;const n=n=>{"Escape"===n.key&&o.current()};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e])}function p(n,e){const o=c(e);o.current=e,u(()=>{const e=e=>{n.current&&!n.current.contains(e.target)&&o.current()};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[n])}export{f as a,s as i,p as n,i as o,w as r,a as t};
@@ -0,0 +1 @@
1
+ require("./chunk-DmRB1Blb.js");let e=require("react");function t(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(16).padStart(8,"0")}var n=class{constructor(e=512){this.cache=new Map,this.hits=0,this.misses=0,this.ceiling=Math.min(e,512)}get(e){if(!this.cache.has(e))return void this.misses++;this.hits++;const t=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,t),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size>=this.ceiling&&this.cache.delete(this.cache.keys().next().value),this.cache.set(e,t)}has(e){return this.cache.has(e)}invalidate(e){void 0!==e?this.cache.delete(e):this.cache.clear()}get size(){return this.cache.size}get cacheHitRate(){const e=this.hits+this.misses;return 0===e?0:this.hits/e*100}},r=new n(512);function o(e,t){const n=r.get(e);if(void 0!==n)return n;const o=t();return r.set(e,o),o}var c=[],i=!1,u=[],a=0,s=0;function f(e){c.push(e),i||(i=!0,queueMicrotask(()=>{!function(){const e=c.splice(0),t=performance.now();for(const r of e)try{r()}catch{}const n=performance.now()-t;a+=n,s++,u.push({duration:n,timestamp:Date.now()}),u.length>100&&u.shift()}(),i=!1}))}var d={hash:t,memoize:o,batchUpdate:f,invalidate:function(e){void 0!==e?r.invalidate(e):r.invalidate()},get avgRenderTime(){return 0===s?0:a/s},get cacheHitRate(){return r.cacheHitRate},getMetrics:function(e){const t=void 0!==e?u.slice(-e):u.slice();return{avgRenderTime:0===s?0:a/s,cacheHitRate:r.cacheHitRate,renderCount:s,recent:t}}},p=new Map;function l(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function m(e){const n=function(e){return"tkx-"+t(e)}(e);return p.has(n)||p.set(n,e),n}function x(e,...t){const n=e.reduce((e,n,r)=>e+n+(void 0!==t[r]?String(t[r]):""),"");return{className:m(n.trim()),styles:n.trim()}}function b(e){const t=Object.entries(e).map(([e,t])=>`${l(e)}: ${t};`).join(" ");return{className:m(t),styles:t}}var h={xs:"480px",sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"};function g(e,t){return`@media (min-width: ${h[e]}) { ${t} }`}function w(e,t){return`@keyframes ${e} { ${Object.entries(t).map(([e,t])=>`${e} { ${Object.entries(t).map(([e,t])=>`${l(e)}: ${t};`).join(" ")} }`).join(" ")} }`}function j(e,t){return void 0!==t?`--tkx-${e}: ${t};`:`var(--tkx-${e})`}function v(){return Array.from(p.entries()).map(([e,t])=>`.${e} { ${t} }`).join("\n")}function O(){p.clear()}function y(){if("undefined"==typeof document)return;let e=document.getElementById("tkx-styles");e||(e=document.createElement("style"),e.id="tkx-styles",document.head.appendChild(e)),e.textContent=v()}var k={css:x,fromObject:b,responsive:g,keyframes:w,cssVar:j,extractCSS:v,injectStyles:y,resetStyles:O};function A(e){const[t,n,r]=function(e){if(!e||"string"!=typeof e)return[0,0,0];const t=e.replace("#",""),n=3===t.length?t.split("").map(e=>e+e).join(""):t,r=parseInt(n.slice(0,2),16),o=parseInt(n.slice(2,4),16),c=parseInt(n.slice(4,6),16);return[isNaN(r)?0:r,isNaN(o)?0:o,isNaN(c)?0:c]}(e).map(e=>{const t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return.2126*t+.7152*n+.0722*r}function M(e,t){const n=A(e),r=A(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function $(e,t,n=!1){return M(e,t)>=(n?3:4.5)}function S(e,t,n=!1){return M(e,t)>=(n?4.5:7)}function H(e,t){const n=t??["#ffffff","#000000"];return n.reduce((t,n)=>M(n,e)>M(t,e)?n:t,n[0])}function T(){const e=document.createElement("div"),t=document.createElement("div");for(const n of[e,t])n.setAttribute("aria-atomic","true"),n.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;",document.body.appendChild(n);return e.setAttribute("aria-live","polite"),t.setAttribute("aria-live","assertive"),{announce(n,r="polite"){const o="assertive"===r?t:e;o.textContent="",setTimeout(()=>{o.textContent=n},0)},destroy(){e.remove(),t.remove()}}}var z=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])',"details > summary"].join(", ");function R(e){let t=null,n=null;function r(){return Array.from(e.querySelectorAll(z)).filter(e=>!e.closest("[hidden]")&&!e.closest('[aria-hidden="true"]'))}return{activate(){t=document.activeElement;const o=r();o.length>0&&o[0].focus(),n=e=>{if("Tab"!==e.key)return;const t=r();if(0===t.length)return;const n=t[0],o=t[t.length-1];e.shiftKey?document.activeElement===n&&(e.preventDefault(),o.focus()):document.activeElement===o&&(e.preventDefault(),n.focus())},e.addEventListener("keydown",n)},deactivate(){n&&e.removeEventListener("keydown",n),t instanceof HTMLElement&&t.focus(),t=null,n=null}}}function C(e,t,n,r){let o=t;switch(e.key){case"ArrowLeft":case"ArrowUp":e.preventDefault(),o=0===t?n-1:t-1;break;case"ArrowRight":case"ArrowDown":e.preventDefault(),o=t===n-1?0:t+1;break;case"Home":e.preventDefault(),o=0;break;case"End":e.preventDefault(),o=n-1;break;case"Enter":case" ":return e.preventDefault(),void r(t);default:return}r(o)}function E(){return"undefined"!=typeof window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function I(){return"undefined"!=typeof window&&window.matchMedia("(forced-colors: active)").matches}var N={contrastRatio:M,meetsAA:$,meetsAAA:S,getAccessibleForeground:H,createAnnouncer:T,createFocusTrap:R,handleTabsKeyboard:C,handleMenuKeyboard:function(e,t,n,r,o){let c=t;switch(e.key){case"ArrowUp":e.preventDefault(),c=0===t?n-1:t-1;break;case"ArrowDown":e.preventDefault(),c=t===n-1?0:t+1;break;case"Home":e.preventDefault(),c=0;break;case"End":e.preventDefault(),c=n-1;break;case"Enter":case" ":return e.preventDefault(),void r(t);case"Escape":return e.preventDefault(),void o?.();default:return}r(c)},prefersReducedMotion:E,prefersHighContrast:I,announce:function(e,t="polite"){if("undefined"==typeof document)return;let n=document.getElementById("tkx-live-region");n||(n=document.createElement("div"),n.id="tkx-live-region",n.setAttribute("aria-live",t),n.setAttribute("aria-atomic","true"),n.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;",document.body.appendChild(n)),n.textContent="",setTimeout(()=>{n&&(n.textContent=e)},0)}},F="undefined"!=typeof window?e.useLayoutEffect:e.useEffect,U={bg:"#0a0a0f",surface:"#12121a",surfaceAlt:"#1a1a2e",border:"#2a2a3e",text:"#e8e8f4",textMuted:"#8888aa",primary:"#00f5d4",secondary:"#7b2ff7",danger:"#f72585",warning:"#ffbe0b",success:"#06d6a0",info:"#3a86ff"},q={bg:"#f8f6f1",surface:"#ffffff",surfaceAlt:"#f0ede6",border:"#ddd8cc",text:"#1a1815",textMuted:"#6b6560",primary:"#0d7c5f",secondary:"#6930c3",danger:"#c1121f",warning:"#d4a017",success:"#0d7c5f",info:"#1d4ed8"},D=/^#[0-9a-fA-F]{3,8}$/;function K(e,t){const n={...e,...t};for(const[r,o]of Object.entries(n))if(!D.test(o))throw new Error(`Invalid hex color for theme token '${r}': ${o}`);return $(n.text,n.bg),$(n.primary,n.bg),S(n.text,n.bg),n}var L=(0,e.createContext)(U);function P({theme:t,mode:n,lightTheme:r=q,darkTheme:o=U,children:c}){const i=void 0!==t,u=function(t){const[n,r]=(0,e.useState)(()=>!t||"undefined"==typeof window||!window.matchMedia||window.matchMedia("(prefers-color-scheme: dark)").matches);return(0,e.useEffect)(()=>{if(!t||"undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),n=e=>r(e.matches);return e.addEventListener?(e.addEventListener("change",n),()=>e.removeEventListener("change",n)):(e.addListener(n),()=>e.removeListener(n))},[t]),n}(!i&&("auto"===n||void 0===n));let a;a=i?t:"light"===n?r:"dark"===n||u?o:r,F(()=>{const e=Object.entries(a).map(([e,t])=>j(e,t)).join(" ");let t=document.getElementById("tkx-theme");if(!t){t=document.createElement("style"),t.id="tkx-theme";const e=document.head.querySelector("style");e?document.head.insertBefore(t,e):document.head.appendChild(t)}t.textContent=`:root { ${e} }`,document.documentElement.setAttribute("data-tkx-scheme",a===o?"dark":a===r?"light":"custom")},[a,o,r]);const s=Object.fromEntries(Object.entries(a).map(([e,t])=>[`--tkx-${e}`,t]));return(0,e.createElement)(L.Provider,{value:a},(0,e.createElement)("div",{style:{display:"contents",...s}},c))}function V(){return(0,e.useContext)(L)}function G(){const[t,n]=(0,e.useState)(()=>"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark");return(0,e.useEffect)(()=>{if("undefined"==typeof window||!window.matchMedia)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),t=e=>n(e.matches?"dark":"light");return e.addEventListener?(e.addEventListener("change",t),()=>e.removeEventListener("change",t)):(e.addListener(t),()=>e.removeListener(t))},[]),t}function Q(e,t,n){n/=100;const r=(t/=100)*Math.min(n,1-n),o=t=>{const o=(t+e/30)%12,c=n-r*Math.max(Math.min(o-3,9-o,1),-1);return Math.round(255*c).toString(16).padStart(2,"0")};return`#${o(0)}${o(8)}${o(4)}`}function W(e){const[t,n]=function(e){const t=e.replace("#",""),n=parseInt(t.slice(0,2),16)/255,r=parseInt(t.slice(2,4),16)/255,o=parseInt(t.slice(4,6),16)/255,c=Math.max(n,r,o),i=Math.min(n,r,o);let u=0,a=0;const s=(c+i)/2;if(c!==i){const e=c-i;switch(a=s>.5?e/(2-c-i):e/(c+i),c){case n:u=((r-o)/e+(r<o?6:0))/6;break;case r:u=((o-n)/e+2)/6;break;case o:u=((n-r)/e+4)/6}}return[Math.round(360*u),Math.round(100*a),Math.round(100*s)]}(e);return{50:Q(t,Math.min(n,30),96),100:Q(t,Math.min(n,40),90),200:Q(t,Math.min(n,50),80),300:Q(t,n,70),400:Q(t,n,60),500:e,600:Q(t,n,45),700:Q(t,n,35),800:Q(t,n,25),900:Q(t,n,15)}}var X={xs:{fontSize:"0.75rem",lineHeight:"1rem"},sm:{fontSize:"0.875rem",lineHeight:"1.25rem"},base:{fontSize:"1rem",lineHeight:"1.5rem"},lg:{fontSize:"1.125rem",lineHeight:"1.75rem"},xl:{fontSize:"1.25rem",lineHeight:"1.75rem"},"2xl":{fontSize:"1.5rem",lineHeight:"2rem"},"3xl":{fontSize:"1.875rem",lineHeight:"2.25rem"},"4xl":{fontSize:"2.25rem",lineHeight:"2.5rem"},"5xl":{fontSize:"3rem",lineHeight:"1.15"}},Z={0:"0px",.5:"2px",1:"4px",1.5:"6px",2:"8px",2.5:"10px",3:"12px",4:"16px",5:"20px",6:"24px",8:"32px",10:"40px",12:"48px",16:"64px",20:"80px",24:"96px"},B={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},J={none:"none",xs:"0 1px 2px 0 rgba(0,0,0,0.05)",sm:"0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1)",md:"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",lg:"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",xl:"0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)","2xl":"0 25px 50px -12px rgba(0,0,0,0.25)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.06)"},Y={hide:-1,base:0,dropdown:1e3,sticky:1100,fixed:1200,overlay:1300,modal:1400,popover:1500,tooltip:1600,toast:1700,max:9999},_={none:"0",sm:"4px",md:"6px",lg:"8px",xl:"12px","2xl":"16px",full:"9999px"};Object.defineProperty(exports,"LRUCache",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"Quantum",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"TKX",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"ThemeContext",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"ThemeProvider",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"WCAGEngine",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"auroraLight",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"batchUpdate",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"breakpoints",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"contrastRatio",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"createAnnouncer",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"createFocusTrap",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"createTheme",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"css",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"cssVar",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"extractCSS",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"fnv1aHash",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"fromObject",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"generatePalette",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"getAccessibleForeground",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"handleTabsKeyboard",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"injectStyles",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"keyframes",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"meetsAA",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"meetsAAA",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"memoize",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"prefersHighContrast",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"prefersReducedMotion",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"quantumDark",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"radii",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"resetStyles",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"responsive",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"shadows",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"spacing",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"typography",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"usePrefersColorScheme",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"useTheme",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"zIndex",{enumerable:!0,get:function(){return Y}});
@@ -1 +1 @@
1
- require("./chunk-DmRB1Blb.js");const e=require("./chunk-DjxOP8W4.js");let n=require("react");function t(){const[t,r]=(0,n.useState)(()=>"undefined"!=typeof window&&e.prefersReducedMotion());return(0,n.useEffect)(()=>{if("undefined"==typeof window)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)"),n=e=>r(e.matches);return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]),t}function r(){const[t,r]=(0,n.useState)(()=>"undefined"!=typeof window&&e.prefersHighContrast());return(0,n.useEffect)(()=>{if("undefined"==typeof window)return;const e=window.matchMedia("(forced-colors: active)"),n=e=>r(e.matches);return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]),t}function u(t){const r=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!t||!r.current)return;const n=e.createFocusTrap(r.current);return n.activate(),()=>n.deactivate()},[t]),r}function o(){const t=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if("undefined"!=typeof document)return t.current=e.createAnnouncer(),()=>{t.current?.destroy()}},[]),(0,n.useCallback)((e,n="polite")=>{t.current?.announce(e,n)},[])}function c(e,t=!0){const r=(0,n.useRef)(e);r.current=e,(0,n.useEffect)(()=>{if(!t||"undefined"==typeof document)return;const e=e=>{"Escape"===e.key&&r.current()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t])}function i(e,t){const r=(0,n.useRef)(t);r.current=t,(0,n.useEffect)(()=>{const n=n=>{e.current&&!e.current.contains(n.target)&&r.current()};return document.addEventListener("pointerdown",n),()=>document.removeEventListener("pointerdown",n)},[e])}Object.defineProperty(exports,"useAnnounce",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"useClickOutside",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"useEscapeKey",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"useFocusTrap",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"useHighContrast",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"useReducedMotion",{enumerable:!0,get:function(){return t}});
1
+ require("./chunk-DmRB1Blb.js");const e=require("./chunk-BpuJ3-K8.js");let n=require("react");function t(){const[t,r]=(0,n.useState)(()=>"undefined"!=typeof window&&e.prefersReducedMotion());return(0,n.useEffect)(()=>{if("undefined"==typeof window)return;const e=window.matchMedia("(prefers-reduced-motion: reduce)"),n=e=>r(e.matches);return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]),t}function r(){const[t,r]=(0,n.useState)(()=>"undefined"!=typeof window&&e.prefersHighContrast());return(0,n.useEffect)(()=>{if("undefined"==typeof window)return;const e=window.matchMedia("(forced-colors: active)"),n=e=>r(e.matches);return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]),t}function u(t){const r=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!t||!r.current)return;const n=e.createFocusTrap(r.current);return n.activate(),()=>n.deactivate()},[t]),r}function o(){const t=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if("undefined"!=typeof document)return t.current=e.createAnnouncer(),()=>{t.current?.destroy()}},[]),(0,n.useCallback)((e,n="polite")=>{t.current?.announce(e,n)},[])}function c(e,t=!0){const r=(0,n.useRef)(e);r.current=e,(0,n.useEffect)(()=>{if(!t||"undefined"==typeof document)return;const e=e=>{"Escape"===e.key&&r.current()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t])}function i(e,t){const r=(0,n.useRef)(t);r.current=t,(0,n.useEffect)(()=>{const n=n=>{e.current&&!e.current.contains(n.target)&&r.current()};return document.addEventListener("pointerdown",n),()=>document.removeEventListener("pointerdown",n)},[e])}Object.defineProperty(exports,"useAnnounce",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"useClickOutside",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"useEscapeKey",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"useFocusTrap",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"useHighContrast",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"useReducedMotion",{enumerable:!0,get:function(){return t}});
@@ -0,0 +1,3 @@
1
+ import{p as e}from"./chunk-DdHSYetV.js";import{E as r,a as t,t as l}from"./chunk-DcVMayoM.js";import{useLocale as n}from"./i18n.js";import{cloneElement as a,createContext as i,useCallback as s,useContext as o,useEffect as u,useMemo as c,useRef as d,useState as m}from"react";import{Fragment as f,jsx as h,jsxs as x}from"react/jsx-runtime";var F=i(null),p={required:"This field is required",invalidFormat:"Invalid format",minLength:e=>`Must be at least ${e} characters`,maxLength:e=>`Must be no more than ${e} characters`,minValue:e=>`Must be at least ${e}`,maxValue:e=>`Must be no more than ${e}`};async function v(e,r,t=p){for(const l of r){if(l.required&&(null==e||""===e||Array.isArray(e)&&0===e.length))return l.message??t.required;if(null!=e&&""!==e){if(void 0!==l.min){if("string"==typeof e&&e.length<l.min)return l.message??t.minLength(l.min);if("number"==typeof e&&e<l.min)return l.message??t.minValue(l.min)}if(void 0!==l.max){if("string"==typeof e&&e.length>l.max)return l.message??t.maxLength(l.max);if("number"==typeof e&&e>l.max)return l.message??t.maxValue(l.max)}if(l.pattern&&"string"==typeof e&&!l.pattern.test(e))return l.message??t.invalidFormat;if(l.validator){const r=await l.validator(e);if(r)return r}}}return null}function y(){const e=o(F),r=d({}),t=d({}),l=d({}),n=c(()=>({getFieldValue:e=>r.current[e],setFieldValue:(e,t)=>{r.current[e]=t},getFieldsValue:()=>({...r.current}),setFieldsValue:e=>{Object.assign(r.current,e)},validateFields:()=>Promise.resolve({...r.current}),validateField:e=>Promise.resolve(!0),resetFields:()=>{r.current={},t.current={},l.current={}},getFieldError:e=>t.current[e]??null,isFieldTouched:e=>l.current[e]??!1}),[]);return e?e.instance:n}function g({onSubmit:r,onValuesChange:a,initialValues:i={},layout:o="vertical",disabled:f=!1,children:x,className:y,style:g,form:b}){const V=e(),w=n(),k=c(()=>({required:w.fieldRequired??p.required,invalidFormat:w.invalidFormat??p.invalidFormat,minLength:w.minLength??p.minLength,maxLength:w.maxLength??p.maxLength,minValue:w.minValue??p.minValue,maxValue:w.maxValue??p.maxValue}),[w]),[N,T]=m({values:{...i},errors:{},touched:{}}),j=d(i),E=d({}),q=d(N);q.current=N;const M=s((e,r)=>{E.current[e]=r},[]),z=s(e=>{delete E.current[e]},[]),C=s((e,r)=>{T(t=>{const l={...t,values:{...t.values,[e]:r}};return a?.({[e]:r},l.values),l})},[a]),L=s((e,r)=>{T(t=>({...t,errors:{...t.errors,[e]:r}}))},[]),P=s(e=>{T(r=>({...r,touched:{...r.touched,[e]:!0}}))},[]),$=s(async e=>{const r=E.current[e];if(!r)return!0;const t=q.current.values[e],l=await v(t,r.rules,k);return T(r=>({...r,errors:{...r.errors,[e]:l},touched:{...r.touched,[e]:!0}})),null===l},[k]),O=s(async()=>{const e=Object.keys(E.current),r=await Promise.all(e.map(async e=>{const r=E.current[e],t=q.current.values[e];return{name:e,error:await v(t,r.rules,k)}})),t={},l={};let n=!1;for(const{name:a,error:i}of r)t[a]=i,l[a]=!0,i&&(n=!0);if(T(e=>({...e,errors:{...e.errors,...t},touched:{...e.touched,...l}})),n){const e=Object.fromEntries(r.filter(e=>e.error).map(e=>[e.name,e.error]));return Promise.reject(e)}return{...q.current.values}},[]),R=s(()=>{T({values:{...j.current},errors:{},touched:{}})},[]),S=c(()=>({getFieldValue:e=>q.current.values[e],setFieldValue:C,getFieldsValue:()=>({...q.current.values}),setFieldsValue:e=>{T(r=>{const t={...r.values,...e};return a?.(e,t),{...r,values:t}})},validateFields:O,validateField:$,resetFields:R,getFieldError:e=>q.current.errors[e]??null,isFieldTouched:e=>!!q.current.touched[e]}),[C,O,$,R,a]),B=s(async e=>{e.preventDefault();try{const e=await O();await(r?.(e))}catch{}},[O,r]),I=t("inline"===o?"flex flex-row flex-wrap items-end gap-4":"flex flex-col gap-5");u(()=>{if(!b)return;const e=b;e.getFieldValue=S.getFieldValue,e.setFieldValue=S.setFieldValue,e.getFieldsValue=S.getFieldsValue,e.setFieldsValue=S.setFieldsValue,e.validateFields=S.validateFields,e.validateField=S.validateField,e.resetFields=S.resetFields,e.getFieldError=S.getFieldError,e.isFieldTouched=S.isFieldTouched},[b,S]);const Y=b??S,A=c(()=>({state:N,initialValues:j.current,layout:o,disabled:f,fieldMeta:E,setFieldValue:C,setFieldError:L,setFieldTouched:P,registerField:M,unregisterField:z,validateField:$,instance:Y}),[N,o,f,C,L,P,M,z,$,Y]);/* @__PURE__ */
2
+ return h(F.Provider,{value:A,children:/* @__PURE__ */h("form",{noValidate:!0,role:"form","aria-label":"Form",onSubmit:B,className:l(I,y),style:{color:V.text,...g},children:x})})}function b({name:n,label:i,rules:u,help:m,required:v,children:y,className:g,style:b}){const V=e(),w=function(){const e=o(F);if(!e)throw new Error("TkxFormField must be used inside a <TkxForm>. Wrap your fields in a TkxForm component.");return e}(),{state:k,layout:N,disabled:T}=w,j=c(()=>function(e,r,t=p.required){const l=e?[...e]:[];return r&&!l.some(e=>e.required)&&l.unshift({required:!0,message:t}),l}(u,v),[u,v]),E=function(e){return e.some(e=>e.required)}(j),q=d({rules:j});q.current.rules=j;const M=d(!1);M.current||(w.registerField(n,q.current),M.current=!0),c(()=>{w.registerField(n,q.current)},[j,n,w]);const z=k.values[n],C=k.touched[n]?k.errors[n]??null:null,L=C?r(C):null,P=i?r(i):void 0,$=m?r(m):void 0,O=s(e=>{let r;if(null!==e&&"object"==typeof e&&"target"in e){const t=e.target;r="checkbox"===t.type?t.checked:t.value}else r=e;w.setFieldValue(n,r)},[w,n]),R=s(()=>{w.setFieldTouched(n),w.validateField(n)},[w,n]),S=a(y,{value:z??"",onChange:O,onBlur:R,error:L??void 0,isInvalid:!!L,isRequired:E,disabled:T||y.props.disabled,name:n}),B="horizontal"===N,I="inline"===N,Y=/* @__PURE__ */h("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:/* @__PURE__ */h("path",{d:"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})}),A=P?/* @__PURE__ */x("label",{className:t("text-sm font-medium font-sans",B?"min-w-[140px] pt-2.5":""),style:{color:V.text},children:[P,E&&/* @__PURE__ */h("span",{"aria-hidden":"true",className:t("ml-1"),style:{color:V.danger},children:"*"})]}):null,W=/* @__PURE__ */x(f,{children:[$&&!L&&/* @__PURE__ */h("span",{className:t("text-xs mt-0.5"),style:{color:V.textMuted},children:$}),L&&/* @__PURE__ */x("span",{role:"alert",className:t("text-xs flex items-center gap-1 mt-0.5"),style:{color:V.danger,animation:"tkxFormErrorReveal 200ms ease-out"},children:[Y,L]})]});/* @__PURE__ */
3
+ return x("div",I?{className:l(t("flex flex-col gap-1"),g),style:b,children:[A,S,W]}:B?{className:l(t("flex flex-row gap-4 items-start"),g),style:b,children:[A,/* @__PURE__ */x("div",{className:t("flex flex-col gap-1 flex-1 min-w-0"),children:[S,W]})]}:{className:l(t("flex flex-col gap-1"),g),style:b,children:[A,S,W]})}g.displayName="TkxForm",b.displayName="TkxFormField";var V=!1;!function(){if(V)return;if("undefined"==typeof document)return;V=!0;const e=document.createElement("style");e.setAttribute("data-tkx-form",""),e.textContent="\n @keyframes tkxFormErrorReveal {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n ",document.head.appendChild(e)}();export{b as n,y as r,g as t};
@@ -1 +1 @@
1
- const e=require("./chunk-DjxOP8W4.js");var t={"<":"&lt;",">":"&gt;","&":"&amp;","'":"&#39;",'"':"&quot;","`":"&#96;"};function r(e){let r=String(e);return r=r.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,""),r.replace(/[<>&'"`]/g,e=>t[e]??e)}function n(e){const t={};for(const r of Object.keys(e))t[r]=o(e[r]);return t}function o(e){return"string"==typeof e?r(e):Array.isArray(e)?e.map(o):null===e||"object"!=typeof e||function(e){return"object"==typeof e&&null!==e&&"$$typeof"in e}(e)?e:n(e)}function i(e,t){const r=[];for(const[n,o]of Object.entries(t)){const t=e[n],i=null==t;o.required&&i?r.push(`prop '${n}' is required`):i||(typeof t===o.type?("number"===o.type&&"number"==typeof t&&(void 0!==o.min&&t<o.min&&r.push(`prop '${n}' must be >= ${o.min}`),void 0!==o.max&&t>o.max&&r.push(`prop '${n}' must be <= ${o.max}`)),"string"===o.type&&"string"==typeof t&&o.pattern&&!o.pattern.test(t)&&r.push(`prop '${n}' does not match pattern ${o.pattern}`),o.enum&&!o.enum.includes(t)&&r.push(`prop '${n}' must be one of: ${o.enum.join(", ")}`)):r.push(`prop '${n}' must be of type ${o.type}, got ${typeof t}`))}return{valid:0===r.length,errors:r}}var s=new Map,a=[];function l(t,r,n){const o=e.fnv1aHash(JSON.stringify(n??{})),i=e.fnv1aHash((a.length>0?a[a.length-1].chainHash:"00000000")+o+r+t),s=Object.freeze({timestamp:Date.now(),component:r,action:t,propsHash:o,chainHash:i});return a=Object.freeze([...a,s]),s}function c(e){let t=a;return e?.component&&(t=t.filter(t=>t.component===e.component)),e?.action&&(t=t.filter(t=>t.action===e.action)),e?.limit&&(t=t.slice(-e.limit)),t}function f(){let t="00000000";for(const r of a){if(e.fnv1aHash(t+r.propsHash+r.component+r.action)!==r.chainHash)return!1;t=r.chainHash}return!0}function u(e){if("string"!=typeof e)return null;const t=e.trim();if(!t)return null;const r=t.replace(/[\u0000-\u001F\u007F]/g,"");return/^javascript:/i.test(r)||/^vbscript:/i.test(r)||/^data:/i.test(r)&&!/^data:image\//i.test(r)||/^file:/i.test(r)?null:r}var d=new Set(["a","abbr","b","blockquote","br","code","del","div","em","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","li","mark","ol","p","pre","q","s","samp","small","span","strong","sub","sup","table","tbody","td","tfoot","th","thead","tr","u","ul"]),p={a:new Set(["href","title","target","rel"]),img:new Set(["src","alt","title","width","height","loading","decoding"]),th:new Set(["scope","colspan","rowspan","align"]),td:new Set(["colspan","rowspan","align"]),"*":new Set(["id","class","lang","dir","title"])},b=new Set(["constructor","prototype","__proto__","submit","reset","action","method","enctype","target","elements","children","firstChild","nextSibling","parentNode","ownerDocument","cookie","domain","location","documentElement","body","head","title","contentWindow","contentDocument"]);function m(e){if("string"!=typeof e)return"";if("undefined"==typeof DOMParser)return r(e);const t=(new DOMParser).parseFromString(`<div>${e}</div>`,"text/html").body.firstElementChild;return t?(g(t),t.innerHTML):""}function g(e){const t=Array.from(e.children);for(const r of t){const e=r.tagName.toLowerCase();if(d.has(e)){for(const t of Array.from(r.attributes)){const n=t.name.toLowerCase();if(n.startsWith("on"))r.removeAttribute(t.name);else if(b.has(n))r.removeAttribute(t.name);else if("style"!==n)if((p[e]??new Set).has(n)||p["*"].has(n)){if(("href"===n||"src"===n)&&"string"==typeof t.value){const e=u(t.value);null===e?r.removeAttribute(t.name):r.setAttribute(t.name,e)}"name"!==n&&"id"!==n||!b.has(t.value.toLowerCase())||r.removeAttribute(t.name)}else r.removeAttribute(t.name);else r.setAttribute("style",x(t.value))}g(r)}else r.remove()}}function x(e){if("string"!=typeof e)return"";let t=e;return t=t.replace(/expression\s*\([^)]*\)/gi,""),t=t.replace(/url\s*\(\s*['"]?\s*(javascript|vbscript|data)\s*:[^)]*\)/gi,"url(#)"),t=t.replace(/@import[^;]*;?/gi,""),t=t.replace(/behavior\s*:[^;]*;?/gi,""),t=t.replace(/-moz-binding[^;]*;?/gi,""),t=t.replace(/[<>]/g,""),t=t.replace(/[\u0000-\u001F\u007F]/g,""),t.trim()}var h=new Set(["__proto__","constructor","prototype"]);function w(e){try{return $(JSON.parse(e,(e,t)=>{if(!h.has(e))return t}))}catch{return null}}function $(e){if(Array.isArray(e))return e.map($);if(e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))h.has(r)||(t[r]=$(n));return t}return e}function y(e){return!("string"!=typeof e||!e||/[\u0000-\u001F\u007F<>"]/.test(e)||b.has(e.toLowerCase()))}function v(e){return"string"!=typeof e?"":e.replace(/[\u200B-\u200F\u202A-\u202E\u2060-\u206F\uFEFF\u00AD]/g,"")}function k(e={}){const{allowInlineStyles:t=!0,imgHosts:r=[],connectHosts:n=[],fontHosts:o=[],scriptNonce:i,reportUri:s}=e,a=["default-src 'self'","script-src "+(i?`'self' 'nonce-${i}'`:"'self'"),"style-src "+(t?"'self' 'unsafe-inline'":"'self'"),`img-src ${["'self'","data:","https:",...r].join(" ")}`,`font-src ${["'self'","https:","data:",...o].join(" ")}`,`connect-src ${["'self'",...n].join(" ")}`,"frame-ancestors 'none'","form-action 'self'","base-uri 'self'","object-src 'none'","upgrade-insecure-requests"];return s&&a.push(`report-uri ${s}`),a.join("; ")}function j(){if("undefined"==typeof window)return;const e=window.trustedTypes;if(e)try{e.createPolicy("tkx",{createHTML:m,createScriptURL:e=>u(e)??"",createScript:()=>{throw new Error("TekiVex: inline script creation forbidden")}})}catch{}}function z(){if("undefined"==typeof window)return!1;try{return window.top!==window.self}catch{return!0}}function O(e){if("undefined"!=typeof window&&z())if(e)e();else try{window.top.location.href=window.self.location.href}catch{}}function S(e,t){let r=e,n=Date.now();return{check(){const o=Date.now(),i=o-n,s=Math.floor(i/t);return s>0&&(r=Math.min(e,r+s),n=o),!(r<=0||(r-=1,0))},reset(){r=e,n=Date.now()}}}async function A(e){const t=new Uint8Array(await e.slice(0,12).arrayBuffer()),r=(...e)=>e.every((e,r)=>t[r]===e);return r(137,80,78,71)?"image/png":r(255,216,255)?"image/jpeg":r(71,73,70,56)?"image/gif":r(66,77)?"image/bmp":r(82,73,70,70)&&87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?"image/webp":r(37,80,68,70)?"application/pdf":r(80,75,3,4)?"application/zip":123===t[0]||91===t[0]?"application/json":[...t].includes(0)?null:"text/plain"}var F=[{name:"ssn",re:/\b\d{3}-\d{2}-\d{4}\b/g,repl:"[redacted-ssn]"},{name:"credit",re:/\b(?:\d[ -]*?){13,19}\b/g,repl:"[redacted-card]"},{name:"email",re:/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,repl:"[redacted-email]"},{name:"phone",re:/\b(\+?\d{1,3}[ -])?\(?\d{3}\)?[ -]?\d{3}[ -]?\d{4}\b/g,repl:"[redacted-phone]"},{name:"apikey",re:/\b(sk|pk|rk)-[A-Za-z0-9]{20,}\b/g,repl:"[redacted-key]"}];function P(e){if("string"!=typeof e)return"";let t=e;for(const{re:r,repl:n}of F)t=t.replace(r,n);return t}function C(e){if(e&&"object"==typeof e&&!Object.isFrozen(e)){for(const t of Object.keys(e))C(e[t]);Object.freeze(e)}return e}var M=Object.freeze({sanitizeString:r,sanitizeHref:u,sanitizeHTML:m,sanitizeCSS:x,sanitizeJSON:w,sanitizeUnicode:v,isSafeAttrName:y,buildTkxCSP:k,installTrustedTypes:j,isFramed:z,installFrameBuster:O,createRateLimiter:S,sniffMimeType:A,scrubPII:P,deepFreeze:C,__brand:"TekiVex SecurityCore v2.6.0 © 007krcs"}),T={sanitize:r,sanitizeProps:n,validateProps:i,createCSP:function(e,t){const r={componentId:e,permissions:t,directives:{"default-src":["'self'"],"style-src":t.allowInlineStyles?["'self'","'unsafe-inline'"]:["'self'"],"img-src":t.allowDataUrls?["'self'","data:"]:t.allowExternalSrc?["'self'","*"]:["'self'"],"script-src":t.allowScripts?["'self'"]:["'none'"]}};return s.set(e,r),r},hasPermission:function(e,t){return!0===s.get(e)?.permissions[t]},audit:l,getAuditLog:c,verifyAuditIntegrity:f},_={0:"0",px:"1px",.5:"2px",1:"4px",1.5:"6px",2:"8px",2.5:"10px",3:"12px",3.5:"14px",4:"16px",5:"20px",6:"24px",7:"28px",8:"32px",9:"36px",10:"40px",11:"44px",12:"48px",14:"56px",16:"64px",20:"80px",24:"96px",28:"112px",32:"128px",36:"144px",40:"160px",44:"176px",48:"192px",52:"208px",56:"224px",60:"240px",64:"256px",72:"288px",80:"320px",96:"384px",auto:"auto",full:"100%",screen:"100vw",svh:"100svh",dvh:"100dvh",fit:"fit-content",max:"max-content",min:"min-content"},H={..._,screen:"100vh"},I={"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","5/6":"83.333333%","1/12":"8.333333%","5/12":"41.666667%","7/12":"58.333333%","11/12":"91.666667%"},q={none:"0",sm:"2px","":"4px",md:"6px",lg:"8px",xl:"12px","2xl":"16px","3xl":"24px",full:"9999px"},D={sm:"0 1px 2px 0 rgba(0,0,0,.05)","":"0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)",md:"0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)",lg:"0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)",xl:"0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)","2xl":"0 25px 50px -12px rgba(0,0,0,.25)",inner:"inset 0 2px 4px 0 rgba(0,0,0,.05)",none:"none"},L={xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},N={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},Z={none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},B={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},U={none:"0",sm:"4px","":"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},E=Object.fromEntries([0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100].map(e=>[String(e),String(e/100)])),J=new Set(["bg","surface","surfaceAlt","border","text","textMuted","primary","secondary","danger","warning","success","info"]),R={sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},X=/javascript\s*:|vbscript\s*:|data\s*:\s*text\/html|data\s*:\s*text\/javascript|expression\s*\(|[\r\n\x00]/i,Y=new Set(["behavior","-moz-binding","-webkit-binding","src"]),V=new Set(["width","min-width","max-width","height","min-height","max-height","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","position","top","right","bottom","left","z-index","inset","flex","flex-grow","flex-shrink","flex-basis","flex-direction","flex-wrap","align-items","align-self","align-content","justify-content","justify-items","justify-self","gap","row-gap","column-gap","grid-template-columns","grid-template-rows","grid-column","grid-row","grid-area","grid-template-areas","font-size","font-weight","font-family","font-style","line-height","letter-spacing","text-align","text-decoration","text-transform","text-overflow","white-space","word-break","word-wrap","overflow-wrap","color","background","background-color","background-image","background-position","background-size","background-repeat","opacity","border","border-top","border-right","border-bottom","border-left","border-width","border-style","border-color","border-radius","outline","outline-offset","box-shadow","text-shadow","filter","backdrop-filter","transform","transition","animation","display","overflow","overflow-x","overflow-y","visibility","pointer-events","cursor","user-select","aspect-ratio","object-fit","object-position","list-style","vertical-align","float","clear","resize","scroll-behavior","content"]);function G(e){return X.test(e)||e.includes("}")||e.includes("{")||e.includes("<")||e.includes(">")?null:e}function W(e){const t=e.match(/^\[(.+)]$/);return t?G(t[1]):null}function K(e){return J.has(e)?`var(--tkx-${e})`:"transparent"===e?"transparent":"current"===e?"currentColor":"white"===e?"#ffffff":"black"===e?"#000000":"inherit"===e?"inherit":W(e)||(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(e),e)}function Q(e){const t=e.match(/^\[([a-zA-Z-]+):(.+)]$/);if(t){const e=function(e){const t=e.toLowerCase().trim();return Y.has(t)?null:V.has(t)?t:null}(t[1]),r=G(t[2]);return e&&r?{[e]:r}:null}const r={flex:"flex","inline-flex":"inline-flex",grid:"grid","inline-grid":"inline-grid",block:"block","inline-block":"inline-block",inline:"inline",hidden:"none",contents:"contents","flow-root":"flow-root",table:"table","table-row":"table-row","table-cell":"table-cell","table-caption":"table-caption","list-item":"list-item"};if(r[e])return{display:r[e]};const n={"flex-row":"row","flex-col":"column","flex-row-reverse":"row-reverse","flex-col-reverse":"column-reverse"};if(n[e])return{"flex-direction":n[e]};const o={"flex-wrap":"wrap","flex-nowrap":"nowrap","flex-wrap-reverse":"wrap-reverse"};if(o[e])return{"flex-wrap":o[e]};const i={"flex-1":"1 1 0%","flex-auto":"1 1 auto","flex-none":"none","flex-initial":"0 1 auto"};if(i[e])return{flex:i[e]};if("grow"===e||"flex-grow"===e)return{"flex-grow":"1"};if("grow-0"===e)return{"flex-grow":"0"};if("shrink"===e||"flex-shrink"===e)return{"flex-shrink":"1"};if("shrink-0"===e||"flex-shrink-0"===e)return{"flex-shrink":"0"};const s={"items-start":"flex-start","items-end":"flex-end","items-center":"center","items-stretch":"stretch","items-baseline":"baseline"};if(s[e])return{"align-items":s[e]};const a={"justify-start":"flex-start","justify-end":"flex-end","justify-center":"center","justify-between":"space-between","justify-around":"space-around","justify-evenly":"space-evenly","justify-stretch":"stretch","justify-normal":"normal"};if(a[e])return{"justify-content":a[e]};const l={"self-auto":"auto","self-start":"flex-start","self-end":"flex-end","self-center":"center","self-stretch":"stretch","self-baseline":"baseline"};if(l[e])return{"align-self":l[e]};const c={"content-start":"flex-start","content-end":"flex-end","content-center":"center","content-between":"space-between","content-around":"space-around","content-evenly":"space-evenly","content-stretch":"stretch"};if(c[e])return{"align-content":c[e]};let f;if(f=e.match(/^grid-cols-(\d+|none|subgrid)$/))return{"grid-template-columns":"none"===f[1]?"none":"subgrid"===f[1]?"subgrid":`repeat(${f[1]},minmax(0,1fr))`};if(f=e.match(/^grid-rows-(\d+|none|subgrid)$/))return{"grid-template-rows":"none"===f[1]?"none":"subgrid"===f[1]?"subgrid":`repeat(${f[1]},minmax(0,1fr))`};if(f=e.match(/^col-span-(full|\d+)$/))return{"grid-column":"full"===f[1]?"1 / -1":`span ${f[1]} / span ${f[1]}`};if(f=e.match(/^col-start-(\d+|auto)$/))return{"grid-column-start":f[1]};if(f=e.match(/^col-end-(\d+|auto)$/))return{"grid-column-end":f[1]};if(f=e.match(/^row-span-(full|\d+)$/))return{"grid-row":"full"===f[1]?"1 / -1":`span ${f[1]} / span ${f[1]}`};if(f=e.match(/^row-start-(\d+|auto)$/))return{"grid-row-start":f[1]};if(f=e.match(/^row-end-(\d+|auto)$/))return{"grid-row-end":f[1]};if("grid-flow-row"===e)return{"grid-auto-flow":"row"};if("grid-flow-col"===e)return{"grid-auto-flow":"column"};if("grid-flow-dense"===e)return{"grid-auto-flow":"dense"};if("grid-flow-row-dense"===e)return{"grid-auto-flow":"row dense"};if("grid-flow-col-dense"===e)return{"grid-auto-flow":"column dense"};if(f=e.match(/^p-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{padding:e}}if(f=e.match(/^px-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-left":e,"padding-right":e}}if(f=e.match(/^py-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-top":e,"padding-bottom":e}}if(f=e.match(/^pt-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-top":e}}if(f=e.match(/^pr-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-right":e}}if(f=e.match(/^pb-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-bottom":e}}if(f=e.match(/^pl-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-left":e}}if(f=e.match(/^-?m-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{margin:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?mx-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r){const e=t&&"0"!==r?`-${r}`:r;return{"margin-left":e,"margin-right":e}}}if(f=e.match(/^-?my-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r){const e=t&&"0"!==r?`-${r}`:r;return{"margin-top":e,"margin-bottom":e}}}if(f=e.match(/^-?mt-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-top":t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?mr-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-right":t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?mb-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-bottom":t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?ml-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-left":t&&"0"!==r?`-${r}`:r}}if("mx-auto"===e)return{"margin-left":"auto","margin-right":"auto"};if("my-auto"===e)return{"margin-top":"auto","margin-bottom":"auto"};if(f=e.match(/^gap-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{gap:e}}if(f=e.match(/^gap-x-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"column-gap":e}}if(f=e.match(/^gap-y-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"row-gap":e}}if(f=e.match(/^w-(.+)$/)){const e=f[1],t=_[e]??I[e]??W(e);if(t)return{width:t}}if(f=e.match(/^min-w-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"min-width":e}}if(f=e.match(/^max-w-(.+)$/)){const e={none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",screen:"100vw",min:"min-content",max:"max-content",fit:"fit-content"}[f[1]]??_[f[1]]??W(f[1]);if(e)return{"max-width":e}}if(f=e.match(/^h-(.+)$/)){const e=f[1],t=H[e]??I[e]??W(e);if(t)return{height:t}}if(f=e.match(/^min-h-(.+)$/)){const e={0:"0",full:"100%",screen:"100vh",svh:"100svh",dvh:"100dvh"}[f[1]]??_[f[1]]??W(f[1]);if(e)return{"min-height":e}}if(f=e.match(/^max-h-(.+)$/)){const e=H[f[1]]??W(f[1]);if(e)return{"max-height":e}}if(f=e.match(/^size-(.+)$/)){const e=_[f[1]]??I[f[1]]??W(f[1]);if(e)return{width:e,height:e}}if(f=e.match(/^text-(xs|sm|base|lg|[2-9]xl|\d+xl)$/)){const[e,t]=L[f[1]]??["1rem","1.5rem"];return{"font-size":e,"line-height":t}}if(f=e.match(/^font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black|\d+)$/))return{"font-weight":N[f[1]]??f[1]};if(f=e.match(/^leading-(.+)$/)){const e=Z[f[1]]??W(f[1]);if(e)return{"line-height":e}}if(f=e.match(/^tracking-(.+)$/)){const e=B[f[1]]??W(f[1]);if(e)return{"letter-spacing":e}}const u={"text-left":"left","text-center":"center","text-right":"right","text-justify":"justify","text-start":"start","text-end":"end"};if(u[e])return{"text-align":u[e]};if("italic"===e)return{"font-style":"italic"};if("not-italic"===e)return{"font-style":"normal"};if("uppercase"===e)return{"text-transform":"uppercase"};if("lowercase"===e)return{"text-transform":"lowercase"};if("capitalize"===e)return{"text-transform":"capitalize"};if("normal-case"===e)return{"text-transform":"none"};if("underline"===e)return{"text-decoration-line":"underline"};if("overline"===e)return{"text-decoration-line":"overline"};if("line-through"===e)return{"text-decoration-line":"line-through"};if("no-underline"===e)return{"text-decoration-line":"none"};if("truncate"===e)return{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"};if("text-ellipsis"===e)return{"text-overflow":"ellipsis"};if("text-clip"===e)return{"text-overflow":"clip"};if("whitespace-normal"===e)return{"white-space":"normal"};if("whitespace-nowrap"===e)return{"white-space":"nowrap"};if("whitespace-pre"===e)return{"white-space":"pre"};if("whitespace-pre-wrap"===e)return{"white-space":"pre-wrap"};if("whitespace-pre-line"===e)return{"white-space":"pre-line"};if("break-words"===e)return{"overflow-wrap":"break-word"};if("break-all"===e)return{"word-break":"break-all"};if("break-keep"===e)return{"word-break":"keep-all"};if("font-mono"===e)return{"font-family":"var(--tkx-font-mono,monospace)"};if("font-sans"===e)return{"font-family":"var(--tkx-font-family,system-ui,sans-serif)"};if("font-serif"===e)return{"font-family":"ui-serif,Georgia,serif"};if("antialiased"===e)return{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"};if(f=e.match(/^indent-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"text-indent":e}}if(f=e.match(/^line-clamp-(\d+)$/))return{overflow:"hidden",display:"-webkit-box","-webkit-line-clamp":f[1],"-webkit-box-orient":"vertical"};if(f=e.match(/^text-(.+)$/)){const[e,t]=f[1].split("/"),r=K(e);if(!["left","center","right","justify","start","end","xs","sm","base","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","9xl"].includes(e)){if(t){const e=parseInt(t)/100;return{color:r,opacity:String(e)}}return{color:r}}}if(f=e.match(/^bg-(.+)$/)){const[e,t]=f[1].split("/"),r=K(e);return t?{"background-color":r,opacity:String(parseInt(t)/100)}:"none"===e?{background:"none"}:{"background-color":r}}if(f=e.match(/^border-color-(.+)$/))return{"border-color":K(f[1])};if(f=e.match(/^fill-(.+)$/))return{fill:K(f[1])};if(f=e.match(/^stroke-(.+)$/))return{stroke:K(f[1])};if(f=e.match(/^shadow-color-(.+)$/))return{"--tkx-shadow-color":K(f[1])};if(f=e.match(/^ring-color-(.+)$/))return{"--tkx-ring-color":K(f[1])};if(f=e.match(/^accent-(.+)$/))return{"accent-color":K(f[1])};if(f=e.match(/^caret-(.+)$/))return{"caret-color":K(f[1])};if(f=e.match(/^outline-color-(.+)$/))return{"outline-color":K(f[1])};if("border"===e)return{"border-width":"1px"};if(f=e.match(/^border-(\d+)$/))return{"border-width":`${f[1]}px`};if("border-t"===e)return{"border-top-width":"1px"};if(f=e.match(/^border-t-(\d+)$/))return{"border-top-width":`${f[1]}px`};if("border-r"===e)return{"border-right-width":"1px"};if(f=e.match(/^border-r-(\d+)$/))return{"border-right-width":`${f[1]}px`};if("border-b"===e)return{"border-bottom-width":"1px"};if(f=e.match(/^border-b-(\d+)$/))return{"border-bottom-width":`${f[1]}px`};if("border-l"===e)return{"border-left-width":"1px"};if(f=e.match(/^border-l-(\d+)$/))return{"border-left-width":`${f[1]}px`};if("border-x"===e)return{"border-left-width":"1px","border-right-width":"1px"};if("border-y"===e)return{"border-top-width":"1px","border-bottom-width":"1px"};if("border-none"===e)return{"border-style":"none"};if("border-solid"===e)return{"border-style":"solid"};if("border-dashed"===e)return{"border-style":"dashed"};if("border-dotted"===e)return{"border-style":"dotted"};if("border-double"===e)return{"border-style":"double"};if((f=e.match(/^border-([a-zA-Z].*)$/))&&J.has(f[1]))return{"border-color":`var(--tkx-${f[1]})`};if(f=e.match(/^border-\[(.+)]$/))return{"border-color":f[1]};if("border-0"===e)return{"border-width":"0"};if("rounded"===e)return{"border-radius":q[""]};if(f=e.match(/^rounded-(none|sm|md|lg|xl|2xl|3xl|full|\[.+])$/))return{"border-radius":q[f[1]]??W(f[1])??f[1]};if(f=e.match(/^rounded-(t|r|b|l|tl|tr|br|bl)(?:-(none|sm|md|lg|xl|2xl|3xl|full))?$/)){const e=f[1],t=q[f[2]??""]??q[""];return{t:{"border-top-left-radius":t,"border-top-right-radius":t},r:{"border-top-right-radius":t,"border-bottom-right-radius":t},b:{"border-bottom-left-radius":t,"border-bottom-right-radius":t},l:{"border-top-left-radius":t,"border-bottom-left-radius":t},tl:{"border-top-left-radius":t},tr:{"border-top-right-radius":t},br:{"border-bottom-right-radius":t},bl:{"border-bottom-left-radius":t}}[e]??{}}const d={0:"0",1:"1px",2:"2px",ring:"3px",4:"4px",8:"8px"};if("ring"===e)return{"box-shadow":"0 0 0 3px var(--tkx-ring-color,var(--tkx-primary))"};if((f=e.match(/^ring-(\d+)$/))&&d[f[1]])return{"box-shadow":`0 0 0 ${d[f[1]]} var(--tkx-ring-color,var(--tkx-primary))`};if("ring-inset"===e)return{"--tkx-ring-offset":"inset"};if(f=e.match(/^ring-offset-(\d+)$/))return{"--tkx-ring-offset-width":`${f[1]}px`,"box-shadow":`0 0 0 ${f[1]}px var(--tkx-bg)`};if("shadow"===e)return{"box-shadow":D[""]};if(f=e.match(/^shadow-(sm|md|lg|xl|2xl|inner|none)$/))return{"box-shadow":D[f[1]]};if(f=e.match(/^opacity-(\d+)$/)){const e=E[f[1]];if(void 0!==e)return{opacity:e}}if("bg-none"===e)return{background:"none"};const p={"bg-auto":"auto","bg-cover":"cover","bg-contain":"contain"};if(p[e])return{"background-size":p[e]};const b={"bg-center":"center","bg-top":"top","bg-bottom":"bottom","bg-left":"left","bg-right":"right"};if(b[e])return{"background-position":b[e]};const m={"bg-repeat":"repeat","bg-no-repeat":"no-repeat","bg-repeat-x":"repeat-x","bg-repeat-y":"repeat-y"};if(m[e])return{"background-repeat":m[e]};if("backdrop-blur"===e)return{"backdrop-filter":`blur(${U[""]})`};if(f=e.match(/^backdrop-blur-(none|sm|md|lg|xl|2xl|3xl)$/))return{"backdrop-filter":`blur(${U[f[1]]})`};if("blur"===e)return{filter:`blur(${U[""]})`};if(f=e.match(/^blur-(none|sm|md|lg|xl|2xl|3xl)$/))return{filter:`blur(${U[f[1]]})`};if("grayscale"===e)return{filter:"grayscale(100%)"};if("grayscale-0"===e)return{filter:"grayscale(0)"};if("invert"===e)return{filter:"invert(100%)"};if("invert-0"===e)return{filter:"invert(0)"};const g={static:"static",relative:"relative",absolute:"absolute",fixed:"fixed",sticky:"sticky"};if(g[e])return{position:g[e]};if("inset-0"===e)return{top:"0",right:"0",bottom:"0",left:"0"};if("inset-auto"===e)return{top:"auto",right:"auto",bottom:"auto",left:"auto"};if("inset-full"===e)return{top:"100%",right:"100%",bottom:"100%",left:"100%"};if("inset-x-0"===e)return{left:"0",right:"0"};if("inset-y-0"===e)return{top:"0",bottom:"0"};if(f=e.match(/^-?top-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{top:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?right-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{right:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?bottom-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{bottom:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?left-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{left:t&&"0"!==r?`-${r}`:r}}const x={0:"0",10:"10",20:"20",30:"30",40:"40",50:"50",100:"100",1e3:"1000",9e3:"9000",auto:"auto"};if(f=e.match(/^z-(.+)$/)){const e=x[f[1]]??W(f[1]);if(e)return{"z-index":e}}const h={"overflow-auto":"auto","overflow-hidden":"hidden","overflow-visible":"visible","overflow-scroll":"scroll","overflow-clip":"clip"};if(h[e])return{overflow:h[e]};if(f=e.match(/^overflow-(x|y)-(auto|hidden|visible|scroll|clip)$/))return{[`overflow-${f[1]}`]:f[2]};if("scrollbar-hide"===e)return{"-ms-overflow-style":"none","scrollbar-width":"none"};if("visible"===e)return{visibility:"visible"};if("invisible"===e)return{visibility:"hidden"};if("collapse"===e)return{visibility:"collapse"};const w={"cursor-auto":"auto","cursor-default":"default","cursor-pointer":"pointer","cursor-wait":"wait","cursor-text":"text","cursor-move":"move","cursor-help":"help","cursor-not-allowed":"not-allowed","cursor-none":"none","cursor-grab":"grab","cursor-grabbing":"grabbing","cursor-zoom-in":"zoom-in","cursor-zoom-out":"zoom-out","cursor-crosshair":"crosshair"};if(w[e])return{cursor:w[e]};if("select-none"===e)return{"user-select":"none"};if("select-text"===e)return{"user-select":"text"};if("select-all"===e)return{"user-select":"all"};if("select-auto"===e)return{"user-select":"auto"};if("pointer-events-none"===e)return{"pointer-events":"none"};if("pointer-events-auto"===e)return{"pointer-events":"auto"};const $={0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"};if(f=e.match(/^scale-(.+)$/)){const e=$[f[1]]??W(f[1]);if(e)return{transform:`scale(${e})`}}if(f=e.match(/^scale-x-(.+)$/)){const e=$[f[1]]??W(f[1]);if(e)return{transform:`scaleX(${e})`}}if(f=e.match(/^scale-y-(.+)$/)){const e=$[f[1]]??W(f[1]);if(e)return{transform:`scaleY(${e})`}}const y={0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"};if(f=e.match(/^-?rotate-(.+)$/)){const t=e.startsWith("-"),r=y[f[1]]??W(f[1]);if(r)return{transform:t?`rotate(-${r})`:`rotate(${r})`}}if(f=e.match(/^-?translate-x-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{transform:`translateX(${t&&"0"!==r?`-${r}`:r})`}}if(f=e.match(/^-?translate-y-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{transform:`translateY(${t&&"0"!==r?`-${r}`:r})`}}if(f=e.match(/^-?skew-x-(.+)$/)){const t=e.startsWith("-"),r=W(f[1])??`${f[1]}deg`;return{transform:t?`skewX(-${r})`:`skewX(${r})`}}if(f=e.match(/^-?skew-y-(.+)$/)){const t=e.startsWith("-"),r=W(f[1])??`${f[1]}deg`;return{transform:t?`skewY(-${r})`:`skewY(${r})`}}const v={"origin-center":"center","origin-top":"top","origin-top-right":"top right","origin-right":"right","origin-bottom-right":"bottom right","origin-bottom":"bottom","origin-bottom-left":"bottom left","origin-left":"left","origin-top-left":"top left"};if(v[e])return{"transform-origin":v[e]};const k={transition:"color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter","transition-all":"all","transition-colors":"color,background-color,border-color,text-decoration-color,fill,stroke","transition-opacity":"opacity","transition-shadow":"box-shadow","transition-transform":"transform","transition-none":"none"};if(k[e])return{"transition-property":k[e],"transition-timing-function":"cubic-bezier(0.4,0,0.2,1)","transition-duration":"150ms"};const j={75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"};if(f=e.match(/^duration-(.+)$/)){const e=j[f[1]]??W(f[1]);if(e)return{"transition-duration":e}}if(f=e.match(/^delay-(.+)$/)){const e=j[f[1]]??W(f[1]);if(e)return{"transition-delay":e}}const z={"ease-linear":"linear","ease-in":"cubic-bezier(0.4,0,1,1)","ease-out":"cubic-bezier(0,0,0.2,1)","ease-in-out":"cubic-bezier(0.4,0,0.2,1)"};if(z[e])return{"transition-timing-function":z[e]};const O={"animate-none":"none","animate-spin":"tkx-spin 1s linear infinite","animate-ping":"tkx-ping 1s cubic-bezier(0,0,0.2,1) infinite","animate-pulse":"tkx-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite","animate-bounce":"tkx-bounce 1s infinite","animate-fade-in":"tkx-fade-in 200ms ease both","animate-slide-up":"tkx-slide-up 200ms ease both","animate-shimmer":"tkx-shimmer 1.5s infinite"};if(O[e])return{animation:O[e]};const S={"object-contain":"contain","object-cover":"cover","object-fill":"fill","object-none":"none","object-scale-down":"scale-down"};return S[e]?{"object-fit":S[e]}:"aspect-square"===e?{"aspect-ratio":"1 / 1"}:"aspect-video"===e?{"aspect-ratio":"16 / 9"}:"aspect-auto"===e?{"aspect-ratio":"auto"}:(f=e.match(/^aspect-\[(.+)]$/))?{"aspect-ratio":f[1]}:"list-none"===e?{"list-style-type":"none"}:"list-disc"===e?{"list-style-type":"disc"}:"list-decimal"===e?{"list-style-type":"decimal"}:"list-inside"===e?{"list-style-position":"inside"}:"list-outside"===e?{"list-style-position":"outside"}:(f=e.match(/^columns-(\d+)$/))?{columns:f[1]}:"resize"===e?{resize:"both"}:"resize-none"===e?{resize:"none"}:"resize-x"===e?{resize:"horizontal"}:"resize-y"===e?{resize:"vertical"}:"sr-only"===e?{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)","white-space":"nowrap",border:"0"}:"not-sr-only"===e?{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",clip:"auto","white-space":"normal"}:"focus-ring"===e?{outline:"2px solid var(--tkx-primary)","outline-offset":"2px","border-radius":"2px"}:"appearance-none"===e?{appearance:"none"}:"outline-none"===e?{outline:"none"}:"outline"===e?{outline:"2px solid currentColor","outline-offset":"2px"}:"float-left"===e?{float:"left"}:"float-right"===e?{float:"right"}:"float-none"===e?{float:"none"}:"clear-both"===e?{clear:"both"}:"isolate"===e?{isolation:"isolate"}:"isolation-auto"===e?{isolation:"auto"}:(f=e.match(/^will-change-(.+)$/))?{"will-change":f[1]}:"touch-manipulation"===e?{"touch-action":"manipulation"}:"touch-none"===e?{"touch-action":"none"}:"touch-pan-x"===e?{"touch-action":"pan-x"}:"touch-pan-y"===e?{"touch-action":"pan-y"}:"scroll-smooth"===e?{"scroll-behavior":"smooth"}:"scroll-auto"===e?{"scroll-behavior":"auto"}:(f=e.match(/^\[(--[a-zA-Z0-9-]+):(.+)]$/))?{[f[1]]:f[2]}:xe(e)||null}function ee(e){let t=0,r=-1;for(let n=0;n<e.length;n++)if("["===e[n])t++;else if("]"===e[n])t--;else if(":"===e[n]&&0===t){r=n;break}return-1===r?{variant:null,utility:e}:{variant:e.slice(0,r),utility:e.slice(r+1)}}function te(e,t){for(const[r,n]of Object.entries(t))e[r]=n}function re(e){return Object.entries(e).map(([e,t])=>`${e}:${t}`).join(";")}var ne=new Map,oe=null,ie=null;function se(){return oe&&oe.isConnected||(oe=document.getElementById("tkx-atomic"))||((oe=document.createElement("style")).id="tkx-atomic",document.head.appendChild(oe)),oe}function ae(e){const t=[];for(const r of e)if(r)if("string"==typeof r)t.push(...r.split(/\s+/).filter(Boolean));else if(Array.isArray(r))t.push(...ae(r));else if("object"==typeof r)for(const[e,n]of Object.entries(r))n&&t.push(e);return t}function le(...t){const r=ae(t);if(0===r.length)return"";const n={base:{},variants:{}};for(const e of r){const{variant:t,utility:r}=ee(e),o=Q(r);o&&(t?(n.variants[t]||(n.variants[t]={}),te(n.variants[t],o)):te(n.base,o))}const o=[],i=re(n.base),s=e.fnv1aHash([i,...Object.entries(n.variants).map(([e,t])=>`${e}{${re(t)}}`)].join("|")),a=`tkx-${s}`;i&&o.push(`.${a}{${i}}`);for(const[e,l]of Object.entries(n.variants)){const t=re(l);if(t)if(e.startsWith("@")){const r=R[e.slice(1)];r&&o.push(`@media(min-width:${r}){.${a}{${t}}}`)}else if("motion-safe"===e)o.push(`@media(prefers-reduced-motion:no-preference){.${a}{${t}}}`);else if("motion-reduce"===e)o.push(`@media(prefers-reduced-motion:reduce){.${a}{${t}}}`);else if("contrast-more"===e)o.push(`@media(prefers-contrast:more){.${a}{${t}}}`);else if("forced-colors"===e)o.push(`@media(forced-colors:active){.${a}{${t}}}`);else if("dark"===e)o.push(`@media(prefers-color-scheme:dark){.${a}{${t}}}`);else if("print"===e)o.push(`@media print{.${a}{${t}}}`);else if("group-hover"===e)o.push(`.group:hover .${a}{${t}}`);else if("group-focus"===e)o.push(`.group:focus-within .${a}{${t}}`);else if("peer-hover"===e)o.push(`.peer:hover~.${a}{${t}}`);else{const r={hover:":hover",focus:":focus","focus-visible":":focus-visible","focus-within":":focus-within",active:":active",disabled:":disabled",checked:":checked",required:":required",valid:":valid",invalid:":invalid",first:":first-child",last:":last-child",odd:":nth-child(odd)",even:":nth-child(even)","first-of-type":":first-of-type","last-of-type":":last-of-type","only-child":":only-child","only-of-type":":only-of-type",empty:":empty",visited:":visited",target:":target","placeholder-shown":":placeholder-shown","read-only":":read-only",before:"::before",after:"::after",placeholder:"::placeholder",selection:"::selection","file-selector":"::file-selector-button",marker:"::marker"}[e]??`:${e}`;o.push(`.${a}${r}{${t}}`)}}return o.length>0&&function(e,t){if(ne.has(e))return;if(ne.set(e,t),"undefined"==typeof document)return;const r=function(){if(ie)return ie;try{const e=new CSSStyleSheet;return document.adoptedStyleSheets=[...document.adoptedStyleSheets,e],ie=e,e}catch{return null}}();if(r){const e=function(e){const t=[];let r=0,n=0;for(let o=0;o<e.length;o++)if("{"===e[o])r++;else if("}"===e[o]&&(r--,0===r)){const r=e.slice(n,o+1).trim();r&&t.push(r),n=o+1}return t}(t);for(const t of e)try{r.insertRule(t,r.cssRules.length)}catch{se().textContent+=t+"\n"}}else se().textContent+=t+"\n"}(s,o.join("")),a}var ce=le;function fe(){return Array.from(ne.values()).join("\n")}function ue(){ne.clear(),oe=null,ie&&"undefined"!=typeof document&&(document.adoptedStyleSheets=document.adoptedStyleSheets.filter(e=>e!==ie),ie=null)}function de(...e){return e.filter(Boolean).join(" ")}var pe=new Map;function be(e){pe.set(e.name,e.utilities)}function me(e){pe.delete(e)}function ge(){return Array.from(pe.keys())}function xe(e){for(const t of pe.values())if(t[e])return t[e];return null}Object.defineProperty(exports,"SecurityCore",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"Shield",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"audit",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"buildTkxCSP",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"createRateLimiter",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"cx",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"deepFreeze",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"extractAtomicCSS",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"getAuditLog",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"installFrameBuster",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"installTrustedTypes",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"isFramed",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"isSafeAttrName",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"resetAtomicCSS",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"resolvePluginUtility",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"sanitizeCSS",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"sanitizeHTML",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"sanitizeHref",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"sanitizeJSON",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"sanitizeProps",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"sanitizeString",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"sanitizeUnicode",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"scrubPII",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"sniffMimeType",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"tkx",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"tkxListPlugins",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"tkxPlugin",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"tkxRemovePlugin",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"tx",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"validateProps",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"verifyAuditIntegrity",{enumerable:!0,get:function(){return f}});
1
+ const e=require("./chunk-BpuJ3-K8.js");var t={"<":"&lt;",">":"&gt;","&":"&amp;","'":"&#39;",'"':"&quot;","`":"&#96;"};function r(e){let r=String(e);return r=r.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,""),r.replace(/[<>&'"`]/g,e=>t[e]??e)}function n(e){const t={};for(const r of Object.keys(e))t[r]=o(e[r]);return t}function o(e){return"string"==typeof e?r(e):Array.isArray(e)?e.map(o):null===e||"object"!=typeof e||function(e){return"object"==typeof e&&null!==e&&"$$typeof"in e}(e)?e:n(e)}function i(e,t){const r=[];for(const[n,o]of Object.entries(t)){const t=e[n],i=null==t;o.required&&i?r.push(`prop '${n}' is required`):i||(typeof t===o.type?("number"===o.type&&"number"==typeof t&&(void 0!==o.min&&t<o.min&&r.push(`prop '${n}' must be >= ${o.min}`),void 0!==o.max&&t>o.max&&r.push(`prop '${n}' must be <= ${o.max}`)),"string"===o.type&&"string"==typeof t&&o.pattern&&!o.pattern.test(t)&&r.push(`prop '${n}' does not match pattern ${o.pattern}`),o.enum&&!o.enum.includes(t)&&r.push(`prop '${n}' must be one of: ${o.enum.join(", ")}`)):r.push(`prop '${n}' must be of type ${o.type}, got ${typeof t}`))}return{valid:0===r.length,errors:r}}var s=new Map,a=[];function l(t,r,n){const o=e.fnv1aHash(JSON.stringify(n??{})),i=e.fnv1aHash((a.length>0?a[a.length-1].chainHash:"00000000")+o+r+t),s=Object.freeze({timestamp:Date.now(),component:r,action:t,propsHash:o,chainHash:i});return a=Object.freeze([...a,s]),s}function c(e){let t=a;return e?.component&&(t=t.filter(t=>t.component===e.component)),e?.action&&(t=t.filter(t=>t.action===e.action)),e?.limit&&(t=t.slice(-e.limit)),t}function f(){let t="00000000";for(const r of a){if(e.fnv1aHash(t+r.propsHash+r.component+r.action)!==r.chainHash)return!1;t=r.chainHash}return!0}function u(e){if("string"!=typeof e)return null;const t=e.trim();if(!t)return null;const r=t.replace(/[\u0000-\u001F\u007F]/g,"");return/^javascript:/i.test(r)||/^vbscript:/i.test(r)||/^data:/i.test(r)&&!/^data:image\//i.test(r)||/^file:/i.test(r)?null:r}var d=new Set(["a","abbr","b","blockquote","br","code","del","div","em","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","li","mark","ol","p","pre","q","s","samp","small","span","strong","sub","sup","table","tbody","td","tfoot","th","thead","tr","u","ul"]),p={a:new Set(["href","title","target","rel"]),img:new Set(["src","alt","title","width","height","loading","decoding"]),th:new Set(["scope","colspan","rowspan","align"]),td:new Set(["colspan","rowspan","align"]),"*":new Set(["id","class","lang","dir","title"])},b=new Set(["constructor","prototype","__proto__","submit","reset","action","method","enctype","target","elements","children","firstChild","nextSibling","parentNode","ownerDocument","cookie","domain","location","documentElement","body","head","title","contentWindow","contentDocument"]);function m(e){if("string"!=typeof e)return"";if("undefined"==typeof DOMParser)return r(e);const t=(new DOMParser).parseFromString(`<div>${e}</div>`,"text/html").body.firstElementChild;return t?(g(t),t.innerHTML):""}function g(e){const t=Array.from(e.children);for(const r of t){const e=r.tagName.toLowerCase();if(d.has(e)){for(const t of Array.from(r.attributes)){const n=t.name.toLowerCase();if(n.startsWith("on"))r.removeAttribute(t.name);else if(b.has(n))r.removeAttribute(t.name);else if("style"!==n)if((p[e]??new Set).has(n)||p["*"].has(n)){if(("href"===n||"src"===n)&&"string"==typeof t.value){const e=u(t.value);null===e?r.removeAttribute(t.name):r.setAttribute(t.name,e)}"name"!==n&&"id"!==n||!b.has(t.value.toLowerCase())||r.removeAttribute(t.name)}else r.removeAttribute(t.name);else r.setAttribute("style",x(t.value))}g(r)}else r.remove()}}function x(e){if("string"!=typeof e)return"";let t=e;return t=t.replace(/expression\s*\([^)]*\)/gi,""),t=t.replace(/url\s*\(\s*['"]?\s*(javascript|vbscript|data)\s*:[^)]*\)/gi,"url(#)"),t=t.replace(/@import[^;]*;?/gi,""),t=t.replace(/behavior\s*:[^;]*;?/gi,""),t=t.replace(/-moz-binding[^;]*;?/gi,""),t=t.replace(/[<>]/g,""),t=t.replace(/[\u0000-\u001F\u007F]/g,""),t.trim()}var h=new Set(["__proto__","constructor","prototype"]);function w(e){try{return $(JSON.parse(e,(e,t)=>{if(!h.has(e))return t}))}catch{return null}}function $(e){if(Array.isArray(e))return e.map($);if(e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))h.has(r)||(t[r]=$(n));return t}return e}function y(e){return!("string"!=typeof e||!e||/[\u0000-\u001F\u007F<>"]/.test(e)||b.has(e.toLowerCase()))}function v(e){return"string"!=typeof e?"":e.replace(/[\u200B-\u200F\u202A-\u202E\u2060-\u206F\uFEFF\u00AD]/g,"")}function k(e={}){const{allowInlineStyles:t=!0,imgHosts:r=[],connectHosts:n=[],fontHosts:o=[],scriptNonce:i,reportUri:s}=e,a=["default-src 'self'","script-src "+(i?`'self' 'nonce-${i}'`:"'self'"),"style-src "+(t?"'self' 'unsafe-inline'":"'self'"),`img-src ${["'self'","data:","https:",...r].join(" ")}`,`font-src ${["'self'","https:","data:",...o].join(" ")}`,`connect-src ${["'self'",...n].join(" ")}`,"frame-ancestors 'none'","form-action 'self'","base-uri 'self'","object-src 'none'","upgrade-insecure-requests"];return s&&a.push(`report-uri ${s}`),a.join("; ")}function j(){if("undefined"==typeof window)return;const e=window.trustedTypes;if(e)try{e.createPolicy("tkx",{createHTML:m,createScriptURL:e=>u(e)??"",createScript:()=>{throw new Error("TekiVex: inline script creation forbidden")}})}catch{}}function z(){if("undefined"==typeof window)return!1;try{return window.top!==window.self}catch{return!0}}function O(e){if("undefined"!=typeof window&&z())if(e)e();else try{window.top.location.href=window.self.location.href}catch{}}function S(e,t){let r=e,n=Date.now();return{check(){const o=Date.now(),i=o-n,s=Math.floor(i/t);return s>0&&(r=Math.min(e,r+s),n=o),!(r<=0||(r-=1,0))},reset(){r=e,n=Date.now()}}}async function A(e){const t=new Uint8Array(await e.slice(0,12).arrayBuffer()),r=(...e)=>e.every((e,r)=>t[r]===e);return r(137,80,78,71)?"image/png":r(255,216,255)?"image/jpeg":r(71,73,70,56)?"image/gif":r(66,77)?"image/bmp":r(82,73,70,70)&&87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?"image/webp":r(37,80,68,70)?"application/pdf":r(80,75,3,4)?"application/zip":123===t[0]||91===t[0]?"application/json":[...t].includes(0)?null:"text/plain"}var F=[{name:"ssn",re:/\b\d{3}-\d{2}-\d{4}\b/g,repl:"[redacted-ssn]"},{name:"credit",re:/\b(?:\d[ -]*?){13,19}\b/g,repl:"[redacted-card]"},{name:"email",re:/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,repl:"[redacted-email]"},{name:"phone",re:/\b(\+?\d{1,3}[ -])?\(?\d{3}\)?[ -]?\d{3}[ -]?\d{4}\b/g,repl:"[redacted-phone]"},{name:"apikey",re:/\b(sk|pk|rk)-[A-Za-z0-9]{20,}\b/g,repl:"[redacted-key]"}];function P(e){if("string"!=typeof e)return"";let t=e;for(const{re:r,repl:n}of F)t=t.replace(r,n);return t}function C(e){if(e&&"object"==typeof e&&!Object.isFrozen(e)){for(const t of Object.keys(e))C(e[t]);Object.freeze(e)}return e}var M=Object.freeze({sanitizeString:r,sanitizeHref:u,sanitizeHTML:m,sanitizeCSS:x,sanitizeJSON:w,sanitizeUnicode:v,isSafeAttrName:y,buildTkxCSP:k,installTrustedTypes:j,isFramed:z,installFrameBuster:O,createRateLimiter:S,sniffMimeType:A,scrubPII:P,deepFreeze:C,__brand:"TekiVex SecurityCore v2.6.0 © 007krcs"}),T={sanitize:r,sanitizeProps:n,validateProps:i,createCSP:function(e,t){const r={componentId:e,permissions:t,directives:{"default-src":["'self'"],"style-src":t.allowInlineStyles?["'self'","'unsafe-inline'"]:["'self'"],"img-src":t.allowDataUrls?["'self'","data:"]:t.allowExternalSrc?["'self'","*"]:["'self'"],"script-src":t.allowScripts?["'self'"]:["'none'"]}};return s.set(e,r),r},hasPermission:function(e,t){return!0===s.get(e)?.permissions[t]},audit:l,getAuditLog:c,verifyAuditIntegrity:f},_={0:"0",px:"1px",.5:"2px",1:"4px",1.5:"6px",2:"8px",2.5:"10px",3:"12px",3.5:"14px",4:"16px",5:"20px",6:"24px",7:"28px",8:"32px",9:"36px",10:"40px",11:"44px",12:"48px",14:"56px",16:"64px",20:"80px",24:"96px",28:"112px",32:"128px",36:"144px",40:"160px",44:"176px",48:"192px",52:"208px",56:"224px",60:"240px",64:"256px",72:"288px",80:"320px",96:"384px",auto:"auto",full:"100%",screen:"100vw",svh:"100svh",dvh:"100dvh",fit:"fit-content",max:"max-content",min:"min-content"},H={..._,screen:"100vh"},I={"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","5/6":"83.333333%","1/12":"8.333333%","5/12":"41.666667%","7/12":"58.333333%","11/12":"91.666667%"},q={none:"0",sm:"2px","":"4px",md:"6px",lg:"8px",xl:"12px","2xl":"16px","3xl":"24px",full:"9999px"},D={sm:"0 1px 2px 0 rgba(0,0,0,.05)","":"0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)",md:"0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)",lg:"0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)",xl:"0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)","2xl":"0 25px 50px -12px rgba(0,0,0,.25)",inner:"inset 0 2px 4px 0 rgba(0,0,0,.05)",none:"none"},L={xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},N={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},Z={none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:"0.75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},B={tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},U={none:"0",sm:"4px","":"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},E=Object.fromEntries([0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100].map(e=>[String(e),String(e/100)])),J=new Set(["bg","surface","surfaceAlt","border","text","textMuted","primary","secondary","danger","warning","success","info"]),R={sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},X=/javascript\s*:|vbscript\s*:|data\s*:\s*text\/html|data\s*:\s*text\/javascript|expression\s*\(|[\r\n\x00]/i,Y=new Set(["behavior","-moz-binding","-webkit-binding","src"]),V=new Set(["width","min-width","max-width","height","min-height","max-height","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","position","top","right","bottom","left","z-index","inset","flex","flex-grow","flex-shrink","flex-basis","flex-direction","flex-wrap","align-items","align-self","align-content","justify-content","justify-items","justify-self","gap","row-gap","column-gap","grid-template-columns","grid-template-rows","grid-column","grid-row","grid-area","grid-template-areas","font-size","font-weight","font-family","font-style","line-height","letter-spacing","text-align","text-decoration","text-transform","text-overflow","white-space","word-break","word-wrap","overflow-wrap","color","background","background-color","background-image","background-position","background-size","background-repeat","opacity","border","border-top","border-right","border-bottom","border-left","border-width","border-style","border-color","border-radius","outline","outline-offset","box-shadow","text-shadow","filter","backdrop-filter","transform","transition","animation","display","overflow","overflow-x","overflow-y","visibility","pointer-events","cursor","user-select","aspect-ratio","object-fit","object-position","list-style","vertical-align","float","clear","resize","scroll-behavior","content"]);function G(e){return X.test(e)||e.includes("}")||e.includes("{")||e.includes("<")||e.includes(">")?null:e}function W(e){const t=e.match(/^\[(.+)]$/);return t?G(t[1]):null}function K(e){return J.has(e)?`var(--tkx-${e})`:"transparent"===e?"transparent":"current"===e?"currentColor":"white"===e?"#ffffff":"black"===e?"#000000":"inherit"===e?"inherit":W(e)||(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(e),e)}function Q(e){const t=e.match(/^\[([a-zA-Z-]+):(.+)]$/);if(t){const e=function(e){const t=e.toLowerCase().trim();return Y.has(t)?null:V.has(t)?t:null}(t[1]),r=G(t[2]);return e&&r?{[e]:r}:null}const r={flex:"flex","inline-flex":"inline-flex",grid:"grid","inline-grid":"inline-grid",block:"block","inline-block":"inline-block",inline:"inline",hidden:"none",contents:"contents","flow-root":"flow-root",table:"table","table-row":"table-row","table-cell":"table-cell","table-caption":"table-caption","list-item":"list-item"};if(r[e])return{display:r[e]};const n={"flex-row":"row","flex-col":"column","flex-row-reverse":"row-reverse","flex-col-reverse":"column-reverse"};if(n[e])return{"flex-direction":n[e]};const o={"flex-wrap":"wrap","flex-nowrap":"nowrap","flex-wrap-reverse":"wrap-reverse"};if(o[e])return{"flex-wrap":o[e]};const i={"flex-1":"1 1 0%","flex-auto":"1 1 auto","flex-none":"none","flex-initial":"0 1 auto"};if(i[e])return{flex:i[e]};if("grow"===e||"flex-grow"===e)return{"flex-grow":"1"};if("grow-0"===e)return{"flex-grow":"0"};if("shrink"===e||"flex-shrink"===e)return{"flex-shrink":"1"};if("shrink-0"===e||"flex-shrink-0"===e)return{"flex-shrink":"0"};const s={"items-start":"flex-start","items-end":"flex-end","items-center":"center","items-stretch":"stretch","items-baseline":"baseline"};if(s[e])return{"align-items":s[e]};const a={"justify-start":"flex-start","justify-end":"flex-end","justify-center":"center","justify-between":"space-between","justify-around":"space-around","justify-evenly":"space-evenly","justify-stretch":"stretch","justify-normal":"normal"};if(a[e])return{"justify-content":a[e]};const l={"self-auto":"auto","self-start":"flex-start","self-end":"flex-end","self-center":"center","self-stretch":"stretch","self-baseline":"baseline"};if(l[e])return{"align-self":l[e]};const c={"content-start":"flex-start","content-end":"flex-end","content-center":"center","content-between":"space-between","content-around":"space-around","content-evenly":"space-evenly","content-stretch":"stretch"};if(c[e])return{"align-content":c[e]};let f;if(f=e.match(/^grid-cols-(\d+|none|subgrid)$/))return{"grid-template-columns":"none"===f[1]?"none":"subgrid"===f[1]?"subgrid":`repeat(${f[1]},minmax(0,1fr))`};if(f=e.match(/^grid-rows-(\d+|none|subgrid)$/))return{"grid-template-rows":"none"===f[1]?"none":"subgrid"===f[1]?"subgrid":`repeat(${f[1]},minmax(0,1fr))`};if(f=e.match(/^col-span-(full|\d+)$/))return{"grid-column":"full"===f[1]?"1 / -1":`span ${f[1]} / span ${f[1]}`};if(f=e.match(/^col-start-(\d+|auto)$/))return{"grid-column-start":f[1]};if(f=e.match(/^col-end-(\d+|auto)$/))return{"grid-column-end":f[1]};if(f=e.match(/^row-span-(full|\d+)$/))return{"grid-row":"full"===f[1]?"1 / -1":`span ${f[1]} / span ${f[1]}`};if(f=e.match(/^row-start-(\d+|auto)$/))return{"grid-row-start":f[1]};if(f=e.match(/^row-end-(\d+|auto)$/))return{"grid-row-end":f[1]};if("grid-flow-row"===e)return{"grid-auto-flow":"row"};if("grid-flow-col"===e)return{"grid-auto-flow":"column"};if("grid-flow-dense"===e)return{"grid-auto-flow":"dense"};if("grid-flow-row-dense"===e)return{"grid-auto-flow":"row dense"};if("grid-flow-col-dense"===e)return{"grid-auto-flow":"column dense"};if(f=e.match(/^p-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{padding:e}}if(f=e.match(/^px-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-left":e,"padding-right":e}}if(f=e.match(/^py-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-top":e,"padding-bottom":e}}if(f=e.match(/^pt-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-top":e}}if(f=e.match(/^pr-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-right":e}}if(f=e.match(/^pb-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-bottom":e}}if(f=e.match(/^pl-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"padding-left":e}}if(f=e.match(/^-?m-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{margin:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?mx-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r){const e=t&&"0"!==r?`-${r}`:r;return{"margin-left":e,"margin-right":e}}}if(f=e.match(/^-?my-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r){const e=t&&"0"!==r?`-${r}`:r;return{"margin-top":e,"margin-bottom":e}}}if(f=e.match(/^-?mt-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-top":t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?mr-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-right":t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?mb-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-bottom":t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?ml-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??W(f[1]);if(r)return{"margin-left":t&&"0"!==r?`-${r}`:r}}if("mx-auto"===e)return{"margin-left":"auto","margin-right":"auto"};if("my-auto"===e)return{"margin-top":"auto","margin-bottom":"auto"};if(f=e.match(/^gap-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{gap:e}}if(f=e.match(/^gap-x-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"column-gap":e}}if(f=e.match(/^gap-y-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"row-gap":e}}if(f=e.match(/^w-(.+)$/)){const e=f[1],t=_[e]??I[e]??W(e);if(t)return{width:t}}if(f=e.match(/^min-w-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"min-width":e}}if(f=e.match(/^max-w-(.+)$/)){const e={none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",screen:"100vw",min:"min-content",max:"max-content",fit:"fit-content"}[f[1]]??_[f[1]]??W(f[1]);if(e)return{"max-width":e}}if(f=e.match(/^h-(.+)$/)){const e=f[1],t=H[e]??I[e]??W(e);if(t)return{height:t}}if(f=e.match(/^min-h-(.+)$/)){const e={0:"0",full:"100%",screen:"100vh",svh:"100svh",dvh:"100dvh"}[f[1]]??_[f[1]]??W(f[1]);if(e)return{"min-height":e}}if(f=e.match(/^max-h-(.+)$/)){const e=H[f[1]]??W(f[1]);if(e)return{"max-height":e}}if(f=e.match(/^size-(.+)$/)){const e=_[f[1]]??I[f[1]]??W(f[1]);if(e)return{width:e,height:e}}if(f=e.match(/^text-(xs|sm|base|lg|[2-9]xl|\d+xl)$/)){const[e,t]=L[f[1]]??["1rem","1.5rem"];return{"font-size":e,"line-height":t}}if(f=e.match(/^font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black|\d+)$/))return{"font-weight":N[f[1]]??f[1]};if(f=e.match(/^leading-(.+)$/)){const e=Z[f[1]]??W(f[1]);if(e)return{"line-height":e}}if(f=e.match(/^tracking-(.+)$/)){const e=B[f[1]]??W(f[1]);if(e)return{"letter-spacing":e}}const u={"text-left":"left","text-center":"center","text-right":"right","text-justify":"justify","text-start":"start","text-end":"end"};if(u[e])return{"text-align":u[e]};if("italic"===e)return{"font-style":"italic"};if("not-italic"===e)return{"font-style":"normal"};if("uppercase"===e)return{"text-transform":"uppercase"};if("lowercase"===e)return{"text-transform":"lowercase"};if("capitalize"===e)return{"text-transform":"capitalize"};if("normal-case"===e)return{"text-transform":"none"};if("underline"===e)return{"text-decoration-line":"underline"};if("overline"===e)return{"text-decoration-line":"overline"};if("line-through"===e)return{"text-decoration-line":"line-through"};if("no-underline"===e)return{"text-decoration-line":"none"};if("truncate"===e)return{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"};if("text-ellipsis"===e)return{"text-overflow":"ellipsis"};if("text-clip"===e)return{"text-overflow":"clip"};if("whitespace-normal"===e)return{"white-space":"normal"};if("whitespace-nowrap"===e)return{"white-space":"nowrap"};if("whitespace-pre"===e)return{"white-space":"pre"};if("whitespace-pre-wrap"===e)return{"white-space":"pre-wrap"};if("whitespace-pre-line"===e)return{"white-space":"pre-line"};if("break-words"===e)return{"overflow-wrap":"break-word"};if("break-all"===e)return{"word-break":"break-all"};if("break-keep"===e)return{"word-break":"keep-all"};if("font-mono"===e)return{"font-family":"var(--tkx-font-mono,monospace)"};if("font-sans"===e)return{"font-family":"var(--tkx-font-family,system-ui,sans-serif)"};if("font-serif"===e)return{"font-family":"ui-serif,Georgia,serif"};if("antialiased"===e)return{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"};if(f=e.match(/^indent-(.+)$/)){const e=_[f[1]]??W(f[1]);if(e)return{"text-indent":e}}if(f=e.match(/^line-clamp-(\d+)$/))return{overflow:"hidden",display:"-webkit-box","-webkit-line-clamp":f[1],"-webkit-box-orient":"vertical"};if(f=e.match(/^text-(.+)$/)){const[e,t]=f[1].split("/"),r=K(e);if(!["left","center","right","justify","start","end","xs","sm","base","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","9xl"].includes(e)){if(t){const e=parseInt(t)/100;return{color:r,opacity:String(e)}}return{color:r}}}if(f=e.match(/^bg-(.+)$/)){const[e,t]=f[1].split("/"),r=K(e);return t?{"background-color":r,opacity:String(parseInt(t)/100)}:"none"===e?{background:"none"}:{"background-color":r}}if(f=e.match(/^border-color-(.+)$/))return{"border-color":K(f[1])};if(f=e.match(/^fill-(.+)$/))return{fill:K(f[1])};if(f=e.match(/^stroke-(.+)$/))return{stroke:K(f[1])};if(f=e.match(/^shadow-color-(.+)$/))return{"--tkx-shadow-color":K(f[1])};if(f=e.match(/^ring-color-(.+)$/))return{"--tkx-ring-color":K(f[1])};if(f=e.match(/^accent-(.+)$/))return{"accent-color":K(f[1])};if(f=e.match(/^caret-(.+)$/))return{"caret-color":K(f[1])};if(f=e.match(/^outline-color-(.+)$/))return{"outline-color":K(f[1])};if("border"===e)return{"border-width":"1px"};if(f=e.match(/^border-(\d+)$/))return{"border-width":`${f[1]}px`};if("border-t"===e)return{"border-top-width":"1px"};if(f=e.match(/^border-t-(\d+)$/))return{"border-top-width":`${f[1]}px`};if("border-r"===e)return{"border-right-width":"1px"};if(f=e.match(/^border-r-(\d+)$/))return{"border-right-width":`${f[1]}px`};if("border-b"===e)return{"border-bottom-width":"1px"};if(f=e.match(/^border-b-(\d+)$/))return{"border-bottom-width":`${f[1]}px`};if("border-l"===e)return{"border-left-width":"1px"};if(f=e.match(/^border-l-(\d+)$/))return{"border-left-width":`${f[1]}px`};if("border-x"===e)return{"border-left-width":"1px","border-right-width":"1px"};if("border-y"===e)return{"border-top-width":"1px","border-bottom-width":"1px"};if("border-none"===e)return{"border-style":"none"};if("border-solid"===e)return{"border-style":"solid"};if("border-dashed"===e)return{"border-style":"dashed"};if("border-dotted"===e)return{"border-style":"dotted"};if("border-double"===e)return{"border-style":"double"};if((f=e.match(/^border-([a-zA-Z].*)$/))&&J.has(f[1]))return{"border-color":`var(--tkx-${f[1]})`};if(f=e.match(/^border-\[(.+)]$/))return{"border-color":f[1]};if("border-0"===e)return{"border-width":"0"};if("rounded"===e)return{"border-radius":q[""]};if(f=e.match(/^rounded-(none|sm|md|lg|xl|2xl|3xl|full|\[.+])$/))return{"border-radius":q[f[1]]??W(f[1])??f[1]};if(f=e.match(/^rounded-(t|r|b|l|tl|tr|br|bl)(?:-(none|sm|md|lg|xl|2xl|3xl|full))?$/)){const e=f[1],t=q[f[2]??""]??q[""];return{t:{"border-top-left-radius":t,"border-top-right-radius":t},r:{"border-top-right-radius":t,"border-bottom-right-radius":t},b:{"border-bottom-left-radius":t,"border-bottom-right-radius":t},l:{"border-top-left-radius":t,"border-bottom-left-radius":t},tl:{"border-top-left-radius":t},tr:{"border-top-right-radius":t},br:{"border-bottom-right-radius":t},bl:{"border-bottom-left-radius":t}}[e]??{}}const d={0:"0",1:"1px",2:"2px",ring:"3px",4:"4px",8:"8px"};if("ring"===e)return{"box-shadow":"0 0 0 3px var(--tkx-ring-color,var(--tkx-primary))"};if((f=e.match(/^ring-(\d+)$/))&&d[f[1]])return{"box-shadow":`0 0 0 ${d[f[1]]} var(--tkx-ring-color,var(--tkx-primary))`};if("ring-inset"===e)return{"--tkx-ring-offset":"inset"};if(f=e.match(/^ring-offset-(\d+)$/))return{"--tkx-ring-offset-width":`${f[1]}px`,"box-shadow":`0 0 0 ${f[1]}px var(--tkx-bg)`};if("shadow"===e)return{"box-shadow":D[""]};if(f=e.match(/^shadow-(sm|md|lg|xl|2xl|inner|none)$/))return{"box-shadow":D[f[1]]};if(f=e.match(/^opacity-(\d+)$/)){const e=E[f[1]];if(void 0!==e)return{opacity:e}}if("bg-none"===e)return{background:"none"};const p={"bg-auto":"auto","bg-cover":"cover","bg-contain":"contain"};if(p[e])return{"background-size":p[e]};const b={"bg-center":"center","bg-top":"top","bg-bottom":"bottom","bg-left":"left","bg-right":"right"};if(b[e])return{"background-position":b[e]};const m={"bg-repeat":"repeat","bg-no-repeat":"no-repeat","bg-repeat-x":"repeat-x","bg-repeat-y":"repeat-y"};if(m[e])return{"background-repeat":m[e]};if("backdrop-blur"===e)return{"backdrop-filter":`blur(${U[""]})`};if(f=e.match(/^backdrop-blur-(none|sm|md|lg|xl|2xl|3xl)$/))return{"backdrop-filter":`blur(${U[f[1]]})`};if("blur"===e)return{filter:`blur(${U[""]})`};if(f=e.match(/^blur-(none|sm|md|lg|xl|2xl|3xl)$/))return{filter:`blur(${U[f[1]]})`};if("grayscale"===e)return{filter:"grayscale(100%)"};if("grayscale-0"===e)return{filter:"grayscale(0)"};if("invert"===e)return{filter:"invert(100%)"};if("invert-0"===e)return{filter:"invert(0)"};const g={static:"static",relative:"relative",absolute:"absolute",fixed:"fixed",sticky:"sticky"};if(g[e])return{position:g[e]};if("inset-0"===e)return{top:"0",right:"0",bottom:"0",left:"0"};if("inset-auto"===e)return{top:"auto",right:"auto",bottom:"auto",left:"auto"};if("inset-full"===e)return{top:"100%",right:"100%",bottom:"100%",left:"100%"};if("inset-x-0"===e)return{left:"0",right:"0"};if("inset-y-0"===e)return{top:"0",bottom:"0"};if(f=e.match(/^-?top-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{top:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?right-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{right:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?bottom-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{bottom:t&&"0"!==r?`-${r}`:r}}if(f=e.match(/^-?left-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{left:t&&"0"!==r?`-${r}`:r}}const x={0:"0",10:"10",20:"20",30:"30",40:"40",50:"50",100:"100",1e3:"1000",9e3:"9000",auto:"auto"};if(f=e.match(/^z-(.+)$/)){const e=x[f[1]]??W(f[1]);if(e)return{"z-index":e}}const h={"overflow-auto":"auto","overflow-hidden":"hidden","overflow-visible":"visible","overflow-scroll":"scroll","overflow-clip":"clip"};if(h[e])return{overflow:h[e]};if(f=e.match(/^overflow-(x|y)-(auto|hidden|visible|scroll|clip)$/))return{[`overflow-${f[1]}`]:f[2]};if("scrollbar-hide"===e)return{"-ms-overflow-style":"none","scrollbar-width":"none"};if("visible"===e)return{visibility:"visible"};if("invisible"===e)return{visibility:"hidden"};if("collapse"===e)return{visibility:"collapse"};const w={"cursor-auto":"auto","cursor-default":"default","cursor-pointer":"pointer","cursor-wait":"wait","cursor-text":"text","cursor-move":"move","cursor-help":"help","cursor-not-allowed":"not-allowed","cursor-none":"none","cursor-grab":"grab","cursor-grabbing":"grabbing","cursor-zoom-in":"zoom-in","cursor-zoom-out":"zoom-out","cursor-crosshair":"crosshair"};if(w[e])return{cursor:w[e]};if("select-none"===e)return{"user-select":"none"};if("select-text"===e)return{"user-select":"text"};if("select-all"===e)return{"user-select":"all"};if("select-auto"===e)return{"user-select":"auto"};if("pointer-events-none"===e)return{"pointer-events":"none"};if("pointer-events-auto"===e)return{"pointer-events":"auto"};const $={0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"};if(f=e.match(/^scale-(.+)$/)){const e=$[f[1]]??W(f[1]);if(e)return{transform:`scale(${e})`}}if(f=e.match(/^scale-x-(.+)$/)){const e=$[f[1]]??W(f[1]);if(e)return{transform:`scaleX(${e})`}}if(f=e.match(/^scale-y-(.+)$/)){const e=$[f[1]]??W(f[1]);if(e)return{transform:`scaleY(${e})`}}const y={0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"};if(f=e.match(/^-?rotate-(.+)$/)){const t=e.startsWith("-"),r=y[f[1]]??W(f[1]);if(r)return{transform:t?`rotate(-${r})`:`rotate(${r})`}}if(f=e.match(/^-?translate-x-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{transform:`translateX(${t&&"0"!==r?`-${r}`:r})`}}if(f=e.match(/^-?translate-y-(.+)$/)){const t=e.startsWith("-"),r=_[f[1]]??I[f[1]]??W(f[1]);if(r)return{transform:`translateY(${t&&"0"!==r?`-${r}`:r})`}}if(f=e.match(/^-?skew-x-(.+)$/)){const t=e.startsWith("-"),r=W(f[1])??`${f[1]}deg`;return{transform:t?`skewX(-${r})`:`skewX(${r})`}}if(f=e.match(/^-?skew-y-(.+)$/)){const t=e.startsWith("-"),r=W(f[1])??`${f[1]}deg`;return{transform:t?`skewY(-${r})`:`skewY(${r})`}}const v={"origin-center":"center","origin-top":"top","origin-top-right":"top right","origin-right":"right","origin-bottom-right":"bottom right","origin-bottom":"bottom","origin-bottom-left":"bottom left","origin-left":"left","origin-top-left":"top left"};if(v[e])return{"transform-origin":v[e]};const k={transition:"color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter","transition-all":"all","transition-colors":"color,background-color,border-color,text-decoration-color,fill,stroke","transition-opacity":"opacity","transition-shadow":"box-shadow","transition-transform":"transform","transition-none":"none"};if(k[e])return{"transition-property":k[e],"transition-timing-function":"cubic-bezier(0.4,0,0.2,1)","transition-duration":"150ms"};const j={75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"};if(f=e.match(/^duration-(.+)$/)){const e=j[f[1]]??W(f[1]);if(e)return{"transition-duration":e}}if(f=e.match(/^delay-(.+)$/)){const e=j[f[1]]??W(f[1]);if(e)return{"transition-delay":e}}const z={"ease-linear":"linear","ease-in":"cubic-bezier(0.4,0,1,1)","ease-out":"cubic-bezier(0,0,0.2,1)","ease-in-out":"cubic-bezier(0.4,0,0.2,1)"};if(z[e])return{"transition-timing-function":z[e]};const O={"animate-none":"none","animate-spin":"tkx-spin 1s linear infinite","animate-ping":"tkx-ping 1s cubic-bezier(0,0,0.2,1) infinite","animate-pulse":"tkx-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite","animate-bounce":"tkx-bounce 1s infinite","animate-fade-in":"tkx-fade-in 200ms ease both","animate-slide-up":"tkx-slide-up 200ms ease both","animate-shimmer":"tkx-shimmer 1.5s infinite"};if(O[e])return{animation:O[e]};const S={"object-contain":"contain","object-cover":"cover","object-fill":"fill","object-none":"none","object-scale-down":"scale-down"};return S[e]?{"object-fit":S[e]}:"aspect-square"===e?{"aspect-ratio":"1 / 1"}:"aspect-video"===e?{"aspect-ratio":"16 / 9"}:"aspect-auto"===e?{"aspect-ratio":"auto"}:(f=e.match(/^aspect-\[(.+)]$/))?{"aspect-ratio":f[1]}:"list-none"===e?{"list-style-type":"none"}:"list-disc"===e?{"list-style-type":"disc"}:"list-decimal"===e?{"list-style-type":"decimal"}:"list-inside"===e?{"list-style-position":"inside"}:"list-outside"===e?{"list-style-position":"outside"}:(f=e.match(/^columns-(\d+)$/))?{columns:f[1]}:"resize"===e?{resize:"both"}:"resize-none"===e?{resize:"none"}:"resize-x"===e?{resize:"horizontal"}:"resize-y"===e?{resize:"vertical"}:"sr-only"===e?{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)","white-space":"nowrap",border:"0"}:"not-sr-only"===e?{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",clip:"auto","white-space":"normal"}:"focus-ring"===e?{outline:"2px solid var(--tkx-primary)","outline-offset":"2px","border-radius":"2px"}:"appearance-none"===e?{appearance:"none"}:"outline-none"===e?{outline:"none"}:"outline"===e?{outline:"2px solid currentColor","outline-offset":"2px"}:"float-left"===e?{float:"left"}:"float-right"===e?{float:"right"}:"float-none"===e?{float:"none"}:"clear-both"===e?{clear:"both"}:"isolate"===e?{isolation:"isolate"}:"isolation-auto"===e?{isolation:"auto"}:(f=e.match(/^will-change-(.+)$/))?{"will-change":f[1]}:"touch-manipulation"===e?{"touch-action":"manipulation"}:"touch-none"===e?{"touch-action":"none"}:"touch-pan-x"===e?{"touch-action":"pan-x"}:"touch-pan-y"===e?{"touch-action":"pan-y"}:"scroll-smooth"===e?{"scroll-behavior":"smooth"}:"scroll-auto"===e?{"scroll-behavior":"auto"}:(f=e.match(/^\[(--[a-zA-Z0-9-]+):(.+)]$/))?{[f[1]]:f[2]}:xe(e)||null}function ee(e){let t=0,r=-1;for(let n=0;n<e.length;n++)if("["===e[n])t++;else if("]"===e[n])t--;else if(":"===e[n]&&0===t){r=n;break}return-1===r?{variant:null,utility:e}:{variant:e.slice(0,r),utility:e.slice(r+1)}}function te(e,t){for(const[r,n]of Object.entries(t))e[r]=n}function re(e){return Object.entries(e).map(([e,t])=>`${e}:${t}`).join(";")}var ne=new Map,oe=null,ie=null;function se(){return oe&&oe.isConnected||(oe=document.getElementById("tkx-atomic"))||((oe=document.createElement("style")).id="tkx-atomic",document.head.appendChild(oe)),oe}function ae(e){const t=[];for(const r of e)if(r)if("string"==typeof r)t.push(...r.split(/\s+/).filter(Boolean));else if(Array.isArray(r))t.push(...ae(r));else if("object"==typeof r)for(const[e,n]of Object.entries(r))n&&t.push(e);return t}function le(...t){const r=ae(t);if(0===r.length)return"";const n={base:{},variants:{}};for(const e of r){const{variant:t,utility:r}=ee(e),o=Q(r);o&&(t?(n.variants[t]||(n.variants[t]={}),te(n.variants[t],o)):te(n.base,o))}const o=[],i=re(n.base),s=e.fnv1aHash([i,...Object.entries(n.variants).map(([e,t])=>`${e}{${re(t)}}`)].join("|")),a=`tkx-${s}`;i&&o.push(`.${a}{${i}}`);for(const[e,l]of Object.entries(n.variants)){const t=re(l);if(t)if(e.startsWith("@")){const r=R[e.slice(1)];r&&o.push(`@media(min-width:${r}){.${a}{${t}}}`)}else if("motion-safe"===e)o.push(`@media(prefers-reduced-motion:no-preference){.${a}{${t}}}`);else if("motion-reduce"===e)o.push(`@media(prefers-reduced-motion:reduce){.${a}{${t}}}`);else if("contrast-more"===e)o.push(`@media(prefers-contrast:more){.${a}{${t}}}`);else if("forced-colors"===e)o.push(`@media(forced-colors:active){.${a}{${t}}}`);else if("dark"===e)o.push(`@media(prefers-color-scheme:dark){.${a}{${t}}}`);else if("print"===e)o.push(`@media print{.${a}{${t}}}`);else if("group-hover"===e)o.push(`.group:hover .${a}{${t}}`);else if("group-focus"===e)o.push(`.group:focus-within .${a}{${t}}`);else if("peer-hover"===e)o.push(`.peer:hover~.${a}{${t}}`);else{const r={hover:":hover",focus:":focus","focus-visible":":focus-visible","focus-within":":focus-within",active:":active",disabled:":disabled",checked:":checked",required:":required",valid:":valid",invalid:":invalid",first:":first-child",last:":last-child",odd:":nth-child(odd)",even:":nth-child(even)","first-of-type":":first-of-type","last-of-type":":last-of-type","only-child":":only-child","only-of-type":":only-of-type",empty:":empty",visited:":visited",target:":target","placeholder-shown":":placeholder-shown","read-only":":read-only",before:"::before",after:"::after",placeholder:"::placeholder",selection:"::selection","file-selector":"::file-selector-button",marker:"::marker"}[e]??`:${e}`;o.push(`.${a}${r}{${t}}`)}}return o.length>0&&function(e,t){if(ne.has(e))return;if(ne.set(e,t),"undefined"==typeof document)return;const r=function(){if(ie)return ie;try{const e=new CSSStyleSheet;return document.adoptedStyleSheets=[...document.adoptedStyleSheets,e],ie=e,e}catch{return null}}();if(r){const e=function(e){const t=[];let r=0,n=0;for(let o=0;o<e.length;o++)if("{"===e[o])r++;else if("}"===e[o]&&(r--,0===r)){const r=e.slice(n,o+1).trim();r&&t.push(r),n=o+1}return t}(t);for(const t of e)try{r.insertRule(t,r.cssRules.length)}catch{se().textContent+=t+"\n"}}else se().textContent+=t+"\n"}(s,o.join("")),a}var ce=le;function fe(){return Array.from(ne.values()).join("\n")}function ue(){ne.clear(),oe=null,ie&&"undefined"!=typeof document&&(document.adoptedStyleSheets=document.adoptedStyleSheets.filter(e=>e!==ie),ie=null)}function de(...e){return e.filter(Boolean).join(" ")}var pe=new Map;function be(e){pe.set(e.name,e.utilities)}function me(e){pe.delete(e)}function ge(){return Array.from(pe.keys())}function xe(e){for(const t of pe.values())if(t[e])return t[e];return null}Object.defineProperty(exports,"SecurityCore",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"Shield",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"audit",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"buildTkxCSP",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"createRateLimiter",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"cx",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"deepFreeze",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"extractAtomicCSS",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"getAuditLog",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"installFrameBuster",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"installTrustedTypes",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"isFramed",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"isSafeAttrName",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"resetAtomicCSS",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"resolvePluginUtility",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"sanitizeCSS",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"sanitizeHTML",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"sanitizeHref",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"sanitizeJSON",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"sanitizeProps",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"sanitizeString",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"sanitizeUnicode",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"scrubPII",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"sniffMimeType",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"tkx",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"tkxListPlugins",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"tkxPlugin",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"tkxRemovePlugin",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"tx",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"validateProps",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"verifyAuditIntegrity",{enumerable:!0,get:function(){return f}});