@auvyx/ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/LICENSE +48 -0
  2. package/README.md +43 -2
  3. package/dist/auvyx.bundle.css +5941 -0
  4. package/dist/auvyx.chart.min.js +2 -0
  5. package/dist/auvyx.corners.min.js +2 -0
  6. package/dist/auvyx.css +10880 -0
  7. package/dist/auvyx.js +3222 -0
  8. package/dist/auvyx.min.css +2 -0
  9. package/dist/auvyx.min.js +19 -0
  10. package/dist/custom-elements.json +948 -0
  11. package/dist/elements/calendar.min.js +2 -0
  12. package/dist/elements/context-menu.min.js +2 -0
  13. package/dist/elements/data-table.min.js +2 -0
  14. package/dist/elements/date-picker.min.js +2 -0
  15. package/dist/elements/index.min.js +2 -0
  16. package/dist/elements/menu.min.js +2 -0
  17. package/dist/elements/resizable.min.js +2 -0
  18. package/dist/js/accordion.min.js +2 -0
  19. package/dist/js/calendar.min.js +2 -0
  20. package/dist/js/combobox.min.js +2 -0
  21. package/dist/js/command.min.js +2 -0
  22. package/dist/js/context-menu.min.js +2 -0
  23. package/dist/js/copy.min.js +2 -0
  24. package/dist/js/data-table.min.js +2 -0
  25. package/dist/js/date-picker.min.js +2 -0
  26. package/dist/js/drawer.min.js +2 -0
  27. package/dist/js/dropdown-menu.min.js +2 -0
  28. package/dist/js/manifest.json +114 -0
  29. package/dist/js/menu.min.js +2 -0
  30. package/dist/js/popover.min.js +2 -0
  31. package/dist/js/resizable.min.js +2 -0
  32. package/dist/js/select.min.js +2 -0
  33. package/dist/js/sidebar.min.js +2 -0
  34. package/dist/js/slider.min.js +2 -0
  35. package/dist/js/tabs.min.js +2 -0
  36. package/dist/js/toast.min.js +19 -0
  37. package/dist/styles/auvyx-luma.min.css +3 -0
  38. package/dist/styles/auvyx-lyra.min.css +3 -0
  39. package/dist/styles/auvyx-maia.min.css +3 -0
  40. package/dist/styles/auvyx-mira.min.css +3 -0
  41. package/dist/styles/auvyx-nova.min.css +3 -0
  42. package/dist/styles/auvyx-rhea.min.css +3 -0
  43. package/dist/styles/auvyx-sera.min.css +3 -0
  44. package/dist/styles/auvyx-vega.min.css +3 -0
  45. package/dist/types/elements.d.ts +262 -0
  46. package/dist/types/react.d.ts +181 -0
  47. package/dist/types/vue.d.ts +155 -0
  48. package/dist/ui/accordion.css +91 -0
  49. package/dist/ui/accordion.js +249 -0
  50. package/dist/ui/accordion.native.css +24 -0
  51. package/dist/ui/alert.css +119 -0
  52. package/dist/ui/aspect-ratio.css +38 -0
  53. package/dist/ui/attachment.css +211 -0
  54. package/dist/ui/avatar.css +204 -0
  55. package/dist/ui/badge.css +183 -0
  56. package/dist/ui/base.css +1200 -0
  57. package/dist/ui/breadcrumb.css +90 -0
  58. package/dist/ui/bubble.css +171 -0
  59. package/dist/ui/button-group.css +110 -0
  60. package/dist/ui/button.css +328 -0
  61. package/dist/ui/calendar.css +260 -0
  62. package/dist/ui/calendar.js +317 -0
  63. package/dist/ui/card.css +126 -0
  64. package/dist/ui/carousel.css +172 -0
  65. package/dist/ui/chart.css +130 -0
  66. package/dist/ui/checkbox.css +119 -0
  67. package/dist/ui/code-block.css +235 -0
  68. package/dist/ui/combobox.css +500 -0
  69. package/dist/ui/combobox.js +757 -0
  70. package/dist/ui/command.css +366 -0
  71. package/dist/ui/command.js +382 -0
  72. package/dist/ui/context-menu.css +17 -0
  73. package/dist/ui/context-menu.js +52 -0
  74. package/dist/ui/copy.js +56 -0
  75. package/dist/ui/data-table.css +114 -0
  76. package/dist/ui/data-table.js +140 -0
  77. package/dist/ui/date-picker.css +14 -0
  78. package/dist/ui/date-picker.js +101 -0
  79. package/dist/ui/dialog.css +363 -0
  80. package/dist/ui/dialog.native.css +6 -0
  81. package/dist/ui/drawer.css +238 -0
  82. package/dist/ui/drawer.js +265 -0
  83. package/dist/ui/dropdown-menu.css +193 -0
  84. package/dist/ui/dropdown-menu.js +388 -0
  85. package/dist/ui/empty.css +111 -0
  86. package/dist/ui/field.css +293 -0
  87. package/dist/ui/hover-card.css +85 -0
  88. package/dist/ui/input-group.css +269 -0
  89. package/dist/ui/input-otp.css +101 -0
  90. package/dist/ui/input.css +117 -0
  91. package/dist/ui/item.css +223 -0
  92. package/dist/ui/kbd.css +50 -0
  93. package/dist/ui/label.css +48 -0
  94. package/dist/ui/manifest.json +667 -0
  95. package/dist/ui/marker.css +66 -0
  96. package/dist/ui/menu.js +161 -0
  97. package/dist/ui/menubar.css +55 -0
  98. package/dist/ui/message-scroller.css +83 -0
  99. package/dist/ui/message.css +69 -0
  100. package/dist/ui/native-select.css +130 -0
  101. package/dist/ui/navigation-menu.css +166 -0
  102. package/dist/ui/popover.css +154 -0
  103. package/dist/ui/popover.js +268 -0
  104. package/dist/ui/popover.native.css +84 -0
  105. package/dist/ui/progress.css +29 -0
  106. package/dist/ui/questionnaire.css +188 -0
  107. package/dist/ui/radio-group.css +115 -0
  108. package/dist/ui/resizable.css +94 -0
  109. package/dist/ui/resizable.js +95 -0
  110. package/dist/ui/scroll-area.css +43 -0
  111. package/dist/ui/select.css +289 -0
  112. package/dist/ui/select.js +646 -0
  113. package/dist/ui/sheet.css +219 -0
  114. package/dist/ui/sidebar.css +716 -0
  115. package/dist/ui/sidebar.js +287 -0
  116. package/dist/ui/skeleton.css +13 -0
  117. package/dist/ui/slider.css +184 -0
  118. package/dist/ui/slider.js +206 -0
  119. package/dist/ui/switch.css +156 -0
  120. package/dist/ui/table.css +157 -0
  121. package/dist/ui/tabs.css +240 -0
  122. package/dist/ui/tabs.js +288 -0
  123. package/dist/ui/textarea.css +91 -0
  124. package/dist/ui/toast.css +110 -0
  125. package/dist/ui/toast.js +378 -0
  126. package/dist/ui/toggle-group.css +42 -0
  127. package/dist/ui/toggle.css +150 -0
  128. package/dist/ui/tooltip.css +319 -0
  129. package/dist/ui/trace.css +142 -0
  130. package/dist/ui/typography.css +184 -0
  131. package/dist/wc/accordion.min.js +2 -0
  132. package/dist/wc/combobox.min.js +2 -0
  133. package/dist/wc/command.min.js +2 -0
  134. package/dist/wc/drawer.min.js +2 -0
  135. package/dist/wc/dropdown-menu.min.js +2 -0
  136. package/dist/wc/manifest.json +154 -0
  137. package/dist/wc/popover.min.js +2 -0
  138. package/dist/wc/select.min.js +2 -0
  139. package/dist/wc/sidebar.min.js +2 -0
  140. package/dist/wc/slider.min.js +2 -0
  141. package/dist/wc/tabs.min.js +2 -0
  142. package/dist/wc/toast.min.js +19 -0
  143. package/package.json +62 -4
