plass-ui 1.8.1 → 1.9.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.
@@ -1 +1 @@
1
- import{dateFormatter as t,numberFormatter as e}from"./format.js";export const plotHeights={xs:120,sm:160,md:220,lg:280,xl:360};export const sparklineHeights={xs:16,sm:20,md:28,lg:40,xl:56};export const lineWidths={xs:1.5,sm:1.75,md:2,lg:2.25,xl:2.5};export const lineDash="6 4";export const markerRadii={xs:3,sm:3.5,md:4,lg:4.5,xl:5};export const chartFontSizes={xs:10,sm:11,md:12,lg:13,xl:14};export const barMaxThickness={xs:14,sm:18,md:24,lg:30,xl:36};export const barBandRatio={default:.62,compact:.82};export const markGap=2;export const barRadius=4;export const chartPalette=["var(--plass-chart-1)","var(--plass-chart-2)","var(--plass-chart-3)","var(--plass-chart-4)","var(--plass-chart-5)","var(--plass-chart-6)","var(--plass-chart-7)","var(--plass-chart-8)"];const n=new Set(["primary","secondary","success","warning","danger","info"]);export function resolveColor(t){return n.has(t)?`var(--plass-${t}-accent)`:t}export function seriesColor(t,e,n=chartPalette){return resolveColor(t?.color?t.color:n[e%n.length]??chartPalette[0])}export function dimmedByHover(t,e,n){return null!==t&&t!==e&&!0===n[t]}export function toValue(t){return null==t?{value:null}:"number"==typeof t?{value:Number.isFinite(t)?t:null}:(t=>"object"==typeof t&&null!==t)(t)?{value:null!==t.y&&Number.isFinite(t.y)?t.y:null,x:t.x,z:t.z,color:t.color?resolveColor(t.color):void 0,label:t.label}:{value:null}}export function toValues(t){return t.map(t=>t.data.map(toValue))}export function rankCategories(t,e,n){const{sort:o="none",max:r,other:a}=n,i=categoryCount(t),u=void 0!==r&&r>0&&i>r;if(!u&&("none"===o||0===i))return{series:t,categories:e};const s=toValues(t),size=t=>s.reduce((e,n)=>e+Math.abs(n[t]?.value??0),0),c=Array.from({length:i},(t,e)=>e),l=u?[...c].sort((t,e)=>size(e)-size(t)).slice(0,r).sort((t,e)=>t-e):c,h=u?c.filter(t=>!l.includes(t)):[],m="none"===o?l:[...l].sort((t,e)=>"ascending"===o?size(t)-size(e):size(e)-size(t));return{series:t.map((t,e)=>{const n=s[e],o=m.map(e=>t.data[e]??null);if(h.length>0){const t=h.filter(t=>null!==n[t]?.value),e=t.reduce((t,e)=>t+(n[e]?.value??0),0);o.push(0===t.length?{y:null,x:a}:{y:e,x:a})}return{...t,data:o}}),categories:e?[...m.map(t=>e[t]??t),...h.length>0?[a]:[]]:void 0}}export function zeroNulls(t){return t.map(t=>({...t,data:t.data.map(t=>null==t?0:"number"==typeof t?Number.isFinite(t)?t:0:null!==t.y&&void 0!==t.y&&Number.isFinite(t.y)?t:{...t,y:0})}))}export function labelledPoints(t,e){if("none"===e)return()=>!1;if("all"===e)return()=>!0;if("last"===e){let e=-1;for(let n=t.length-1;n>=0;n--)if(null!==t[n].value){e=n;break}return t=>t===e}let n=1/0,o=-1/0;for(const e of t)null!==e.value&&(n=Math.min(n,e.value),o=Math.max(o,e.value));return e=>{const r=t[e].value;return null!==r&&(r===n||r===o)}}export function stackToFull(t,e){const n=toValues(t),o=[];for(const t of n)t.forEach((t,e)=>{o[e]=(o[e]??0)+Math.abs(t.value??0)});return t.map((t,r)=>({...t,data:n[r].map((t,n)=>{if(null===t.value)return null;const r=o[n];return{x:t.x,y:0===r?0:t.value/r*100,color:t.color,label:t.label??e(t.value)}})}))}export function toNumber(t){return t instanceof Date?Number.isFinite(t.getTime())?t.getTime():null:"number"==typeof t&&Number.isFinite(t)?t:null}export function pointX(t,e,n){return toNumber(t.x??n?.[e]??e)}export function categoriesAreDates(t,e){return(e?.some(t=>t instanceof Date)??!1)||t.some(t=>t.some(t=>t.x instanceof Date))}export function categoryExtent(t,e){let n=1/0,o=-1/0,r=!1;return t.forEach(t=>{t.forEach((t,a)=>{if(null===t.value)return;const i=pointX(t,a,e);null!==i&&(r=!0,n=Math.min(n,i),o=Math.max(o,i))})}),r?{min:n,max:o}:null}export function bubbleRadius(t,e,n,o){return e>0&&Number.isFinite(t)&&!(t<=0)?Math.max(o,Math.sqrt(Math.min(t,e)/e)*n):0===t?0:o}export function categoryCount(t){return t.reduce((t,e)=>Math.max(t,e.data.length),0)}export function categoryAt(t,e,n){if(e&&t<e.length)return e[t];for(const e of n){const n=e[t]?.x;if(void 0!==n)return n}return t}export function extentOf(t,e){let n=1/0,o=-1/0,r=!1;if(e){const e=t.reduce((t,e)=>Math.max(t,e.length),0);for(let a=0;a<e;a++){let e=0,i=0;for(const n of t){const t=n[a]?.value;null!=t&&(r=!0,t>=0?e+=t:i+=t)}n=Math.min(n,i),o=Math.max(o,e)}}else for(const e of t)for(const{value:t}of e)null!==t&&(r=!0,n=Math.min(n,t),o=Math.max(o,t));return r?{min:n,max:o}:null}function niceStep(t){const e=10**Math.floor(Math.log10(t)),n=t/e;return n<=1?e:n<=2?2*e:n<=5?5*e:10*e}export function valueScale(t,e={}){const{tickCount:n=5,includeZero:o=!0}=e;let r=e.min??(t?t.min:0),a=e.max??(t?t.max:1);if(o&&void 0===e.min&&(r=Math.min(r,0)),o&&void 0===e.max&&(a=Math.max(a,0)),a===r){const t=Math.abs(a)>0?.5*Math.abs(a):1,n=void 0===e.min,o=void 0===e.max;!n&&o||(r-=t),!o&&n||(a+=t)}const i=void 0!==e.min&&void 0!==e.max?function dividingStep(t,e){const n=10**Math.floor(Math.log10(t/Math.max(1,e)));let o=niceStep(t/Math.max(1,e)),r=1/0;for(const a of[.1,1,10])for(const i of[1,2,2.5,5]){const u=i*a*n,s=t/u,c=Math.round(s);if(c<1||Math.abs(s-c)>1e-9)continue;const l=Math.abs(c-e);l<r&&(r=l,o=u)}return o}(a-r,n):niceStep((a-r)/Math.max(1,n)),u=void 0!==e.min?r:Math.floor(r/i)*i,s=void 0!==e.max?a:Math.ceil(a/i)*i,c=s-u||1,l=[];for(let t=u;t<=s+1e-9*i;t+=i)l.push(Number(t.toFixed(12)));return{min:u,max:s,ticks:l,fraction:t=>(t-u)/c}}export function logScale(t,e={}){const{tickCount:n=5}=e,o=Math.max(e.max??(t?t.max:1),1e-12),r=e.min??(t?t.min:o/1e3),a=r>0?r:o/1e3,i=Math.floor(Math.log10(a)),u=Math.ceil(Math.log10(o)),s=10**i,c=10**Math.max(u,i+1),l=Math.log10(c)-Math.log10(s),h=[];if(l<=2){for(let t=i;t<=Math.log10(c)+1e-9;t+=1)for(const e of[1,2,5]){const n=e*10**t;n>=s-1e-12&&n<=c+1e-12&&h.push(Number(n.toPrecision(12)))}h[h.length-1]!==c&&h.push(c)}else{const t=Math.max(1,Math.round(l/Math.max(1,n-1)));for(let e=i;e<=Math.log10(c)+1e-9;e+=t)h.push(Number((10**e).toPrecision(12)));h[h.length-1]!==c&&h.push(c)}return{min:s,max:c,ticks:h,fraction:t=>(Math.log10(Math.min(c,Math.max(s,t)))-Math.log10(s))/(l||1)}}const o=1e3,r=6e4,a=36e5,i=24*a,u=[{unit:"second",count:1,size:o},{unit:"second",count:5,size:5e3},{unit:"second",count:15,size:15e3},{unit:"second",count:30,size:3e4},{unit:"minute",count:1,size:r},{unit:"minute",count:5,size:3e5},{unit:"minute",count:15,size:9e5},{unit:"minute",count:30,size:18e5},{unit:"hour",count:1,size:a},{unit:"hour",count:3,size:3*a},{unit:"hour",count:6,size:6*a},{unit:"hour",count:12,size:12*a},{unit:"day",count:1,size:i},{unit:"day",count:2,size:2*i},{unit:"week",count:1,size:7*i},{unit:"week",count:2,size:14*i},{unit:"month",count:1,size:30*i},{unit:"quarter",count:1,size:91*i},{unit:"month",count:6,size:182*i},{unit:"year",count:1,size:365*i}];function floorTime(t,e){const n=new Date(t);if("year"===e)return new Date(n.getFullYear(),0,1).getTime();if("quarter"===e)return new Date(n.getFullYear(),3*Math.floor(n.getMonth()/3),1).getTime();if("month"===e)return new Date(n.getFullYear(),n.getMonth(),1).getTime();if("week"===e){const t=new Date(n.getFullYear(),n.getMonth(),n.getDate());return t.setDate(t.getDate()-t.getDay()),t.getTime()}return"day"===e?new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime():"hour"===e?new Date(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours()).getTime():"minute"===e?Math.floor(t/r)*r:Math.floor(t/o)*o}function addTime(t,e,n){const a=new Date(t);if("year"===e)a.setFullYear(a.getFullYear()+n);else if("quarter"===e)a.setMonth(a.getMonth()+3*n);else if("month"===e)a.setMonth(a.getMonth()+n);else if("week"===e)a.setDate(a.getDate()+7*n);else if("day"===e)a.setDate(a.getDate()+n);else{if("hour"!==e)return t+n*("minute"===e?r:o);a.setHours(a.getHours()+n)}return a.getTime()}const s={second:"minute",minute:"hour",hour:"day",day:"month",week:"week",month:"year",quarter:"year",year:"year"};export function timeScale(t,e={}){const{tickCount:n=6}=e;let o=e.min??t?.min??Date.parse("2000-01-01T00:00:00"),r=e.max??t?.max??o+i;r<=o&&(o-=i/2,r+=i/2);const a=r-o;let c=u[0],l=1/0;for(const t of u){const e=Math.abs(a/t.size-n);e<l&&(l=e,c=t)}const h=c.unit,m="year"===h?Math.max(1,Math.round(niceStep(a/n/(365*i)))):c.count;let f=e.min??function alignTime(t,e,n){let o=floorTime(t,s[e]);if("year"===e&&n>1){const t=new Date(o).getFullYear();o=new Date(t-(t%n+n)%n,0,1).getTime()}for(let r=0;r<500;r++){const r=addTime(o,e,n);if(r>t)return o;o=r}return o}(o,h,m);const x=[];let $=f;for(let t=0;t<500&&(x.push($),!($>r));t++)$=addTime($,h,m);let M=e.max??x[x.length-1];M<=f&&(f-=i/2,M+=i/2);const p=M-f;return{min:f,max:M,ticks:x.filter(t=>t>=f&&t<=M),unit:h,step:m,fraction:t=>(t-f)/p}}function timeParts(t,e,n=!1){if("second"===t||"minute"===t||"hour"===t){const o="second"===t?{hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}:{hour:"2-digit",minute:"2-digit",hourCycle:"h23"};if(!n)return o;const r={month:"short",day:"numeric",...o};return e?{...r,year:"numeric"}:r}if("year"===t)return{year:"numeric"};const o="month"===t||"quarter"===t?{month:"short"}:{month:"short",day:"numeric"};return e?{...o,year:"numeric"}:o}export function timeNeedsDate(t,e){return!("second"!==e&&"minute"!==e&&"hour"!==e||t.length<2||floorTime(t[0],"day")===floorTime(t[t.length-1]-1,"day"))}export function formatTimeValue(e,n,o,r=!1){return t(o,timeParts(n,!0,r)).format(new Date(e))}export function formatTimeTicks(e,n,o){const r=new Set(e.map(t=>new Date(t).getFullYear())).size>1,a=timeNeedsDate(e,n);return e.map((e,i)=>t(o,timeParts(n,r||0===i,a)).format(new Date(e)))}export function tickStride(t,e,n){if(t<=1||e<=0)return 1;const o=Math.max(1,Math.floor(e/Math.max(1,n)));return Math.max(1,Math.ceil(t/o))}export function showsTick(t,e,n,o){return t%n===0||o&&t===e-1}export function fitsLast(t,e,n,o){const r=(t-1)%e;return r>0&&r*n>=o+8}export function textWidth(t,e){let n=0;for(const e of t)n+=/[ᄀ-ᇿ⺀-꓏가-퟿豈-﫿︰-﹏]/.test(e)?1:.6;return n*e}export function truncate(t,e,n){if(e<=0||textWidth(t,n)<=e)return t;const o=e-textWidth("…",n);let r="",a=0;for(const e of t){const t=a+textWidth(e,n);if(t>o)break;a=t,r+=e}return r.length>0?`${r.trimEnd()}…`:"…"}export function fitCategoryLabels(t,e){const{horizontal:n,slot:o,fontSize:r,ticks:a}=e;return a||!n&&o-6<2.4*r?t:t.map(t=>truncate(t,n?150:o-6,r))}export function tickAngleOf(t){return void 0!==t&&"auto"!==t&&Number.isFinite(t)?Math.max(-90,Math.min(90,t)):0}export function autoTickAngle(t,e){const n=e.slot-6;return t.some(t=>textWidth(t,e.fontSize)>n)?-45:0}export function tiltedDepth(t,e,n){const o=Math.abs(e)*Math.PI/180;return Math.abs(Math.sin(o))*t+Math.abs(Math.cos(o))*n}export function tiltedStep(t,e,n){const o=Math.abs(e)*Math.PI/180;return Math.abs(Math.cos(o))*t+Math.abs(Math.sin(o))*n}export function tiltedPitch(t,e){const n=Math.abs(t)*Math.PI/180;return 1.35*e/Math.max(Math.abs(Math.sin(n)),.09)}export function tiltedRoom(t,e,n){const o=Math.abs(e)*Math.PI/180;return Math.max(3*n,(t-Math.abs(Math.cos(o))*n)/Math.max(Math.abs(Math.sin(o)),.09))}export function bandScale(t,e,n){const o=t>0?e/t:e;return{step:o,band:o*n,centre:t=>o*(t+.5)}}export function linePath(t,e){const n=[];let o=[];const flush=()=>{if(0!==o.length){if(1===o.length)n.push(`M${o[0].x} ${o[0].y}h0`);else if("step"===e){n.push(`M${o[0].x} ${o[0].y}`);for(let t=1;t<o.length;t++){const e=(o[t-1].x+o[t].x)/2;n.push(`H${e}V${o[t].y}H${o[t].x}`)}}else if("smooth"===e)n.push(`M${o[0].x} ${o[0].y}`),n.push(function monotonePath(t){const e=t.length,n=[];for(let o=0;o<e-1;o++){const e=t[o+1].x-t[o].x;n.push(0===e?0:(t[o+1].y-t[o].y)/e)}const o=[n[0]??0];for(let t=1;t<e-1;t++){const e=n[t-1],r=n[t];o.push(e*r<=0?0:2*e*r/(e+r))}o.push(n[e-2]??0);const r=[];for(let n=0;n<e-1;n++){const e=(t[n+1].x-t[n].x)/3;r.push(`C${t[n].x+e} ${t[n].y+o[n]*e} ${t[n+1].x-e} ${t[n+1].y-o[n+1]*e} ${t[n+1].x} ${t[n+1].y}`)}return r.join("")}(o));else{n.push(`M${o[0].x} ${o[0].y}`);for(let t=1;t<o.length;t++)n.push(`L${o[t].x} ${o[t].y}`)}o=[]}};for(const e of t)null===e?flush():o.push(e);return flush(),n.join("")}export function areaPath(t,e,n){const o=[];let r=0;const flush=a=>{const i=t.slice(r,a).filter(Boolean);if(0===i.length)return;const u="number"==typeof e?i.map(t=>({x:t.x,y:e})).reverse():e.slice(r,a).filter(Boolean).reverse();if(0===u.length)return;const s=linePath(i,n),c=linePath(u,n).replace(/^M/,"L");o.push(`${s}${c}Z`)};for(let e=0;e<t.length;e++)null===t[e]&&(flush(e),r=e+1);return flush(t.length),o.join("")}export function barPath(t,e,n,o,r,a){const i=Math.max(0,Math.min(r,n/2,o/2));if(0===i||n<=0||o<=0)return`M${t} ${e}h${n}v${o}h${-n}Z`;const arc=(t,e)=>`a${i} ${i} 0 0 1 ${t} ${e}`;return"up"===a?`M${t} ${e+o}V${e+i}${arc(i,-i)}H${t+n-i}${arc(i,i)}V${e+o}Z`:"down"===a?`M${t} ${e}H${t+n}V${e+o-i}${arc(-i,i)}H${t+i}${arc(-i,-i)}Z`:"right"===a?`M${t} ${e}H${t+n-i}${arc(i,i)}V${e+o-i}${arc(-i,i)}H${t}Z`:`M${t+n} ${e+o}H${t+i}${arc(-i,-i)}V${e+i}${arc(i,-i)}H${t+n}Z`}export const markShapes=["circle","square","triangle","diamond","cross"];const c={circle:1,square:.8862,triangle:1.5551,diamond:1.2533,cross:1.189};export function markPath(t,e,n,o){const r=Math.max(0,o)*c[t];if(0===r)return"";if("circle"===t)return`M${e-r} ${n}a${r} ${r} 0 1 0 ${2*r} 0a${r} ${r} 0 1 0 ${2*-r} 0Z`;if("square"===t)return`M${e-r} ${n-r}h${2*r}v${2*r}h${2*-r}Z`;if("diamond"===t)return`M${e} ${n-r}L${e+r} ${n}L${e} ${n+r}L${e-r} ${n}Z`;if("triangle"===t)return`M${[0,120,240].map(t=>{const o=(t-90)*Math.PI/180;return`${e+r*Math.cos(o)} ${n+r*Math.sin(o)}`}).join("L")}Z`;const a=r/3;return`M${e-a} ${n-r}h${2*a}v${r-a}h${r-a}v${2*a}h${-(r-a)}v${r-a}h${2*-a}v${-(r-a)}h${-(r-a)}v${2*-a}h${r-a}Z`}export function ringPath(t,e,n,o,r){const point=o=>{const r=(o-90)*Math.PI/180;return`${t+n*Math.cos(r)} ${e+n*Math.sin(r)}`};if(Math.abs(r-o)>=360){const t=o+180;return`M${point(o)}A${n} ${n} 0 1 1 ${point(t)}A${n} ${n} 0 1 1 ${point(o)}`}const a=Math.abs(r-o)>180?1:0;return`M${point(o)}A${n} ${n} 0 ${a} 1 ${point(r)}`}export function arcPath(t,e,n,o,r,a){const point=(n,o)=>{const r=(o-90)*Math.PI/180;return`${t+n*Math.cos(r)} ${e+n*Math.sin(r)}`};if(Math.abs(a-r)>=360){const t=r+180;return o>0?`M${point(n,r)}A${n} ${n} 0 1 1 ${point(n,t)}A${n} ${n} 0 1 1 ${point(n,r)}ZM${point(o,r)}A${o} ${o} 0 1 0 ${point(o,t)}A${o} ${o} 0 1 0 ${point(o,r)}Z`:`M${point(n,r)}A${n} ${n} 0 1 1 ${point(n,t)}A${n} ${n} 0 1 1 ${point(n,r)}Z`}const i=Math.abs(a-r)>180?1:0;return o<=0?`M${t} ${e}L${point(n,r)}A${n} ${n} 0 ${i} 1 ${point(n,a)}Z`:`M${point(n,r)}A${n} ${n} 0 ${i} 1 ${point(n,a)}L${point(o,a)}A${o} ${o} 0 ${i} 0 ${point(o,r)}Z`}export const rampSteps=5;export function rampStep(t,e,n,o,r=0){if("diverging"===o){const o=Math.max(Math.abs(n-r),Math.abs(r-e));if(!(o>0))return 2;const a=(t-r)/o;return Math.min(4,Math.max(0,2+Math.round(2*a)))}const a=n-e;return a>0?Math.min(4,Math.max(0,Math.floor((t-e)/a*5))):4}export function rampFill(t,e){return`var(--plass-chart-${"diverging"===e?"div":"seq"}-${t+1})`}export function rampInk(t,e){return`var(--plass-chart-${"diverging"===e?"div":"seq"}-on-${t+1})`}export function squarify(t,e,n){const o=t.reduce((t,e)=>t+Math.max(0,e),0);if(!(o>0)||e<=0||n<=0)return[];const r=e*n/o,a=t.map((t,e)=>({index:e,area:Math.max(0,t)*r})).filter(t=>t.area>0).sort((t,e)=>e.area-t.area),i=[];let u=0,s=0,c=e,l=n,h=[];const worst=t=>{const e=Math.min(c,l),n=t.reduce((t,e)=>t+e.area,0);if(!(n>0&&e>0))return 1/0;const o=t[0].area,r=t[t.length-1].area;return Math.max(e*e*o/(n*n),n*n/(e*e*r))},place=()=>{const t=h.reduce((t,e)=>t+e.area,0),e=Math.min(c,l),n=e>0?t/e:0,o=c>=l;let r=0;for(const t of h){const e=n>0?t.area/n:0;i.push(o?{index:t.index,x:u,y:s+r,width:n,height:e}:{index:t.index,x:u+r,y:s,width:e,height:n}),r+=e}o?(u+=n,c-=n):(s+=n,l-=n),h=[]};for(const t of a)0===h.length||worst([...h,t])<=worst(h)||place(),h.push(t);return h.length>0&&place(),i}const l={month:"short",day:"numeric"},h={notation:"compact",maximumFractionDigits:1},m={maximumFractionDigits:2};export function formatCategory(e,n){return e instanceof Date?t(n,l).format(e):String(e)}export function compactNumber(t,n){return Math.abs(t)>=1e4?e(n,h).format(t):e(n,m).format(t)}export function writeChartValue(t,n,o){return n?e(o,n).format(t):compactNumber(t,o)}
1
+ import{dateFormatter as t,numberFormatter as e}from"./format.js";export const plotHeights={xs:120,sm:160,md:220,lg:280,xl:360};export const sparklineHeights={xs:16,sm:20,md:28,lg:40,xl:56};export const lineWidths={xs:1.5,sm:1.75,md:2,lg:2.25,xl:2.5};export const lineDash="6 4";export const markerRadii={xs:3,sm:3.5,md:4,lg:4.5,xl:5};export const chartFontSizes={xs:10,sm:11,md:12,lg:13,xl:14};export const barMaxThickness={xs:14,sm:18,md:24,lg:30,xl:36};export const barBandRatio={default:.62,compact:.82};export const markGap=2;export const barRadius=4;export const chartPalette=["var(--plass-chart-1)","var(--plass-chart-2)","var(--plass-chart-3)","var(--plass-chart-4)","var(--plass-chart-5)","var(--plass-chart-6)","var(--plass-chart-7)","var(--plass-chart-8)"];const n=new Set(["primary","secondary","success","warning","danger","info"]);export function resolveColor(t){return n.has(t)?`var(--plass-${t}-accent)`:t}export function seriesColor(t,e,n=chartPalette){return resolveColor(t?.color?t.color:n[e%n.length]??chartPalette[0])}export function dimmedByHover(t,e,n){return null!==t&&t!==e&&!0===n[t]}export function toValue(t){return null==t?{value:null}:"number"==typeof t?{value:Number.isFinite(t)?t:null}:(t=>"object"==typeof t&&null!==t)(t)?{value:null!==t.y&&Number.isFinite(t.y)?t.y:null,x:t.x,z:t.z,color:t.color?resolveColor(t.color):void 0,label:t.label}:{value:null}}export function toValues(t){return t.map(t=>t.data.map(toValue))}export function rankCategories(t,e,n){const{sort:o="none",max:r,other:a}=n,i=categoryCount(t),u=void 0!==r&&r>0&&i>r;if(!u&&("none"===o||0===i))return{series:t,categories:e};const s=toValues(t),size=t=>s.reduce((e,n)=>e+Math.abs(n[t]?.value??0),0),c=Array.from({length:i},(t,e)=>e),l=u?[...c].sort((t,e)=>size(e)-size(t)).slice(0,r).sort((t,e)=>t-e):c,h=u?c.filter(t=>!l.includes(t)):[],m="none"===o?l:[...l].sort((t,e)=>"ascending"===o?size(t)-size(e):size(e)-size(t));return{series:t.map((t,e)=>{const n=s[e],o=m.map(e=>t.data[e]??null);if(h.length>0){const t=h.filter(t=>null!==n[t]?.value),e=t.reduce((t,e)=>t+(n[e]?.value??0),0);o.push(0===t.length?{y:null,x:a}:{y:e,x:a})}return{...t,data:o}}),categories:e?[...m.map(t=>e[t]??t),...h.length>0?[a]:[]]:void 0}}export function zeroNulls(t){return t.map(t=>({...t,data:t.data.map(t=>null==t?0:"number"==typeof t?Number.isFinite(t)?t:0:null!==t.y&&void 0!==t.y&&Number.isFinite(t.y)?t:{...t,y:0})}))}export function labelledPoints(t,e){if("none"===e)return()=>!1;if("all"===e)return()=>!0;if("last"===e){let e=-1;for(let n=t.length-1;n>=0;n--)if(null!==t[n].value){e=n;break}return t=>t===e}let n=1/0,o=-1/0;for(const e of t)null!==e.value&&(n=Math.min(n,e.value),o=Math.max(o,e.value));return e=>{const r=t[e].value;return null!==r&&(r===n||r===o)}}export function stackToFull(t,e){const n=toValues(t),o=[];for(const t of n)t.forEach((t,e)=>{o[e]=(o[e]??0)+Math.abs(t.value??0)});return t.map((t,r)=>({...t,data:n[r].map((t,n)=>{if(null===t.value)return null;const r=o[n];return{x:t.x,y:0===r?0:t.value/r*100,color:t.color,label:t.label??e(t.value)}})}))}export function toNumber(t){return t instanceof Date?Number.isFinite(t.getTime())?t.getTime():null:"number"==typeof t&&Number.isFinite(t)?t:null}export function pointX(t,e,n){return toNumber(t.x??n?.[e]??e)}export function categoriesAreDates(t,e){return(e?.some(t=>t instanceof Date)??!1)||t.some(t=>t.some(t=>t.x instanceof Date))}export function categoryExtent(t,e){let n=1/0,o=-1/0,r=!1;return t.forEach(t=>{t.forEach((t,a)=>{if(null===t.value)return;const i=pointX(t,a,e);null!==i&&(r=!0,n=Math.min(n,i),o=Math.max(o,i))})}),r?{min:n,max:o}:null}export function bubbleRadius(t,e,n,o){return e>0&&Number.isFinite(t)&&!(t<=0)?Math.max(o,Math.sqrt(Math.min(t,e)/e)*n):0===t?0:o}export function categoryCount(t){return t.reduce((t,e)=>Math.max(t,e.data.length),0)}export function categoryAt(t,e,n){if(e&&t<e.length)return e[t];for(const e of n){const n=e[t]?.x;if(void 0!==n)return n}return t}export function extentOf(t,e){let n=1/0,o=-1/0,r=!1;if(e){const e=t.reduce((t,e)=>Math.max(t,e.length),0);for(let a=0;a<e;a++){let e=0,i=0;for(const n of t){const t=n[a]?.value;null!=t&&(r=!0,t>=0?e+=t:i+=t)}n=Math.min(n,i),o=Math.max(o,e)}}else for(const e of t)for(const{value:t}of e)null!==t&&(r=!0,n=Math.min(n,t),o=Math.max(o,t));return r?{min:n,max:o}:null}function niceStep(t){const e=10**Math.floor(Math.log10(t)),n=t/e;return n<=1?e:n<=2?2*e:n<=5?5*e:10*e}export function valueScale(t,e={}){const{tickCount:n=5,includeZero:o=!0}=e;let r=e.min??(t?t.min:0),a=e.max??(t?t.max:1);if(o&&void 0===e.min&&(r=Math.min(r,0)),o&&void 0===e.max&&(a=Math.max(a,0)),a===r){const t=Math.abs(a)>0?.5*Math.abs(a):1,n=void 0===e.min,o=void 0===e.max;!n&&o||(r-=t),!o&&n||(a+=t)}const i=void 0!==e.min&&void 0!==e.max?function dividingStep(t,e){const n=10**Math.floor(Math.log10(t/Math.max(1,e)));let o=niceStep(t/Math.max(1,e)),r=1/0;for(const a of[.1,1,10])for(const i of[1,2,2.5,5]){const u=i*a*n,s=t/u,c=Math.round(s);if(c<1||Math.abs(s-c)>1e-9)continue;const l=Math.abs(c-e);l<r&&(r=l,o=u)}return o}(a-r,n):niceStep((a-r)/Math.max(1,n)),u=void 0!==e.min?r:Math.floor(r/i)*i,s=void 0!==e.max?a:Math.ceil(a/i)*i,c=s-u||1,l=[];for(let t=u;t<=s+1e-9*i;t+=i)l.push(Number(t.toFixed(12)));return{min:u,max:s,ticks:l,fraction:t=>(t-u)/c}}export function logScale(t,e={}){const{tickCount:n=5}=e,o=Math.max(e.max??(t?t.max:1),1e-12),r=e.min??(t?t.min:o/1e3),a=r>0?r:o/1e3,i=Math.floor(Math.log10(a)),u=Math.ceil(Math.log10(o)),s=10**i,c=10**Math.max(u,i+1),l=Math.log10(c)-Math.log10(s),h=[];if(l<=2){for(let t=i;t<=Math.log10(c)+1e-9;t+=1)for(const e of[1,2,5]){const n=e*10**t;n>=s-1e-12&&n<=c+1e-12&&h.push(Number(n.toPrecision(12)))}h[h.length-1]!==c&&h.push(c)}else{const t=Math.max(1,Math.round(l/Math.max(1,n-1)));for(let e=i;e<=Math.log10(c)+1e-9;e+=t)h.push(Number((10**e).toPrecision(12)));h[h.length-1]!==c&&h.push(c)}return{min:s,max:c,ticks:h,fraction:t=>(Math.log10(Math.min(c,Math.max(s,t)))-Math.log10(s))/(l||1)}}const o=1e3,r=6e4,a=36e5,i=24*a,u=[{unit:"second",count:1,size:o},{unit:"second",count:5,size:5e3},{unit:"second",count:15,size:15e3},{unit:"second",count:30,size:3e4},{unit:"minute",count:1,size:r},{unit:"minute",count:5,size:3e5},{unit:"minute",count:15,size:9e5},{unit:"minute",count:30,size:18e5},{unit:"hour",count:1,size:a},{unit:"hour",count:3,size:3*a},{unit:"hour",count:6,size:6*a},{unit:"hour",count:12,size:12*a},{unit:"day",count:1,size:i},{unit:"day",count:2,size:2*i},{unit:"week",count:1,size:7*i},{unit:"week",count:2,size:14*i},{unit:"month",count:1,size:30*i},{unit:"quarter",count:1,size:91*i},{unit:"month",count:6,size:182*i},{unit:"year",count:1,size:365*i}];function floorTime(t,e){const n=new Date(t);if("year"===e)return new Date(n.getFullYear(),0,1).getTime();if("quarter"===e)return new Date(n.getFullYear(),3*Math.floor(n.getMonth()/3),1).getTime();if("month"===e)return new Date(n.getFullYear(),n.getMonth(),1).getTime();if("week"===e){const t=new Date(n.getFullYear(),n.getMonth(),n.getDate());return t.setDate(t.getDate()-t.getDay()),t.getTime()}return"day"===e?new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime():"hour"===e?new Date(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours()).getTime():"minute"===e?Math.floor(t/r)*r:Math.floor(t/o)*o}function addTime(t,e,n){const a=new Date(t);if("year"===e)a.setFullYear(a.getFullYear()+n);else if("quarter"===e)a.setMonth(a.getMonth()+3*n);else if("month"===e)a.setMonth(a.getMonth()+n);else if("week"===e)a.setDate(a.getDate()+7*n);else if("day"===e)a.setDate(a.getDate()+n);else{if("hour"!==e)return t+n*("minute"===e?r:o);a.setHours(a.getHours()+n)}return a.getTime()}const s={second:"minute",minute:"hour",hour:"day",day:"month",week:"week",month:"year",quarter:"year",year:"year"};export function timeScale(t,e={}){const{tickCount:n=6}=e;let o=e.min??t?.min??Date.parse("2000-01-01T00:00:00"),r=e.max??t?.max??o+i;r<=o&&(o-=i/2,r+=i/2);const a=r-o;let c=u[0],l=1/0;for(const t of u){const e=Math.abs(a/t.size-n);e<l&&(l=e,c=t)}const h=c.unit,m="year"===h?Math.max(1,Math.round(niceStep(a/n/(365*i)))):c.count;let f=e.min??function alignTime(t,e,n){let o=floorTime(t,s[e]);if("year"===e&&n>1){const t=new Date(o).getFullYear();o=new Date(t-(t%n+n)%n,0,1).getTime()}for(let r=0;r<500;r++){const r=addTime(o,e,n);if(r>t)return o;o=r}return o}(o,h,m);const x=[];let $=f;for(let t=0;t<500&&(x.push($),!($>r));t++)$=addTime($,h,m);let M=e.max??x[x.length-1];M<=f&&(f-=i/2,M+=i/2);const p=M-f;return{min:f,max:M,ticks:x.filter(t=>t>=f&&t<=M),unit:h,step:m,fraction:t=>(t-f)/p}}function timeParts(t,e,n=!1){if("second"===t||"minute"===t||"hour"===t){const o="second"===t?{hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}:{hour:"2-digit",minute:"2-digit",hourCycle:"h23"};if(!n)return o;const r={month:"short",day:"numeric",...o};return e?{...r,year:"numeric"}:r}if("year"===t)return{year:"numeric"};const o="month"===t||"quarter"===t?{month:"short"}:{month:"short",day:"numeric"};return e?{...o,year:"numeric"}:o}export function timeNeedsDate(t,e){return!("second"!==e&&"minute"!==e&&"hour"!==e||t.length<2||floorTime(t[0],"day")===floorTime(t[t.length-1]-1,"day"))}export function formatTimeValue(e,n,o,r=!1){return t(o,timeParts(n,!0,r)).format(new Date(e))}export function formatTimeTicks(e,n,o){const r=new Set(e.map(t=>new Date(t).getFullYear())).size>1,a=timeNeedsDate(e,n);return e.map((e,i)=>t(o,timeParts(n,r||0===i,a)).format(new Date(e)))}export function tickStride(t,e,n){if(t<=1||e<=0)return 1;const o=Math.max(1,Math.floor(e/Math.max(1,n)));return Math.max(1,Math.ceil(t/o))}export function showsTick(t,e,n,o){return t%n===0||o&&t===e-1}export function fitsLast(t,e,n,o){const r=(t-1)%e;return r>0&&r*n>=o+8}export function barLabelRoom(t,e,n){let o=0;for(const r of toValues(t))for(const t of r)if(null!==t.value){const r="string"==typeof t.label?t.label:e(t.value);o=Math.max(o,textWidth(r,n))}return o+5}export function textWidth(t,e){let n=0;for(const e of t)n+=/[ᄀ-ᇿ⺀-꓏가-퟿豈-﫿︰-﹏]/.test(e)?1:.6;return n*e}export function referenceLabelRoom(t,e,n,o=4,r=.3){const a=t.reduce((t,e)=>Math.max(t,textWidth(e,n)),0);return 0===a?0:Math.min(a,e*r)+o}export function truncate(t,e,n){if(e<=0||textWidth(t,n)<=e)return t;const o=e-textWidth("…",n);let r="",a=0;for(const e of t){const t=a+textWidth(e,n);if(t>o)break;a=t,r+=e}return r.length>0?`${r.trimEnd()}…`:"…"}export function fitCategoryLabels(t,e){const{horizontal:n,slot:o,fontSize:r,ticks:a}=e;return a||!n&&o-6<2.4*r?t:t.map(t=>truncate(t,n?150:o-6,r))}export function tickAngleOf(t){return void 0!==t&&"auto"!==t&&Number.isFinite(t)?Math.max(-90,Math.min(90,t)):0}export function autoTickAngle(t,e){const n=e.slot-6;return t.some(t=>textWidth(t,e.fontSize)>n)?-45:0}export function tiltedDepth(t,e,n){const o=Math.abs(e)*Math.PI/180;return Math.abs(Math.sin(o))*t+Math.abs(Math.cos(o))*n}export function tiltedStep(t,e,n){const o=Math.abs(e)*Math.PI/180;return Math.abs(Math.cos(o))*t+Math.abs(Math.sin(o))*n}export function tiltedPitch(t,e){const n=Math.abs(t)*Math.PI/180;return 1.35*e/Math.max(Math.abs(Math.sin(n)),.09)}export function tiltedRoom(t,e,n){const o=Math.abs(e)*Math.PI/180;return Math.max(3*n,(t-Math.abs(Math.cos(o))*n)/Math.max(Math.abs(Math.sin(o)),.09))}export function bandScale(t,e,n){const o=t>0?e/t:e;return{step:o,band:o*n,centre:t=>o*(t+.5)}}export function linePath(t,e){const n=[];let o=[];const flush=()=>{if(0!==o.length){if(1===o.length)n.push(`M${o[0].x} ${o[0].y}h0`);else if("step"===e){n.push(`M${o[0].x} ${o[0].y}`);for(let t=1;t<o.length;t++){const e=(o[t-1].x+o[t].x)/2;n.push(`H${e}V${o[t].y}H${o[t].x}`)}}else if("smooth"===e)n.push(`M${o[0].x} ${o[0].y}`),n.push(function monotonePath(t){const e=t.length,n=[];for(let o=0;o<e-1;o++){const e=t[o+1].x-t[o].x;n.push(0===e?0:(t[o+1].y-t[o].y)/e)}const o=[n[0]??0];for(let t=1;t<e-1;t++){const e=n[t-1],r=n[t];o.push(e*r<=0?0:2*e*r/(e+r))}o.push(n[e-2]??0);const r=[];for(let n=0;n<e-1;n++){const e=(t[n+1].x-t[n].x)/3;r.push(`C${t[n].x+e} ${t[n].y+o[n]*e} ${t[n+1].x-e} ${t[n+1].y-o[n+1]*e} ${t[n+1].x} ${t[n+1].y}`)}return r.join("")}(o));else{n.push(`M${o[0].x} ${o[0].y}`);for(let t=1;t<o.length;t++)n.push(`L${o[t].x} ${o[t].y}`)}o=[]}};for(const e of t)null===e?flush():o.push(e);return flush(),n.join("")}export function areaPath(t,e,n){const o=[];let r=0;const flush=a=>{const i=t.slice(r,a).filter(Boolean);if(0===i.length)return;const u="number"==typeof e?i.map(t=>({x:t.x,y:e})).reverse():e.slice(r,a).filter(Boolean).reverse();if(0===u.length)return;const s=linePath(i,n),c=linePath(u,n).replace(/^M/,"L");o.push(`${s}${c}Z`)};for(let e=0;e<t.length;e++)null===t[e]&&(flush(e),r=e+1);return flush(t.length),o.join("")}export function barPath(t,e,n,o,r,a){const i=Math.max(0,Math.min(r,n/2,o/2));if(0===i||n<=0||o<=0)return`M${t} ${e}h${n}v${o}h${-n}Z`;const arc=(t,e)=>`a${i} ${i} 0 0 1 ${t} ${e}`;return"up"===a?`M${t} ${e+o}V${e+i}${arc(i,-i)}H${t+n-i}${arc(i,i)}V${e+o}Z`:"down"===a?`M${t} ${e}H${t+n}V${e+o-i}${arc(-i,i)}H${t+i}${arc(-i,-i)}Z`:"right"===a?`M${t} ${e}H${t+n-i}${arc(i,i)}V${e+o-i}${arc(-i,i)}H${t}Z`:`M${t+n} ${e+o}H${t+i}${arc(-i,-i)}V${e+i}${arc(i,-i)}H${t+n}Z`}export const markShapes=["circle","square","triangle","diamond","cross"];const c={circle:1,square:.8862,triangle:1.5551,diamond:1.2533,cross:1.189};export function markPath(t,e,n,o){const r=Math.max(0,o)*c[t];if(0===r)return"";if("circle"===t)return`M${e-r} ${n}a${r} ${r} 0 1 0 ${2*r} 0a${r} ${r} 0 1 0 ${2*-r} 0Z`;if("square"===t)return`M${e-r} ${n-r}h${2*r}v${2*r}h${2*-r}Z`;if("diamond"===t)return`M${e} ${n-r}L${e+r} ${n}L${e} ${n+r}L${e-r} ${n}Z`;if("triangle"===t)return`M${[0,120,240].map(t=>{const o=(t-90)*Math.PI/180;return`${e+r*Math.cos(o)} ${n+r*Math.sin(o)}`}).join("L")}Z`;const a=r/3;return`M${e-a} ${n-r}h${2*a}v${r-a}h${r-a}v${2*a}h${-(r-a)}v${r-a}h${2*-a}v${-(r-a)}h${-(r-a)}v${2*-a}h${r-a}Z`}export function ringPath(t,e,n,o,r){const point=o=>{const r=(o-90)*Math.PI/180;return`${t+n*Math.cos(r)} ${e+n*Math.sin(r)}`};if(Math.abs(r-o)>=360){const t=o+180;return`M${point(o)}A${n} ${n} 0 1 1 ${point(t)}A${n} ${n} 0 1 1 ${point(o)}`}const a=Math.abs(r-o)>180?1:0;return`M${point(o)}A${n} ${n} 0 ${a} 1 ${point(r)}`}export function arcPath(t,e,n,o,r,a){const point=(n,o)=>{const r=(o-90)*Math.PI/180;return`${t+n*Math.cos(r)} ${e+n*Math.sin(r)}`};if(Math.abs(a-r)>=360){const t=r+180;return o>0?`M${point(n,r)}A${n} ${n} 0 1 1 ${point(n,t)}A${n} ${n} 0 1 1 ${point(n,r)}ZM${point(o,r)}A${o} ${o} 0 1 0 ${point(o,t)}A${o} ${o} 0 1 0 ${point(o,r)}Z`:`M${point(n,r)}A${n} ${n} 0 1 1 ${point(n,t)}A${n} ${n} 0 1 1 ${point(n,r)}Z`}const i=Math.abs(a-r)>180?1:0;return o<=0?`M${t} ${e}L${point(n,r)}A${n} ${n} 0 ${i} 1 ${point(n,a)}Z`:`M${point(n,r)}A${n} ${n} 0 ${i} 1 ${point(n,a)}L${point(o,a)}A${o} ${o} 0 ${i} 0 ${point(o,r)}Z`}export const rampSteps=5;export function rampStep(t,e,n,o,r=0){if("diverging"===o){const o=Math.max(Math.abs(n-r),Math.abs(r-e));if(!(o>0))return 2;const a=(t-r)/o;return Math.min(4,Math.max(0,2+Math.round(2*a)))}const a=n-e;return a>0?Math.min(4,Math.max(0,Math.floor((t-e)/a*5))):4}export function rampFill(t,e){return`var(--plass-chart-${"diverging"===e?"div":"seq"}-${t+1})`}export function rampInk(t,e){return`var(--plass-chart-${"diverging"===e?"div":"seq"}-on-${t+1})`}export function squarify(t,e,n){const o=t.reduce((t,e)=>t+Math.max(0,e),0);if(!(o>0)||e<=0||n<=0)return[];const r=e*n/o,a=t.map((t,e)=>({index:e,area:Math.max(0,t)*r})).filter(t=>t.area>0).sort((t,e)=>e.area-t.area),i=[];let u=0,s=0,c=e,l=n,h=[];const worst=t=>{const e=Math.min(c,l),n=t.reduce((t,e)=>t+e.area,0);if(!(n>0&&e>0))return 1/0;const o=t[0].area,r=t[t.length-1].area;return Math.max(e*e*o/(n*n),n*n/(e*e*r))},place=()=>{const t=h.reduce((t,e)=>t+e.area,0),e=Math.min(c,l),n=e>0?t/e:0,o=c>=l;let r=0;for(const t of h){const e=n>0?t.area/n:0;i.push(o?{index:t.index,x:u,y:s+r,width:n,height:e}:{index:t.index,x:u+r,y:s,width:e,height:n}),r+=e}o?(u+=n,c-=n):(s+=n,l-=n),h=[]};for(const t of a)0===h.length||worst([...h,t])<=worst(h)||place(),h.push(t);return h.length>0&&place(),i}const l={month:"short",day:"numeric"},h={notation:"compact",maximumFractionDigits:1},m={maximumFractionDigits:2};export function formatCategory(e,n){return e instanceof Date?t(n,l).format(e):String(e)}export function compactNumber(t,n){return Math.abs(t)>=1e4?e(n,h).format(t):e(n,m).format(t)}export function writeChartValue(t,n,o){return n?e(o,n).format(t):compactNumber(t,o)}
@@ -84,13 +84,16 @@ export declare function controlNaming(label: string | undefined, labelledBy: str
84
84
  * the hidden words it points at, for a Base UI part `controlNaming` cannot
85
85
  * reach.
86
86
  *
87
- * A checkbox, a switch, a radio, and the group around a slider's thumbs or a
88
- * code's slots read `aria-labelledby` themselves and fall back to the visible
89
- * label for anything but a reference of the caller's, `undefined` included. So
90
- * an `aria-label` given without an `aria-labelledby` is written into a hidden
91
- * node as well, and the part is pointed at that, which leaves the `aria-label`
92
- * as the name in the label's place. A caller's `aria-labelledby` comes back as
93
- * it was, and with neither there is no reference and no node.
87
+ * The group around a slider's thumbs or a code's slots reads `aria-labelledby`
88
+ * itself and falls back to the visible label for anything but a reference of
89
+ * the caller's, `undefined` included. So an `aria-label` given without an
90
+ * `aria-labelledby` is written into a hidden node as well, and the part is
91
+ * pointed at that, which leaves the `aria-label` as the name in the label's
92
+ * place. A caller's `aria-labelledby` comes back as it was, and with neither
93
+ * there is no reference and no node.
94
+ *
95
+ * A checkbox, a switch and a radio do not need it: since Base UI 1.9.0 they
96
+ * drop the label's reference for a non-blank `aria-label` of their own.
94
97
  */
95
98
  export declare function useLabelReference(label: string | undefined, labelledBy: string | undefined): {
96
99
  labelledBy: string | undefined;
@@ -59,7 +59,8 @@ export declare const floatPlaceholderClassName = "plass-float-placeholder";
59
59
  * disabled, and a utility added on top of those would be one more declaration
60
60
  * of the same property at the same specificity — whichever of them Tailwind
61
61
  * happened to emit last would win. The border itself stays, transparent, so the
62
- * control's inside is the same size it was.
62
+ * control's inside is the same size it was. The outline an invalid shell draws
63
+ * goes as well: it would run across the label.
63
64
  */
64
65
  export declare const notchShellStyle: React.CSSProperties;
65
66
  /**
@@ -1 +1 @@
1
- "use client";import{Fragment as r,jsx as o,jsxs as e}from"react/jsx-runtime";import{cx as t,hasContent as l,metaTextClasses as a,radiusClasses as p,transitionClasses as s}from"./styles.js";const n={xs:"-top-[5px]",sm:"-top-[5.5px]",md:"-top-[6px]",lg:"-top-[6.5px]",xl:"-top-[7px]"},c={xs:"mt-[5px]",sm:"mt-[5.5px]",md:"mt-[6px]",lg:"mt-[6.5px]",xl:"mt-[7px]"},m={default:{xs:"ms-[calc(0.5rem_-_var(--p-notch-grow,0px))]",sm:"ms-[calc(0.625rem_-_var(--p-notch-grow,0px))]",md:"ms-[calc(0.75rem_-_var(--p-notch-grow,0px))]",lg:"ms-[calc(1.25rem_-_var(--p-notch-grow,0px))]",xl:"ms-[calc(1.5rem_-_var(--p-notch-grow,0px))]"},compact:{xs:"ms-[calc(0.5rem_-_var(--p-notch-grow,0px))]",sm:"ms-[calc(0.625rem_-_var(--p-notch-grow,0px))]",md:"ms-[calc(0.75rem_-_var(--p-notch-grow,0px))]",lg:"ms-[calc(0.875rem_-_var(--p-notch-grow,0px))]",xl:"ms-[calc(1rem_-_var(--p-notch-grow,0px))]"}},d={xs:"px-0.5",sm:"px-0.5",md:"px-1",lg:"px-1",xl:"px-1"},i={xs:"[--p-notch-pad:0.125rem] [--p-notch-leading:0.625rem] [--p-float-y:0.75rem] [--p-float-text:0.6875rem]",sm:"[--p-notch-pad:0.125rem] [--p-notch-leading:0.6875rem] [--p-float-y:1rem] [--p-float-text:0.8125rem]",md:"[--p-notch-pad:0.25rem] [--p-notch-leading:0.75rem] [--p-float-y:1.25rem] [--p-float-text:0.875rem]",lg:"[--p-notch-pad:0.25rem] [--p-notch-leading:0.8125rem] [--p-float-y:1.5rem] [--p-float-text:1rem]",xl:"[--p-notch-pad:0.25rem] [--p-notch-leading:0.875rem] [--p-float-y:1.75rem] [--p-float-text:1.125rem]"},x={default:{xs:"",sm:"",md:"",lg:"",xl:""},compact:{xs:"[--p-float-x:-0.25rem]",sm:"[--p-float-x:-0.25rem]",md:"[--p-float-x:-0.375rem]",lg:"[--p-float-x:-0.25rem]",xl:"[--p-float-x:-0.25rem]"}};export const floatControlClassName="plass-float-control";export const floatPlaceholderClassName="plass-float-placeholder";const f={solid:/* @__PURE__ */["border border-transparent","group-focus-within/field:[border-color:var(--p-ring)]"].join(" "),glass:/* @__PURE__ */["border [border-color:var(--plass-border)]","group-hover/field:[border-color:var(--p-line)]","group-focus-within/field:[border-color:var(--p-ring)]"].join(" "),ghost:/* @__PURE__ */["border border-transparent","group-focus-within/field:[border-color:var(--p-ring)]"].join(" ")},g={solid:"border border-transparent",glass:"border [border-color:var(--plass-border)]",ghost:"border border-transparent"},h={solid:"border border-transparent opacity-50",glass:/* @__PURE__ */["border [border-color:var(--plass-border)] opacity-50","forced-colors:[border-color:GrayText]"].join(" "),ghost:"border border-transparent opacity-50"},b=/* @__PURE__ */["group-has-[:focus-visible]/field:[border-width:2px]","group-has-[:focus-visible]/field:[--p-notch-grow:1px]","group-has-[:focus-visible]/field:forced-colors:[border-color:Highlight]"].join(" ");export const notchShellStyle={borderColor:"transparent"};export function resolveNotch(r,o,e){const t="top"!==r&&l(o);return{notched:t,float:t&&"float"===r&&!e}}export function FieldNotch({notched:l,size:v,density:u,variant:_,disabled:w=!1,readOnly:y=!1,edgeClassName:j,float:N=!1,empty:C,label:$,children:F}){return l?e("div",{className:t("group/field relative flex w-full",c[v],N&&`plass-notch-float ${i[v]} ${x[u][v]}`),"data-empty":N&&C||void 0,children:[F,o("fieldset",{role:"presentation",className:t("pointer-events-none absolute inset-x-0 bottom-0 m-0 min-w-0 p-0",n[v],p[v],s,j??(w?h[_]:y?g[_]:`${f[_]} ${b}`)),children:o("legend",{className:t("pointer-events-auto font-semibold leading-none",a[v],m[u][v],N?"px-0":d[v],w?"text-(--plass-muted-fg)":"text-(--plass-fg)"),children:$})})]}):o(r,{children:F})}
1
+ "use client";import{Fragment as r,jsx as o,jsxs as e}from"react/jsx-runtime";import{cx as t,hasContent as l,metaTextClasses as a,radiusClasses as p,transitionClasses as s}from"./styles.js";const n={xs:"-top-[5px]",sm:"-top-[5.5px]",md:"-top-[6px]",lg:"-top-[6.5px]",xl:"-top-[7px]"},c={xs:"mt-[5px]",sm:"mt-[5.5px]",md:"mt-[6px]",lg:"mt-[6.5px]",xl:"mt-[7px]"},d={default:{xs:"ms-[calc(0.5rem_-_var(--p-notch-grow,0px))]",sm:"ms-[calc(0.625rem_-_var(--p-notch-grow,0px))]",md:"ms-[calc(0.75rem_-_var(--p-notch-grow,0px))]",lg:"ms-[calc(1.25rem_-_var(--p-notch-grow,0px))]",xl:"ms-[calc(1.5rem_-_var(--p-notch-grow,0px))]"},compact:{xs:"ms-[calc(0.5rem_-_var(--p-notch-grow,0px))]",sm:"ms-[calc(0.625rem_-_var(--p-notch-grow,0px))]",md:"ms-[calc(0.75rem_-_var(--p-notch-grow,0px))]",lg:"ms-[calc(0.875rem_-_var(--p-notch-grow,0px))]",xl:"ms-[calc(1rem_-_var(--p-notch-grow,0px))]"}},m={xs:"px-0.5",sm:"px-0.5",md:"px-1",lg:"px-1",xl:"px-1"},i={xs:"[--p-notch-pad:0.125rem] [--p-notch-leading:0.625rem] [--p-float-y:0.75rem] [--p-float-text:0.6875rem]",sm:"[--p-notch-pad:0.125rem] [--p-notch-leading:0.6875rem] [--p-float-y:1rem] [--p-float-text:0.8125rem]",md:"[--p-notch-pad:0.25rem] [--p-notch-leading:0.75rem] [--p-float-y:1.25rem] [--p-float-text:0.875rem]",lg:"[--p-notch-pad:0.25rem] [--p-notch-leading:0.8125rem] [--p-float-y:1.5rem] [--p-float-text:1rem]",xl:"[--p-notch-pad:0.25rem] [--p-notch-leading:0.875rem] [--p-float-y:1.75rem] [--p-float-text:1.125rem]"},x={default:{xs:"",sm:"",md:"",lg:"",xl:""},compact:{xs:"[--p-float-x:-0.25rem]",sm:"[--p-float-x:-0.25rem]",md:"[--p-float-x:-0.375rem]",lg:"[--p-float-x:-0.25rem]",xl:"[--p-float-x:-0.25rem]"}};export const floatControlClassName="plass-float-control";export const floatPlaceholderClassName="plass-float-placeholder";const f="in-data-invalid:[border-color:var(--plass-danger-accent)]!",g={solid:/* @__PURE__ */["border border-transparent","group-focus-within/field:[border-color:var(--p-ring)]",f].join(" "),glass:/* @__PURE__ */["border [border-color:var(--plass-border)]","group-hover/field:[border-color:var(--p-line)]","group-focus-within/field:[border-color:var(--p-ring)]",f].join(" "),ghost:/* @__PURE__ */["border border-transparent","group-focus-within/field:[border-color:var(--p-ring)]",f].join(" ")},h={solid:"border border-transparent",glass:"border [border-color:var(--plass-border)]",ghost:"border border-transparent"},b={solid:"border border-transparent opacity-50",glass:/* @__PURE__ */["border [border-color:var(--plass-border)] opacity-50","forced-colors:[border-color:GrayText]"].join(" "),ghost:"border border-transparent opacity-50"},v=/* @__PURE__ */["group-has-[:focus-visible]/field:[border-width:2px]","group-has-[:focus-visible]/field:[--p-notch-grow:1px]","group-has-[:focus-visible]/field:forced-colors:[border-color:Highlight]"].join(" ");export const notchShellStyle={borderColor:"transparent",outline:"none"};export function resolveNotch(r,o,e){const t="top"!==r&&l(o);return{notched:t,float:t&&"float"===r&&!e}}export function FieldNotch({notched:l,size:f,density:u,variant:_,disabled:w=!1,readOnly:y=!1,edgeClassName:j,float:N=!1,empty:C,label:$,children:F}){return l?e("div",{className:t("group/field relative flex w-full",c[f],N&&`plass-notch-float ${i[f]} ${x[u][f]}`),"data-empty":N&&C||void 0,children:[F,o("fieldset",{role:"presentation",className:t("pointer-events-none absolute inset-x-0 bottom-0 m-0 min-w-0 p-0",n[f],p[f],s,j??(w?b[_]:y?h[_]:`${g[_]} ${v}`)),children:o("legend",{className:t("pointer-events-auto font-semibold leading-none",a[f],d[u][f],N?"px-0":m[f],w?"text-(--plass-muted-fg)":"text-(--plass-fg)"),children:$})})]}):o(r,{children:F})}
@@ -1 +1 @@
1
- export const radiusClasses={xs:"rounded-(--plass-radius-xs)",sm:"rounded-(--plass-radius-sm)",md:"rounded-(--plass-radius-md)",lg:"rounded-(--plass-radius-lg)",xl:"rounded-(--plass-radius-xl)"};export const controlHeightClasses={xs:"h-6",sm:"h-8",md:"h-10",lg:"h-12",xl:"h-14"};export const controlSquareClasses={xs:"w-6",sm:"w-8",md:"w-10",lg:"w-12",xl:"w-14"};export const controlTextClasses={xs:"text-[0.6875rem]",sm:"text-[0.8125rem]",md:"text-[0.875rem]",lg:"text-[1rem]",xl:"text-[1.125rem]"};export const controlTextLeadingClasses={xs:"text-[0.6875rem]/[1rem]",sm:"text-[0.8125rem]/[1.125rem]",md:"text-[0.875rem]/[1.25rem]",lg:"text-[1rem]/[1.5rem]",xl:"text-[1.125rem]/[1.75rem]"};export const metaTextClasses={xs:"text-[0.625rem]",sm:"text-[0.6875rem]",md:"text-[0.75rem]",lg:"text-[0.8125rem]",xl:"text-[0.875rem]"};export function fieldDescriptionClasses(s){return cx("m-0",metaTextClasses[s],"text-(--plass-muted-fg)")}export const paddingXClasses={default:{xs:"px-2.5",sm:"px-3",md:"px-4",lg:"px-6",xl:"px-7"},compact:{xs:"px-1.5",sm:"px-2",md:"px-2.5",lg:"px-3.5",xl:"px-4"}};export const iconSizeClasses={xs:"size-3.5",sm:"size-4",md:"size-5",lg:"size-6",xl:"size-7"};export const tickSizeClasses={xs:"size-3.5",sm:"size-4",md:"size-4.5",lg:"size-5",xl:"size-6"};export const tickRadiusClasses={xs:"rounded-[0.25rem]",sm:"rounded-[0.3125rem]",md:"rounded-[0.375rem]",lg:"rounded-[0.4375rem]",xl:"rounded-[0.5rem]"};export const tickDotClasses={xs:"size-0 data-[checked]:size-1.5",sm:"size-0 data-[checked]:size-1.5",md:"size-0 data-[checked]:size-2",lg:"size-0 data-[checked]:size-2",xl:"size-0 data-[checked]:size-2.5"};export const tickRowTextClasses=controlTextLeadingClasses;export const paddingXValues={default:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.5rem",xl:"1.75rem"},compact:{xs:"0.375rem",sm:"0.5rem",md:"0.625rem",lg:"0.875rem",xl:"1rem"}};export const gapClasses={xs:"gap-1",sm:"gap-1.5",md:"gap-2",lg:"gap-2.5",xl:"gap-3"};export const stackGapClasses={xs:"gap-1",sm:"gap-1.5",md:"gap-1.5",lg:"gap-2",xl:"gap-2"};export const sheetPaddingXClasses={default:{xs:"px-2.5",sm:"px-3.5",md:"px-5",lg:"px-6",xl:"px-7"},compact:{xs:"px-2",sm:"px-2.5",md:"px-3.5",lg:"px-4",xl:"px-5"}};export const sheetPaddingYClasses={default:{xs:"py-2.5",sm:"py-3.5",md:"py-5",lg:"py-6",xl:"py-7"},compact:{xs:"py-2",sm:"py-2.5",md:"py-3.5",lg:"py-4",xl:"py-5"}};export const sheetTitleClasses={xs:"text-[0.75rem]/[1rem]",sm:"text-[0.8125rem]/[1.125rem]",md:"text-[0.9375rem]/[1.25rem]",lg:"text-[1.0625rem]/[1.5rem]",xl:"text-[1.25rem]/[1.75rem]"};export const sheetBodyClasses={xs:"text-[0.6875rem]/[1rem]",sm:"text-[0.75rem]/[1.125rem]",md:"text-[0.8125rem]/[1.375rem]",lg:"text-[0.9375rem]/[1.5rem]",xl:"text-[1.0625rem]/[1.75rem]"};export const sheetSectionGapClasses={xs:"gap-1.5",sm:"gap-2",md:"gap-3",lg:"gap-3.5",xl:"gap-4"};export const sheetLineClasses="border-t [border-color:var(--plass-divider)]";export const sheetHeaderGapClasses={xs:"gap-0.5",sm:"gap-0.5",md:"gap-1",lg:"gap-1",xl:"gap-1.5"};export const glassClasses="[backdrop-filter:var(--plass-blur)] [-webkit-backdrop-filter:var(--plass-blur)]";export const transitionClasses=/* @__PURE__ */["[transition-property:background-color,background-image,border-color,box-shadow,color,filter,opacity]","[transition-duration:var(--plass-duration)]","[transition-timing-function:var(--plass-ease)]","motion-reduce:[transition-duration:0ms]"].join(" ");export const focusRingClasses="focus-visible:[outline:2px_solid_var(--p-ring)] focus-visible:[outline-offset:0px]";export const focusWithinRingClasses="has-[:focus-visible]:[outline:2px_solid_var(--p-ring)] has-[:focus-visible]:[outline-offset:0px]";export const focusRingInsetClasses="focus-visible:[outline:2px_solid_var(--p-ring)] focus-visible:[outline-offset:-2px]";export const targetClasses="relative before:absolute before:inset-[calc(50%-12px)]";export const safeInlineClasses={Start:"[--p-safe-inline:env(safe-area-inset-left,0px)] rtl:[--p-safe-inline:env(safe-area-inset-right,0px)]",End:"[--p-safe-inline:env(safe-area-inset-right,0px)] rtl:[--p-safe-inline:env(safe-area-inset-left,0px)]"};export const chipRemoveClasses=/* @__PURE__ */[targetClasses,"ms-0.5 inline-flex shrink-0 items-center justify-center rounded-full p-0","size-[1.15em] cursor-pointer opacity-70","[transition:opacity_var(--plass-duration)_var(--plass-ease)]","motion-reduce:[transition-duration:0ms]","hover:opacity-100 focus-visible:opacity-100",focusRingClasses,"disabled:cursor-not-allowed"].join(" ");export const iconClasses="[&_svg]:pointer-events-none [&_svg]:size-[1.2em] [&_svg]:shrink-0";export const pictureSlotClasses=/* @__PURE__ */["[:where(&>img)]:block","[:where(&>img)]:max-w-full","[:where(&>img)]:h-auto","[:where(&>video)]:block","[:where(&>video)]:max-w-full","[:where(&>video)]:h-auto"].join(" ");export const srOnlyClasses="absolute size-px overflow-hidden whitespace-nowrap [clip-path:inset(50%)]";export const drawnCopyClasses=/* @__PURE__ */["inline-grid","before:[grid-area:1/1]","before:content-[attr(data-text)]","after:invisible","after:[grid-area:1/1]","after:content-[attr(data-sample)]"].join(" ");export function controlSlots(s,e,o){const r="solid"===o;return{"--p-fill":`var(--plass-${s}-fill)`,"--p-on-solid":`var(--plass-${s}-on-solid)`,"--p-accent":`var(--plass-${s}-accent)`,"--p-tint":`var(--plass-${s}-tint)`,"--p-soft":`var(--plass-${s}-soft)`,"--p-soft-hover":`var(--plass-${s}-soft-hover)`,"--p-soft-press":`var(--plass-${s}-soft-press)`,"--p-line":`var(--plass-${s}-line)`,"--p-line-hover":`var(--plass-${s}-line-hover)`,"--p-ring":`var(--plass-${s}-ring)`,"--p-glow":r?"var(--plass-glow-on-fill)":`var(--plass-${s}-soft)`,"--p-flash":r?"var(--plass-flash-on-fill)":`var(--plass-${s}-soft-hover)`,"--p-elev":`var(--plass-shadow-${e})`,"--p-elev-hover":`var(--plass-shadow-${Math.min(e+1,4)})`,"--p-elev-press":`var(--plass-shadow-${Math.max(e-1,0)})`,"--p-lift":"0 6px 16px -4px var(--p-tint)","--p-lift-hover":"0 10px 24px -6px var(--p-tint)","--p-lift-press":"0 2px 6px -2px var(--p-tint)"}}export function surfaceSlots(s,e){return{"--p-accent":`var(--plass-${s}-accent)`,"--p-soft":`var(--plass-${s}-soft)`,"--p-soft-hover":`var(--plass-${s}-soft-hover)`,"--p-soft-press":`var(--plass-${s}-soft-press)`,"--p-line":`var(--plass-${s}-line)`,"--p-line-hover":`var(--plass-${s}-line-hover)`,"--p-ring":`var(--plass-${s}-ring)`,"--p-glow":`var(--plass-${s}-soft)`,"--p-flash":`var(--plass-${s}-soft-hover)`,"--p-elev":`var(--plass-shadow-${e})`,"--p-elev-hover":`var(--plass-shadow-${Math.min(e+1,4)})`,"--p-elev-press":`var(--plass-shadow-${Math.max(e-1,0)})`}}export function fieldSlots(s,e){return{...surfaceSlots(s,e),"--p-glow":`color-mix(in oklab, var(--plass-${s}-soft) var(--plass-glow-field-strength), transparent)`,"--p-flash":`color-mix(in oklab, var(--plass-${s}-soft-hover) var(--plass-glow-field-strength), transparent)`}}export const forcedEdgeClasses="forced-colors:border forced-colors:[border-color:ButtonText]";export const forcedFieldEdgeClasses="forced-colors:border forced-colors:[border-color:CanvasText]";export const forcedFillClasses="forced-colors:[background-color:Highlight] forced-colors:[border-color:Highlight] forced-colors:[color:HighlightText]";export const forcedCheckedClasses=/* @__PURE__ */["forced-colors:data-[checked]:[background-color:Highlight]","forced-colors:data-[checked]:[border-color:Highlight]","forced-colors:data-[checked]:[color:HighlightText]"].join(" ");export const forcedPressedClasses=/* @__PURE__ */["forced-colors:data-[pressed]:[background-color:Highlight]","forced-colors:data-[pressed]:[border-color:Highlight]","forced-colors:data-[pressed]:[color:HighlightText]"].join(" ");export const forcedCheckedTextClasses="forced-colors:data-[checked]:[color:HighlightText]";export const forcedHighlightedClasses=/* @__PURE__ */["forced-colors:data-[highlighted]:[background-color:Highlight]","forced-colors:data-[highlighted]:[color:HighlightText]","forced-colors:data-[highlighted]:**:[color:HighlightText]"].join(" ");export const forcedDisabledCheckedClasses=/* @__PURE__ */["forced-colors:border forced-colors:[border-color:GrayText]","forced-colors:data-[checked]:[background-color:GrayText]","forced-colors:data-[checked]:[color:Canvas]"].join(" ");const s="opacity-50 saturate-[0.35]";export const disabledLookClasses={solid:/* @__PURE__ */["cursor-not-allowed text-(--p-on-solid) [background-image:var(--p-fill)] shadow-none","forced-colors:border forced-colors:[border-color:GrayText]"].join(" "),glass:/* @__PURE__ */[glassClasses,"cursor-not-allowed border text-(--plass-fg) bg-(--plass-glass)","[border-color:var(--plass-border)] shadow-none"].join(" "),ghost:"cursor-not-allowed bg-transparent text-(--p-accent)"};export const disabledClasses={solid:`${disabledLookClasses.solid} ${s}`,glass:`${disabledLookClasses.glass} ${s}`,ghost:`${disabledLookClasses.ghost} ${s}`};export const readOnlyFilterClasses="saturate-[0.55]";export const sheetRestClasses={solid:/* @__PURE__ */[glassClasses,"text-(--plass-fg) bg-(--plass-glass-press)","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]"].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--plass-fg) bg-(--plass-glass)","[border-color:var(--plass-glass-line)]","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]"].join(" "),ghost:"text-(--plass-fg) bg-transparent"};export const markRestClasses={solid:/* @__PURE__ */["text-(--p-on-solid) [background-image:var(--p-fill)]","[box-shadow:var(--p-elev),var(--p-lift)]",forcedFieldEdgeClasses].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--p-accent) bg-(--plass-glass)","[border-color:var(--plass-border)]","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]"].join(" "),ghost:"text-(--p-accent) bg-(--p-soft-press) [box-shadow:var(--p-elev)]"};export const fieldRestClasses={solid:/* @__PURE__ */[glassClasses,"text-(--plass-fg) bg-(--plass-glass-press)","[box-shadow:var(--p-elev),var(--plass-well)]",forcedFieldEdgeClasses,"hover:bg-(--plass-glass-hover)","focus-within:bg-(--plass-glass-press)"].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--plass-fg) bg-(--plass-glass-hover)","[border-color:var(--plass-border)]","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]","hover:bg-(--plass-glass-press) hover:[border-color:var(--p-line)]","focus-within:bg-(--plass-glass-press) focus-within:[border-color:var(--p-line-hover)]"].join(" "),ghost:/* @__PURE__ */["text-(--plass-fg) bg-transparent","hover:bg-(--p-soft)","focus-within:bg-(--p-soft-hover)"].join(" ")};export const fieldReadOnlyClasses={solid:/* @__PURE__ */[glassClasses,"text-(--plass-fg) bg-(--plass-glass-press)",forcedFieldEdgeClasses,"[box-shadow:var(--plass-well)] saturate-[0.55]"].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--plass-fg) bg-(--plass-glass-hover)","[border-color:var(--plass-border)]","[box-shadow:var(--plass-gloss-glass)] saturate-[0.55]"].join(" "),ghost:"text-(--plass-fg) bg-transparent saturate-[0.55]"};export function toLength(s){return"number"==typeof s?`${s}px`:s}export function hasContent(s){return null!=s&&!1!==s&&""!==s}export function cx(...s){return s.filter(Boolean).join(" ")}
1
+ export const radiusClasses={xs:"rounded-(--plass-radius-xs)",sm:"rounded-(--plass-radius-sm)",md:"rounded-(--plass-radius-md)",lg:"rounded-(--plass-radius-lg)",xl:"rounded-(--plass-radius-xl)"};export const controlHeightClasses={xs:"h-6",sm:"h-8",md:"h-10",lg:"h-12",xl:"h-14"};export const controlSquareClasses={xs:"w-6",sm:"w-8",md:"w-10",lg:"w-12",xl:"w-14"};export const controlTextClasses={xs:"text-[0.6875rem]",sm:"text-[0.8125rem]",md:"text-[0.875rem]",lg:"text-[1rem]",xl:"text-[1.125rem]"};export const controlTextLeadingClasses={xs:"text-[0.6875rem]/[1rem]",sm:"text-[0.8125rem]/[1.125rem]",md:"text-[0.875rem]/[1.25rem]",lg:"text-[1rem]/[1.5rem]",xl:"text-[1.125rem]/[1.75rem]"};export const metaTextClasses={xs:"text-[0.625rem]",sm:"text-[0.6875rem]",md:"text-[0.75rem]",lg:"text-[0.8125rem]",xl:"text-[0.875rem]"};export function fieldDescriptionClasses(s){return cx("m-0",metaTextClasses[s],"text-(--plass-muted-fg)")}export const paddingXClasses={default:{xs:"px-2.5",sm:"px-3",md:"px-4",lg:"px-6",xl:"px-7"},compact:{xs:"px-1.5",sm:"px-2",md:"px-2.5",lg:"px-3.5",xl:"px-4"}};export const iconSizeClasses={xs:"size-3.5",sm:"size-4",md:"size-5",lg:"size-6",xl:"size-7"};export const tickSizeClasses={xs:"size-3.5",sm:"size-4",md:"size-4.5",lg:"size-5",xl:"size-6"};export const tickRadiusClasses={xs:"rounded-[0.25rem]",sm:"rounded-[0.3125rem]",md:"rounded-[0.375rem]",lg:"rounded-[0.4375rem]",xl:"rounded-[0.5rem]"};export const tickDotClasses={xs:"size-0 data-[checked]:size-1.5",sm:"size-0 data-[checked]:size-1.5",md:"size-0 data-[checked]:size-2",lg:"size-0 data-[checked]:size-2",xl:"size-0 data-[checked]:size-2.5"};export const tickRowTextClasses=controlTextLeadingClasses;export const paddingXValues={default:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.5rem",xl:"1.75rem"},compact:{xs:"0.375rem",sm:"0.5rem",md:"0.625rem",lg:"0.875rem",xl:"1rem"}};export const gapClasses={xs:"gap-1",sm:"gap-1.5",md:"gap-2",lg:"gap-2.5",xl:"gap-3"};export const stackGapClasses={xs:"gap-1",sm:"gap-1.5",md:"gap-1.5",lg:"gap-2",xl:"gap-2"};export const sheetPaddingXClasses={default:{xs:"px-2.5",sm:"px-3.5",md:"px-5",lg:"px-6",xl:"px-7"},compact:{xs:"px-2",sm:"px-2.5",md:"px-3.5",lg:"px-4",xl:"px-5"}};export const sheetPaddingYClasses={default:{xs:"py-2.5",sm:"py-3.5",md:"py-5",lg:"py-6",xl:"py-7"},compact:{xs:"py-2",sm:"py-2.5",md:"py-3.5",lg:"py-4",xl:"py-5"}};export const sheetTitleClasses={xs:"text-[0.75rem]/[1rem]",sm:"text-[0.8125rem]/[1.125rem]",md:"text-[0.9375rem]/[1.25rem]",lg:"text-[1.0625rem]/[1.5rem]",xl:"text-[1.25rem]/[1.75rem]"};export const sheetBodyClasses={xs:"text-[0.6875rem]/[1rem]",sm:"text-[0.75rem]/[1.125rem]",md:"text-[0.8125rem]/[1.375rem]",lg:"text-[0.9375rem]/[1.5rem]",xl:"text-[1.0625rem]/[1.75rem]"};export const sheetSectionGapClasses={xs:"gap-1.5",sm:"gap-2",md:"gap-3",lg:"gap-3.5",xl:"gap-4"};export const sheetLineClasses="border-t [border-color:var(--plass-divider)]";export const sheetHeaderGapClasses={xs:"gap-0.5",sm:"gap-0.5",md:"gap-1",lg:"gap-1",xl:"gap-1.5"};export const glassClasses="[backdrop-filter:var(--plass-blur)] [-webkit-backdrop-filter:var(--plass-blur)]";export const transitionClasses=/* @__PURE__ */["[transition-property:background-color,background-image,border-color,box-shadow,color,filter,opacity]","[transition-duration:var(--plass-duration)]","[transition-timing-function:var(--plass-ease)]","motion-reduce:[transition-duration:0ms]"].join(" ");export const focusRingClasses="focus-visible:[outline:2px_solid_var(--p-ring)] focus-visible:[outline-offset:0px]";export const focusWithinRingClasses="has-[:focus-visible]:[outline:2px_solid_var(--p-ring)] has-[:focus-visible]:[outline-offset:0px]";export const focusRingInsetClasses="focus-visible:[outline:2px_solid_var(--p-ring)] focus-visible:[outline-offset:-2px]";export const targetClasses="relative before:absolute before:inset-[calc(50%-12px)]";export const safeInlineClasses={Start:"[--p-safe-inline:env(safe-area-inset-left,0px)] rtl:[--p-safe-inline:env(safe-area-inset-right,0px)]",End:"[--p-safe-inline:env(safe-area-inset-right,0px)] rtl:[--p-safe-inline:env(safe-area-inset-left,0px)]"};export const chipRemoveClasses=/* @__PURE__ */[targetClasses,"ms-0.5 inline-flex shrink-0 items-center justify-center rounded-full p-0","size-[1.15em] cursor-pointer opacity-70","[transition:opacity_var(--plass-duration)_var(--plass-ease)]","motion-reduce:[transition-duration:0ms]","hover:opacity-100 focus-visible:opacity-100",focusRingClasses,"disabled:cursor-not-allowed"].join(" ");export const iconClasses="[&_svg]:pointer-events-none [&_svg]:size-[1.2em] [&_svg]:shrink-0";export const pictureSlotClasses=/* @__PURE__ */["[:where(&>img)]:block","[:where(&>img)]:max-w-full","[:where(&>img)]:h-auto","[:where(&>video)]:block","[:where(&>video)]:max-w-full","[:where(&>video)]:h-auto"].join(" ");export const srOnlyClasses="absolute size-px overflow-hidden whitespace-nowrap [clip-path:inset(50%)]";export const drawnCopyClasses=/* @__PURE__ */["inline-grid","before:[grid-area:1/1]","before:content-[attr(data-text)]","after:invisible","after:[grid-area:1/1]","after:content-[attr(data-sample)]"].join(" ");export function controlSlots(s,e,o){const r="solid"===o;return{"--p-fill":`var(--plass-${s}-fill)`,"--p-on-solid":`var(--plass-${s}-on-solid)`,"--p-accent":`var(--plass-${s}-accent)`,"--p-tint":`var(--plass-${s}-tint)`,"--p-soft":`var(--plass-${s}-soft)`,"--p-soft-hover":`var(--plass-${s}-soft-hover)`,"--p-soft-press":`var(--plass-${s}-soft-press)`,"--p-line":`var(--plass-${s}-line)`,"--p-line-hover":`var(--plass-${s}-line-hover)`,"--p-ring":`var(--plass-${s}-ring)`,"--p-glow":r?"var(--plass-glow-on-fill)":`var(--plass-${s}-soft)`,"--p-flash":r?"var(--plass-flash-on-fill)":`var(--plass-${s}-soft-hover)`,"--p-elev":`var(--plass-shadow-${e})`,"--p-elev-hover":`var(--plass-shadow-${Math.min(e+1,4)})`,"--p-elev-press":`var(--plass-shadow-${Math.max(e-1,0)})`,"--p-lift":"0 6px 16px -4px var(--p-tint)","--p-lift-hover":"0 10px 24px -6px var(--p-tint)","--p-lift-press":"0 2px 6px -2px var(--p-tint)"}}export function surfaceSlots(s,e){return{"--p-accent":`var(--plass-${s}-accent)`,"--p-soft":`var(--plass-${s}-soft)`,"--p-soft-hover":`var(--plass-${s}-soft-hover)`,"--p-soft-press":`var(--plass-${s}-soft-press)`,"--p-line":`var(--plass-${s}-line)`,"--p-line-hover":`var(--plass-${s}-line-hover)`,"--p-ring":`var(--plass-${s}-ring)`,"--p-glow":`var(--plass-${s}-soft)`,"--p-flash":`var(--plass-${s}-soft-hover)`,"--p-elev":`var(--plass-shadow-${e})`,"--p-elev-hover":`var(--plass-shadow-${Math.min(e+1,4)})`,"--p-elev-press":`var(--plass-shadow-${Math.max(e-1,0)})`}}export function fieldSlots(s,e){return{...surfaceSlots(s,e),"--p-glow":`color-mix(in oklab, var(--plass-${s}-soft) var(--plass-glow-field-strength), transparent)`,"--p-flash":`color-mix(in oklab, var(--plass-${s}-soft-hover) var(--plass-glow-field-strength), transparent)`}}export const forcedEdgeClasses="forced-colors:border forced-colors:[border-color:ButtonText]";export const forcedFieldEdgeClasses="forced-colors:border forced-colors:[border-color:CanvasText]";export const forcedFillClasses="forced-colors:[background-color:Highlight] forced-colors:[border-color:Highlight] forced-colors:[color:HighlightText]";export const forcedCheckedClasses=/* @__PURE__ */["forced-colors:data-[checked]:[background-color:Highlight]","forced-colors:data-[checked]:[border-color:Highlight]","forced-colors:data-[checked]:[color:HighlightText]"].join(" ");export const forcedPressedClasses=/* @__PURE__ */["forced-colors:data-[pressed]:[background-color:Highlight]","forced-colors:data-[pressed]:[border-color:Highlight]","forced-colors:data-[pressed]:[color:HighlightText]"].join(" ");export const forcedCheckedTextClasses="forced-colors:data-[checked]:[color:HighlightText]";export const forcedHighlightedClasses=/* @__PURE__ */["forced-colors:data-[highlighted]:[background-color:Highlight]","forced-colors:data-[highlighted]:[color:HighlightText]","forced-colors:data-[highlighted]:**:[color:HighlightText]"].join(" ");export const forcedDisabledCheckedClasses=/* @__PURE__ */["forced-colors:border forced-colors:[border-color:GrayText]","forced-colors:data-[checked]:[background-color:GrayText]","forced-colors:data-[checked]:[color:Canvas]"].join(" ");const s="opacity-50 saturate-[0.35]";export const disabledLookClasses={solid:/* @__PURE__ */["cursor-not-allowed text-(--p-on-solid) [background-image:var(--p-fill)] shadow-none","forced-colors:border forced-colors:[border-color:GrayText]"].join(" "),glass:/* @__PURE__ */[glassClasses,"cursor-not-allowed border text-(--plass-fg) bg-(--plass-glass)","[border-color:var(--plass-border)] shadow-none"].join(" "),ghost:"cursor-not-allowed bg-transparent text-(--p-accent)"};export const disabledClasses={solid:`${disabledLookClasses.solid} ${s}`,glass:`${disabledLookClasses.glass} ${s}`,ghost:`${disabledLookClasses.ghost} ${s}`};export const readOnlyFilterClasses="saturate-[0.55]";export const sheetRestClasses={solid:/* @__PURE__ */[glassClasses,"text-(--plass-fg) bg-(--plass-glass-press)","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]"].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--plass-fg) bg-(--plass-glass)","[border-color:var(--plass-glass-line)]","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]"].join(" "),ghost:"text-(--plass-fg) bg-transparent"};export const markRestClasses={solid:/* @__PURE__ */["text-(--p-on-solid) [background-image:var(--p-fill)]","[box-shadow:var(--p-elev),var(--p-lift)]",forcedFieldEdgeClasses].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--p-accent) bg-(--plass-glass)","[border-color:var(--plass-border)]","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]"].join(" "),ghost:"text-(--p-accent) bg-(--p-soft-press) [box-shadow:var(--p-elev)]"};const e="in-data-invalid:[outline:1px_solid_var(--plass-danger-accent)] in-data-invalid:[outline-offset:-1px]";export const fieldRestClasses={solid:/* @__PURE__ */[glassClasses,"text-(--plass-fg) bg-(--plass-glass-press)","[box-shadow:var(--p-elev),var(--plass-well)]",forcedFieldEdgeClasses,e,"hover:bg-(--plass-glass-hover)","focus-within:bg-(--plass-glass-press)"].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--plass-fg) bg-(--plass-glass-hover)","[border-color:var(--plass-border)]","[box-shadow:var(--p-elev),var(--plass-gloss-glass)]",e,"hover:bg-(--plass-glass-press) hover:[border-color:var(--p-line)]","focus-within:bg-(--plass-glass-press) focus-within:[border-color:var(--p-line-hover)]"].join(" "),ghost:/* @__PURE__ */["text-(--plass-fg) bg-transparent",e,"hover:bg-(--p-soft)","focus-within:bg-(--p-soft-hover)"].join(" ")};export const fieldReadOnlyClasses={solid:/* @__PURE__ */[glassClasses,"text-(--plass-fg) bg-(--plass-glass-press)",forcedFieldEdgeClasses,"[box-shadow:var(--plass-well)] saturate-[0.55]"].join(" "),glass:/* @__PURE__ */[glassClasses,"border text-(--plass-fg) bg-(--plass-glass-hover)","[border-color:var(--plass-border)]","[box-shadow:var(--plass-gloss-glass)] saturate-[0.55]"].join(" "),ghost:"text-(--plass-fg) bg-transparent saturate-[0.55]"};export function toLength(s){return"number"==typeof s?`${s}px`:s}export function hasContent(s){return null!=s&&!1!==s&&""!==s}export function cx(...s){return s.filter(Boolean).join(" ")}