@teacss/rule-helpers 0.3.0 → 0.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.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{cssLengthPercentageUnitRESource as e,cssLengthUnitRESource as t,cssLengthUnits as n,cssNamedColors as r,globalKeywords as i}from"./constants.js";import{a,c as o,i as s,n as c,o as l,r as u,s as d,t as ee}from"./css-identifier-4yDg85cV.js";import{_ as te,a as f,b as p,c as m,d as ne,f as re,g as ie,h as ae,i as oe,l as h,m as g,n as _,o as v,p as y,r as b,s as x,t as se,u as S,v as ce,y as le}from"./standard-value-handler-DW0LevOJ.js";import{LAYER_PRIMITIVES as ue,LAYER_PROPERTIES as de,escapeRegExp as C,isStaticRule as fe,isString as pe,symbols as w,toArray as me}from"@teacss/core";function he(e){let t=e.match(/^-?\d+\.?\d*/)?.[0]||``,n=e.slice(t.length);if(n===`px`){let r=Number.parseFloat(t)-.1;return Number.isNaN(r)?e:`${r}${n}`}return`calc(${e} - 0.1px)`}function T(e,t,n){if(e===``)return;let r=e.length,i=0,a=!1,o=0;for(let s=0;s<r;s++)switch(e[s]){case t:a||(a=!0,o=s),i++;break;case n:if(--i,i<0)return;if(i===0)return[e.slice(o,s+1),e.slice(s+1),e.slice(0,o)];break}}function E(e,t,n,r){if(e===``||(pe(r)&&(r=[r]),r.length===0))return;let i=e.length,a=0;for(let o=0;o<i;o++)switch(e[o]){case t:a++;break;case n:if(--a<0)return;break;default:for(let t of r){let n=t.length;if(n&&t===e.slice(o,o+n)&&a===0)return o===0||o===i-n?void 0:[e.slice(0,o),e.slice(o+n)]}}if(a===0)return[e,``]}function D(e,t,n,r=`(`,i=`)`){n??=10;let a=[],o=0;for(;e!==``;){if(++o>n)return;let s=E(e,r,i,t);if(!s)return;let[c,l]=s;a.push(c),e=l}if(a.length>0)return a}const O=[`hsl`,`hsla`,`hwb`,`lab`,`lch`,`oklab`,`oklch`,`rgb`,`rgba`],k=[`srgb`,`srgb-linear`,`display-p3`,`display-p3-linear`,`a98-rgb`,`prophoto-rgb`,`rec2020`,`lab`,`oklab`,`xyz`,`xyz-d50`,`xyz-d65`],A=[`hsl`,`hwb`,`lch`,`oklch`],j=[`shorter`,`longer`,`increasing`,`decreasing`],M=[`%alpha`,`<alpha-value>`],N=new RegExp(M.map(e=>C(e)).join(`|`),`g`),P=new Set([...k,...A,...j]);function F(e){if(!e)return!1;let t=-1;for(let n=0;n<=e.length;n++){if(e[n]===`\\`||l(e[n])){t<0&&(t=n);continue}if(t>=0&&P.has(e.slice(t,n).toLowerCase()))return!0;t=-1}return!1}function I(e=``){let t=B(e);if(t!=null){let{components:e,alpha:n}=t;return n==null?e:[...e,n]}}function L(e=``){let t=ge(e);if(t==null||t===!1)return;let{type:n,components:r,alpha:i}=t,a=n.toLowerCase();if(r.length!==0&&!(O.includes(a)&&![1,3].includes(r.length)))return{type:a,components:r.map(e=>typeof e==`string`?e.trim():e),alpha:typeof i==`string`?i.trim():i}}function R(e){let t=e.alpha??1;return typeof t==`string`&&M.includes(t)?1:t}function z(e,t){if(typeof e==`string`)return e.replace(N,`${t??1}`);let{components:n}=e,{alpha:r,type:i}=e;return r=t??r,i=i.toLowerCase(),[`hsla`,`rgba`].includes(i)?`${i}(${n.join(`, `)}${r==null?``:`, ${r}`})`:(r=r==null?``:` / ${r}`,O.includes(i)?`${i}(${n.join(` `)}${r})`:`color(${i} ${n.join(` `)}${r})`)}function ge(e){if(!e)return;let t=B(e);if(t!=null||(t=_e(e),t!=null)||(t=ve(e),t!=null)||(t=be(e),t!=null)||(t=xe(e),t!=null))return t}function B(e){let[,t]=e.match(/^#([\da-f]+)$/i)||[];if(t)switch(t.length){case 3:case 4:{let e=Array.from(t,e=>Number.parseInt(e,16)).map(e=>e<<4|e);return{type:`rgb`,components:e.slice(0,3),alpha:t.length===3?void 0:V(e[3])}}case 6:case 8:{let e=Number.parseInt(t,16);return{type:`rgb`,components:t.length===6?[e>>16&255,e>>8&255,e&255]:[e>>24&255,e>>16&255,e>>8&255],alpha:t.length===6?void 0:V(e&255)}}}}function V(e){return Math.round(e/255*1e4)/1e4}const H={rebeccapurple:[102,51,153,1]};function _e(e){let t=S(H,e);if(t!=null)return{type:`rgb`,components:t.slice(0,3),alpha:t[3]}}function ve(e){let t=e.match(/^(rgb|rgba|hsl|hsla)\((.+)\)$/i);if(!t)return;let[,n,r]=t,i=D(r,`,`,5);if(i){if([3,4].includes(i.length))return{type:n,components:i.slice(0,3),alpha:i[3]};if(i.length!==1)return!1}}const ye=RegExp(`^(${O.join(`|`)})\\((.+)\\)$`,`i`);function be(e){let t=e.match(ye);if(!t)return;let[,n,r]=t,i=U(`${n} ${r}`);if(i){let{alpha:e,components:[t,...n]}=i;return{type:t,components:n,alpha:e}}}function xe(e){let t=e.match(/^color\((.+)\)$/);if(!t)return;let n=U(t[1]);if(n){let{alpha:e,components:[t,...r]}=n;return{type:t,components:r,alpha:e}}}function U(e){let t=D(e,` `);if(!t)return;let n=t.length;if(t[n-2]===`/`)return{components:t.slice(0,n-2),alpha:t[n-1]};if(t[n-2]!=null&&(t[n-2].endsWith(`/`)||t[n-1].startsWith(`/`))){let e=t.splice(n-2);t.push(e.join(` `)),--n}let r=D(t[n-1],`/`,2);if(!r)return;if(r.length===1||r[r.length-1]===``)return{components:t};let i=r.pop();return t[n-1]=r.join(`/`),{components:t,alpha:i}}function Se(e,t={}){let{syntax:n=`*`,inherits:r=!1,initialValue:i}=t,a={[w.shortcutsNoMerge]:!0,[w.noMerge]:!0,[w.variants]:()=>[{parent:``,layer:de,selector:()=>`@property ${e}`}],syntax:JSON.stringify(n),inherits:r?`true`:`false`};return i!=null&&(a[`initial-value`]=i),a}function W(e){return h(e,`theme`)}function Ce(e){return h(e,`icon`)}function we(e,t,n=!0){if(!W(e))return e;let r=[],i=0,a=0;for(;a<e.length;){let o=m(e,`theme`,a);if(o===-1)break;let s=Te(e,o);if(!s)break;if(a=s.end,!s.valid)continue;if(!s.argument)throw Error(`theme() expect exact one argument, but got 0`);let c=G(s.argument,t,n);c!==void 0&&(r.push(e.slice(i,o),c),i=s.end)}return i===0?e:(r.push(e.slice(i)),r.join(``))}function Te(e,t){let n=t+6;for(;/\s/.test(e[n]??``);)n++;let r=e[n]===`"`||e[n]===`'`?e[n++]:void 0,i=n;if(r){for(;n<e.length;){let t=e[n];if(t===`\\`){n+=2;continue}if(t===r)break;n++}if(n>=e.length)return;let t=e.slice(i,n);for(n++;/\s/.test(e[n]??``);)n++;return e[n]===`)`?{argument:t,end:n+1,valid:!0}:{argument:t,end:Ee(e,n),valid:!1}}for(;n<e.length&&e[n]!==`)`;)n++;if(!(n>=e.length))return{argument:e.slice(i,n).trim(),end:n+1,valid:!0}}function Ee(e,t){let n=e.indexOf(`)`,t);return n===-1?e.length:n+1}function G(e,t,n=!0){let r=e.indexOf(`/`),i=r<0?e:e.slice(0,r),a=r<0?void 0:e.slice(r+1),o=i.trim().split(`.`),s=t;for(let e of o){if(typeof s!=`object`||!s){s=void 0;break}s=S(s,e)}if(typeof s==`object`&&s&&(s=S(s,`DEFAULT`)),typeof s==`number`&&Number.isFinite(s)&&a==null)return String(s);if(typeof s==`string`){if(!a)return s;let e=De(a),t=L(s);return t?z(t,e):`color-mix(in oklab, ${s} ${e}, transparent)`}if(n)throw Error(`theme("${e}") was not found`)}function De(e){let t=e.trim();return/^\d{1,3}$/.test(t)&&Number(t)<=100?`${Number(t)}%`:t}function K(e){return f(e)??v(e)}function Oe(e){return K(e)??x(e)}function ke(e,t,n){return[e,([,e])=>({[t]:K(e)}),{autocomplete:n}]}function Ae(e,t,n){return[e,([,e])=>({[t]:Oe(e)}),{autocomplete:n}]}const je=new Set(i);function Me(e,t,n){Object.defineProperty(e,t,{value:n,configurable:!0,enumerable:!0,writable:!0})}function Ne(e,t,n={}){let r=J(typeof e==`string`?[e]:e);if(r.length===0)return[];let{property:i,...a}=n,o=(i??r[0]??``).trim();if(!o)throw Error(`makeShorthandRules requires a non-empty property`);return r.map(e=>[e,{[o]:t},{...a,layer:ue}])}function q(e,t,n={}){let{as:r=`record`,dedupe:i=!0,ignores:a=[]}=n,o=new Set,s=a.length?new Set(a.map(String)):void 0,c=t??(e=>e);if(r===`map`){let t=new Map;for(let n of e){let e=String(n);s?.has(e)||i&&o.has(e)||(o.add(e),t.set(e,c(e)))}return t}let l={};for(let t of e){let e=String(t);if(s?.has(e)||i&&o.has(e))continue;o.add(e);let n=c(e);e===`__proto__`?Me(l,e,n):l[e]=n}return l}function Pe(e,t={}){return q(e,e=>e.includes(`-`)?e.replaceAll(`-`,` `):e,t)}function J(e){let t=new Set,n=[];for(let r of e)r&&(t.has(r)||(t.add(r),n.push(r)));return n}function Fe(e){let t=new Set,n=[];for(let r of e){let e=String(r);t.has(e)||(t.add(e),n.push(e))}return n}function Ie(e){if(!e)return()=>void 0;if(typeof e==`function`)return e;if(e instanceof Map)return t=>e.get(t);let t=e;return e=>S(t,e)}function Y(e,t){let n=(e??``).trim(),r=Ie(t);return e=>{let t=r(e);if(t!=null&&typeof t!=`string`&&typeof t!=`number`)return t;if(!n)throw Error(`makeStaticRules requires a non-empty property`);return{[n]:t??e}}}function X(e,t,n={}){let{valueMap:r,meta:i}=n,a=typeof e==`string`||e===!1?[e]:e,o=a.includes(!1),s=J(a.filter(e=>typeof e==`string`));if(s.length===0&&!o)return[];let c=Fe(t);if(c.length===0)return[];let l=Y(n.property??s[0],r),u=[],d=(e,t)=>u.push(i?[e,l(t),i]:[e,l(t)]);for(let e of s)for(let t of c)d(t?`${e}:${t}`:e,t);if(o){let e=new Set([...je,...(n.bareExclude??[]).map(String)]);for(let t of c)!t||e.has(t)||d(t,t)}return u}const Le=i.join(`|`),Z=new Set(i),Q=Symbol.for(`@teacss/rule-helpers/global-rule-name`);function $(e){return e[2]?.[Q]}function Re(e){if(e.flags)return;let t=e.source;if(!t.startsWith(`^`))return;let n=1;for(;n<t.length&&/[A-Za-z0-9_-]/.test(t[n]);)n++;return t[n]===`:`?t.slice(1,n):void 0}function ze(e,t,n={}){let r=J((typeof e==`string`||e===!1?[e]:e).filter(e=>typeof e==`string`)),i=X(e,t.filter(e=>!Z.has(String(e))),n);if(r.length===0)return i;let a=Y(n.property??r[0],n.valueMap),o=n.meta?.autocomplete,s=typeof o==`string`?[o]:o??[],c=n.meta?.prefix==null?[``]:me(n.meta.prefix);for(let e of r){let t={...n.meta,autocomplete:[...s,...c.map(t=>`${t}${e}:<globalKeyword>`)],[Q]:e},r=[RegExp(`^${C(e)}:(${Le})$`),([,e])=>a(e),t];i.push(r)}return i}function Be(e,t){let n=e.lastIndexOf(`:`);return n<=0||!Z.has(e.slice(n+1))?!1:t.has(e.slice(0,n))}function Ve(e){let t=new Set;for(let n of e){let e=$(n);e!=null&&t.add(e)}return t.size===0?[...e]:e.map(e=>{if(fe(e)||$(e)!=null)return e;let[n,r,i]=e,a=Re(n);if(a!=null&&!t.has(a))return e;let o=(e,n)=>{if(!Be(e[0],t))return r(e,n)};return i==null?[n,o]:[n,o,i]})}function He(e){let t=`>:not(:last-child)`;return e.includes(t)?`:where(${e})`:`:where(${e}${t})`}export{M as alphaPlaceholders,N as alphaPlaceholdersRE,y as angleRE,g as bracketTypeRe,he as calcMaxWidthBySize,R as colorOpacityToString,z as colorToString,ee as consumeCssEscape,c as consumeCssIdentifier,u as consumeCssName,oe as createValueHandler,O as cssColorFunctions,e as cssLengthPercentageUnitRESource,t as cssLengthUnitRESource,n as cssLengthUnits,r as cssNamedColors,ne as decodeArbitraryValue,s as decodeCssIdentifier,Se as defineProperty,T as getBracket,S as getOwn,E as getStringComponent,D as getStringComponents,i as globalKeywords,se as h,_ as handler,Ce as hasIconFn,W as hasThemeFn,I as hex2rgba,j as hueInterpolationMethods,Pe as hyphenToSpace,re as isBareDashedIdentifier,a as isCssIdentifier,l as isCssNameCharacter,d as isCssNameStartCharacter,o as isCssWhitespace,F as isInterpolatedMethod,ae as lengthRE,ke as makeArbitraryValueRule,ze as makeGlobalRules,Ae as makeGlobalValueRule,Ne as makeShorthandRules,X as makeStaticRules,He as notLastChildSelector,ie as numberRE,te as numberWithUnitRE,L as parseCssColor,ce as percentRE,A as polarColorSpace,q as propsToValueMap,k as rectangularColorSpace,Ve as routeGlobalKeywordsToExactRules,we as transformThemeFn,G as transformThemeString,le as unitOnlyMap,p as unitOnlyRE,b as valueHandlers};
1
+ import{cssLengthPercentageUnitRESource as e,cssLengthUnitRESource as t,cssLengthUnits as n,cssNamedColors as r,globalKeywords as i}from"./constants.js";import{a,c as o,i as s,n as c,o as l,r as u,s as d,t as ee}from"./css-identifier-4yDg85cV.js";import{_ as te,a as f,b as p,c as m,d as ne,f as re,g as ie,h as ae,i as oe,l as h,m as g,n as _,o as v,p as y,r as b,s as x,t as se,u as S,v as ce,y as le}from"./standard-value-handler-lvqk4gS0.js";import{LAYER_PRIMITIVES as ue,LAYER_PROPERTIES as de,escapeRegExp as C,isStaticRule as fe,isString as pe,symbols as w,toArray as me}from"@teacss/core";function he(e){let t=e.match(/^-?\d+\.?\d*/)?.[0]||``,n=e.slice(t.length);if(n===`px`){let r=Number.parseFloat(t)-.1;return Number.isNaN(r)?e:`${r}${n}`}return`calc(${e} - 0.1px)`}function T(e,t,n){if(e===``)return;let r=e.length,i=0,a=!1,o=0;for(let s=0;s<r;s++)switch(e[s]){case t:a||(a=!0,o=s),i++;break;case n:if(--i,i<0)return;if(i===0)return[e.slice(o,s+1),e.slice(s+1),e.slice(0,o)];break}}function E(e,t,n,r){if(e===``||(pe(r)&&(r=[r]),r.length===0))return;let i=e.length,a=0;for(let o=0;o<i;o++)switch(e[o]){case t:a++;break;case n:if(--a<0)return;break;default:for(let t of r){let n=t.length;if(n&&t===e.slice(o,o+n)&&a===0)return o===0||o===i-n?void 0:[e.slice(0,o),e.slice(o+n)]}}if(a===0)return[e,``]}function D(e,t,n,r=`(`,i=`)`){n??=10;let a=[],o=0;for(;e!==``;){if(++o>n)return;let s=E(e,r,i,t);if(!s)return;let[c,l]=s;a.push(c),e=l}if(a.length>0)return a}const O=[`hsl`,`hsla`,`hwb`,`lab`,`lch`,`oklab`,`oklch`,`rgb`,`rgba`],k=[`srgb`,`srgb-linear`,`display-p3`,`display-p3-linear`,`a98-rgb`,`prophoto-rgb`,`rec2020`,`lab`,`oklab`,`xyz`,`xyz-d50`,`xyz-d65`],A=[`hsl`,`hwb`,`lch`,`oklch`],j=[`shorter`,`longer`,`increasing`,`decreasing`],M=[`%alpha`,`<alpha-value>`],N=new RegExp(M.map(e=>C(e)).join(`|`),`g`),P=new Set([...k,...A,...j]);function F(e){if(!e)return!1;let t=-1;for(let n=0;n<=e.length;n++){if(e[n]===`\\`||l(e[n])){t<0&&(t=n);continue}if(t>=0&&P.has(e.slice(t,n).toLowerCase()))return!0;t=-1}return!1}function I(e=``){let t=B(e);if(t!=null){let{components:e,alpha:n}=t;return n==null?e:[...e,n]}}function L(e=``){let t=ge(e);if(t==null||t===!1)return;let{type:n,components:r,alpha:i}=t,a=n.toLowerCase();if(r.length!==0&&!(O.includes(a)&&![1,3].includes(r.length)))return{type:a,components:r.map(e=>typeof e==`string`?e.trim():e),alpha:typeof i==`string`?i.trim():i}}function R(e){let t=e.alpha??1;return typeof t==`string`&&M.includes(t)?1:t}function z(e,t){if(typeof e==`string`)return e.replace(N,`${t??1}`);let{components:n}=e,{alpha:r,type:i}=e;return r=t??r,i=i.toLowerCase(),[`hsla`,`rgba`].includes(i)?`${i}(${n.join(`, `)}${r==null?``:`, ${r}`})`:(r=r==null?``:` / ${r}`,O.includes(i)?`${i}(${n.join(` `)}${r})`:`color(${i} ${n.join(` `)}${r})`)}function ge(e){if(!e)return;let t=B(e);if(t!=null||(t=_e(e),t!=null)||(t=ve(e),t!=null)||(t=be(e),t!=null)||(t=xe(e),t!=null))return t}function B(e){let[,t]=e.match(/^#([\da-f]+)$/i)||[];if(t)switch(t.length){case 3:case 4:{let e=Array.from(t,e=>Number.parseInt(e,16)).map(e=>e<<4|e);return{type:`rgb`,components:e.slice(0,3),alpha:t.length===3?void 0:V(e[3])}}case 6:case 8:{let e=Number.parseInt(t,16);return{type:`rgb`,components:t.length===6?[e>>16&255,e>>8&255,e&255]:[e>>24&255,e>>16&255,e>>8&255],alpha:t.length===6?void 0:V(e&255)}}}}function V(e){return Math.round(e/255*1e4)/1e4}const H={rebeccapurple:[102,51,153,1]};function _e(e){let t=S(H,e);if(t!=null)return{type:`rgb`,components:t.slice(0,3),alpha:t[3]}}function ve(e){let t=e.match(/^(rgb|rgba|hsl|hsla)\((.+)\)$/i);if(!t)return;let[,n,r]=t,i=D(r,`,`,5);if(i){if([3,4].includes(i.length))return{type:n,components:i.slice(0,3),alpha:i[3]};if(i.length!==1)return!1}}const ye=RegExp(`^(${O.join(`|`)})\\((.+)\\)$`,`i`);function be(e){let t=e.match(ye);if(!t)return;let[,n,r]=t,i=U(`${n} ${r}`);if(i){let{alpha:e,components:[t,...n]}=i;return{type:t,components:n,alpha:e}}}function xe(e){let t=e.match(/^color\((.+)\)$/);if(!t)return;let n=U(t[1]);if(n){let{alpha:e,components:[t,...r]}=n;return{type:t,components:r,alpha:e}}}function U(e){let t=D(e,` `);if(!t)return;let n=t.length;if(t[n-2]===`/`)return{components:t.slice(0,n-2),alpha:t[n-1]};if(t[n-2]!=null&&(t[n-2].endsWith(`/`)||t[n-1].startsWith(`/`))){let e=t.splice(n-2);t.push(e.join(` `)),--n}let r=D(t[n-1],`/`,2);if(!r)return;if(r.length===1||r[r.length-1]===``)return{components:t};let i=r.pop();return t[n-1]=r.join(`/`),{components:t,alpha:i}}function Se(e,t={}){let{syntax:n=`*`,inherits:r=!1,initialValue:i}=t,a={[w.shortcutsNoMerge]:!0,[w.noMerge]:!0,[w.variants]:()=>[{parent:``,layer:de,selector:()=>`@property ${e}`}],syntax:JSON.stringify(n),inherits:r?`true`:`false`};return i!=null&&(a[`initial-value`]=i),a}function W(e){return h(e,`theme`)}function Ce(e){return h(e,`icon`)}function we(e,t,n=!0){if(!W(e))return e;let r=[],i=0,a=0;for(;a<e.length;){let o=m(e,`theme`,a);if(o===-1)break;let s=Te(e,o);if(!s)break;if(a=s.end,!s.valid)continue;if(!s.argument)throw Error(`theme() expect exact one argument, but got 0`);let c=G(s.argument,t,n);c!==void 0&&(r.push(e.slice(i,o),c),i=s.end)}return i===0?e:(r.push(e.slice(i)),r.join(``))}function Te(e,t){let n=t+6;for(;/\s/.test(e[n]??``);)n++;let r=e[n]===`"`||e[n]===`'`?e[n++]:void 0,i=n;if(r){for(;n<e.length;){let t=e[n];if(t===`\\`){n+=2;continue}if(t===r)break;n++}if(n>=e.length)return;let t=e.slice(i,n);for(n++;/\s/.test(e[n]??``);)n++;return e[n]===`)`?{argument:t,end:n+1,valid:!0}:{argument:t,end:Ee(e,n),valid:!1}}for(;n<e.length&&e[n]!==`)`;)n++;if(!(n>=e.length))return{argument:e.slice(i,n).trim(),end:n+1,valid:!0}}function Ee(e,t){let n=e.indexOf(`)`,t);return n===-1?e.length:n+1}function G(e,t,n=!0){let r=e.indexOf(`/`),i=r<0?e:e.slice(0,r),a=r<0?void 0:e.slice(r+1),o=i.trim().split(`.`),s=t;for(let e of o){if(typeof s!=`object`||!s){s=void 0;break}s=S(s,e)}if(typeof s==`object`&&s&&(s=S(s,`DEFAULT`)),typeof s==`number`&&Number.isFinite(s)&&a==null)return String(s);if(typeof s==`string`){if(!a)return s;let e=De(a),t=L(s);return t?z(t,e):`color-mix(in oklab, ${s} ${e}, transparent)`}if(n)throw Error(`theme("${e}") was not found`)}function De(e){let t=e.trim();return/^\d{1,3}$/.test(t)&&Number(t)<=100?`${Number(t)}%`:t}function K(e){return f(e)??v(e)}function Oe(e){return K(e)??x(e)}function ke(e,t,n){return[e,([,e])=>({[t]:K(e)}),{autocomplete:n}]}function Ae(e,t,n){return[e,([,e])=>({[t]:Oe(e)}),{autocomplete:n}]}const je=new Set(i);function Me(e,t,n){Object.defineProperty(e,t,{value:n,configurable:!0,enumerable:!0,writable:!0})}function Ne(e,t,n={}){let r=J(typeof e==`string`?[e]:e);if(r.length===0)return[];let{property:i,...a}=n,o=(i??r[0]??``).trim();if(!o)throw Error(`makeShorthandRules requires a non-empty property`);return r.map(e=>[e,{[o]:t},{...a,layer:ue}])}function q(e,t,n={}){let{as:r=`record`,dedupe:i=!0,ignores:a=[]}=n,o=new Set,s=a.length?new Set(a.map(String)):void 0,c=t??(e=>e);if(r===`map`){let t=new Map;for(let n of e){let e=String(n);s?.has(e)||i&&o.has(e)||(o.add(e),t.set(e,c(e)))}return t}let l={};for(let t of e){let e=String(t);if(s?.has(e)||i&&o.has(e))continue;o.add(e);let n=c(e);e===`__proto__`?Me(l,e,n):l[e]=n}return l}function Pe(e,t={}){return q(e,e=>e.includes(`-`)?e.replaceAll(`-`,` `):e,t)}function J(e){let t=new Set,n=[];for(let r of e)r&&(t.has(r)||(t.add(r),n.push(r)));return n}function Fe(e){let t=new Set,n=[];for(let r of e){let e=String(r);t.has(e)||(t.add(e),n.push(e))}return n}function Ie(e){if(!e)return()=>void 0;if(typeof e==`function`)return e;if(e instanceof Map)return t=>e.get(t);let t=e;return e=>S(t,e)}function Y(e,t){let n=(e??``).trim(),r=Ie(t);return e=>{let t=r(e);if(t!=null&&typeof t!=`string`&&typeof t!=`number`)return t;if(!n)throw Error(`makeStaticRules requires a non-empty property`);return{[n]:t??e}}}function X(e,t,n={}){let{valueMap:r,meta:i}=n,a=typeof e==`string`||e===!1?[e]:e,o=a.includes(!1),s=J(a.filter(e=>typeof e==`string`));if(s.length===0&&!o)return[];let c=Fe(t);if(c.length===0)return[];let l=Y(n.property??s[0],r),u=[],d=(e,t)=>u.push(i?[e,l(t),i]:[e,l(t)]);for(let e of s)for(let t of c)d(t?`${e}:${t}`:e,t);if(o){let e=new Set([...je,...(n.bareExclude??[]).map(String)]);for(let t of c)!t||e.has(t)||d(t,t)}return u}const Le=i.join(`|`),Z=new Set(i),Q=Symbol.for(`@teacss/rule-helpers/global-rule-name`);function $(e){return e[2]?.[Q]}function Re(e){if(e.flags)return;let t=e.source;if(!t.startsWith(`^`))return;let n=1;for(;n<t.length&&/[A-Za-z0-9_-]/.test(t[n]);)n++;return t[n]===`:`?t.slice(1,n):void 0}function ze(e,t,n={}){let r=J((typeof e==`string`||e===!1?[e]:e).filter(e=>typeof e==`string`)),i=X(e,t.filter(e=>!Z.has(String(e))),n);if(r.length===0)return i;let a=Y(n.property??r[0],n.valueMap),o=n.meta?.autocomplete,s=typeof o==`string`?[o]:o??[],c=n.meta?.prefix==null?[``]:me(n.meta.prefix);for(let e of r){let t={...n.meta,autocomplete:[...s,...c.map(t=>`${t}${e}:<globalKeyword>`)],[Q]:e},r=[RegExp(`^${C(e)}:(${Le})$`),([,e])=>a(e),t];i.push(r)}return i}function Be(e,t){let n=e.lastIndexOf(`:`);return n<=0||!Z.has(e.slice(n+1))?!1:t.has(e.slice(0,n))}function Ve(e){let t=new Set;for(let n of e){let e=$(n);e!=null&&t.add(e)}return t.size===0?[...e]:e.map(e=>{if(fe(e)||$(e)!=null)return e;let[n,r,i]=e,a=Re(n);if(a!=null&&!t.has(a))return e;let o=(e,n)=>{if(!Be(e[0],t))return r(e,n)};return i==null?[n,o]:[n,o,i]})}function He(e){let t=`>:not(:last-child)`;return e.includes(t)?`:where(${e})`:`:where(${e}${t})`}export{M as alphaPlaceholders,N as alphaPlaceholdersRE,y as angleRE,g as bracketTypeRe,he as calcMaxWidthBySize,R as colorOpacityToString,z as colorToString,ee as consumeCssEscape,c as consumeCssIdentifier,u as consumeCssName,oe as createValueHandler,O as cssColorFunctions,e as cssLengthPercentageUnitRESource,t as cssLengthUnitRESource,n as cssLengthUnits,r as cssNamedColors,ne as decodeArbitraryValue,s as decodeCssIdentifier,Se as defineProperty,T as getBracket,S as getOwn,E as getStringComponent,D as getStringComponents,i as globalKeywords,se as h,_ as handler,Ce as hasIconFn,W as hasThemeFn,I as hex2rgba,j as hueInterpolationMethods,Pe as hyphenToSpace,re as isBareDashedIdentifier,a as isCssIdentifier,l as isCssNameCharacter,d as isCssNameStartCharacter,o as isCssWhitespace,F as isInterpolatedMethod,ae as lengthRE,ke as makeArbitraryValueRule,ze as makeGlobalRules,Ae as makeGlobalValueRule,Ne as makeShorthandRules,X as makeStaticRules,He as notLastChildSelector,ie as numberRE,te as numberWithUnitRE,L as parseCssColor,ce as percentRE,A as polarColorSpace,q as propsToValueMap,k as rectangularColorSpace,Ve as routeGlobalKeywordsToExactRules,we as transformThemeFn,G as transformThemeString,le as unitOnlyMap,p as unitOnlyRE,b as valueHandlers};
@@ -0,0 +1 @@
1
+ import{cssLengthUnitRESource as e,cssLengthUnits as t,globalKeywords as n}from"./constants.js";import{a as r,c as i,i as a,n as o,o as s,t as c}from"./css-identifier-4yDg85cV.js";import{escapeSelector as l}from"@teacss/core";const u=`(?:${t.join(`|`)})`,d=RegExp(`^(-?\\d*(?:\\.\\d+)?)(${u})?$`,`i`),f=/^(-?\d*(?:\.\d+)?)$/,p=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:deg|grad|rad|turn)$/,ee=/^-?(?:\d+(?:\.\d+)?|\.\d+)%$/,te=RegExp(`^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)${e}$`,`i`),m={px:1,vw:100,vh:100,svw:100,svh:100,dvw:100,dvh:100,lvh:100,lvw:100},h=RegExp(`^(${Object.keys(m).join(`|`)})$`,`i`),g=/^\[(color|image|length|size|position|quoted|string):/i,ne=new Set([...t,`angle`,`color`,`dpcm`,`deg`,`dpi`,`dppx`,`flex`,`fr`,`frequency`,`grad`,`hz`,`integer`,`khz`,`length`,`ms`,`number`,`percentage`,`rad`,`raw-string`,`resolution`,`s`,`string`,`time`,`turn`,`url`,`x`]);function _(e){return e.length>2&&e.startsWith(`--`)&&r(e)}function re(e){let t=0,n,r=-1;for(let i=0;i<e.length;i++){let a=e[i];if(n){a===`\\`?i++:a===n&&(n=void 0,r=-1);continue}if(a===`"`||a===`'`)n=a,r=i;else if(a===`\\`)i++;else if(a===`[`)t++;else if(a===`]`&&--t<0)return!1}if(r>=0){for(let n=r+1;n<e.length;n++)if(e[n]===`\\`)n++;else if(e[n]===`[`)t++;else if(e[n]===`]`&&--t<0)return!1}return t===0}function v(e){if(!e)return;let t=e.length-1;if(!(t<2||e.charCodeAt(0)!==91||e.charCodeAt(t)!==93)&&(e.charCodeAt(1)!==45||e.charCodeAt(2)!==45)){for(let n=1;n<t;n++)switch(e.charCodeAt(n)){case 34:case 39:case 40:case 41:case 58:case 91:case 92:case 93:case 95:case 96:return}return e.slice(1,t)}}function y(e){let t=``;for(let n=0;n<e.length;n++)e[n]===`\\`&&e[n+1]===`_`?(t+=`_`,n++):t+=e[n]===`_`?` `:e[n];return t}function b(e,t){let n=0;for(;t>0&&e[--t]===`\\`;)n++;return n%2==1}function x(e,t){if(t===0)return!0;let n=e[t-1];return n===`_`&&!b(e,t-1)||n!==`\\`&&!s(n)}function S(e,t,n,r){for(let i=t;i<n;i++)e[i]===`_`&&!b(e,i)&&!C(e,i)&&r.add(i)}function C(e,t){let n=t-1,r=0;for(;n>=0&&r<6&&/[0-9a-f]/i.test(e[n]);)n--,r++;return r>0&&e[n]===`\\`&&!b(e,n)}function w(e,t,n){let r=e.lastIndexOf(`_`,n-1);for(;r>=t&&b(e,r);)r=e.lastIndexOf(`_`,r-1);return r}function ie(e,t,n){let r=w(e,t,n);if(r<t)return n;if(r===n-1&&e[n]===`%`)return r;let i=a(e.slice(r+1,n)).toLowerCase();return ne.has(i)||i===`type`&&e[n]===`(`?r:n}function T(e){return e!=null&&e>=`0`&&e<=`9`}function ae(e,t,n){let r=T(e[n])||e[n]===`+`&&T(e[n+1]);if(e[n-1]===`_`&&!b(e,n-1)&&r)return n-1;let i=n;for(;i>t&&T(e[i-1]);)i--;if(i===n)return n;let a=n;for(;i>t&&e[i-1]===`_`&&!b(e,i-1);){a=--i;let n=i;for(;i>t&&T(e[i-1]);)i--;if(i===n)break}return a}function oe(e){let t=[];return e.replace(/var\((--.+?)[,)]/g,(e,n)=>(t.push(n),e.replace(n,`--calc`))).replace(/(-?\d*\.?\d(?!-\d.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g,`$1 $2 `).replace(/--calc/g,()=>t.shift())}function se(e){let t=[],n=/(?:calc|clamp|max|min)\(/gi,r=0,i;for(;(i=n.exec(e))!==null;){if(!x(e,i.index))continue;let a=D(e,n.lastIndex);a!=null&&(t.push(e.slice(r,i.index),oe(e.slice(i.index,a))),r=a,n.lastIndex=a)}return r===0?e:(t.push(e.slice(r)),t.join(``))}function E(e,t){let n=e[t];if(n===`"`||n===`'`){for(let r=t+1;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===n)return r+1;return e.length}if(e[t]===`/`&&e[t+1]===`*`){let n=e.indexOf(`*/`,t+2);return n<0?e.length:n+2}}function ce(e,t){let n=t;for(;n<e.length;){if(i(e[n])||e[n]===`_`&&!b(e,n)){n++;continue}if(e[n]!==`/`||e[n+1]!==`*`)return n;let t=E(e,n);if(t==null)return n;n=t}return n}function le(e){let t=new Set,n=[];for(let r=0;r<e.length;){let i=E(e,r);if(i!=null){r=i;continue}let s=o(e,r);if(s==null||!x(e,r)){r++;continue}let c=a(e.slice(r,s));if(e[s]!==`(`){r=s;continue}let l=c.toLowerCase();if(l===`url`){let t=D(e,s+1);if(t==null)break;n.push({start:r,end:t}),r=t;continue}if(l===`attr`||l===`env`||l===`var`){let n=ce(e,s+1),r=o(e,n);r!=null&&S(e,n,l===`attr`?ie(e,n,r):l===`env`?ae(e,n,r):r,t)}r=s+1}return{indexes:t,literals:n}}function ue(e){let t=le(e),n=0,r=``;for(let i=0;i<e.length;i++){let a=t.literals[n];if(a&&i===a.start){r+=e.slice(a.start,a.end),i=a.end-1,n++;continue}if(e[i]===`\\`&&e[i+1]===`_`){r+=`_`,i++;continue}r+=e[i]===`_`&&!t.indexes.has(i)?` `:e[i]}return r}function D(e,t){let n=1,r;for(let i=t;i<e.length;i++){let t=e[i];if(t===`\\`){i++;continue}if(r)t===r&&(r=void 0);else if(t===`"`||t===`'`)r=t;else if(t===`(`)n++;else if(t===`)`&&--n===0)return i+1}}function O(e){let t=v(e);if(t!==void 0)return t;if(!e?.startsWith(`[`)||!e.endsWith(`]`))return;let n=e.match(g),r=e.slice(n?.[0].length??1,-1);if(!r||r===`=""`||!re(r))return;_(r)&&(r=`var(${r})`);let i=n?.[1];return i===`string`?y(r):i===`quoted`?`"${y(r).replace(/(["\\])/g,`\\$1`)}"`:se(ue(r))}function k(e){return O(e)}function A(e,t){if(!(e==null||!Object.hasOwn(e,t)))return e[t]}function j(e,t,n=0){let r=`${t}(`,i;for(let t=n;t<=e.length-r.length;t++){let n=e[t];if(i!=null){n===`\\`?t=(c(e,t)??t+1)-1:n===i&&(i=void 0);continue}if(n===`'`||n===`"`){i=n;continue}if(n===`\\`){t=(c(e,t)??t+1)-1;continue}if(n===`/`&&e[t+1]===`*`){let n=e.indexOf(`*/`,t+2);if(n===-1)return-1;t=n+1;continue}if(!e.startsWith(r,t))continue;let a=e[t-1];if(t===0||!s(a))return t}return-1}function M(e,t){let n=j(e,t);return n>=0&&e.indexOf(`)`,n+t.length+1)>=0}function N(e,t,n=!1){if(e.length<=t.length+1||e[t.length]!==`(`||e.at(-1)!==`)`)return!1;let r=e.slice(0,t.length);if(n?r.toLowerCase()!==t.toLowerCase():r!==t)return!1;let i=1,a;for(let n=t.length+1;n<e.length;n++){let t=e[n];if(t===`\\`){n++;continue}if(a!=null){t===a&&(a=void 0);continue}if(t===`'`||t===`"`){a=t;continue}if(t===`(`)i++;else if(t===`)`&&--i===0)return n===e.length-1}return!1}const P=new Set(n),F=String.raw`[+-]?(?:\d+|\d*\.\d+)(?:[eE][+-]?\d+)?`,I=RegExp(`^${F}$`),L=RegExp(`^${F}%$`),R=RegExp(`^(${F})(s|ms)?$`,`i`),z=RegExp(`^(${F})(deg|rad|grad|turn)?$`,`i`),B=`color.border-color.background-color.outline-color.text-decoration-color.flex-grow.flex.flex-shrink.caret-color.font.gap.opacity.visibility.z-index.font-weight.zoom.text-shadow.transform.box-shadow.border.background-position.left.right.top.bottom.object-position.max-height.min-height.max-width.min-width.height.width.border-width.margin.padding.outline-width.outline-offset.font-size.line-height.text-indent.vertical-align.border-spacing.letter-spacing.word-spacing.stroke.filter.backdrop-filter.fill.mask.mask-size.mask-border.clip-path.clip.border-radius`.split(`.`);function V(e){return+e.toFixed(10)}function H(e){let t=e.match(d);if(!t)return;let[,n,r]=t,i=Number.parseFloat(n);if(r&&!Number.isNaN(i))return`${V(i)}${r}`}function U(e){if(e===`auto`)return`auto`}function W(e){if(e===`full`)return`100%`}function de(e){if(e===`empty`)return`""`}function fe(e){if(e===`square`)return`1/1`}function pe(e){if(e===`video`)return`16/9`}function me(e){if(!e)return;if(h.test(e))return`${m[e.toLowerCase()]}${e}`;let t=e.match(d);if(!t)return;let[,n,r]=t,i=Number.parseFloat(n);if(!Number.isNaN(i))return i===0?`0`:r?`${V(i)}${r}`:`${V(i/4)}rem`}function he(e){if(h.test(e))return`${m[e.toLowerCase()]}${e}`;let t=e?.match(d);if(!t)return;let[,n,r]=t,i=Number.parseFloat(n);if(!Number.isNaN(i))return r?`${V(i)}${r}`:`${V(i)}px`}function G(e){if(!f.test(e))return;let t=Number.parseFloat(e);if(!Number.isNaN(t))return V(t)}function ge(e){if(/^-?\d+$/.test(e))return e}function _e(e){if(/^[1-9]\d*$/.test(e))return e}function ve(e){if(!r(e))return;let t=a(e).toLowerCase();if(!(t==="default"||P.has(t)))return e}function ye(e){if(e.length>5&&N(e,`url`,!0))return e}function K(e){if(L.test(e))return e;if(f.test(e)){let t=Number.parseFloat(e);if(!Number.isNaN(t))return`${V(t)}%`}}function be(e){return/^\d*\.\d+$/.test(e)?e:K(e)}function q(e){if(!e)return;if(e===`full`)return`100%`;let t=e.indexOf(`/`);if(t<=0||t!==e.lastIndexOf(`/`)||t===e.length-1)return;let n=e.slice(0,t),r=e.slice(t+1);if(!I.test(n)||!I.test(r))return;let i=Number(r);if(i===0)return;let a=Number(n)/i;if(Number.isFinite(a))return a===0?`0`:`${V(a*100)}%`}function xe(e){let t=q(e)||G(e);if(t==null)return;let n=String(t).endsWith(`%`)?Number(String(t).slice(0,-1))/100:Number(t);return n===0?`0`:`calc(var(--spacing) * ${n})`}function J(e){return k(e)}function Y(e){if(!/^\$[^\s'"`;{}]/.test(e))return;let t=e.slice(1),n=t.indexOf(`|`),r=n===-1?t:t.slice(0,n),i=n===-1?void 0:t.slice(n+1);if(!(!r||/[,\s'"`;{}]/.test(r))&&!(n!==-1&&!i))return`var(--${l(r)}${i?`, ${i}`:``})`}function Se(e){let t=e.match(R);if(!t)return;let[,n,r]=t,i=Number(n);if(Number.isFinite(i))return i===0&&!r?`0s`:r?`${V(i)}${r}`:`${V(i)}ms`}function Ce(e){let t=e.match(z);if(!t)return;let[,n,r]=t,i=Number(n);if(Number.isFinite(i))return i===0&&!r?`0`:r?`${V(i)}${r}`:`${V(i)}deg`}function X(e){if(P.has(e))return e}function we(e){if(e.split(`,`).every(e=>B.includes(e)))return e}function Te(e){if([`top`,`left`,`right`,`bottom`,`center`].includes(e))return e}function Ee(e){if([`top`,`bottom`,`left`,`right`,`center`,`top-left`,`top-right`,`bottom-left`,`bottom-right`].includes(e))return e}function De(e){if(e===`none`)return`none`}function Oe(e){if(e===`none`||e===`zero`)return`0`}function Z(e){if(Object.hasOwn(e,`__options`))throw Error(`"__options" is a reserved createValueHandler name`);let t=Object.keys(e),n=Object.create(Function.prototype),r=new WeakMap;function i(t){let i=Object.freeze([...t]),a=((t,n)=>{for(let r of i){let i=e[r](t,n);if(i!=null)return i}});return Object.defineProperty(a,"__options",{enumerable:!0,value:Object.freeze({sequence:Object.freeze([...i])})}),r.set(a,i),Object.setPrototypeOf(a,n),a}function a(e){for(let n of t)Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get(){let e=i([...r.get(this)??[],n]);return Object.defineProperty(this,n,{enumerable:!0,configurable:!0,value:e}),e}})}a(n);let o=i([]);return a(o),o}const Q=Object.freeze({alpha:be,auto:U,bracket:J,cssvar:Y,customIdent:ve,degree:Ce,empty:de,fraction:q,full:W,global:X,integer:ge,none:De,number:G,numberWithUnit:H,percent:K,placement:Ee,position:Te,positiveInteger:_e,properties:we,px:he,rem:me,spacing:xe,square:fe,time:Se,url:ye,video:pe,zero:Oe}),$=Z(Q),ke=$;export{d as _,J as a,h as b,j as c,k as d,_ as f,f as g,te as h,Z as i,M as l,g as m,$ as n,Y as o,p,Q as r,X as s,ke as t,A as u,ee as v,m as y};
@@ -1 +1 @@
1
- import{cssLengthUnitRESource as e,globalKeywords as t}from"./constants.js";import{findLastTopLevelDelimiter as n,splitTopLevelCommas as r,topLevelWhitespaceSpans as i}from"./css-syntax.js";import{c as a,g as o,h as s,n as c,u as l}from"./css-value-syntax-CMg4Dex-.js";import{b as u,d,n as f,t as p,u as m}from"./standard-value-handler-DW0LevOJ.js";function h(e){return/^\d{1,3}$/.test(e)&&Number(e)<=100}function g(e){let t=p.global.cssvar(e);if(t!=null)return t;let n=p.bracket(e);return n==null?a.test(e)?/[.e]/i.test(e)?e:`${e}%`:p.alpha(e):o(n)?n:void 0}function _(e,t){return t!=null&&h(t)?`color-mix(in oklab, ${e} ${Number(t)}%, transparent)`:e}function v(e){let t=n(e,`/`);return t<0?[e]:[e.slice(0,t),e.slice(t+1)]}function y(e){return p.cssvar(e)!=null}function b(e,t){let n=p.cssvar.global(e);if(n!=null)return n;let r=p.bracket(e)??e;return p.global(r)??(t.has(r)?r:void 0)}function x(e,t){let n=p.cssvar.global(e);if(n!=null)return n;if(t.has(e))return e;let i=p.bracket(e);if(i==null)return;let a=p.global(i);if(a!=null)return a;let o=r(i);return o.length>0&&o.every(e=>t.has(e))?i:void 0}function S(e,t){let n=f.fraction.number(e)??t;if(n==null)return;let r=String(n);return r.endsWith(`%`)?Number(r.slice(0,-1))/100:Number(n)}const C=RegExp(`^([+-]?(?:\\d+|\\d*\\.\\d+)(?:e[+-]?\\d+)?)(${e})?$`,`i`),w=/^[+-]?(?:\d+|\d*\.\d+)(?:e[+-]?\d+)?%$/i,T=new Set(t);function E(e){return i(e).map(e=>e.value)}function D(e){return/rpx$/i.test(e)||w.test(e)?!1:u.test(e)||C.test(e)}function O(e){if(/rpx$/i.test(e))return;let t=p.px(e);if(t!=null)return t;let n=e.match(C);if(!n)return;let r=Number(n[1]);if(!Number.isFinite(r))return;let i=Number(r.toFixed(10));return n[2]?`${i}${n[2]}`:`${i}px`}function k(e){let t=d(e);return t==null?e.startsWith(`[`)||e.endsWith(`]`)?!1:y(e)?!0:e.startsWith(`-`)||T.has(e)?!1:D(e):A(t).length===1&&E(t).length===1&&s(t)&&!l(t)}function A(e){return r(e)}function j(e){return A(e).some(e=>E(e).filter(e=>C.test(e)).slice(2,4).some(e=>Number(e.match(C)?.[1])<0))}const M=new Set;function N(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function P(e){return typeof e==`string`?e:e.join(`-`)}function F(e,t,n,r,i=M){let a=m(e,t);if(!a)return;let o=P(n),s=m(a,o);if(s!=null)return i.has(o)?typeof s==`string`?s:s.join(` `):`var(--${r??N(t)}-${o})`}function I(e){return e.replace(/\/\*[\s\S]*?\*\//g,` `).trim()}function L(e,t=[]){let n=p.bracket(e);if(n!=null){let e=r(n);return e.length>0&&e.every(e=>{let n=I(e);return t.includes(n)||c(n)&&!B(n)})?n:void 0}let i=p.cssvar.global(e);if(i!=null)return i;if(t.includes(e))return e;let a=p.time(e);return a?.startsWith(`-`)?void 0:a}function R(e){let t=p.bracket(e);if(t!=null){let e=r(t);return e.length>0&&e.every(e=>c(I(e)))?t:void 0}return p.cssvar.global.time(e)}const z=/^([+-]?(?:\d+|\d*\.\d+)(?:e[+-]?\d+)?)(?:ms|s)?$/i;function B(e){let t=e.match(z);return t!=null&&Number(t[1])<0}export{_ as applyOpacity,N as camelToKebab,j as hasInvalidTextShadowRadius,y as isCssVariableToken,k as isNonnegativeLengthValue,h as isValidOpacityModifier,O as normalizeShadowLength,g as resolveAlphaValue,b as resolveKeyword,x as resolveKeywordList,L as resolveNonnegativeTime,S as resolveNumber,F as resolveThemeVariable,R as resolveTime,v as splitOpacity,A as splitShadowLayers};
1
+ import{cssLengthUnitRESource as e,globalKeywords as t}from"./constants.js";import{findLastTopLevelDelimiter as n,splitTopLevelCommas as r,topLevelWhitespaceSpans as i}from"./css-syntax.js";import{c as a,g as o,h as s,n as c,u as l}from"./css-value-syntax-CMg4Dex-.js";import{b as u,d,n as f,t as p,u as m}from"./standard-value-handler-lvqk4gS0.js";function h(e){return/^\d{1,3}$/.test(e)&&Number(e)<=100}function g(e){let t=p.global.cssvar(e);if(t!=null)return t;let n=p.bracket(e);return n==null?a.test(e)?/[.e]/i.test(e)?e:`${e}%`:p.alpha(e):o(n)?n:void 0}function _(e,t){return t!=null&&h(t)?`color-mix(in oklab, ${e} ${Number(t)}%, transparent)`:e}function v(e){let t=n(e,`/`);return t<0?[e]:[e.slice(0,t),e.slice(t+1)]}function y(e){return p.cssvar(e)!=null}function b(e,t){let n=p.cssvar.global(e);if(n!=null)return n;let r=p.bracket(e)??e;return p.global(r)??(t.has(r)?r:void 0)}function x(e,t){let n=p.cssvar.global(e);if(n!=null)return n;if(t.has(e))return e;let i=p.bracket(e);if(i==null)return;let a=p.global(i);if(a!=null)return a;let o=r(i);return o.length>0&&o.every(e=>t.has(e))?i:void 0}function S(e,t){let n=f.fraction.number(e)??t;if(n==null)return;let r=String(n);return r.endsWith(`%`)?Number(r.slice(0,-1))/100:Number(n)}const C=RegExp(`^([+-]?(?:\\d+|\\d*\\.\\d+)(?:e[+-]?\\d+)?)(${e})?$`,`i`),w=/^[+-]?(?:\d+|\d*\.\d+)(?:e[+-]?\d+)?%$/i,T=new Set(t);function E(e){return i(e).map(e=>e.value)}function D(e){return/rpx$/i.test(e)||w.test(e)?!1:u.test(e)||C.test(e)}function O(e){if(/rpx$/i.test(e))return;let t=p.px(e);if(t!=null)return t;let n=e.match(C);if(!n)return;let r=Number(n[1]);if(!Number.isFinite(r))return;let i=Number(r.toFixed(10));return n[2]?`${i}${n[2]}`:`${i}px`}function k(e){let t=d(e);return t==null?e.startsWith(`[`)||e.endsWith(`]`)?!1:y(e)?!0:e.startsWith(`-`)||T.has(e)?!1:D(e):A(t).length===1&&E(t).length===1&&s(t)&&!l(t)}function A(e){return r(e)}function j(e){return A(e).some(e=>E(e).filter(e=>C.test(e)).slice(2,4).some(e=>Number(e.match(C)?.[1])<0))}const M=new Set;function N(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function P(e){return typeof e==`string`?e:e.join(`-`)}function F(e,t,n,r,i=M){let a=m(e,t);if(!a)return;let o=P(n),s=m(a,o);if(s!=null)return i.has(o)?typeof s==`string`?s:s.join(` `):`var(--${r??N(t)}-${o})`}function I(e){return e.replace(/\/\*[\s\S]*?\*\//g,` `).trim()}function L(e,t=[]){let n=p.bracket(e);if(n!=null){let e=r(n);return e.length>0&&e.every(e=>{let n=I(e);return t.includes(n)||c(n)&&!B(n)})?n:void 0}let i=p.cssvar.global(e);if(i!=null)return i;if(t.includes(e))return e;let a=p.time(e);return a?.startsWith(`-`)?void 0:a}function R(e){let t=p.bracket(e);if(t!=null){let e=r(t);return e.length>0&&e.every(e=>c(I(e)))?t:void 0}return p.cssvar.global.time(e)}const z=/^([+-]?(?:\d+|\d*\.\d+)(?:e[+-]?\d+)?)(?:ms|s)?$/i;function B(e){let t=e.match(z);return t!=null&&Number(t[1])<0}export{_ as applyOpacity,N as camelToKebab,j as hasInvalidTextShadowRadius,y as isCssVariableToken,k as isNonnegativeLengthValue,h as isValidOpacityModifier,O as normalizeShadowLength,g as resolveAlphaValue,b as resolveKeyword,x as resolveKeywordList,L as resolveNonnegativeTime,S as resolveNumber,F as resolveThemeVariable,R as resolveTime,v as splitOpacity,A as splitShadowLayers};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teacss/rule-helpers",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Helpers for authoring TeaCSS preset rules — static/dynamic rule builders and value resolvers.",
5
5
  "homepage": "https://css.teasim.com",
6
6
  "funding": "https://github.com/sponsors/billgo",
@@ -26,7 +26,7 @@
26
26
  "dev": "tsdown --watch"
27
27
  },
28
28
  "dependencies": {
29
- "@teacss/core": "0.3.0"
29
+ "@teacss/core": "0.3.1"
30
30
  },
31
31
  "engines": {
32
32
  "node": ">=22.12.0"
@@ -1 +0,0 @@
1
- import{cssLengthUnitRESource as e,cssLengthUnits as t,globalKeywords as n}from"./constants.js";import{a as r,i,o as a,t as o}from"./css-identifier-4yDg85cV.js";import{escapeSelector as s}from"@teacss/core";const c=`(?:${t.join(`|`)})`,l=RegExp(`^(-?\\d*(?:\\.\\d+)?)(${c})?$`,`i`),u=/^(-?\d*(?:\.\d+)?)$/,d=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:deg|grad|rad|turn)$/,ee=/^-?(?:\d+(?:\.\d+)?|\.\d+)%$/,te=RegExp(`^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)${e}$`,`i`),f={px:1,vw:100,vh:100,svw:100,svh:100,dvw:100,dvh:100,lvh:100,lvw:100},p=RegExp(`^(${Object.keys(f).join(`|`)})$`,`i`),m=/^\[(color|image|length|size|position|quoted|string):/i;function h(e){return e.length>2&&e.startsWith(`--`)&&r(e)}function ne(e){let t=0,n,r=-1;for(let i=0;i<e.length;i++){let a=e[i];if(n){a===`\\`?i++:a===n&&(n=void 0,r=-1);continue}if(a===`"`||a===`'`)n=a,r=i;else if(a===`\\`)i++;else if(a===`[`)t++;else if(a===`]`&&--t<0)return!1}if(r>=0){for(let n=r+1;n<e.length;n++)if(e[n]===`\\`)n++;else if(e[n]===`[`)t++;else if(e[n]===`]`&&--t<0)return!1}return t===0}function g(e){if(!e)return;let t=e.length-1;if(!(t<2||e.charCodeAt(0)!==91||e.charCodeAt(t)!==93)&&(e.charCodeAt(1)!==45||e.charCodeAt(2)!==45)){for(let n=1;n<t;n++)switch(e.charCodeAt(n)){case 34:case 39:case 40:case 41:case 58:case 91:case 92:case 93:case 95:case 96:return}return e.slice(1,t)}}function _(e){let t=``;for(let n=0;n<e.length;n++)e[n]===`\\`&&e[n+1]===`_`?(t+=`_`,n++):t+=e[n]===`_`?` `:e[n];return t}function v(e,t){let n=0;for(;t>0&&e[--t]===`\\`;)n++;return n%2==1}function y(e,t){if(t===0)return!0;let n=e[t-1];return n===`_`&&!v(e,t-1)||n!==`\\`&&!a(n)}function re(e){let t=[],n=0,r=/url\(/gi,i;for(;(i=r.exec(e))!==null;){let a=i.index;if(!y(e,a))continue;t.push(_(e.slice(n,a)));let o=x(e,a+4);if(o===void 0)return t.push(_(e.slice(a))),t.join(``);t.push(e.slice(a,o)),n=o,r.lastIndex=o}return t.push(_(e.slice(n))),t.join(``)}function b(e){let t=[];return e.replace(/var\((--.+?)[,)]/g,(e,n)=>(t.push(n),e.replace(n,`--calc`))).replace(/(-?\d*\.?\d(?!-\d.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g,`$1 $2 `).replace(/--calc/g,()=>t.shift())}function ie(e){let t=[],n=/(?:calc|clamp|max|min)\(/gi,r=0,i;for(;(i=n.exec(e))!==null;){if(!y(e,i.index))continue;let a=x(e,n.lastIndex);a!=null&&(t.push(e.slice(r,i.index),b(e.slice(i.index,a))),r=a,n.lastIndex=a)}return r===0?e:(t.push(e.slice(r)),t.join(``))}function x(e,t){let n=1,r;for(let i=t;i<e.length;i++){let t=e[i];if(t===`\\`){i++;continue}if(r)t===r&&(r=void 0);else if(t===`"`||t===`'`)r=t;else if(t===`(`)n++;else if(t===`)`&&--n===0)return i+1}}function ae(e){let t=g(e);if(t!==void 0)return t;if(!e?.startsWith(`[`)||!e.endsWith(`]`))return;let n=e.match(m),r=e.slice(n?.[0].length??1,-1);if(!r||r===`=""`||!ne(r))return;h(r)&&(r=`var(${r})`);let i=n?.[1];return i===`string`?_(r):i===`quoted`?`"${_(r).replace(/(["\\])/g,`\\$1`)}"`:ie(re(r))}function S(e){return ae(e)}function oe(e,t){if(!(e==null||!Object.hasOwn(e,t)))return e[t]}function C(e,t,n=0){let r=`${t}(`,i;for(let t=n;t<=e.length-r.length;t++){let n=e[t];if(i!=null){n===`\\`?t=(o(e,t)??t+1)-1:n===i&&(i=void 0);continue}if(n===`'`||n===`"`){i=n;continue}if(n===`\\`){t=(o(e,t)??t+1)-1;continue}if(n===`/`&&e[t+1]===`*`){let n=e.indexOf(`*/`,t+2);if(n===-1)return-1;t=n+1;continue}if(!e.startsWith(r,t))continue;let s=e[t-1];if(t===0||!a(s))return t}return-1}function se(e,t){let n=C(e,t);return n>=0&&e.indexOf(`)`,n+t.length+1)>=0}function ce(e,t,n=!1){if(e.length<=t.length+1||e[t.length]!==`(`||e.at(-1)!==`)`)return!1;let r=e.slice(0,t.length);if(n?r.toLowerCase()!==t.toLowerCase():r!==t)return!1;let i=1,a;for(let n=t.length+1;n<e.length;n++){let t=e[n];if(t===`\\`){n++;continue}if(a!=null){t===a&&(a=void 0);continue}if(t===`'`||t===`"`){a=t;continue}if(t===`(`)i++;else if(t===`)`&&--i===0)return n===e.length-1}return!1}const w=new Set(n),T=String.raw`[+-]?(?:\d+|\d*\.\d+)(?:[eE][+-]?\d+)?`,E=RegExp(`^${T}$`),D=RegExp(`^${T}%$`),O=RegExp(`^(${T})(s|ms)?$`,`i`),k=RegExp(`^(${T})(deg|rad|grad|turn)?$`,`i`),A=`color.border-color.background-color.outline-color.text-decoration-color.flex-grow.flex.flex-shrink.caret-color.font.gap.opacity.visibility.z-index.font-weight.zoom.text-shadow.transform.box-shadow.border.background-position.left.right.top.bottom.object-position.max-height.min-height.max-width.min-width.height.width.border-width.margin.padding.outline-width.outline-offset.font-size.line-height.text-indent.vertical-align.border-spacing.letter-spacing.word-spacing.stroke.filter.backdrop-filter.fill.mask.mask-size.mask-border.clip-path.clip.border-radius`.split(`.`);function j(e){return+e.toFixed(10)}function M(e){let t=e.match(l);if(!t)return;let[,n,r]=t,i=Number.parseFloat(n);if(r&&!Number.isNaN(i))return`${j(i)}${r}`}function N(e){if(e===`auto`)return`auto`}function P(e){if(e===`full`)return`100%`}function F(e){if(e===`empty`)return`""`}function I(e){if(e===`square`)return`1/1`}function L(e){if(e===`video`)return`16/9`}function R(e){if(!e)return;if(p.test(e))return`${f[e.toLowerCase()]}${e}`;let t=e.match(l);if(!t)return;let[,n,r]=t,i=Number.parseFloat(n);if(!Number.isNaN(i))return i===0?`0`:r?`${j(i)}${r}`:`${j(i/4)}rem`}function z(e){if(p.test(e))return`${f[e.toLowerCase()]}${e}`;let t=e?.match(l);if(!t)return;let[,n,r]=t,i=Number.parseFloat(n);if(!Number.isNaN(i))return r?`${j(i)}${r}`:`${j(i)}px`}function B(e){if(!u.test(e))return;let t=Number.parseFloat(e);if(!Number.isNaN(t))return j(t)}function V(e){if(/^-?\d+$/.test(e))return e}function H(e){if(/^[1-9]\d*$/.test(e))return e}function U(e){if(!r(e))return;let t=i(e).toLowerCase();if(!(t==="default"||w.has(t)))return e}function W(e){if(e.length>5&&ce(e,`url`,!0))return e}function G(e){if(D.test(e))return e;if(u.test(e)){let t=Number.parseFloat(e);if(!Number.isNaN(t))return`${j(t)}%`}}function le(e){return/^\d*\.\d+$/.test(e)?e:G(e)}function K(e){if(!e)return;if(e===`full`)return`100%`;let t=e.indexOf(`/`);if(t<=0||t!==e.lastIndexOf(`/`)||t===e.length-1)return;let n=e.slice(0,t),r=e.slice(t+1);if(!E.test(n)||!E.test(r))return;let i=Number(r);if(i===0)return;let a=Number(n)/i;if(Number.isFinite(a))return a===0?`0`:`${j(a*100)}%`}function ue(e){let t=K(e)||B(e);if(t==null)return;let n=String(t).endsWith(`%`)?Number(String(t).slice(0,-1))/100:Number(t);return n===0?`0`:`calc(var(--spacing) * ${n})`}function q(e){return S(e)}function J(e){if(!/^\$[^\s'"`;{}]/.test(e))return;let t=e.slice(1),n=t.indexOf(`|`),r=n===-1?t:t.slice(0,n),i=n===-1?void 0:t.slice(n+1);if(!(!r||/[,\s'"`;{}]/.test(r))&&!(n!==-1&&!i))return`var(--${s(r)}${i?`, ${i}`:``})`}function de(e){let t=e.match(O);if(!t)return;let[,n,r]=t,i=Number(n);if(Number.isFinite(i))return i===0&&!r?`0s`:r?`${j(i)}${r}`:`${j(i)}ms`}function fe(e){let t=e.match(k);if(!t)return;let[,n,r]=t,i=Number(n);if(Number.isFinite(i))return i===0&&!r?`0`:r?`${j(i)}${r}`:`${j(i)}deg`}function Y(e){if(w.has(e))return e}function pe(e){if(e.split(`,`).every(e=>A.includes(e)))return e}function me(e){if([`top`,`left`,`right`,`bottom`,`center`].includes(e))return e}function he(e){if([`top`,`bottom`,`left`,`right`,`center`,`top-left`,`top-right`,`bottom-left`,`bottom-right`].includes(e))return e}function ge(e){if(e===`none`)return`none`}function X(e){if(e===`none`||e===`zero`)return`0`}function Z(e){if(Object.hasOwn(e,`__options`))throw Error(`"__options" is a reserved createValueHandler name`);let t=Object.keys(e),n=Object.create(Function.prototype),r=new WeakMap;function i(t){let i=Object.freeze([...t]),a=((t,n)=>{for(let r of i){let i=e[r](t,n);if(i!=null)return i}});return Object.defineProperty(a,"__options",{enumerable:!0,value:Object.freeze({sequence:Object.freeze([...i])})}),r.set(a,i),Object.setPrototypeOf(a,n),a}function a(e){for(let n of t)Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get(){let e=i([...r.get(this)??[],n]);return Object.defineProperty(this,n,{enumerable:!0,configurable:!0,value:e}),e}})}a(n);let o=i([]);return a(o),o}const Q=Object.freeze({alpha:le,auto:N,bracket:q,cssvar:J,customIdent:U,degree:fe,empty:F,fraction:K,full:P,global:Y,integer:V,none:ge,number:B,numberWithUnit:M,percent:G,placement:he,position:me,positiveInteger:H,properties:pe,px:z,rem:R,spacing:ue,square:I,time:de,url:W,video:L,zero:X}),$=Z(Q),_e=$;export{l as _,q as a,p as b,C as c,S as d,h as f,u as g,te as h,Z as i,se as l,m,$ as n,J as o,d as p,Q as r,Y as s,_e as t,oe as u,ee as v,f as y};