@yuktishaalaa/yuktai 5.2.0 → 5.3.1

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.
@@ -0,0 +1 @@
1
+ var H="[data-yuktai-panel]";function B(){return typeof window<"u"&&typeof document<"u"}function Ht(t){return typeof t=="object"&&t!==null&&t.nodeType===9}function Vt(t){return t||(B()?document:null)}function Wt(t,o,n={}){return Array.from(t.querySelectorAll(o)).filter(r=>!r.closest(H)&&(n.includeHidden||V(r)))}function V(t){if(!B()||t.closest("[hidden],[aria-hidden='true']"))return!1;let o=t;for(;o;){let n=window.getComputedStyle(o);if(n.display==="none"||n.visibility==="hidden")return!1;o=o.parentElement}return!0}function h(t){return(t??"").replace(/\s+/g," ").trim()}function Yt(t,o=60){let n=h(t);return n.length>o?`${n.slice(0,o-1)}\u2026`:n}function qt(t){let o=[],n=t;for(;n&&n.nodeType===1&&o.length<4;){let r=n.tagName.toLowerCase();if(n.id&&/^[A-Za-z][\w-]*$/.test(n.id)){o.unshift(`${r}#${n.id}`);break}let e=n.parentElement;if(!e){o.unshift(r);break}let a=Array.from(e.children).filter(l=>l.tagName===n.tagName);o.unshift(a.length>1?`${r}:nth-of-type(${a.indexOf(n)+1})`:r),n=e}return o.join(" > ")}function W(t,o){return t.split(/\s+/).map(n=>h(o.getElementById(n)?.textContent)).filter(Boolean).join(" ")}function Ut(t){let o=t.ownerDocument,n=t.getAttribute("aria-labelledby");if(n){let a=W(n,o);if(a)return a}let r=h(t.getAttribute("aria-label"));if(r)return r;let e=t.tagName.toLowerCase();if(e==="input"||e==="select"||e==="textarea"){let a=t.getAttribute("id");if(a){let u=o.querySelector(`label[for="${Y(a)}"]`),d=h(u?.textContent);if(d)return d}let l=t.closest("label");if(l){let u=h(l.textContent);if(u)return u}let i=(t.getAttribute("type")??"").toLowerCase();if(i==="submit"||i==="button"||i==="reset")return h(t.getAttribute("value"))||(i==="submit"?"Submit":"");if(i==="image")return h(t.getAttribute("alt"))}if(e==="img")return h(t.getAttribute("alt"));if(e==="button"||e==="a"||t.getAttribute("role")){let a=h(t.textContent);if(a)return a;let l=Array.from(t.querySelectorAll("img[alt], svg[aria-label]")).map(i=>h(i.getAttribute("alt")??i.getAttribute("aria-label"))).filter(Boolean).join(" ");if(l)return l}return h(t.getAttribute("title"))}function Y(t){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(t):t.replace(/["\\]/g,"\\$&")}function b(t){if(!t)return null;let o=t.trim().toLowerCase();if(o==="transparent")return{r:0,g:0,b:0,a:0};let n=o.match(/^rgba?\(([^)]+)\)$/);if(n){let e=n[1].split(/[\s,/]+/).filter(Boolean),[a,l,i]=e.slice(0,3).map(Number),u=e[3],d=u===void 0?1:u.endsWith("%")?Number(u.slice(0,-1))/100:Number(u);return[a,l,i,d].some(m=>!Number.isFinite(m))?null:{r:a,g:l,b:i,a:d}}let r=o.match(/^#([0-9a-f]{3,8})$/);if(r){let e=r[1];return(e.length===3||e.length===4)&&(e=e.split("").map(a=>a+a).join("")),e.length!==6&&e.length!==8?null:{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16),a:e.length===8?parseInt(e.slice(6,8),16)/255:1}}return null}function P(t,o){let n=t.a+o.a*(1-t.a);if(n===0)return{r:0,g:0,b:0,a:0};let r=(e,a)=>(e*t.a+a*o.a*(1-t.a))/n;return{r:r(t.r,o.r),g:r(t.g,o.g),b:r(t.b,o.b),a:n}}function k(t){let o=n=>{let r=n/255;return r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)};return .2126*o(t.r)+.7152*o(t.g)+.0722*o(t.b)}function N(t,o){let n=o.a<1?P(o,{r:255,g:255,b:255,a:1}):o,r=t.a<1?P(t,n):t,e=k(r),a=k(n),[l,i]=e>a?[e,a]:[a,e];return Math.round((l+.05)/(i+.05)*100)/100}function Kt(t){let o=[],n=t;for(;n;){let e=window.getComputedStyle(n);if(e.backgroundImage&&e.backgroundImage!=="none")return null;let a=b(e.backgroundColor);if(a&&a.a>0&&(o.push(a),a.a>=1))break;n=n.parentElement}let r={r:255,g:255,b:255,a:1};for(let e=o.length-1;e>=0;e--)r=P(o[e],r);return r}function Zt(t){let o=window.getComputedStyle(t),n=parseFloat(o.fontSize)||16,r=parseInt(o.fontWeight,10)||400;return n>=24||n>=18.66&&r>=700}function Jt(t){return Array.from(t.childNodes).some(o=>o.nodeType===3&&h(o.textContent).length>0)}var Qt="a[href],button,input:not([type='hidden']),select,textarea,summary,[tabindex]:not([tabindex='-1']),[contenteditable='true']",Xt="a[href],button,input:not([type='hidden']),select,textarea,summary,[role='button'],[role='link'],[role='checkbox'],[role='tab'],[role='menuitem']";var f={accessibility:'<circle cx="12" cy="4" r="2"/><path d="M4 8l8-1 8 1M12 7v5m-5 9 5-8 5 8M7 12l-2 5m12-5 2 5"/>',contrast:'<circle cx="12" cy="12" r="9"/><path d="M12 3a9 9 0 0 0 0 18z"/>',moon:'<path d="M20 14.5A8.5 8.5 0 0 1 9.5 4 8.5 8.5 0 1 0 20 14.5z"/>',motion:'<path d="M4 12h12m-5-5 5 5-5 5M20 5v14"/>',reading:'<path d="M4 5h16M4 10h12M4 15h16M4 20h10"/>',target:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/>',speaker:'<path d="M4 9v6h4l5 4V5L8 9H4z"/><path d="M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11"/>',palette:'<circle cx="12" cy="12" r="9"/><circle cx="8" cy="10" r="1.3"/><circle cx="12" cy="7.5" r="1.3"/><circle cx="16" cy="10" r="1.3"/><path d="M12 21a3 3 0 0 1 0-6h2"/>',skip:'<path d="M5 5l7 7-7 7M13 5l7 7-7 7"/>',close:'<path d="m18 6-12 12M6 6l12 12"/>',plus:'<path d="M12 5v14M5 12h14"/>',minus:'<path d="M5 12h14"/>',reset:'<path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/>',search:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5"/>',sort:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',sortUp:'<path d="m6 15 6-6 6 6"/>',sortDown:'<path d="m6 9 6 6 6-6"/>',chevrons:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',grid:'<rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/>',cards:'<rect x="3" y="4" width="18" height="7" rx="1.5"/><rect x="3" y="13" width="18" height="7" rx="1.5"/>',chat:'<path d="M21 11.5a8.5 8.5 0 0 1-8.5 8.5 9 9 0 0 1-4-.9L3 21l1.9-5.5a9 9 0 0 1-.9-4A8.5 8.5 0 0 1 12.5 3H13a8.5 8.5 0 0 1 8 8z"/>',mic:'<rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 10a7 7 0 0 0 14 0M12 17v5m-4 0h8"/>',stop:'<rect x="6" y="6" width="12" height="12" rx="2"/>',download:'<path d="M12 3v12m-5-5 5 5 5-5M4 21h16"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',filter:'<path d="M4 5h16l-6 7v6l-4 2v-8z"/>',check:'<path d="m5 12 4 4L19 6"/>',left:'<path d="m15 18-6-6 6-6"/>',right:'<path d="m9 18 6-6-6-6"/>',first:'<path d="m11 18-6-6 6-6M19 18l-6-6 6-6"/>',last:'<path d="m13 18 6-6-6-6M5 18l6-6-6-6"/>',spark:'<path d="m12 3 1.9 5.8L20 11l-6.1 2.2L12 19l-1.9-5.8L4 11l6.1-2.2zM19 14l1.2 2.8L23 18l-2.8 1.2L19 22l-1.2-2.8L15 18l2.8-1.2z"/>',alert:'<path d="m12 3 10 18H2L12 3z"/><path d="M12 9v5m0 3h.01"/>',info:'<circle cx="12" cy="12" r="9"/><path d="M12 11v6m0-9h.01"/>',form:'<rect x="5" y="3" width="14" height="18" rx="2"/><path d="M9 8h6M9 12h6M9 16h3"/>',eye:'<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/>',layout:'<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/>',wand:'<path d="m15 4 5 5L9 20H4v-5z"/><path d="m13 6 5 5"/>',undo:'<path d="M9 14 4 9l5-5"/><path d="M4 9h10a6 6 0 0 1 0 12h-3"/>',tools:'<path d="M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z"/>',plug:'<path d="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4"/>'},q=Object.keys(f);var $=3,w="#ffffff",R="#111827";function C(t,o){let n=b(t),r=b(o);return n&&r?N(n,r):null}function E(t){let o=C(w,t),n=C(R,t);return o===null||n===null||o>=n?w:R}var L=new Set;function U(t,o){L.has(t)||(L.add(t),typeof console<"u"&&console.warn(`[yuktai icons] ${o}`))}function M(t={}){let o=t.variant==="filled"?"filled":"outline",n=t.color||"currentColor";if(o==="outline")return{variant:o,color:n,glyph:n,contrast:null};let r=t.glyphColor||E(n),e=C(r,n);return e!==null&&e<$&&U(`${r}|${n}`,`glyph ${r} on ${n} is ${e}:1. WCAG 1.4.11 needs at least 3:1 for icons.`),{variant:o,color:n,glyph:r,contrast:e}}var S="translate(3.6 3.6) scale(0.7)",v="@media (forced-colors: active){.yi-bg{fill:CanvasText}.yi-glyph{stroke:Canvas}}",g=t=>String(t).replace(/[&<>"']/g,o=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[o]);function K(t,o={}){let n=f[t]??f.spark,r=o.size??20,{variant:e,color:a,glyph:l}=M(o),i=o.strokeWidth??(e==="filled"?2.4:1.9),d=`<svg xmlns="http://www.w3.org/2000/svg" ${o.label?`role="img" aria-label="${g(o.label)}"`:'aria-hidden="true"'} focusable="false" width="${g(r)}" height="${g(r)}" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" data-variant="${e}">`;if(e==="outline")return`${d}<g stroke="${g(a)}" stroke-width="${i}">${n}</g></svg>`;let m=o.shape==="circle"?`<circle class="yi-bg" cx="12" cy="12" r="12" fill="${g(a)}"/>`:`<rect class="yi-bg" width="24" height="24" rx="6" fill="${g(a)}"/>`;return`${d}<style>${v}</style>${m}<g class="yi-glyph" stroke="${g(l)}" stroke-width="${i}" transform="${S}">${n}</g></svg>`}import{Fragment as Z,jsx as x,jsxs as J}from"react/jsx-runtime";function p({size:t=20,color:o,strokeWidth:n,label:r,variant:e,glyphColor:a,shape:l,children:i,...u}){let d=!r,m=M({variant:e,color:o,glyphColor:a,shape:l}),y=m.variant==="filled",A=n??(y?2.6:2.5);return x("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:y?void 0:m.color,strokeWidth:y?void 0:A,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":d?"true":void 0,"aria-label":r,role:r?"img":void 0,focusable:"false","data-variant":m.variant,...u,children:y?J(Z,{children:[x("style",{children:v}),l==="circle"?x("circle",{className:"yi-bg",cx:"12",cy:"12",r:"12",fill:m.color}):x("rect",{className:"yi-bg",width:"24",height:"24",rx:"6",fill:m.color}),x("g",{className:"yi-glyph",stroke:m.glyph,strokeWidth:A,transform:S,children:i})]}):i})}import{jsx as O,jsxs as X}from"react/jsx-runtime";function Q(t){return X(p,{...t,children:[O("circle",{cx:"11",cy:"11",r:"7"}),O("path",{d:"m20 20-4-4"})]})}import{jsx as T,jsxs as tt}from"react/jsx-runtime";function j(t){return tt(p,{...t,children:[T("path",{d:"M12 19V5"}),T("path",{d:"m5 12 7-7 7 7"})]})}import{jsx as G,jsxs as nt}from"react/jsx-runtime";function ot(t){return nt(p,{...t,children:[G("path",{d:"M12 5v14"}),G("path",{d:"m5 12 7 7 7-7"})]})}import{jsx as _}from"react/jsx-runtime";function et(t){return _(p,{...t,children:_("path",{d:"m15 18-6-6 6-6"})})}import{jsx as z}from"react/jsx-runtime";function rt(t){return z(p,{...t,children:z("path",{d:"m9 18 6-6-6-6"})})}import{jsx as F}from"react/jsx-runtime";function ct(t){return F(p,{...t,children:F("path",{d:"M5 12.5 10 17.5 19.5 7"})})}import{jsx as D,jsxs as at}from"react/jsx-runtime";function st(t){return at(p,{...t,children:[D("path",{d:"M18 6 6 18"}),D("path",{d:"m6 6 12 12"})]})}import{jsx as c}from"react/jsx-runtime";function s({name:t,...o}){let n=f[t]??f.spark;return c(p,{...o,children:c("g",{dangerouslySetInnerHTML:{__html:n}})})}var it=t=>c(s,{...t,name:"accessibility"}),lt=t=>c(s,{...t,name:"contrast"}),pt=t=>c(s,{...t,name:"moon"}),ut=t=>c(s,{...t,name:"motion"}),ht=t=>c(s,{...t,name:"reading"}),It=t=>c(s,{...t,name:"target"}),dt=t=>c(s,{...t,name:"speaker"}),mt=t=>c(s,{...t,name:"palette"}),ft=t=>c(s,{...t,name:"skip"}),gt=t=>c(s,{...t,name:"plus"}),xt=t=>c(s,{...t,name:"minus"}),yt=t=>c(s,{...t,name:"reset"}),bt=t=>c(s,{...t,name:"sort"}),Ct=t=>c(s,{...t,name:"chevrons"}),Mt=t=>c(s,{...t,name:"grid"}),Pt=t=>c(s,{...t,name:"cards"}),wt=t=>c(s,{...t,name:"chat"}),St=t=>c(s,{...t,name:"mic"}),vt=t=>c(s,{...t,name:"stop"}),At=t=>c(s,{...t,name:"download"}),kt=t=>c(s,{...t,name:"copy"}),Bt=t=>c(s,{...t,name:"filter"}),Nt=t=>c(s,{...t,name:"first"}),Rt=t=>c(s,{...t,name:"last"}),Lt=t=>c(s,{...t,name:"spark"}),$t=t=>c(s,{...t,name:"alert"}),Et=t=>c(s,{...t,name:"info"}),Ot=t=>c(s,{...t,name:"form"}),Tt=t=>c(s,{...t,name:"eye"}),Gt=t=>c(s,{...t,name:"layout"}),_t=t=>c(s,{...t,name:"wand"}),zt=t=>c(s,{...t,name:"undo"}),Ft=t=>c(s,{...t,name:"tools"}),Dt=t=>c(s,{...t,name:"plug"});export{B as a,Ht as b,Vt as c,Wt as d,h as e,Yt as f,qt as g,Ut as h,b as i,k as j,N as k,Kt as l,Zt as m,Jt as n,Qt as o,Xt as p,f as q,q as r,$ as s,C as t,E as u,M as v,K as w,p as x,Q as y,j as z,ot as A,et as B,rt as C,ct as D,st as E,s as F,it as G,lt as H,pt as I,ut as J,ht as K,It as L,dt as M,mt as N,ft as O,gt as P,xt as Q,yt as R,bt as S,Ct as T,Mt as U,Pt as V,wt as W,St as X,vt as Y,At as Z,kt as _,Bt as $,Nt as aa,Rt as ba,Lt as ca,$t as da,Et as ea,Ot as fa,Tt as ga,Gt as ha,_t as ia,zt as ja,Ft as ka,Dt as la};
@@ -0,0 +1,201 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ declare const ICON_PATHS: {
5
+ readonly accessibility: "<circle cx=\"12\" cy=\"4\" r=\"2\"/><path d=\"M4 8l8-1 8 1M12 7v5m-5 9 5-8 5 8M7 12l-2 5m12-5 2 5\"/>";
6
+ readonly contrast: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3a9 9 0 0 0 0 18z\"/>";
7
+ readonly moon: "<path d=\"M20 14.5A8.5 8.5 0 0 1 9.5 4 8.5 8.5 0 1 0 20 14.5z\"/>";
8
+ readonly motion: "<path d=\"M4 12h12m-5-5 5 5-5 5M20 5v14\"/>";
9
+ readonly reading: "<path d=\"M4 5h16M4 10h12M4 15h16M4 20h10\"/>";
10
+ readonly target: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"4\"/>";
11
+ readonly speaker: "<path d=\"M4 9v6h4l5 4V5L8 9H4z\"/><path d=\"M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11\"/>";
12
+ readonly palette: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"8\" cy=\"10\" r=\"1.3\"/><circle cx=\"12\" cy=\"7.5\" r=\"1.3\"/><circle cx=\"16\" cy=\"10\" r=\"1.3\"/><path d=\"M12 21a3 3 0 0 1 0-6h2\"/>";
13
+ readonly skip: "<path d=\"M5 5l7 7-7 7M13 5l7 7-7 7\"/>";
14
+ readonly close: "<path d=\"m18 6-12 12M6 6l12 12\"/>";
15
+ readonly plus: "<path d=\"M12 5v14M5 12h14\"/>";
16
+ readonly minus: "<path d=\"M5 12h14\"/>";
17
+ readonly reset: "<path d=\"M3 12a9 9 0 1 0 3-6.7L3 8\"/><path d=\"M3 3v5h5\"/>";
18
+ readonly search: "<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m16 16 5 5\"/>";
19
+ readonly sort: "<path d=\"m8 9 4-4 4 4m-8 6 4 4 4-4\"/>";
20
+ readonly sortUp: "<path d=\"m6 15 6-6 6 6\"/>";
21
+ readonly sortDown: "<path d=\"m6 9 6 6 6-6\"/>";
22
+ readonly chevrons: "<path d=\"m8 9 4-4 4 4m-8 6 4 4 4-4\"/>";
23
+ readonly grid: "<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"/>";
24
+ readonly cards: "<rect x=\"3\" y=\"4\" width=\"18\" height=\"7\" rx=\"1.5\"/><rect x=\"3\" y=\"13\" width=\"18\" height=\"7\" rx=\"1.5\"/>";
25
+ readonly chat: "<path d=\"M21 11.5a8.5 8.5 0 0 1-8.5 8.5 9 9 0 0 1-4-.9L3 21l1.9-5.5a9 9 0 0 1-.9-4A8.5 8.5 0 0 1 12.5 3H13a8.5 8.5 0 0 1 8 8z\"/>";
26
+ readonly mic: "<rect x=\"9\" y=\"2\" width=\"6\" height=\"12\" rx=\"3\"/><path d=\"M5 10a7 7 0 0 0 14 0M12 17v5m-4 0h8\"/>";
27
+ readonly stop: "<rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"/>";
28
+ readonly download: "<path d=\"M12 3v12m-5-5 5 5 5-5M4 21h16\"/>";
29
+ readonly copy: "<rect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"2\"/><path d=\"M5 15V5a2 2 0 0 1 2-2h10\"/>";
30
+ readonly filter: "<path d=\"M4 5h16l-6 7v6l-4 2v-8z\"/>";
31
+ readonly check: "<path d=\"m5 12 4 4L19 6\"/>";
32
+ readonly left: "<path d=\"m15 18-6-6 6-6\"/>";
33
+ readonly right: "<path d=\"m9 18 6-6-6-6\"/>";
34
+ readonly first: "<path d=\"m11 18-6-6 6-6M19 18l-6-6 6-6\"/>";
35
+ readonly last: "<path d=\"m13 18 6-6-6-6M5 18l6-6-6-6\"/>";
36
+ readonly spark: "<path d=\"m12 3 1.9 5.8L20 11l-6.1 2.2L12 19l-1.9-5.8L4 11l6.1-2.2zM19 14l1.2 2.8L23 18l-2.8 1.2L19 22l-1.2-2.8L15 18l2.8-1.2z\"/>";
37
+ readonly alert: "<path d=\"m12 3 10 18H2L12 3z\"/><path d=\"M12 9v5m0 3h.01\"/>";
38
+ readonly info: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 11v6m0-9h.01\"/>";
39
+ readonly form: "<rect x=\"5\" y=\"3\" width=\"14\" height=\"18\" rx=\"2\"/><path d=\"M9 8h6M9 12h6M9 16h3\"/>";
40
+ readonly eye: "<path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>";
41
+ readonly layout: "<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/><path d=\"M3 9h18M9 21V9\"/>";
42
+ readonly wand: "<path d=\"m15 4 5 5L9 20H4v-5z\"/><path d=\"m13 6 5 5\"/>";
43
+ readonly undo: "<path d=\"M9 14 4 9l5-5\"/><path d=\"M4 9h10a6 6 0 0 1 0 12h-3\"/>";
44
+ readonly tools: "<path d=\"M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z\"/>";
45
+ readonly plug: "<path d=\"M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4\"/>";
46
+ };
47
+ type IconName = keyof typeof ICON_PATHS;
48
+ declare const ICON_NAMES: IconName[];
49
+
50
+ type IconVariant = "outline" | "filled";
51
+ type IconShape = "circle" | "rounded";
52
+ /** WCAG 1.4.11 minimum for graphical objects. */
53
+ declare const ICON_MIN_CONTRAST = 3;
54
+ interface IconColourOptions {
55
+ variant?: IconVariant;
56
+ /** outline: the line colour · filled: the background colour. Default currentColor. */
57
+ color?: string;
58
+ /** filled only: the glyph colour. Default: white or near-black, whichever contrasts more. */
59
+ glyphColor?: string;
60
+ /** filled only: background shape. Default "rounded". */
61
+ shape?: IconShape;
62
+ }
63
+ /** Contrast between two colours, or null when either is not a hex/rgb() value (e.g. currentColor). */
64
+ declare function iconContrast(fg: string, bg: string): number | null;
65
+ /** Best glyph colour (white or near-black) for a filled background. */
66
+ declare function pickGlyphColor(background: string): string;
67
+ /** Resolved colours for one icon, plus a contrast check (WCAG 1.4.11). */
68
+ declare function resolveIconColours(options?: IconColourOptions): {
69
+ variant: "outline";
70
+ color: string;
71
+ glyph: string;
72
+ contrast: number | null;
73
+ } | {
74
+ variant: "filled";
75
+ color: string;
76
+ glyph: string;
77
+ contrast: number | null;
78
+ };
79
+ interface IconSvgOptions extends IconColourOptions {
80
+ size?: number | string;
81
+ strokeWidth?: number;
82
+ /** Accessible name. Omit for decorative icons. */
83
+ label?: string;
84
+ }
85
+ /** SVG markup for any icon (used by the vanilla build: yuktai.icon). */
86
+ declare function iconSvg(name: IconName | string, options?: IconSvgOptions): string;
87
+
88
+ interface IconProps extends React.SVGAttributes<SVGSVGElement> {
89
+ /** Size in pixels — applied to both width and height. Default: 20 */
90
+ size?: number | string;
91
+ /** outline: line colour · filled: background colour. Default: currentColor */
92
+ color?: string;
93
+ /** Stroke width override — default: 2.5 (outline), 2.6 (filled) */
94
+ strokeWidth?: number;
95
+ /** Accessible label — if provided, icon becomes non-decorative */
96
+ label?: string;
97
+ /** "outline" (default) or "filled" */
98
+ variant?: IconVariant;
99
+ /** filled only: glyph colour. Default: white or near-black, whichever contrasts more */
100
+ glyphColor?: string;
101
+ /** filled only: "rounded" (default) or "circle" */
102
+ shape?: IconShape;
103
+ }
104
+ /**
105
+ * Shared base for all yuktai icons.
106
+ * Children should be SVG path/circle/rect elements.
107
+ */
108
+ declare function IconBase({ size, color, strokeWidth, label, variant, glyphColor, shape, children, ...rest }: IconProps & {
109
+ children: React.ReactNode;
110
+ }): react_jsx_runtime.JSX.Element;
111
+
112
+ declare function SearchIcon(props: IconProps): react_jsx_runtime.JSX.Element;
113
+
114
+ declare function SortUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
115
+
116
+ declare function SortDownIcon(props: IconProps): react_jsx_runtime.JSX.Element;
117
+
118
+ declare function ChevronLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
119
+
120
+ declare function ChevronRightIcon(props: IconProps): react_jsx_runtime.JSX.Element;
121
+
122
+ declare function CheckIcon(props: IconProps): react_jsx_runtime.JSX.Element;
123
+
124
+ declare function CloseIcon(props: IconProps): react_jsx_runtime.JSX.Element;
125
+
126
+ interface YuktaiIconProps extends Omit<IconProps, "name"> {
127
+ /** Icon name, e.g. "mic", "wand", "accessibility". See ICON_NAMES. */
128
+ name: IconName;
129
+ }
130
+ /** Any yuktai icon by name. Paths are fixed constants from paths.ts (never user input). */
131
+ declare function YuktaiIcon({ name, ...props }: YuktaiIconProps): react_jsx_runtime.JSX.Element;
132
+ /** Accessibility settings */
133
+ declare const AccessibilityIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
134
+ /** High contrast */
135
+ declare const ContrastIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
136
+ /** Dark mode */
137
+ declare const MoonIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
138
+ /** Reduce motion */
139
+ declare const MotionIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
140
+ /** Reading / dyslexia support */
141
+ declare const ReadingIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
142
+ /** Large targets */
143
+ declare const TargetIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
144
+ /** Speak on focus */
145
+ declare const SpeakerIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
146
+ /** Colour-blind modes */
147
+ declare const PaletteIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
148
+ /** Skip links */
149
+ declare const SkipIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
150
+ /** Increase / add */
151
+ declare const PlusIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
152
+ /** Decrease / remove */
153
+ declare const MinusIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
154
+ /** Reset */
155
+ declare const ResetIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
156
+ /** Sortable column (unsorted) */
157
+ declare const SortIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
158
+ /** Expand / collapse */
159
+ declare const ChevronsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
160
+ /** Table view */
161
+ declare const GridIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
162
+ /** Card view */
163
+ declare const CardsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
164
+ /** Ask / assistant */
165
+ declare const ChatIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
166
+ /** Voice input */
167
+ declare const MicIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
168
+ /** Stop listening */
169
+ declare const StopIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
170
+ /** Download / export / install */
171
+ declare const DownloadIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
172
+ /** Copy */
173
+ declare const CopyIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
174
+ /** Filter */
175
+ declare const FilterIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
176
+ /** First page */
177
+ declare const FirstIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
178
+ /** Last page */
179
+ declare const LastIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
180
+ /** AI / agentic answer */
181
+ declare const SparkIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
182
+ /** Warning */
183
+ declare const AlertIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
184
+ /** Information */
185
+ declare const InfoIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
186
+ /** Form review */
187
+ declare const FormIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
188
+ /** Show on page / watch */
189
+ declare const EyeIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
190
+ /** Design review */
191
+ declare const LayoutIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
192
+ /** Auto-fix */
193
+ declare const WandIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
194
+ /** Undo */
195
+ declare const UndoIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
196
+ /** Page tools */
197
+ declare const ToolsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
198
+ /** WebMCP / integrations */
199
+ declare const PlugIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
200
+
201
+ export { AccessibilityIcon, AlertIcon, CardsIcon, ChatIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, ChevronsIcon, CloseIcon, ContrastIcon, CopyIcon, DownloadIcon, EyeIcon, FilterIcon, FirstIcon, FormIcon, GridIcon, ICON_MIN_CONTRAST, ICON_NAMES, ICON_PATHS, IconBase, type IconName, type IconProps, type IconShape, type IconSvgOptions, type IconVariant, InfoIcon, LastIcon, LayoutIcon, MicIcon, MinusIcon, MoonIcon, MotionIcon, PaletteIcon, PlugIcon, PlusIcon, ReadingIcon, ResetIcon, SearchIcon, SkipIcon, SortDownIcon, SortIcon, SortUpIcon, SparkIcon, SpeakerIcon, StopIcon, TargetIcon, ToolsIcon, UndoIcon, WandIcon, YuktaiIcon, type YuktaiIconProps, iconContrast, iconSvg, pickGlyphColor, resolveIconColours };
@@ -0,0 +1,201 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ declare const ICON_PATHS: {
5
+ readonly accessibility: "<circle cx=\"12\" cy=\"4\" r=\"2\"/><path d=\"M4 8l8-1 8 1M12 7v5m-5 9 5-8 5 8M7 12l-2 5m12-5 2 5\"/>";
6
+ readonly contrast: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3a9 9 0 0 0 0 18z\"/>";
7
+ readonly moon: "<path d=\"M20 14.5A8.5 8.5 0 0 1 9.5 4 8.5 8.5 0 1 0 20 14.5z\"/>";
8
+ readonly motion: "<path d=\"M4 12h12m-5-5 5 5-5 5M20 5v14\"/>";
9
+ readonly reading: "<path d=\"M4 5h16M4 10h12M4 15h16M4 20h10\"/>";
10
+ readonly target: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"4\"/>";
11
+ readonly speaker: "<path d=\"M4 9v6h4l5 4V5L8 9H4z\"/><path d=\"M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11\"/>";
12
+ readonly palette: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"8\" cy=\"10\" r=\"1.3\"/><circle cx=\"12\" cy=\"7.5\" r=\"1.3\"/><circle cx=\"16\" cy=\"10\" r=\"1.3\"/><path d=\"M12 21a3 3 0 0 1 0-6h2\"/>";
13
+ readonly skip: "<path d=\"M5 5l7 7-7 7M13 5l7 7-7 7\"/>";
14
+ readonly close: "<path d=\"m18 6-12 12M6 6l12 12\"/>";
15
+ readonly plus: "<path d=\"M12 5v14M5 12h14\"/>";
16
+ readonly minus: "<path d=\"M5 12h14\"/>";
17
+ readonly reset: "<path d=\"M3 12a9 9 0 1 0 3-6.7L3 8\"/><path d=\"M3 3v5h5\"/>";
18
+ readonly search: "<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m16 16 5 5\"/>";
19
+ readonly sort: "<path d=\"m8 9 4-4 4 4m-8 6 4 4 4-4\"/>";
20
+ readonly sortUp: "<path d=\"m6 15 6-6 6 6\"/>";
21
+ readonly sortDown: "<path d=\"m6 9 6 6 6-6\"/>";
22
+ readonly chevrons: "<path d=\"m8 9 4-4 4 4m-8 6 4 4 4-4\"/>";
23
+ readonly grid: "<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"/>";
24
+ readonly cards: "<rect x=\"3\" y=\"4\" width=\"18\" height=\"7\" rx=\"1.5\"/><rect x=\"3\" y=\"13\" width=\"18\" height=\"7\" rx=\"1.5\"/>";
25
+ readonly chat: "<path d=\"M21 11.5a8.5 8.5 0 0 1-8.5 8.5 9 9 0 0 1-4-.9L3 21l1.9-5.5a9 9 0 0 1-.9-4A8.5 8.5 0 0 1 12.5 3H13a8.5 8.5 0 0 1 8 8z\"/>";
26
+ readonly mic: "<rect x=\"9\" y=\"2\" width=\"6\" height=\"12\" rx=\"3\"/><path d=\"M5 10a7 7 0 0 0 14 0M12 17v5m-4 0h8\"/>";
27
+ readonly stop: "<rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"/>";
28
+ readonly download: "<path d=\"M12 3v12m-5-5 5 5 5-5M4 21h16\"/>";
29
+ readonly copy: "<rect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"2\"/><path d=\"M5 15V5a2 2 0 0 1 2-2h10\"/>";
30
+ readonly filter: "<path d=\"M4 5h16l-6 7v6l-4 2v-8z\"/>";
31
+ readonly check: "<path d=\"m5 12 4 4L19 6\"/>";
32
+ readonly left: "<path d=\"m15 18-6-6 6-6\"/>";
33
+ readonly right: "<path d=\"m9 18 6-6-6-6\"/>";
34
+ readonly first: "<path d=\"m11 18-6-6 6-6M19 18l-6-6 6-6\"/>";
35
+ readonly last: "<path d=\"m13 18 6-6-6-6M5 18l6-6-6-6\"/>";
36
+ readonly spark: "<path d=\"m12 3 1.9 5.8L20 11l-6.1 2.2L12 19l-1.9-5.8L4 11l6.1-2.2zM19 14l1.2 2.8L23 18l-2.8 1.2L19 22l-1.2-2.8L15 18l2.8-1.2z\"/>";
37
+ readonly alert: "<path d=\"m12 3 10 18H2L12 3z\"/><path d=\"M12 9v5m0 3h.01\"/>";
38
+ readonly info: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 11v6m0-9h.01\"/>";
39
+ readonly form: "<rect x=\"5\" y=\"3\" width=\"14\" height=\"18\" rx=\"2\"/><path d=\"M9 8h6M9 12h6M9 16h3\"/>";
40
+ readonly eye: "<path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>";
41
+ readonly layout: "<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/><path d=\"M3 9h18M9 21V9\"/>";
42
+ readonly wand: "<path d=\"m15 4 5 5L9 20H4v-5z\"/><path d=\"m13 6 5 5\"/>";
43
+ readonly undo: "<path d=\"M9 14 4 9l5-5\"/><path d=\"M4 9h10a6 6 0 0 1 0 12h-3\"/>";
44
+ readonly tools: "<path d=\"M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z\"/>";
45
+ readonly plug: "<path d=\"M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4\"/>";
46
+ };
47
+ type IconName = keyof typeof ICON_PATHS;
48
+ declare const ICON_NAMES: IconName[];
49
+
50
+ type IconVariant = "outline" | "filled";
51
+ type IconShape = "circle" | "rounded";
52
+ /** WCAG 1.4.11 minimum for graphical objects. */
53
+ declare const ICON_MIN_CONTRAST = 3;
54
+ interface IconColourOptions {
55
+ variant?: IconVariant;
56
+ /** outline: the line colour · filled: the background colour. Default currentColor. */
57
+ color?: string;
58
+ /** filled only: the glyph colour. Default: white or near-black, whichever contrasts more. */
59
+ glyphColor?: string;
60
+ /** filled only: background shape. Default "rounded". */
61
+ shape?: IconShape;
62
+ }
63
+ /** Contrast between two colours, or null when either is not a hex/rgb() value (e.g. currentColor). */
64
+ declare function iconContrast(fg: string, bg: string): number | null;
65
+ /** Best glyph colour (white or near-black) for a filled background. */
66
+ declare function pickGlyphColor(background: string): string;
67
+ /** Resolved colours for one icon, plus a contrast check (WCAG 1.4.11). */
68
+ declare function resolveIconColours(options?: IconColourOptions): {
69
+ variant: "outline";
70
+ color: string;
71
+ glyph: string;
72
+ contrast: number | null;
73
+ } | {
74
+ variant: "filled";
75
+ color: string;
76
+ glyph: string;
77
+ contrast: number | null;
78
+ };
79
+ interface IconSvgOptions extends IconColourOptions {
80
+ size?: number | string;
81
+ strokeWidth?: number;
82
+ /** Accessible name. Omit for decorative icons. */
83
+ label?: string;
84
+ }
85
+ /** SVG markup for any icon (used by the vanilla build: yuktai.icon). */
86
+ declare function iconSvg(name: IconName | string, options?: IconSvgOptions): string;
87
+
88
+ interface IconProps extends React.SVGAttributes<SVGSVGElement> {
89
+ /** Size in pixels — applied to both width and height. Default: 20 */
90
+ size?: number | string;
91
+ /** outline: line colour · filled: background colour. Default: currentColor */
92
+ color?: string;
93
+ /** Stroke width override — default: 2.5 (outline), 2.6 (filled) */
94
+ strokeWidth?: number;
95
+ /** Accessible label — if provided, icon becomes non-decorative */
96
+ label?: string;
97
+ /** "outline" (default) or "filled" */
98
+ variant?: IconVariant;
99
+ /** filled only: glyph colour. Default: white or near-black, whichever contrasts more */
100
+ glyphColor?: string;
101
+ /** filled only: "rounded" (default) or "circle" */
102
+ shape?: IconShape;
103
+ }
104
+ /**
105
+ * Shared base for all yuktai icons.
106
+ * Children should be SVG path/circle/rect elements.
107
+ */
108
+ declare function IconBase({ size, color, strokeWidth, label, variant, glyphColor, shape, children, ...rest }: IconProps & {
109
+ children: React.ReactNode;
110
+ }): react_jsx_runtime.JSX.Element;
111
+
112
+ declare function SearchIcon(props: IconProps): react_jsx_runtime.JSX.Element;
113
+
114
+ declare function SortUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
115
+
116
+ declare function SortDownIcon(props: IconProps): react_jsx_runtime.JSX.Element;
117
+
118
+ declare function ChevronLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
119
+
120
+ declare function ChevronRightIcon(props: IconProps): react_jsx_runtime.JSX.Element;
121
+
122
+ declare function CheckIcon(props: IconProps): react_jsx_runtime.JSX.Element;
123
+
124
+ declare function CloseIcon(props: IconProps): react_jsx_runtime.JSX.Element;
125
+
126
+ interface YuktaiIconProps extends Omit<IconProps, "name"> {
127
+ /** Icon name, e.g. "mic", "wand", "accessibility". See ICON_NAMES. */
128
+ name: IconName;
129
+ }
130
+ /** Any yuktai icon by name. Paths are fixed constants from paths.ts (never user input). */
131
+ declare function YuktaiIcon({ name, ...props }: YuktaiIconProps): react_jsx_runtime.JSX.Element;
132
+ /** Accessibility settings */
133
+ declare const AccessibilityIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
134
+ /** High contrast */
135
+ declare const ContrastIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
136
+ /** Dark mode */
137
+ declare const MoonIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
138
+ /** Reduce motion */
139
+ declare const MotionIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
140
+ /** Reading / dyslexia support */
141
+ declare const ReadingIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
142
+ /** Large targets */
143
+ declare const TargetIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
144
+ /** Speak on focus */
145
+ declare const SpeakerIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
146
+ /** Colour-blind modes */
147
+ declare const PaletteIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
148
+ /** Skip links */
149
+ declare const SkipIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
150
+ /** Increase / add */
151
+ declare const PlusIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
152
+ /** Decrease / remove */
153
+ declare const MinusIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
154
+ /** Reset */
155
+ declare const ResetIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
156
+ /** Sortable column (unsorted) */
157
+ declare const SortIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
158
+ /** Expand / collapse */
159
+ declare const ChevronsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
160
+ /** Table view */
161
+ declare const GridIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
162
+ /** Card view */
163
+ declare const CardsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
164
+ /** Ask / assistant */
165
+ declare const ChatIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
166
+ /** Voice input */
167
+ declare const MicIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
168
+ /** Stop listening */
169
+ declare const StopIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
170
+ /** Download / export / install */
171
+ declare const DownloadIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
172
+ /** Copy */
173
+ declare const CopyIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
174
+ /** Filter */
175
+ declare const FilterIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
176
+ /** First page */
177
+ declare const FirstIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
178
+ /** Last page */
179
+ declare const LastIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
180
+ /** AI / agentic answer */
181
+ declare const SparkIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
182
+ /** Warning */
183
+ declare const AlertIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
184
+ /** Information */
185
+ declare const InfoIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
186
+ /** Form review */
187
+ declare const FormIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
188
+ /** Show on page / watch */
189
+ declare const EyeIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
190
+ /** Design review */
191
+ declare const LayoutIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
192
+ /** Auto-fix */
193
+ declare const WandIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
194
+ /** Undo */
195
+ declare const UndoIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
196
+ /** Page tools */
197
+ declare const ToolsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
198
+ /** WebMCP / integrations */
199
+ declare const PlugIcon: (props: IconProps) => react_jsx_runtime.JSX.Element;
200
+
201
+ export { AccessibilityIcon, AlertIcon, CardsIcon, ChatIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, ChevronsIcon, CloseIcon, ContrastIcon, CopyIcon, DownloadIcon, EyeIcon, FilterIcon, FirstIcon, FormIcon, GridIcon, ICON_MIN_CONTRAST, ICON_NAMES, ICON_PATHS, IconBase, type IconName, type IconProps, type IconShape, type IconSvgOptions, type IconVariant, InfoIcon, LastIcon, LayoutIcon, MicIcon, MinusIcon, MoonIcon, MotionIcon, PaletteIcon, PlugIcon, PlusIcon, ReadingIcon, ResetIcon, SearchIcon, SkipIcon, SortDownIcon, SortIcon, SortUpIcon, SparkIcon, SpeakerIcon, StopIcon, TargetIcon, ToolsIcon, UndoIcon, WandIcon, YuktaiIcon, type YuktaiIconProps, iconContrast, iconSvg, pickGlyphColor, resolveIconColours };
package/dist/icons.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";var S=Object.defineProperty;var Nt=Object.getOwnPropertyDescriptor;var Rt=Object.getOwnPropertyNames;var Lt=Object.prototype.hasOwnProperty;var $t=(t,o)=>{for(var n in o)S(t,n,{get:o[n],enumerable:!0})},Et=(t,o,n,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of Rt(o))!Lt.call(t,e)&&e!==n&&S(t,e,{get:()=>o[e],enumerable:!(s=Nt(o,e))||s.enumerable});return t};var Ot=t=>Et(S({},"__esModule",{value:!0}),t);var Gt={};$t(Gt,{AccessibilityIcon:()=>J,AlertIcon:()=>Ct,CardsIcon:()=>ut,ChatIcon:()=>ht,CheckIcon:()=>K,ChevronLeftIcon:()=>q,ChevronRightIcon:()=>U,ChevronsIcon:()=>lt,CloseIcon:()=>Z,ContrastIcon:()=>Q,CopyIcon:()=>ft,DownloadIcon:()=>mt,EyeIcon:()=>wt,FilterIcon:()=>gt,FirstIcon:()=>xt,FormIcon:()=>Pt,GridIcon:()=>pt,ICON_MIN_CONTRAST:()=>k,ICON_NAMES:()=>z,ICON_PATHS:()=>d,IconBase:()=>a,InfoIcon:()=>Mt,LastIcon:()=>yt,LayoutIcon:()=>St,MicIcon:()=>It,MinusIcon:()=>st,MoonIcon:()=>X,MotionIcon:()=>j,PaletteIcon:()=>et,PlugIcon:()=>Bt,PlusIcon:()=>ct,ReadingIcon:()=>tt,ResetIcon:()=>at,SearchIcon:()=>V,SkipIcon:()=>rt,SortDownIcon:()=>Y,SortIcon:()=>it,SortUpIcon:()=>W,SparkIcon:()=>bt,SpeakerIcon:()=>nt,StopIcon:()=>dt,TargetIcon:()=>ot,ToolsIcon:()=>kt,UndoIcon:()=>At,WandIcon:()=>vt,YuktaiIcon:()=>c,iconContrast:()=>x,iconSvg:()=>H,pickGlyphColor:()=>B,resolveIconColours:()=>y});module.exports=Ot(Gt);function v(t){if(!t)return null;let o=t.trim().toLowerCase();if(o==="transparent")return{r:0,g:0,b:0,a:0};let n=o.match(/^rgba?\(([^)]+)\)$/);if(n){let e=n[1].split(/[\s,/]+/).filter(Boolean),[i,I,p]=e.slice(0,3).map(Number),m=e[3],f=m===void 0?1:m.endsWith("%")?Number(m.slice(0,-1))/100:Number(m);return[i,I,p,f].some(u=>!Number.isFinite(u))?null:{r:i,g:I,b:p,a:f}}let s=o.match(/^#([0-9a-f]{3,8})$/);if(s){let e=s[1];return(e.length===3||e.length===4)&&(e=e.split("").map(i=>i+i).join("")),e.length!==6&&e.length!==8?null:{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16),a:e.length===8?parseInt(e.slice(6,8),16)/255:1}}return null}function T(t,o){let n=t.a+o.a*(1-t.a);if(n===0)return{r:0,g:0,b:0,a:0};let s=(e,i)=>(e*t.a+i*o.a*(1-t.a))/n;return{r:s(t.r,o.r),g:s(t.g,o.g),b:s(t.b,o.b),a:n}}function G(t){let o=n=>{let s=n/255;return s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4)};return .2126*o(t.r)+.7152*o(t.g)+.0722*o(t.b)}function _(t,o){let n=o.a<1?T(o,{r:255,g:255,b:255,a:1}):o,s=t.a<1?T(t,n):t,e=G(s),i=G(n),[I,p]=e>i?[e,i]:[i,e];return Math.round((I+.05)/(p+.05)*100)/100}var d={accessibility:'<circle cx="12" cy="4" r="2"/><path d="M4 8l8-1 8 1M12 7v5m-5 9 5-8 5 8M7 12l-2 5m12-5 2 5"/>',contrast:'<circle cx="12" cy="12" r="9"/><path d="M12 3a9 9 0 0 0 0 18z"/>',moon:'<path d="M20 14.5A8.5 8.5 0 0 1 9.5 4 8.5 8.5 0 1 0 20 14.5z"/>',motion:'<path d="M4 12h12m-5-5 5 5-5 5M20 5v14"/>',reading:'<path d="M4 5h16M4 10h12M4 15h16M4 20h10"/>',target:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/>',speaker:'<path d="M4 9v6h4l5 4V5L8 9H4z"/><path d="M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11"/>',palette:'<circle cx="12" cy="12" r="9"/><circle cx="8" cy="10" r="1.3"/><circle cx="12" cy="7.5" r="1.3"/><circle cx="16" cy="10" r="1.3"/><path d="M12 21a3 3 0 0 1 0-6h2"/>',skip:'<path d="M5 5l7 7-7 7M13 5l7 7-7 7"/>',close:'<path d="m18 6-12 12M6 6l12 12"/>',plus:'<path d="M12 5v14M5 12h14"/>',minus:'<path d="M5 12h14"/>',reset:'<path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/>',search:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5"/>',sort:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',sortUp:'<path d="m6 15 6-6 6 6"/>',sortDown:'<path d="m6 9 6 6 6-6"/>',chevrons:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',grid:'<rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/>',cards:'<rect x="3" y="4" width="18" height="7" rx="1.5"/><rect x="3" y="13" width="18" height="7" rx="1.5"/>',chat:'<path d="M21 11.5a8.5 8.5 0 0 1-8.5 8.5 9 9 0 0 1-4-.9L3 21l1.9-5.5a9 9 0 0 1-.9-4A8.5 8.5 0 0 1 12.5 3H13a8.5 8.5 0 0 1 8 8z"/>',mic:'<rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 10a7 7 0 0 0 14 0M12 17v5m-4 0h8"/>',stop:'<rect x="6" y="6" width="12" height="12" rx="2"/>',download:'<path d="M12 3v12m-5-5 5 5 5-5M4 21h16"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',filter:'<path d="M4 5h16l-6 7v6l-4 2v-8z"/>',check:'<path d="m5 12 4 4L19 6"/>',left:'<path d="m15 18-6-6 6-6"/>',right:'<path d="m9 18 6-6-6-6"/>',first:'<path d="m11 18-6-6 6-6M19 18l-6-6 6-6"/>',last:'<path d="m13 18 6-6-6-6M5 18l6-6-6-6"/>',spark:'<path d="m12 3 1.9 5.8L20 11l-6.1 2.2L12 19l-1.9-5.8L4 11l6.1-2.2zM19 14l1.2 2.8L23 18l-2.8 1.2L19 22l-1.2-2.8L15 18l2.8-1.2z"/>',alert:'<path d="m12 3 10 18H2L12 3z"/><path d="M12 9v5m0 3h.01"/>',info:'<circle cx="12" cy="12" r="9"/><path d="M12 11v6m0-9h.01"/>',form:'<rect x="5" y="3" width="14" height="18" rx="2"/><path d="M9 8h6M9 12h6M9 16h3"/>',eye:'<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/>',layout:'<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/>',wand:'<path d="m15 4 5 5L9 20H4v-5z"/><path d="m13 6 5 5"/>',undo:'<path d="M9 14 4 9l5-5"/><path d="M4 9h10a6 6 0 0 1 0 12h-3"/>',tools:'<path d="M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z"/>',plug:'<path d="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4"/>'},z=Object.keys(d);var k=3,A="#ffffff",F="#111827";function x(t,o){let n=v(t),s=v(o);return n&&s?_(n,s):null}function B(t){let o=x(A,t),n=x(F,t);return o===null||n===null||o>=n?A:F}var D=new Set;function Tt(t,o){D.has(t)||(D.add(t),typeof console<"u"&&console.warn(`[yuktai icons] ${o}`))}function y(t={}){let o=t.variant==="filled"?"filled":"outline",n=t.color||"currentColor";if(o==="outline")return{variant:o,color:n,glyph:n,contrast:null};let s=t.glyphColor||B(n),e=x(s,n);return e!==null&&e<k&&Tt(`${s}|${n}`,`glyph ${s} on ${n} is ${e}:1. WCAG 1.4.11 needs at least 3:1 for icons.`),{variant:o,color:n,glyph:s,contrast:e}}var N="translate(3.6 3.6) scale(0.7)",R="@media (forced-colors: active){.yi-bg{fill:CanvasText}.yi-glyph{stroke:Canvas}}",g=t=>String(t).replace(/[&<>"']/g,o=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[o]);function H(t,o={}){let n=d[t]??d.spark,s=o.size??20,{variant:e,color:i,glyph:I}=y(o),p=o.strokeWidth??(e==="filled"?2.4:1.9),f=`<svg xmlns="http://www.w3.org/2000/svg" ${o.label?`role="img" aria-label="${g(o.label)}"`:'aria-hidden="true"'} focusable="false" width="${g(s)}" height="${g(s)}" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" data-variant="${e}">`;if(e==="outline")return`${f}<g stroke="${g(i)}" stroke-width="${p}">${n}</g></svg>`;let u=o.shape==="circle"?`<circle class="yi-bg" cx="12" cy="12" r="12" fill="${g(i)}"/>`:`<rect class="yi-bg" width="24" height="24" rx="6" fill="${g(i)}"/>`;return`${f}<style>${R}</style>${u}<g class="yi-glyph" stroke="${g(I)}" stroke-width="${p}" transform="${N}">${n}</g></svg>`}var h=require("react/jsx-runtime");function a({size:t=20,color:o,strokeWidth:n,label:s,variant:e,glyphColor:i,shape:I,children:p,...m}){let f=!s,u=y({variant:e,color:o,glyphColor:i,shape:I}),w=u.variant==="filled",O=n??(w?2.6:2.5);return(0,h.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:w?void 0:u.color,strokeWidth:w?void 0:O,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":f?"true":void 0,"aria-label":s,role:s?"img":void 0,focusable:"false","data-variant":u.variant,...m,children:w?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("style",{children:R}),I==="circle"?(0,h.jsx)("circle",{className:"yi-bg",cx:"12",cy:"12",r:"12",fill:u.color}):(0,h.jsx)("rect",{className:"yi-bg",width:"24",height:"24",rx:"6",fill:u.color}),(0,h.jsx)("g",{className:"yi-glyph",stroke:u.glyph,strokeWidth:O,transform:N,children:p})]}):p})}var b=require("react/jsx-runtime");function V(t){return(0,b.jsxs)(a,{...t,children:[(0,b.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,b.jsx)("path",{d:"m20 20-4-4"})]})}var C=require("react/jsx-runtime");function W(t){return(0,C.jsxs)(a,{...t,children:[(0,C.jsx)("path",{d:"M12 19V5"}),(0,C.jsx)("path",{d:"m5 12 7-7 7 7"})]})}var M=require("react/jsx-runtime");function Y(t){return(0,M.jsxs)(a,{...t,children:[(0,M.jsx)("path",{d:"M12 5v14"}),(0,M.jsx)("path",{d:"m5 12 7 7 7-7"})]})}var L=require("react/jsx-runtime");function q(t){return(0,L.jsx)(a,{...t,children:(0,L.jsx)("path",{d:"m15 18-6-6 6-6"})})}var $=require("react/jsx-runtime");function U(t){return(0,$.jsx)(a,{...t,children:(0,$.jsx)("path",{d:"m9 18 6-6-6-6"})})}var E=require("react/jsx-runtime");function K(t){return(0,E.jsx)(a,{...t,children:(0,E.jsx)("path",{d:"M5 12.5 10 17.5 19.5 7"})})}var P=require("react/jsx-runtime");function Z(t){return(0,P.jsxs)(a,{...t,children:[(0,P.jsx)("path",{d:"M18 6 6 18"}),(0,P.jsx)("path",{d:"m6 6 12 12"})]})}var r=require("react/jsx-runtime");function c({name:t,...o}){let n=d[t]??d.spark;return(0,r.jsx)(a,{...o,children:(0,r.jsx)("g",{dangerouslySetInnerHTML:{__html:n}})})}var J=t=>(0,r.jsx)(c,{...t,name:"accessibility"}),Q=t=>(0,r.jsx)(c,{...t,name:"contrast"}),X=t=>(0,r.jsx)(c,{...t,name:"moon"}),j=t=>(0,r.jsx)(c,{...t,name:"motion"}),tt=t=>(0,r.jsx)(c,{...t,name:"reading"}),ot=t=>(0,r.jsx)(c,{...t,name:"target"}),nt=t=>(0,r.jsx)(c,{...t,name:"speaker"}),et=t=>(0,r.jsx)(c,{...t,name:"palette"}),rt=t=>(0,r.jsx)(c,{...t,name:"skip"}),ct=t=>(0,r.jsx)(c,{...t,name:"plus"}),st=t=>(0,r.jsx)(c,{...t,name:"minus"}),at=t=>(0,r.jsx)(c,{...t,name:"reset"}),it=t=>(0,r.jsx)(c,{...t,name:"sort"}),lt=t=>(0,r.jsx)(c,{...t,name:"chevrons"}),pt=t=>(0,r.jsx)(c,{...t,name:"grid"}),ut=t=>(0,r.jsx)(c,{...t,name:"cards"}),ht=t=>(0,r.jsx)(c,{...t,name:"chat"}),It=t=>(0,r.jsx)(c,{...t,name:"mic"}),dt=t=>(0,r.jsx)(c,{...t,name:"stop"}),mt=t=>(0,r.jsx)(c,{...t,name:"download"}),ft=t=>(0,r.jsx)(c,{...t,name:"copy"}),gt=t=>(0,r.jsx)(c,{...t,name:"filter"}),xt=t=>(0,r.jsx)(c,{...t,name:"first"}),yt=t=>(0,r.jsx)(c,{...t,name:"last"}),bt=t=>(0,r.jsx)(c,{...t,name:"spark"}),Ct=t=>(0,r.jsx)(c,{...t,name:"alert"}),Mt=t=>(0,r.jsx)(c,{...t,name:"info"}),Pt=t=>(0,r.jsx)(c,{...t,name:"form"}),wt=t=>(0,r.jsx)(c,{...t,name:"eye"}),St=t=>(0,r.jsx)(c,{...t,name:"layout"}),vt=t=>(0,r.jsx)(c,{...t,name:"wand"}),At=t=>(0,r.jsx)(c,{...t,name:"undo"}),kt=t=>(0,r.jsx)(c,{...t,name:"tools"}),Bt=t=>(0,r.jsx)(c,{...t,name:"plug"});
package/dist/icons.mjs ADDED
@@ -0,0 +1 @@
1
+ import{$ as L,A as k,B as l,C as m,D as n,E as o,F as p,G as q,H as r,I as s,J as t,K as u,L as v,M as w,N as x,O as y,P as z,Q as A,R as B,S as C,T as D,U as E,V as F,W as G,X as H,Y as I,Z as J,_ as K,aa as M,ba as N,ca as O,da as P,ea as Q,fa as R,ga as S,ha as T,ia as U,ja as V,ka as W,la as X,q as a,r as b,s as c,t as d,u as e,v as f,w as g,x as h,y as i,z as j}from"./chunk-RQKKMYGR.mjs";export{q as AccessibilityIcon,P as AlertIcon,F as CardsIcon,G as ChatIcon,n as CheckIcon,l as ChevronLeftIcon,m as ChevronRightIcon,D as ChevronsIcon,o as CloseIcon,r as ContrastIcon,K as CopyIcon,J as DownloadIcon,S as EyeIcon,L as FilterIcon,M as FirstIcon,R as FormIcon,E as GridIcon,c as ICON_MIN_CONTRAST,b as ICON_NAMES,a as ICON_PATHS,h as IconBase,Q as InfoIcon,N as LastIcon,T as LayoutIcon,H as MicIcon,A as MinusIcon,s as MoonIcon,t as MotionIcon,x as PaletteIcon,X as PlugIcon,z as PlusIcon,u as ReadingIcon,B as ResetIcon,i as SearchIcon,y as SkipIcon,k as SortDownIcon,C as SortIcon,j as SortUpIcon,O as SparkIcon,w as SpeakerIcon,I as StopIcon,v as TargetIcon,W as ToolsIcon,V as UndoIcon,U as WandIcon,p as YuktaiIcon,d as iconContrast,g as iconSvg,e as pickGlyphColor,f as resolveIconColours};
package/dist/index.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React, { ReactNode, CSSProperties } from 'react';
2
+ import { ReactNode, CSSProperties } from 'react';
3
+ export { AccessibilityIcon, AlertIcon, CardsIcon, ChatIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, ChevronsIcon, CloseIcon, ContrastIcon, CopyIcon, DownloadIcon, EyeIcon, FilterIcon, FirstIcon, FormIcon, GridIcon, ICON_MIN_CONTRAST, ICON_NAMES, ICON_PATHS, IconBase, IconName, IconProps, IconShape, IconSvgOptions, IconVariant, InfoIcon, LastIcon, LayoutIcon, MicIcon, MinusIcon, MoonIcon, MotionIcon, PaletteIcon, PlugIcon, PlusIcon, ReadingIcon, ResetIcon, SearchIcon, SkipIcon, SortDownIcon, SortIcon, SortUpIcon, SparkIcon, SpeakerIcon, StopIcon, TargetIcon, ToolsIcon, UndoIcon, WandIcon, YuktaiIcon, YuktaiIconProps, iconContrast, iconSvg, pickGlyphColor } from './icons.mjs';
3
4
 
4
5
  interface Plugin {
5
6
  name: string;
@@ -655,38 +656,6 @@ declare function useYuktaiGridAgent<T = Record<string, unknown>>({ tools, data,
655
656
  clearHistory: () => void;
656
657
  };
657
658
 
658
- interface IconProps extends React.SVGAttributes<SVGSVGElement> {
659
- /** Size in pixels — applied to both width and height. Default: 20 */
660
- size?: number | string;
661
- /** Stroke color — defaults to currentColor (inherits from parent) */
662
- color?: string;
663
- /** Stroke width override — default: 2.5 */
664
- strokeWidth?: number;
665
- /** Accessible label — if provided, icon becomes non-decorative */
666
- label?: string;
667
- }
668
- /**
669
- * Shared base for all yuktai icons.
670
- * Children should be SVG path/circle/rect elements.
671
- */
672
- declare function IconBase({ size, color, strokeWidth, label, children, ...rest }: IconProps & {
673
- children: React.ReactNode;
674
- }): react_jsx_runtime.JSX.Element;
675
-
676
- declare function SearchIcon(props: IconProps): react_jsx_runtime.JSX.Element;
677
-
678
- declare function SortUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
679
-
680
- declare function SortDownIcon(props: IconProps): react_jsx_runtime.JSX.Element;
681
-
682
- declare function ChevronLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
683
-
684
- declare function ChevronRightIcon(props: IconProps): react_jsx_runtime.JSX.Element;
685
-
686
- declare function CheckIcon(props: IconProps): react_jsx_runtime.JSX.Element;
687
-
688
- declare function CloseIcon(props: IconProps): react_jsx_runtime.JSX.Element;
689
-
690
659
  type AuditRoot = Document | Element;
691
660
  /** The label a screen reader would most likely announce for this element. */
692
661
  declare function accessibleName(el: Element): string;
@@ -1258,4 +1227,4 @@ declare const YuktAI: {
1258
1227
  scan(): A11yReport;
1259
1228
  };
1260
1229
 
1261
- export { type A11yConfig, type A11yCopilot, type A11yCopilotOptions, type A11yFix, type A11yReport, type AIFeatures, AUDIT_RULES, type AgenticAnswerKind, AgenticGridBar, AgenticPanel, type AgenticPanelProps, type Aggregation, type AuditCheck, type AuditIssue, type AuditOptions, type AuditReport, type AuditRoot, type AuditRuleId, type AuditSeverity, CheckIcon, ChevronLeftIcon, ChevronRightIcon, CloseIcon, type ColorBlindMode, type ComparePeriodsOptions, type ContextAnswer, type ContextHit, type ContextIndexOptions, type ContextPassage, type CopilotFixResult, type CopilotState, type CreateGridToolsOptions, DEFAULT_A11Y_SETTINGS, type DesignCategory, type DesignFinding, type DesignReview, type DesignReviewOptions, FONT_MAX, FONT_MIN, FONT_STEP, type FilterConfig, type FilterOperator, type FormField, type FormFinding, type FormFindingLevel, type FormReview, type FormReviewOptions, type GridAgentErrorCode, type GridAgentResult, type GridAgentStep, type GridAgentTool, type GridAnomaly, type GridAnswer, type GridColumn, type GridInputLanguage, type GridIntent, type GridIntentContext, type GridLocale, type GridNavAction, type GridQueryResult, type GridTheme, type GridTool, type GridToolColumn, type GridToolContext, type GridToolErrorCode, type GridToolFilter, type GridToolFilterOperator, type GridToolId, type GridToolLocale, type GridToolResult, type GridToolSort, type GridTranslations, type GroupResult, IconBase, type IconProps, type IndicLanguageLocale, type InsightAnswer, type PageAnswer, type PageIntent, type PageOutline, type PaginationConfig, type ParseOptions, type ParsedGridQuery, type Period, type PeriodChange, type PeriodComparison, type PlannedStep, type RGBA, type RunTasksOptions, Runtime, SearchIcon, type Severity, type SortConfig, type SortDirection, SortDownIcon, SortUpIcon, type StepResult, type TaskAction, type TaskRunResult, type UseAgenticGridOptions, type UseGridOptions, type UseGridReturn, type ViewMode, type VoiceA11yCommand, type VoiceA11yControllerOptions, type VoiceFeatures, type WebMCPState, type WebMCPStatus, YuktAI, YuktAIWrapper, type YuktAIWrapperProps, YuktaiGrid, YuktaiGridAI, type YuktaiGridAIProps, useYuktaiGridAgent as YuktaiGridAgent, type YuktaiGridAgentProps, type YuktaiGridProps, type YuktaiGridRule, type YuktaiGridRuleContext, YuktaiGridWebMCP, type YuktaiGridWebMCPProps, accessibleName, addPeriods, aggregate, aiPlugin, analyzePage, answerGridQuestion, applyGridFilters, askAboutPage, askInsight, auditToJSON, auditToMarkdown, clearFilters, clearSort, comparePeriods, contrastRatio, countGrid, createA11yCopilot, createContextIndex, createGridTools, createVoiceA11yController, YuktAIWrapper as default, detectAnomalies, detectPageIntent, executeGridQuery, filterGrid, findMentionedColumn, getColumns, getRow, getRowId, gridPassages, groupBy, highlightRows, moveGridRowFocus, openRow, pagePassages, parseAmount, parseColor, parseGridIntent, parseGridQuery, parseVoiceA11yCommand, planTasks, readFormFields, relativeLuminance, reviewDesign, reviewForm, reviewForms, runGridQuery, runQaAudit, runTasks, searchGrid, selectRow, sortGrid, startOfPeriod, summarizeRows, toGridToolColumns, tokenize, trend, useAgenticGrid, useGrid, useYuktaiGridAgent, voicePlugin, wcagPlugin as wcag, wcagPlugin };
1230
+ export { type A11yConfig, type A11yCopilot, type A11yCopilotOptions, type A11yFix, type A11yReport, type AIFeatures, AUDIT_RULES, type AgenticAnswerKind, AgenticGridBar, AgenticPanel, type AgenticPanelProps, type Aggregation, type AuditCheck, type AuditIssue, type AuditOptions, type AuditReport, type AuditRoot, type AuditRuleId, type AuditSeverity, type ColorBlindMode, type ComparePeriodsOptions, type ContextAnswer, type ContextHit, type ContextIndexOptions, type ContextPassage, type CopilotFixResult, type CopilotState, type CreateGridToolsOptions, DEFAULT_A11Y_SETTINGS, type DesignCategory, type DesignFinding, type DesignReview, type DesignReviewOptions, FONT_MAX, FONT_MIN, FONT_STEP, type FilterConfig, type FilterOperator, type FormField, type FormFinding, type FormFindingLevel, type FormReview, type FormReviewOptions, type GridAgentErrorCode, type GridAgentResult, type GridAgentStep, type GridAgentTool, type GridAnomaly, type GridAnswer, type GridColumn, type GridInputLanguage, type GridIntent, type GridIntentContext, type GridLocale, type GridNavAction, type GridQueryResult, type GridTheme, type GridTool, type GridToolColumn, type GridToolContext, type GridToolErrorCode, type GridToolFilter, type GridToolFilterOperator, type GridToolId, type GridToolLocale, type GridToolResult, type GridToolSort, type GridTranslations, type GroupResult, type IndicLanguageLocale, type InsightAnswer, type PageAnswer, type PageIntent, type PageOutline, type PaginationConfig, type ParseOptions, type ParsedGridQuery, type Period, type PeriodChange, type PeriodComparison, type PlannedStep, type RGBA, type RunTasksOptions, Runtime, type Severity, type SortConfig, type SortDirection, type StepResult, type TaskAction, type TaskRunResult, type UseAgenticGridOptions, type UseGridOptions, type UseGridReturn, type ViewMode, type VoiceA11yCommand, type VoiceA11yControllerOptions, type VoiceFeatures, type WebMCPState, type WebMCPStatus, YuktAI, YuktAIWrapper, type YuktAIWrapperProps, YuktaiGrid, YuktaiGridAI, type YuktaiGridAIProps, useYuktaiGridAgent as YuktaiGridAgent, type YuktaiGridAgentProps, type YuktaiGridProps, type YuktaiGridRule, type YuktaiGridRuleContext, YuktaiGridWebMCP, type YuktaiGridWebMCPProps, accessibleName, addPeriods, aggregate, aiPlugin, analyzePage, answerGridQuestion, applyGridFilters, askAboutPage, askInsight, auditToJSON, auditToMarkdown, clearFilters, clearSort, comparePeriods, contrastRatio, countGrid, createA11yCopilot, createContextIndex, createGridTools, createVoiceA11yController, YuktAIWrapper as default, detectAnomalies, detectPageIntent, executeGridQuery, filterGrid, findMentionedColumn, getColumns, getRow, getRowId, gridPassages, groupBy, highlightRows, moveGridRowFocus, openRow, pagePassages, parseAmount, parseColor, parseGridIntent, parseGridQuery, parseVoiceA11yCommand, planTasks, readFormFields, relativeLuminance, reviewDesign, reviewForm, reviewForms, runGridQuery, runQaAudit, runTasks, searchGrid, selectRow, sortGrid, startOfPeriod, summarizeRows, toGridToolColumns, tokenize, trend, useAgenticGrid, useGrid, useYuktaiGridAgent, voicePlugin, wcagPlugin as wcag, wcagPlugin };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React, { ReactNode, CSSProperties } from 'react';
2
+ import { ReactNode, CSSProperties } from 'react';
3
+ export { AccessibilityIcon, AlertIcon, CardsIcon, ChatIcon, CheckIcon, ChevronLeftIcon, ChevronRightIcon, ChevronsIcon, CloseIcon, ContrastIcon, CopyIcon, DownloadIcon, EyeIcon, FilterIcon, FirstIcon, FormIcon, GridIcon, ICON_MIN_CONTRAST, ICON_NAMES, ICON_PATHS, IconBase, IconName, IconProps, IconShape, IconSvgOptions, IconVariant, InfoIcon, LastIcon, LayoutIcon, MicIcon, MinusIcon, MoonIcon, MotionIcon, PaletteIcon, PlugIcon, PlusIcon, ReadingIcon, ResetIcon, SearchIcon, SkipIcon, SortDownIcon, SortIcon, SortUpIcon, SparkIcon, SpeakerIcon, StopIcon, TargetIcon, ToolsIcon, UndoIcon, WandIcon, YuktaiIcon, YuktaiIconProps, iconContrast, iconSvg, pickGlyphColor } from './icons.js';
3
4
 
4
5
  interface Plugin {
5
6
  name: string;
@@ -655,38 +656,6 @@ declare function useYuktaiGridAgent<T = Record<string, unknown>>({ tools, data,
655
656
  clearHistory: () => void;
656
657
  };
657
658
 
658
- interface IconProps extends React.SVGAttributes<SVGSVGElement> {
659
- /** Size in pixels — applied to both width and height. Default: 20 */
660
- size?: number | string;
661
- /** Stroke color — defaults to currentColor (inherits from parent) */
662
- color?: string;
663
- /** Stroke width override — default: 2.5 */
664
- strokeWidth?: number;
665
- /** Accessible label — if provided, icon becomes non-decorative */
666
- label?: string;
667
- }
668
- /**
669
- * Shared base for all yuktai icons.
670
- * Children should be SVG path/circle/rect elements.
671
- */
672
- declare function IconBase({ size, color, strokeWidth, label, children, ...rest }: IconProps & {
673
- children: React.ReactNode;
674
- }): react_jsx_runtime.JSX.Element;
675
-
676
- declare function SearchIcon(props: IconProps): react_jsx_runtime.JSX.Element;
677
-
678
- declare function SortUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
679
-
680
- declare function SortDownIcon(props: IconProps): react_jsx_runtime.JSX.Element;
681
-
682
- declare function ChevronLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
683
-
684
- declare function ChevronRightIcon(props: IconProps): react_jsx_runtime.JSX.Element;
685
-
686
- declare function CheckIcon(props: IconProps): react_jsx_runtime.JSX.Element;
687
-
688
- declare function CloseIcon(props: IconProps): react_jsx_runtime.JSX.Element;
689
-
690
659
  type AuditRoot = Document | Element;
691
660
  /** The label a screen reader would most likely announce for this element. */
692
661
  declare function accessibleName(el: Element): string;
@@ -1258,4 +1227,4 @@ declare const YuktAI: {
1258
1227
  scan(): A11yReport;
1259
1228
  };
1260
1229
 
1261
- export { type A11yConfig, type A11yCopilot, type A11yCopilotOptions, type A11yFix, type A11yReport, type AIFeatures, AUDIT_RULES, type AgenticAnswerKind, AgenticGridBar, AgenticPanel, type AgenticPanelProps, type Aggregation, type AuditCheck, type AuditIssue, type AuditOptions, type AuditReport, type AuditRoot, type AuditRuleId, type AuditSeverity, CheckIcon, ChevronLeftIcon, ChevronRightIcon, CloseIcon, type ColorBlindMode, type ComparePeriodsOptions, type ContextAnswer, type ContextHit, type ContextIndexOptions, type ContextPassage, type CopilotFixResult, type CopilotState, type CreateGridToolsOptions, DEFAULT_A11Y_SETTINGS, type DesignCategory, type DesignFinding, type DesignReview, type DesignReviewOptions, FONT_MAX, FONT_MIN, FONT_STEP, type FilterConfig, type FilterOperator, type FormField, type FormFinding, type FormFindingLevel, type FormReview, type FormReviewOptions, type GridAgentErrorCode, type GridAgentResult, type GridAgentStep, type GridAgentTool, type GridAnomaly, type GridAnswer, type GridColumn, type GridInputLanguage, type GridIntent, type GridIntentContext, type GridLocale, type GridNavAction, type GridQueryResult, type GridTheme, type GridTool, type GridToolColumn, type GridToolContext, type GridToolErrorCode, type GridToolFilter, type GridToolFilterOperator, type GridToolId, type GridToolLocale, type GridToolResult, type GridToolSort, type GridTranslations, type GroupResult, IconBase, type IconProps, type IndicLanguageLocale, type InsightAnswer, type PageAnswer, type PageIntent, type PageOutline, type PaginationConfig, type ParseOptions, type ParsedGridQuery, type Period, type PeriodChange, type PeriodComparison, type PlannedStep, type RGBA, type RunTasksOptions, Runtime, SearchIcon, type Severity, type SortConfig, type SortDirection, SortDownIcon, SortUpIcon, type StepResult, type TaskAction, type TaskRunResult, type UseAgenticGridOptions, type UseGridOptions, type UseGridReturn, type ViewMode, type VoiceA11yCommand, type VoiceA11yControllerOptions, type VoiceFeatures, type WebMCPState, type WebMCPStatus, YuktAI, YuktAIWrapper, type YuktAIWrapperProps, YuktaiGrid, YuktaiGridAI, type YuktaiGridAIProps, useYuktaiGridAgent as YuktaiGridAgent, type YuktaiGridAgentProps, type YuktaiGridProps, type YuktaiGridRule, type YuktaiGridRuleContext, YuktaiGridWebMCP, type YuktaiGridWebMCPProps, accessibleName, addPeriods, aggregate, aiPlugin, analyzePage, answerGridQuestion, applyGridFilters, askAboutPage, askInsight, auditToJSON, auditToMarkdown, clearFilters, clearSort, comparePeriods, contrastRatio, countGrid, createA11yCopilot, createContextIndex, createGridTools, createVoiceA11yController, YuktAIWrapper as default, detectAnomalies, detectPageIntent, executeGridQuery, filterGrid, findMentionedColumn, getColumns, getRow, getRowId, gridPassages, groupBy, highlightRows, moveGridRowFocus, openRow, pagePassages, parseAmount, parseColor, parseGridIntent, parseGridQuery, parseVoiceA11yCommand, planTasks, readFormFields, relativeLuminance, reviewDesign, reviewForm, reviewForms, runGridQuery, runQaAudit, runTasks, searchGrid, selectRow, sortGrid, startOfPeriod, summarizeRows, toGridToolColumns, tokenize, trend, useAgenticGrid, useGrid, useYuktaiGridAgent, voicePlugin, wcagPlugin as wcag, wcagPlugin };
1230
+ export { type A11yConfig, type A11yCopilot, type A11yCopilotOptions, type A11yFix, type A11yReport, type AIFeatures, AUDIT_RULES, type AgenticAnswerKind, AgenticGridBar, AgenticPanel, type AgenticPanelProps, type Aggregation, type AuditCheck, type AuditIssue, type AuditOptions, type AuditReport, type AuditRoot, type AuditRuleId, type AuditSeverity, type ColorBlindMode, type ComparePeriodsOptions, type ContextAnswer, type ContextHit, type ContextIndexOptions, type ContextPassage, type CopilotFixResult, type CopilotState, type CreateGridToolsOptions, DEFAULT_A11Y_SETTINGS, type DesignCategory, type DesignFinding, type DesignReview, type DesignReviewOptions, FONT_MAX, FONT_MIN, FONT_STEP, type FilterConfig, type FilterOperator, type FormField, type FormFinding, type FormFindingLevel, type FormReview, type FormReviewOptions, type GridAgentErrorCode, type GridAgentResult, type GridAgentStep, type GridAgentTool, type GridAnomaly, type GridAnswer, type GridColumn, type GridInputLanguage, type GridIntent, type GridIntentContext, type GridLocale, type GridNavAction, type GridQueryResult, type GridTheme, type GridTool, type GridToolColumn, type GridToolContext, type GridToolErrorCode, type GridToolFilter, type GridToolFilterOperator, type GridToolId, type GridToolLocale, type GridToolResult, type GridToolSort, type GridTranslations, type GroupResult, type IndicLanguageLocale, type InsightAnswer, type PageAnswer, type PageIntent, type PageOutline, type PaginationConfig, type ParseOptions, type ParsedGridQuery, type Period, type PeriodChange, type PeriodComparison, type PlannedStep, type RGBA, type RunTasksOptions, Runtime, type Severity, type SortConfig, type SortDirection, type StepResult, type TaskAction, type TaskRunResult, type UseAgenticGridOptions, type UseGridOptions, type UseGridReturn, type ViewMode, type VoiceA11yCommand, type VoiceA11yControllerOptions, type VoiceFeatures, type WebMCPState, type WebMCPStatus, YuktAI, YuktAIWrapper, type YuktAIWrapperProps, YuktaiGrid, YuktaiGridAI, type YuktaiGridAIProps, useYuktaiGridAgent as YuktaiGridAgent, type YuktaiGridAgentProps, type YuktaiGridProps, type YuktaiGridRule, type YuktaiGridRuleContext, YuktaiGridWebMCP, type YuktaiGridWebMCPProps, accessibleName, addPeriods, aggregate, aiPlugin, analyzePage, answerGridQuestion, applyGridFilters, askAboutPage, askInsight, auditToJSON, auditToMarkdown, clearFilters, clearSort, comparePeriods, contrastRatio, countGrid, createA11yCopilot, createContextIndex, createGridTools, createVoiceA11yController, YuktAIWrapper as default, detectAnomalies, detectPageIntent, executeGridQuery, filterGrid, findMentionedColumn, getColumns, getRow, getRowId, gridPassages, groupBy, highlightRows, moveGridRowFocus, openRow, pagePassages, parseAmount, parseColor, parseGridIntent, parseGridQuery, parseVoiceA11yCommand, planTasks, readFormFields, relativeLuminance, reviewDesign, reviewForm, reviewForms, runGridQuery, runQaAudit, runTasks, searchGrid, selectRow, sortGrid, startOfPeriod, summarizeRows, toGridToolColumns, tokenize, trend, useAgenticGrid, useGrid, useYuktaiGridAgent, voicePlugin, wcagPlugin as wcag, wcagPlugin };