@@ -0,0 +1,2 @@
1
+ /*! @auvyx/ui v0.1.0 | MIT | based on Basecoat (MIT) */
2
+ (()=>{const A=new WeakMap,C=new Set,_=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-4)","var(--chart-5)"];let E=null;const N=e=>e&&typeof e=="object"&&Array.isArray(e.datasets),w=e=>{if(typeof e=="string"){const r=Array.from(document.querySelectorAll(e));if(r.length===0)throw new Error(`Chart target not found: ${e}`);return r}if(e instanceof HTMLCanvasElement)return[e];if(e instanceof Element){const r=e.matches("canvas")?e:e.querySelector("canvas");if(r)return[r]}if(e instanceof NodeList||Array.isArray(e))return Array.from(e).flatMap(w);throw new Error("Chart target must be a selector, canvas, element, NodeList, or array.")},S=(e,r,t,o)=>r[t]!==void 0?r[t]:e.dataset[o],j=(e,r,t,o,n)=>{const a=S(e,r,t,o);return a===void 0?n:typeof a=="boolean"?a:a!=="false"},B=(e,r)=>{const t=e.getAttribute(r);if(t)try{return JSON.parse(t)}catch(o){console.error(`Invalid JSON in ${r}:`,o);return}},h=e=>_[e%_.length],v=e=>N(e)?{...e,labels:Array.isArray(e.labels)?[...e.labels]:e.labels,datasets:e.datasets.map(r=>({...r,data:Array.isArray(r.data)?[...r.data]:r.data,backgroundColor:Array.isArray(r.backgroundColor)?[...r.backgroundColor]:r.backgroundColor,borderColor:Array.isArray(r.borderColor)?[...r.borderColor]:r.borderColor,hoverBackgroundColor:Array.isArray(r.hoverBackgroundColor)?[...r.hoverBackgroundColor]:r.hoverBackgroundColor,hoverBorderColor:Array.isArray(r.hoverBorderColor)?[...r.hoverBorderColor]:r.hoverBorderColor}))}:e,y=e=>!e||typeof e!="object"||Array.isArray(e)?e:Object.fromEntries(Object.entries(e).map(([r,t])=>[r,t&&typeof t=="object"&&!Array.isArray(t)?y(t):t])),p=(e,r)=>{if(Array.isArray(e))return e.map(n=>p(n,r));if(typeof e!="string")return e;const t=document.createElement("span");t.style.color=e,t.style.display="none",(r.parentElement||document.body).appendChild(t);const o=getComputedStyle(t).color;return t.remove(),o||e},k=(e,r,t)=>{const o=document.createElement("canvas");o.width=1,o.height=1;const n=o.getContext("2d",{willReadFrequently:!0});if(!n)return e;n.clearRect(0,0,1,1),n.fillStyle="#000",n.fillStyle=p(e,t),n.fillRect(0,0,1,1);const[a,c,l,s]=n.getImageData(0,0,1,1).data;return`rgba(${a}, ${c}, ${l}, ${s/255*r})`},M=(e,r,{from:t=.4,to:o}={})=>{if(o===void 0)return k(e,t,r);let n=null;return({chart:a})=>{if(n||(n=[k(e,t,r),k(e,o,r)]),!a.chartArea)return n[0];const c=a.ctx.createLinearGradient(0,a.chartArea.top,0,a.chartArea.bottom);return c.addColorStop(0,n[0]),c.addColorStop(1,n[1]),c}},q=(e,r)=>(e.datasets?.forEach(t=>{t.borderColor=p(t.borderColor,r),t.backgroundColor=p(t.backgroundColor,r),t.hoverBorderColor=p(t.hoverBorderColor,r),t.hoverBackgroundColor=p(t.hoverBackgroundColor,r)}),e),V=(e,r)=>(Object.values(e||{}).forEach(t=>{["border","grid","ticks","angleLines","pointLabels"].forEach(o=>{t[o]?.color!==void 0&&(t[o].color=p(t[o].color,r))})}),e),T=(e,r)=>p(`var(${r})`,e),J=(e,r)=>`color-mix(in oklab, ${e} ${r*100}%, transparent)`,K=(e,r,t=0)=>{const o=getComputedStyle(e).getPropertyValue(r).trim();if(!o)return t;const n=Number.parseFloat(o);return Number.isFinite(n)?n:t},D=(e,r,{barRadius:t,element:o})=>(e.datasets?.forEach(n=>{(r==="bar"||n.type==="bar")&&n.borderRadius===void 0&&(n.borderRadius=t),n._basecoatSurface&&(n.backgroundColor=M(n.borderColor||n.backgroundColor,o,n._basecoatSurface),delete n._basecoatSurface)}),e),z=e=>!["pie","doughnut","polarArea","radar"].includes(e),O=(e,r)=>{const t=Array.from(e.classList).filter(o=>o!=="chart");t.length!==0&&(r.classList.add(...t),e.classList.remove(...t))},G=e=>{if(e.parentElement?.classList.contains("chart"))return e.parentElement.dataset.basecoatChartContainer="true",O(e,e.parentElement),e.parentElement;const r=document.createElement("div");return r.className="chart",r.dataset.basecoatChartContainer="true",O(e,r),e.insertAdjacentElement("beforebegin",r),r.append(e),r},W=e=>Object.entries(e||{}),x=(e,r)=>{if(e&&typeof e=="object")return e[r]},H=({type:e,labelKey:r,data:t,series:o})=>{if(N(t))return v(t);const n=Array.isArray(t)?t:[],a=W(o),c=n.map(l=>x(l,r));if(e==="pie"||e==="doughnut"||e==="polarArea"){const[l,s={}]=a[0]||[];return{labels:c,datasets:[{label:s.label||l||"Value",data:n.map(i=>x(i,l)),backgroundColor:n.map((i,d)=>i?.color||i?.fill||h(d)),borderColor:n.map((i,d)=>i?.color||i?.fill||h(d)),...s.dataset||{}}]}}return{labels:c,datasets:a.map(([l,s],i)=>{const d=s.color||h(i),u=s.dataset||{},b=s.surface===!0?{from:.4}:s.surface==="gradient"?{from:.8,to:.1}:s.surface;return{label:s.label||l,data:n.map(f=>x(f,l)),borderColor:d,backgroundColor:s.backgroundColor||d,fill:e==="line"?!1:void 0,type:s.type,yAxisID:s.axis,hidden:s.hidden,...u,...b&&s.backgroundColor===void 0&&u.backgroundColor===void 0?{_basecoatSurface:b}:{}}})}},U=e=>typeof e=="number"?e.toLocaleString():String(e),X=e=>{const r=e.element?.options?.backgroundColor||e.element?.options?.borderColor;if(typeof r=="string")return r;const t=Array.isArray(e.dataset.backgroundColor)?e.dataset.backgroundColor[e.dataIndex]:e.dataset.backgroundColor;if(typeof t=="string")return t;const o=Array.isArray(e.dataset.borderColor)?e.dataset.borderColor[e.dataIndex]:e.dataset.borderColor;return typeof o=="string"?o:h(e.datasetIndex)},Y=e=>{let r=e._basecoatChartTooltip;return r||(r=document.createElement("div"),r.className="chart-tooltip",r.hidden=!0,r.setAttribute("role","status"),r.setAttribute("aria-live","polite"),document.body.appendChild(r),e._basecoatChartTooltip=r,r)},Q=e=>{const{chart:r,tooltip:t}=e,o=Y(r.canvas);if(t.opacity===0){o.hidden=!0;return}const n=[];if(t.title?.length){const l=document.createElement("div");l.className="chart-tooltip-title",l.textContent=t.title.join(", "),n.push(l)}const a=document.createElement("div");a.className="chart-tooltip-items",t.dataPoints.forEach(l=>{const s=X(l),i=l.formattedValue||U(l.raw),d=document.createElement("div");d.className="chart-tooltip-item";const u=document.createElement("span");u.className="chart-tooltip-indicator",u.style.setProperty("--chart-indicator-color",s);const b=document.createElement("span");b.className="chart-tooltip-label",b.textContent=l.dataset.label||l.label;const f=document.createElement("span");f.className="chart-tooltip-value",f.textContent=i,d.append(u,b,f),a.append(d)}),n.push(a);const c=r.canvas.getBoundingClientRect();o.replaceChildren(...n),o.hidden=!1,o.style.left=`${c.left+t.caretX}px`,o.style.top=`${c.top+t.caretY}px`},Z=(e,r)=>({id:`basecoatLegend-${Math.random().toString(36).slice(2)}`,afterUpdate(t){if(!r)return;let o=e._basecoatChartLegend;o||(o=document.createElement("ul"),o.className="chart-legend",e._basecoatChartContainer.insertAdjacentElement("afterend",o),e._basecoatChartLegend=o);const n=t.options.plugins.legend.labels.generateLabels(t);o.replaceChildren(...n.map(a=>{const c=document.createElement("span");c.className="chart-legend-item";const l=document.createElement("span");l.className="chart-legend-indicator";const s=typeof a.fillStyle=="string"?a.fillStyle:typeof a.strokeStyle=="string"?a.strokeStyle:h(a.datasetIndex||a.index||0);l.style.setProperty("--chart-indicator-color",s);const i=document.createElement("span");i.textContent=a.text,c.append(l,i);const d=document.createElement("li");return d.append(c),d}))}}),$=e=>{e._basecoatChartTooltip?.remove(),e._basecoatChartLegend?.remove(),delete e._basecoatChartTooltip,delete e._basecoatChartLegend},I=(e,r={})=>{const t=r.Chart||window.Chart;if(!t)throw new Error("Chart.js is required before calling basecoat.chart().");const o=A.get(e);o&&o.destroy(),$(e);const n=S(e,r,"type","chartType")||"bar",a=S(e,r,"labelKey","chartLabelKey")||"label",c=j(e,r,"legend","chartLegend",!1),l=j(e,r,"tooltip","chartTooltip",!0),s=r.data||B(e,"data-chart-data")||[],i=r.series||B(e,"data-chart-series")||{},d=r.chartData?v(r.chartData):H({type:n,labelKey:a,data:s,series:i}),u=r.options||{},b=Z(e,c),f=G(e),F=T(e,"--border"),R=p(J("var(--border)",.5),e),P=T(e,"--muted-foreground"),oe=K(e,"--chart-bar-radius"),ne={...z(n)?{x:{border:{display:!1,color:F},grid:{display:!1,color:R},ticks:{color:P,padding:8},...y(u.scales?.x||{})},y:{border:{display:!1,color:F},grid:{color:R},ticks:{display:!1,color:P},...y(u.scales?.y||{})}}:{},...Object.fromEntries(Object.entries(u.scales||{}).filter(([g])=>g!=="x"&&g!=="y").map(([g,ae])=>[g,y(ae)]))};e.classList.remove("chart"),e._basecoatChartContainer=f,e.dataset.chartLegend=String(c);const m=new t(e,{type:n,data:q(D(d,n,{barRadius:oe,element:e}),e),options:{responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},...u,scales:V(ne,e),plugins:{...u.plugins,legend:{display:!1,...u.plugins?.legend||{}},tooltip:{enabled:!1,external:l?Q:void 0,...u.plugins?.tooltip||{}}}},plugins:[b,...r.plugins||[]]});return A.set(e,m),C.add(e),e.dataset.chartInitialized="true",e.chart=m,e._basecoatChartConfig=r,e._destroy=()=>{m.destroy(),$(e),A.delete(e),C.delete(e),e.removeAttribute("data-chart-initialized"),delete e._basecoatChartContainer,delete e._basecoatChartConfig,delete e.chart,delete e._destroy},m},ee=(e,r={})=>{const o=w(e).map(n=>I(n,r));return o.length===1?o[0]:o},re=()=>{E=null,Array.from(C).forEach(e=>{if(!e.isConnected){e._destroy?.(),C.delete(e);return}I(e,e._basecoatChartConfig||{})})},L=()=>{E===null&&(E=requestAnimationFrame(re))},te=()=>{new MutationObserver(r=>{r.some(t=>t.attributeName==="class"||t.attributeName==="data-style-variant")&&L()}).observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-style-variant"]}),document.addEventListener("basecoat:themechange",L),document.addEventListener("basecoat:stylechange",L)};window.basecoat&&(window.basecoat.chart=ee),te()})();
@@ -0,0 +1,2 @@
1
+ /*! @auvyx/ui corners | MIT | includes Monoco (MIT, Monokai) */
2
+ (()=>{var K=Object.defineProperty;var X=(e,o,n)=>o in e?K(e,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[o]=n;var x=(e,o,n)=>X(e,typeof o!="symbol"?o+"":o,n);var I=new class{constructor(){x(this,"elements");x(this,"observer");x(this,"rafID",null);x(this,"queue",[]);x(this,"resizePrecisionPower",1);x(this,"getDrawOptions",e=>this.elements?.get(e)?.cornerOptions??null);this.elements=null,this.observer=null}onElementResize(e){this.queue.push(...e),this.rafID||(this.rafID=requestAnimationFrame(()=>this.flushQueue()))}flushQueue(){let e=new Map;for(let o of this.queue)e.set(o.target,o);this.queue=[],e.forEach((o,n)=>{if(!n.isConnected)return void this.unobserve(n);let s=this.elements?.get(n);if(!s)return;let{inlineSize:r,blockSize:t}=o.borderBoxSize[0];s.cornerOptions.isRounded&&(r=Math.round(r),t=Math.round(t));let{previousW:i,previousH:l,draw:a,onResize:c}=s;i===r&&l===t||(a?.({width:r,height:t}),c?.({width:r,height:t},o.target),s.previousW=r,s.previousH=t)}),this.rafID=null}setCornerOptions(e,o){let n=this.elements?.get(e);n&&(n.cornerOptions=o,this.elements?.set(e,n))}addElement(e,o,n){this.elements||(this.elements=new Map),this.observer||(this.observer=new ResizeObserver(t=>this.onElementResize(t))),this.unobserve(e);let{observe:s=!0,onResize:r}=o;return s&&(this.elements.set(e,{draw:n,cornerOptions:o,onResize:r,previousW:null,previousH:null,element:e}),this.observer.observe(e)),n}draw(e,o){let n=s=>{if(!s.element.isConnected)return;let{previousW:r,previousH:t}=s;r!==null&&t!==null||(r=s.element.offsetWidth,t=s.element.offsetHeight,s.previousW=r,s.previousH=t),s.draw?.({width:r,height:t})};if(e){o&&this.setCornerOptions(e,o);let s=this.elements?.get(e);s&&n(s)}else this.elements?.forEach(n)}unobserve(e){let o=n=>{this.observer?.unobserve(n),this.elements?.delete(n)};e?o(e):this.elements?.keys().forEach(n=>o(n))}};function E(e,o,n,s,r,t,i,l){if(n){let a=[];return e&&a.push(["c",...s]),r&&a.push(["a",n,n,0,0,o,...t.map(c=>c*r)]),e&&a.push(["c",...i]),a}return[["l",...l]]}var R=({width:e,height:o,radii:n,offsets:s,smoothing:r=1,preserveSmoothing:t=!0,sweepFlag:i=1})=>{let[l,,,a]=s,[c,u,f,v]=n.map(C=>(function(g,M,w,d){let $=(1+M)*g;w||(M=Math.min(M,d/g-1),$=Math.min($,d));let m=.5*Math.PI*(1-M),p=Math.sin(m/2)*g*2**.5,h=.25*Math.PI*M,y=g*Math.tan(.25*(.5*Math.PI-m))*Math.cos(h),L=y*Math.tan(h),b=($-p-y-L)/3,k=2*b;if(w&&$>d){let S=d-L-p-y,P=S-S/6;b=Math.min(b,P),k=S-b,$=Math.min($,d)}return{a:k,b,c:y,d:L,p:$,arcLength:p,radius:g,ab:k+b,bc:b+y,abc:k+b+y}})(C,r,t,Math.max(C,.5*Math.min(e,o))));return[["M",e-u.p+a,l],...E(r,i,u.radius,[u.a,0,u.ab,0,u.abc,u.d],u.arcLength,[1,1],[u.d,u.c,u.d,u.bc,u.d,u.abc],[u.p,0]),["L",e+a,o-f.p+l],...E(r,i,f.radius,[0,f.a,0,f.ab,-f.d,f.abc],f.arcLength,[-1,1],[-f.c,f.d,-f.bc,f.d,-f.abc,f.d],[0,f.p]),["L",v.p+a,o+l],...E(r,i,v.radius,[-v.a,0,-v.ab,0,-v.abc,-v.d],v.arcLength,[-1,-1],[-v.d,-v.c,-v.d,-v.bc,-v.d,-v.abc],[-v.p,0]),["L",a,c.p+l],...E(r,i,c.radius,[0,-c.a,0,-c.ab,c.d,-c.abc],c.arcLength,[1,-1],[c.c,-c.d,c.bc,-c.d,c.abc,-c.d],[0,-c.p]),["Z"]]},D=e=>R({...e,preserveSmoothing:!1,sweepFlag:1}),N=({width:e,height:o,radii:n,offsets:s})=>{let[r,,,t]=s,[i,l,a,c]=n;return[["M",t+i,r],["L",e-l+t,r],["L",e+t,r+l],["L",e+t,o-a+r],["L",e-a+t,o+r],["L",t+c,o+r],["L",t,o-c+r],["L",t,r+i],["Z"]]},U=({width:e,height:o,radii:n,offsets:s})=>{let[r,,,t]=s,[i,l,a,c]=n;return[["M",t+c,r],["L",e-l+t,r],["L",e-l+t,r+l],["L",e+t,r+l],["L",e+t,o-a+r],["L",e-a+t,o-a+r],["L",e-a+t,o+r],["L",t+c,o+r],["L",t+c,o-c+r],["L",t,o-c+r],["L",t,r+i],["L",t+i,r+i],["L",t+i,r],["Z"]]},W=e=>R({...e,smoothing:0,preserveSmoothing:!1,sweepFlag:1}),Z=e=>R({...e,smoothing:0,preserveSmoothing:!1,sweepFlag:0}),j=e=>{let o=10**e;return n=>Math.round(n*o)/o};function ee({id:e,angle:o,colors:n,precision:s}){let r=j(s),t=o*(Math.PI/180),i=Math.sin(t),l=-Math.cos(t),a=(i>=0?1:0)-.5,c=(l>=0?1:0)-.5,u=Math.abs(a*i+c*l);return`<linearGradient id="${e}" x1="${r(.5-u*i)}" y1="${r(.5-u*l)}" x2="${r(.5+u*i)}" y2="${r(.5+u*l)}" gradientUnits="objectBoundingBox">${(function(f,v){let C=j(v),g=f.map(d=>{let $=d.trim().split(/\s+/),m=$[0],p=null;if($.length>1){let h=$[1];p=h.includes("%")?parseFloat(h)/100:parseFloat(h)}return{color:m,val:p}}),M=g.length;g[0].val===null&&(g[0].val=0),g[M-1].val===null&&(g[M-1].val=1);let w=0;for(;w<M-1;){let d=w+1;for(;d<M&&g[d].val===null;)d++;if(d>w+1){let $=g[w].val,m=d-w,p=(g[d].val-$)/m;for(let h=1;h<m;h++)g[w+h].val=$+p*h}w=d}return g.map(d=>`<stop offset="${C(d.val)}" stop-color="${d.color}" />`).join("")})(n,s)}</linearGradient>`}var te=/[\r\n"%#()<>?[\\\]^`{|}\s']/g,G={"\r":"","\n":""};function q({width:e=0,height:o=0,borderRadius:n=0,offset:s=0,smoothing:r=1,cornerType:t=R,precision:i=3,isArray:l=!1}){if(!e||!o)return l?[]:"";let a=Array.isArray(s)?s:[s,s,s,s],[c,u,f,v]=a,C=e-v-u,g=o-c-f,M,w;if(Array.isArray(n)){let m=n.map((h,y)=>h+n[(y+1)%4]),p=Math.min(...m.map((h,y)=>(y%2==0?C:g)/h));M=p<1?n.map(h=>h*p):n}else M=[n,n,n,n].map((m,p)=>Math.max(0,Math.min(m-a[p],.5*Math.min(C,g))));w=t?t({width:C,height:g,radii:M,offsets:a,smoothing:r}):[[]];let d=j(i);if(l)return w.filter(m=>m[0]).map(([m,...p])=>[m,...p.map(h=>typeof h=="number"?d(h):h)]);let $="";for(let m=0;m<w.length;m++){let p=w[m];if(p[0]){$+=p[0];for(let h=1;h<p.length;h++){let y=p[h];$+=(typeof y=="number"?d(y):y)+" "}}}return $.trim()}function Q(e,o){I.setCornerOptions(e,o);let n=s=>{let r=I.getDrawOptions(e)??{},t={...r,...s};t.isRounded&&(t.width=t.width?Math.round(t.width):void 0,t.height=t.height?Math.round(t.height):void 0),t.width&&t.height&&(e.style.clipPath=r.clip?`path('${q(t)}')`:"",(r.background||r.border)&&(e.style.backgroundImage=(function(i){let{border:l=[],offset:a=0,strokeDrawType:c=0,background:u,clip:f,idPrefix:v="m",width:C,height:g,precision:M=3}=i,w=[],d=Array.isArray(l?.[0])?l:[l],$=Array.isArray(a)?a:[a,a,a,a],m=f?null:q(i),p;if(d?.length){let h=0,y=[];for(let L=0;L<d.length;L++)if(typeof d[L][1]=="number"){let[b,k,S]=d[L];if(b){let P=`${v}g${L}`;p||(p=[]),p.push(ee({id:P,angle:k,colors:S,precision:M}));let A=c===0?2*(h+b):b;y.push(`<path d="${q({...i,offset:c===0?a:$.map(O=>O+h+.5*b)})}" fill="none" stroke="url(#${P})" stroke-width="${A}" />`),h+=b}}else{let[b,k]=d[L];if(b){let S=c===0?2*(h+b):b;y.push(`<path d="${q({...i,offset:c===0?a:$.map(P=>P+h+.5*b)})}" fill="none" stroke="${k}" stroke-width="${S}" />`),h+=b}}u&&(f?w.push(`<rect width="${C}" height="${g}" fill="${u}" />`):w.push(`<path d="${m}" fill="${u}" />`)),w.push(...y.reverse())}return w.length?(({paths:h,gradients:y,clipPath:L,idPrefix:b})=>{let k=`${b}c`,S=[],P=[];return y&&y.forEach(O=>{S.push(O)}),L&&S.push(`<clipPath id="${k}"><path d="${L}" /></clipPath>`),S.length&&P.push(`<defs>${S.join("")}</defs>`),L?P.push(`<g clip-path="url(#${k})">${h.join("")}</g>`):P.push(...h),`url('data:image/svg+xml,${(O=>O.replace(te,z=>G[z]??(G[z]=`%${z.charCodeAt(0).toString(16).toUpperCase()}`)))((A=P.join(""),`<svg xmlns="http://www.w3.org/2000/svg">${A}</svg>`))}')`;var A})({paths:w,clipPath:m,gradients:p,idPrefix:v}):"none"})(t)))};return n(),I.addElement(e,o,n)}function V(e){I.unobserve(e)}var re=[".card",".alert",".item",".empty",".sheet",".toast > *",".dialog > *",".alert-dialog > *",".command-dialog > .command","[data-popover]",".calendar",".code-block",".attachment"].join(","),oe={squircle:R,"superellipse(1.5)":D,bevel:N,notch:U,scoop:Z,round:W},F=document.documentElement,B=new Set;function ne(){return getComputedStyle(F).getPropertyValue("--corner-shape").trim()||"round"}function se(){return F.dataset.corners==="force"?!0:!(window.CSS&&CSS.supports("corner-shape","squircle"))}var ae=["clipPath","borderColor","backgroundColor","backgroundImage","backgroundOrigin","backgroundRepeat","boxShadow","filter"];function Y(){for(let e of B){V(e);for(let o of ae)e.style[o]=""}B.clear()}var _=/^(transparent|rgba\(0, 0, 0, 0\))$/;function ie(e){let o=[],n=[];if(!e||e==="none")return{ring:o,drop:n};for(let s of e.split(/,(?![^(]*\))/)){let r=s.match(/^\s*((?:[a-z-]+\([^)]*\))|#\w+|[a-z]+)/i)?.[1]??"",t=(s.slice(s.indexOf(r)+r.length).match(/-?[\d.]+px/g)||[]).map(parseFloat);if(!r||_.test(r)||s.includes("inset"))continue;let[i=0,l=0,a=0,c=0]=t;!i&&!l&&!a&&c>0?o.push([c,r]):(a||i||l)&&n.push(`drop-shadow(${i}px ${l}px ${a/2}px ${r})`)}return{ring:o,drop:n}}function J(){Y();let e=ne(),o=oe[e]||(e.startsWith("superellipse")?D:null);if(!se()||!o||o===W)return;let n=parseFloat(getComputedStyle(F).getPropertyValue("--corner-smoothing"))||1,s=F.dataset.cornersSelector||re,r=[];for(let t of document.querySelectorAll(s)){let i=getComputedStyle(t),l=parseFloat(i.borderTopLeftRadius);if(!l)continue;let a=parseFloat(i.borderTopWidth),{ring:c,drop:u}=ie(i.boxShadow),f=a&&i.borderTopStyle!=="none"&&!_.test(i.borderTopColor)?[[a,i.borderTopColor]]:[];r.push({el:t,radius:l,border:[...f,...c],drop:u,background:i.backgroundColor})}for(let{el:t,radius:i,border:l,drop:a,background:c}of r){let u={borderRadius:i,smoothing:n,cornerType:o};l.length&&(Object.assign(t.style,{borderColor:"transparent",boxShadow:"none",backgroundOrigin:"border-box",backgroundRepeat:"no-repeat"}),u.border=l.length===1?l[0]:l),a.length?(Object.assign(t.style,{backgroundColor:"transparent",filter:a.join(" ")}),u.background=c):u.clip=!0,Q(t,u),B.add(t)}}var H=!1;function T(){H||(H=!0,requestAnimationFrame(()=>{H=!1,J()}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",T):T();new MutationObserver(T).observe(F,{attributes:!0,attributeFilter:["class","style","data-theme","data-corners"]});new MutationObserver(e=>{e.some(o=>o.addedNodes.length)&&T()}).observe(document.body||F,{childList:!0,subtree:!0});window.auvyxCorners={apply:J,clear:Y};})();