@symbo.ls/scratch 3.14.697 → 3.14.702

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @symbo.ls/scratch
2
2
 
3
+ ## 3.14.702
4
+
5
+ ### Patch Changes
6
+
7
+ - Auto-generated cross-repo patch release.
8
+ - Updated dependencies
9
+ - @symbo.ls/utils@3.14.702
10
+
11
+ ## 3.14.700
12
+
13
+ ### Patch Changes
14
+
15
+ - Auto-generated cross-repo patch release.
16
+
3
17
  ## 3.14.697
4
18
 
5
19
  ### Patch Changes
@@ -1 +1 @@
1
- "use strict";var w=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var L=(r,s)=>{for(var d in s)w(r,d,{get:s[d],enumerable:!0})},q=(r,s,d,e)=>{if(s&&typeof s=="object"||typeof s=="function")for(let l of D(s))!E.call(r,l)&&l!==d&&w(r,l,{get:()=>s[l],enumerable:!(e=T(s,l))||e.enumerable});return r};var O=r=>q(w({},"__esModule",{value:!0}),r);var z={};L(z,{getColor:()=>R,getMediaColor:()=>W,setAdaptiveSchemeVar:()=>P,setColor:()=>S,setGradient:()=>j});module.exports=O(z);var f=require("@symbo.ls/utils"),M=require("../factory.js"),u=require("../utils/index.js");const R=(r,s,d)=>{const e=d||(0,M.getActiveConfig)();if(!(0,f.isString)(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if((0,u.isCSSVar)(r))return`var(${r})`;s&&r[s]&&(r=r[s]);let l,a,o;if((0,f.isArray)(r))[l,a,o]=r;else{const t=(0,u.parseColorToken)(r);if(!t){const{color:V,gradient:C}=e;let h=C[r]||V[r];return h?(s&&h[s]&&(h=h[s]),e.useVariable?`var(${h.var})`:h.value):r}if(t.passthrough)return t.passthrough;if(t.cssVar)return`var(${t.cssVar})`;l=t.name,a=t.alpha,o=t.tone}const{color:g,gradient:b}=e;let n=g[l]||b[l];if(!n)return e.verbose&&console.warn("Can't find color ",l),r;s&&(n[s]?n=n[s]:e.verbose&&console.warn(r," - does not have ",s));let c=n.rgb;if(!c){const t=e.useVariable?`var(${n.var})`:n.value;if(a&&t){const V=Math.round(parseFloat(a)*100);return`color-mix(in srgb, ${t} ${V}%, transparent)`}return t}return o&&!n[o]&&(c=(0,u.getRgbTone)(c,o),n[o]={rgb:c,var:`${n.var}-${o}`}),n[o]&&(c=n[o].rgb),a?`rgba(${c}, ${a})`:o?`rgba(${c}, 1)`:e.useVariable?`var(${n.var})`:`rgb(${c})`},W=(r,s,d)=>{const e=d||(0,M.getActiveConfig)();if(s||(s=e.globalTheme==="auto"?null:e.globalTheme),!(0,f.isString)(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if((0,u.isCSSVar)(r))return`var(${r})`;let l,a,o;if((0,f.isArray)(r))l=r[0];else{const t=(0,u.parseColorToken)(r);if(t){if(t.passthrough)return t.passthrough;if(t.cssVar)return`var(${t.cssVar})`;l=t.name,a=t.alpha,o=t.tone}else l=r}const{color:g,gradient:b}=e,n=g[l]||b[l],c=(0,f.isObject)(n);if(c&&n.value)return R(r,`@${s}`,d);if(c){if(e.useVariable&&n.var)return a||o?R(r,null,d):`var(${n.var})`;if(s)return R(r,`@${s}`,d);{const t={};for(const V in n){if(V.charCodeAt(0)!==64)continue;const C=e.media[V.slice(1)];if(!C)continue;const h="@media "+(C==="print"?`${C}`:`screen and ${C}`);t[h]=R(r,V,d)}return t}}else return e.verbose&&console.warn("Can't find color",r),r},P=(r,s,d,e)=>{const a=`--${e.varPrefix?e.varPrefix+"-":""}${s}-${d}`;let o;const g={};for(const b in r){if(b.charCodeAt(0)!==64)continue;const n=b.slice(1),c=r[b],t=c&&(c.value||c);!t||typeof t!="string"||(g[n]=t,(n==="light"||o===void 0)&&(o=t))}if(o!==void 0){e.cssVars[a]=o,e.cssMediaVars||(e.cssMediaVars={});for(const b in g){const n=`[data-theme="${b}"]`;if(e.cssMediaVars[n]||(e.cssMediaVars[n]={}),e.cssMediaVars[n][a]=g[b],b==="light"||b==="dark"){const c=`@media (prefers-color-scheme: ${b})`;e.cssMediaVars[c]||(e.cssMediaVars[c]={}),e.cssMediaVars[c][a]=g[b]}}return r.var=a,a}},S=(r,s,d)=>{const e=(0,M.getActiveConfig)();if((0,f.isString)(r)&&(0,u.isCSSVar)(r)){const p=r.slice(2);if(r=R(p),!(r.includes("rgb")||r.includes("var")||r.includes("#"))){const i=p.split(" ");let $=e.color[i[0]];if($&&!$.value&&!$.rgb&&((0,f.isString)($)||(0,f.isArray)($)||(0,f.isObject)($))&&(e.color[i[0]]=S($,i[0]),$=e.color[i[0]]),$&&$.value){let m=$.rgb;const A=i[1]!==void 0?i[1]:"1",x=i[2];x&&(m=(0,u.getRgbTone)(m,x)),r=`rgba(${m}, ${A})`}else{const m=i[2],A=i[1]!==void 0?i[1]:"1";if(m)try{const x=(0,u.colorStringToRgbaArray)(i[0]);x&&x.length>=3?r=`rgba(${(0,u.getRgbTone)(x.slice(0,3).join(", "),m)}, ${A})`:r=i[0]}catch{r=i[0]}else r=i[0]}}}if((0,f.isArray)(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),(0,f.isObject)(r)){const p={};for(const i in r)p[i]=S(r[i],s,i.slice(0,1)==="@"?i.slice(1):i);return e.useVariable&&P(p,"color",s,e),p}const a=`--${e.varPrefix?e.varPrefix+"-":""}color-${s}`+(d?`-${d}`:"");let o=r.value||r;if((0,f.isString)(o)&&!o.includes("(")&&!o.startsWith("#")){const p=(0,u.parseColorToken)(o);if(p&&p.name&&!p.passthrough&&!p.cssVar){const i=e.color[p.name];i&&!i.value&&!i.rgb&&((0,f.isString)(i)||(0,f.isArray)(i)||(0,f.isObject)(i))&&(e.color[p.name]=S(i,p.name));const $=e.color[p.name];if($&&$.rgb){let m=$.rgb;p.tone&&(m=(0,u.getRgbTone)(m,p.tone));const A=p.alpha?parseFloat(p.alpha):1;o=`rgba(${m}, ${A})`}}}const g=(0,u.colorStringToRgbaArray)(o),[b,n,c,t=1]=g,V=parseFloat(t.toFixed(2)),C=`${b}, ${n}, ${c}`,h=`rgba(${C}, ${V})`;return e.useVariable&&(e.cssVars[a]=h),{var:a,rgb:C,alpha:V,value:h}},j=(r,s,d)=>{const e=(0,M.getActiveConfig)();if((0,f.isString)(r)&&(0,u.isCSSVar)(r)&&(r=R(r.slice(2))),(0,f.isArray)(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),(0,f.isObject)(r)){const o={};for(const g in r)o[g]=j(r[g],s,g.slice(0,1)==="@"?g.slice(1):g);return e.useVariable&&P(o,"gradient",s,e),o}const a=`--${e.varPrefix?e.varPrefix+"-":""}gradient-${s}`+(d?`-${d}`:"");return e.useVariable&&(e.cssVars[a]=r.value||r),{var:a,value:r.value||r}};
1
+ "use strict";var w=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var L=(r,s)=>{for(var d in s)w(r,d,{get:s[d],enumerable:!0})},q=(r,s,d,e)=>{if(s&&typeof s=="object"||typeof s=="function")for(let u of D(s))!E.call(r,u)&&u!==d&&w(r,u,{get:()=>s[u],enumerable:!(e=T(s,u))||e.enumerable});return r};var O=r=>q(w({},"__esModule",{value:!0}),r);var z={};L(z,{getColor:()=>R,getMediaColor:()=>W,setAdaptiveSchemeVar:()=>P,setColor:()=>S,setGradient:()=>j});module.exports=O(z);var c=require("@symbo.ls/utils"),M=require("../factory.js"),p=require("../utils/index.js");const R=(r,s,d)=>{const e=d||(0,M.getActiveConfig)();if(!(0,c.isString)(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if((0,p.isCSSVar)(r))return`var(${r})`;s&&r[s]&&(r=r[s]);let u,a,n;if((0,c.isArray)(r))[u,a,n]=r;else{const t=(0,p.parseColorToken)(r);if(!t){const{color:V,gradient:C}=e;let h=C[r]||V[r];return h?(s&&h[s]&&(h=h[s]),e.useVariable?`var(${h.var})`:h.value):r}if(t.passthrough)return t.passthrough;if(t.cssVar)return`var(${t.cssVar})`;u=t.name,a=t.alpha,n=t.tone}const{color:g,gradient:b}=e;let o=g[u]||b[u];if(!o)return e.verbose&&console.warn("Can't find color ",u),r;s&&(o[s]?o=o[s]:e.verbose&&console.warn(r," - does not have ",s));let f=o.rgb;if(!f){const t=e.useVariable?`var(${o.var})`:o.value;if(a&&t){const V=Math.round(parseFloat(a)*100);return`color-mix(in srgb, ${t} ${V}%, transparent)`}return t}return n&&!o[n]&&(f=(0,p.getRgbTone)(f,n),o[n]={rgb:f,var:`${o.var}-${n}`}),o[n]&&(f=o[n].rgb),a?`rgba(${f}, ${a})`:n?`rgba(${f}, 1)`:e.useVariable?`var(${o.var})`:`rgb(${f})`},W=(r,s,d)=>{const e=d||(0,M.getActiveConfig)();if(s||(s=e.globalTheme==="auto"?null:e.globalTheme),!(0,c.isString)(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if((0,p.isCSSVar)(r))return`var(${r})`;let u,a,n;if((0,c.isArray)(r))u=r[0];else{const t=(0,p.parseColorToken)(r);if(t){if(t.passthrough)return t.passthrough;if(t.cssVar)return`var(${t.cssVar})`;u=t.name,a=t.alpha,n=t.tone}else u=r}const{color:g,gradient:b}=e,o=g[u]||b[u],f=(0,c.isObject)(o);if(f&&o.value)return R(r,`@${s}`,d);if(f){if(e.useVariable&&o.var)return a||n?R(r,null,d):`var(${o.var})`;if(s)return R(r,`@${s}`,d);{const t={};for(const V in o){if(V.charCodeAt(0)!==64)continue;const C=e.media[V.slice(1)];if(!C)continue;const h="@media "+(C==="print"?`${C}`:`screen and ${C}`);t[h]=R(r,V,d)}return t}}else return e.verbose&&console.warn("Can't find color",r),r},P=(r,s,d,e)=>{const a=`--${e.varPrefix?e.varPrefix+"-":""}${s}-${d}`;let n;const g={};for(const b in r){if(b.charCodeAt(0)!==64)continue;const o=b.slice(1),f=r[b],t=f&&(f.value||f);!t||typeof t!="string"||(g[o]=t,(o==="light"||n===void 0)&&(n=t))}if(n!==void 0){e.cssVars[a]=n,e.cssMediaVars||(e.cssMediaVars={});for(const b in g){const o=`[data-theme="${b}"]`;if(e.cssMediaVars[o]||(e.cssMediaVars[o]={}),e.cssMediaVars[o][a]=g[b],b==="light"||b==="dark"){const f=`@media (prefers-color-scheme: ${b})`;e.cssMediaVars[f]||(e.cssMediaVars[f]={}),e.cssMediaVars[f][a]=g[b]}}return r.var=a,a}},S=(r,s,d)=>{const e=(0,M.getActiveConfig)();if((0,c.isObject)(r)&&r.value!==void 0&&(r.rgb!==void 0||r.var!==void 0))return r;if((0,c.isString)(r)&&(0,p.isCSSVar)(r)){const l=r.slice(2);if(r=R(l),!(r.includes("rgb")||r.includes("var")||r.includes("#"))){const i=l.split(" ");let $=e.color[i[0]];if($&&!$.value&&!$.rgb&&((0,c.isString)($)||(0,c.isArray)($)||(0,c.isObject)($))&&(e.color[i[0]]=S($,i[0]),$=e.color[i[0]]),$&&$.value){let m=$.rgb;const A=i[1]!==void 0?i[1]:"1",x=i[2];x&&(m=(0,p.getRgbTone)(m,x)),r=`rgba(${m}, ${A})`}else{const m=i[2],A=i[1]!==void 0?i[1]:"1";if(m)try{const x=(0,p.colorStringToRgbaArray)(i[0]);x&&x.length>=3?r=`rgba(${(0,p.getRgbTone)(x.slice(0,3).join(", "),m)}, ${A})`:r=i[0]}catch{r=i[0]}else r=i[0]}}}if((0,c.isArray)(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),(0,c.isObject)(r)){const l={};for(const i in r)l[i]=S(r[i],s,i.slice(0,1)==="@"?i.slice(1):i);return e.useVariable&&P(l,"color",s,e),l}const a=`--${e.varPrefix?e.varPrefix+"-":""}color-${s}`+(d?`-${d}`:"");let n=r.value||r;if((0,c.isString)(n)&&!n.includes("(")&&!n.startsWith("#")){const l=(0,p.parseColorToken)(n);if(l&&l.name&&!l.passthrough&&!l.cssVar){const i=e.color[l.name];i&&!i.value&&!i.rgb&&((0,c.isString)(i)||(0,c.isArray)(i)||(0,c.isObject)(i))&&(e.color[l.name]=S(i,l.name));const $=e.color[l.name];if($&&$.rgb){let m=$.rgb;l.tone&&(m=(0,p.getRgbTone)(m,l.tone));const A=l.alpha?parseFloat(l.alpha):1;n=`rgba(${m}, ${A})`}}}const g=(0,p.colorStringToRgbaArray)(n),[b,o,f,t=1]=g,V=parseFloat(t.toFixed(2)),C=`${b}, ${o}, ${f}`,h=`rgba(${C}, ${V})`;return e.useVariable&&(e.cssVars[a]=h),{var:a,rgb:C,alpha:V,value:h}},j=(r,s,d)=>{const e=(0,M.getActiveConfig)();if((0,c.isString)(r)&&(0,p.isCSSVar)(r)&&(r=R(r.slice(2))),(0,c.isArray)(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),(0,c.isObject)(r)){const n={};for(const g in r)n[g]=j(r[g],s,g.slice(0,1)==="@"?g.slice(1):g);return e.useVariable&&P(n,"gradient",s,e),n}const a=`--${e.varPrefix?e.varPrefix+"-":""}gradient-${s}`+(d?`-${d}`:"");return e.useVariable&&(e.cssVars[a]=r.value||r),{var:a,value:r.value||r}};
@@ -1 +1 @@
1
- "use strict";var y=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var G=(t,n)=>{for(var e in n)y(t,e,{get:n[e],enumerable:!0})},H=(t,n,e,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of z(n))!E.call(t,r)&&r!==e&&y(t,r,{get:()=>n[r],enumerable:!(s=W(n,r))||s.enumerable});return t};var Z=t=>H(y({},"__esModule",{value:!0}),t);var P={};G(P,{findHeadingLetter:()=>D,findHeadings:()=>k,generateSequence:()=>Q,generateSequencePosition:()=>X,generateSubSequence:()=>C,getFnPrefixAndValue:()=>T,getSequenceValue:()=>U,getSequenceValueBySymbols:()=>j,getSequenceValuePropertyPair:()=>Y,getSubratio:()=>B,getSubratioDifference:()=>O,numToLetterMap:()=>S,setScalingVar:()=>L,setSubScalingVar:()=>_});module.exports=Z(P);var V=require("@symbo.ls/utils"),F=require("@symbo.ls/utils"),I=require("../factory.js"),M=require("./unit.js"),N=require("./color.js");const S={"-6":"U","-5":"V","-4":"W","-3":"X","-2":"Y","-1":"Z",0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I",9:"J",10:"K",11:"L",12:"M",13:"N",14:"O",15:"P",16:"Q",17:"R",18:"S",19:"T"},A=(t,n)=>{const{key:e,variable:s,value:r,scaling:i,index:o,scalingVariable:p}=t;n.sequence[e]={key:e,decimal:~~(r*100)/100,val:~~r,scaling:i,index:o,scalingVariable:p,variable:s},n.scales[e]=i;const l=K.has(n.unit)?"rem":n.unit;n.vars[s]=i+l},T=t=>{if(!t.includes("("))return t;const n=t.split("(")[0],e=t.slice(t.indexOf("(")+1,t.lastIndexOf(")"));return[n,e]},K=new Set(["vw","vh","vmin","vmax","svw","svh","lvw","lvh","dvw","dvh"]),L=(t,n)=>{const{base:e,type:s,unit:r}=n,i=K.has(r)?"rem":r,o=((0,M.isScalingUnit)(i)?1:e)+i;if(t===0)return o;const l="--"+(n.varPrefix?n.varPrefix+"-":"")+(s&&s.replace(".","-")),u=`${l}-ratio`;if(t>0){const f=S[t-1];return`calc(var(${l}-${f}) * var(${u}))`}if(t<0){const f=S[t+1],$=Math.abs(t),h=Math.pow(R,2*$),x=S[$];return x?`max(calc(var(${l}-${f}) / var(${u})), calc(var(${l}-${x}) / ${h.toFixed(4)}))`:`calc(var(${l}-${f}) / var(${u}))`}},_=(t,n,e,s)=>{const{type:r}=s,o=t===2&&n.length===2?t+1:t,u=`${"--"+(s.varPrefix?s.varPrefix+"-":"")+(r&&r.replace(".","-"))}-sub-ratio-`;return`calc(var(${e}) * var(${u+o}))`},O=(t,n)=>{const s=(t*n-t)/1.618,r=t*n-s,i=t+s,o=(r+i)/2;return[r,o,i]},B=(t,n)=>O(t,n).map(e=>e/t),C=(t,n)=>{const{key:e,base:s,value:r,ratio:i,variable:o,index:p}=t,u=~~(r*i)-~~r;let f;const[$,h,x]=O(r,i);u>16?f=[$,h,x]:f=[$,x],f.forEach((d,c)=>{const g=~~(d/s*1e3)/1e3,v=o+(c+1),w=p+(c+1)/10,a=_(c+1,f,o,n),m={key:e+(c+1),variable:v,value:d,scaling:g,scalingVariable:a,index:w};A(m,n)})},R=1.618,J=(t,n,e)=>{if(t>=0)return n*Math.pow(e,t);const s=Math.abs(t),r=n*Math.pow(e,t),i=n*Math.pow(e,s)/Math.pow(R,2*s);return Math.max(r,i)},Q=t=>{const{type:n,base:e,ratio:s,range:r,subSequence:i}=t,o=Math.abs(r[0])+Math.abs(r[1]),l="--"+(t.varPrefix?t.varPrefix+"-":"")+(n&&n.replace(".","-"))+"-";for(let u=0;u<=o;u++){const f=r[1]-u,$=S[f],h=J(f,e,s),x=~~(h/e*100)/100,d=l+$,c=L(f,t),g={key:$,variable:d,value:h,base:e,scaling:x,scalingVariable:c,ratio:s,index:f};A(g,t),i&&C(g,t)}return t},X=(t,n=0)=>{const{type:e,base:s,ratio:r,subSequence:i}=t,o=(0,V.isString)(n)?n:S[n],p=(0,V.isString)(n)?Object.entries(S).find(([,g])=>g===n)?.[0]:n;if(!o)return console.warn(`Position ${n} is out of range in numToLetterMap`),null;const l={sequence:{},scales:{},vars:{},...t},u=s*Math.pow(r,p),f=~~(u/s*100)/100,x="--"+(t.varPrefix?t.varPrefix+"-":"")+(e&&e.replace(".","-"))+"-"+o,d=L(p,t),c={key:o,variable:x,value:u,base:s,scaling:f,scalingVariable:d,ratio:r,index:p};return A(c,l),i&&C(c,l),l},U=(t="A",n)=>{const e=(0,I.getActiveConfig)(),{unit:s}=e;if((0,V.isString)(t)&&(0,N.isCSSVar)(t))return`var(${t})`;if((0,V.isString)(t)&&/^(?:env|var|calc|min|max|clamp)\(/.test(t.trim()))return t;if((0,V.isString)(t)){const a=e.sizes;if(a){const m=a[t]||a[t.toLowerCase()];if(m!==void 0)return t.slice(0,1)==="-"?`calc(${m} * -1)`:m}}const{sequence:r,unit:i=s.default,useVariable:o}=n,p=/^-?[a-zA-Z]/i,l=p.test(t);if((0,M.isRawUnitValue)(t)||!l||["none","auto","max-content","min-content","fit-content","inherit","initial","unset","revert","revert-layer"].includes(t))return t;const h=`--${n.varPrefix?n.varPrefix+"-":""}${(0,F.toDashCase)(n.type.replace(".","-"))}-`,x=t.toUpperCase(),d=x.slice(0,1)==="-"?"-":"";let c=d?x.slice(1):x,g="";c.includes("_")&&(g="_"+c.split("_")[1].toLowerCase(),c=c.split("_")[0]);const v=a=>p.test(a)?`var(${h}${a}${g})`:a;if(c.includes("+")){const[a,m]=c.split("+"),b=`${v(a)} + ${v(m)}`;return d?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("*")){const[a,m]=c.split("*"),b=`${v(a)} * ${v(m)}`;return d?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("-")){const[a,m]=c.split("-"),b=`${v(a)} - ${v(m)}`;return d?`calc((${b}) * -1)`:`calc(${b})`}if(!r[c]&&c.length===2&&(e.verbose&&console.warn(c,"- value is not found because `subSequence` is set to false"),c=c.slice(0,1)),o||e.useVariable){const a=`var(${h}${c}${g})`;return d?`calc(${a} * -1)`:a}const w=r?r[c]:null;return w?i==="ms"||i==="s"?d+w.val+i:d+w.scaling+i:console.warn("can't find",r,c)},j=(t,n)=>{if(!["+","-","*","/",","].filter(i=>t.includes(i+" ")).length)return t;const s=/(\s+-\s+|\s*[+*/,]\s*)/;return t.split(s).map(i=>{const o=i.trim();return!o||["+","-","*","/",","].includes(o)?i:U(o,n)}).join("")},Y=(t,n,e,s)=>{if(typeof t!="string")return(0,I.getActiveConfig)().verbose&&console.warn(n,t,"is not a string"),{[n]:t};if(t==="-"||t==="")return{};if(!s&&t.includes("(")){if(/^(?:env|var)\(/.test(t.trim()))return{[n]:t};const i=T(t);s=i[0],t=i[1]}return["+","-","*","/",","].filter(i=>t.includes(i+" ")).length?t=j(t,e):t=U(t,e),{[n]:s?`${s}(${t})`:t}},D=(t,n)=>S[t-n],k=t=>{const{h1Matches:n,sequence:e}=t;return new Array(6).fill(null).map((s,r)=>{const i=D(n,r);return e[i]})};
1
+ "use strict";var M=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var H=(t,n)=>{for(var e in n)M(t,e,{get:n[e],enumerable:!0})},Z=(t,n,e,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of W(n))!G.call(t,r)&&r!==e&&M(t,r,{get:()=>n[r],enumerable:!(s=E(n,r))||s.enumerable});return t};var k=t=>Z(M({},"__esModule",{value:!0}),t);var P={};H(P,{findHeadingLetter:()=>_,findHeadings:()=>q,generateSequence:()=>Q,generateSequencePosition:()=>X,generateSubSequence:()=>O,getFnPrefixAndValue:()=>D,getSequenceValue:()=>U,getSequenceValueBySymbols:()=>N,getSequenceValuePropertyPair:()=>Y,getSubratio:()=>B,getSubratioDifference:()=>C,numToLetterMap:()=>S,setScalingVar:()=>I,setSubScalingVar:()=>F});module.exports=k(P);var w=require("@symbo.ls/utils"),T=require("@symbo.ls/utils"),j=require("@symbo.ls/utils"),L=require("../factory.js"),y=require("./unit.js"),z=require("./color.js");const S={"-6":"U","-5":"V","-4":"W","-3":"X","-2":"Y","-1":"Z",0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I",9:"J",10:"K",11:"L",12:"M",13:"N",14:"O",15:"P",16:"Q",17:"R",18:"S",19:"T"},A=(t,n)=>{const{key:e,variable:s,value:r,scaling:i,index:o,scalingVariable:p}=t;n.sequence[e]={key:e,decimal:~~(r*100)/100,val:~~r,scaling:i,index:o,scalingVariable:p,variable:s},n.scales[e]=i;const l=R.has(n.unit)?"rem":n.unit;n.vars[s]=i+l},D=t=>{if(!t.includes("("))return t;const n=t.split("(")[0],e=t.slice(t.indexOf("(")+1,t.lastIndexOf(")"));return[n,e]},R=new Set(["vw","vh","vmin","vmax","svw","svh","lvw","lvh","dvw","dvh"]),I=(t,n)=>{const{base:e,type:s,unit:r}=n,i=R.has(r)?"rem":r,o=((0,y.isScalingUnit)(i)?1:e)+i;if(t===0)return o;const l="--"+(n.varPrefix?n.varPrefix+"-":"")+(s&&s.replace(".","-")),d=`${l}-ratio`;if(t>0){const f=S[t-1];return`calc(var(${l}-${f}) * var(${d}))`}if(t<0){const f=S[t+1],g=Math.abs(t),h=Math.pow(K,2*g),m=S[g];return m?`max(calc(var(${l}-${f}) / var(${d})), calc(var(${l}-${m}) / ${h.toFixed(4)}))`:`calc(var(${l}-${f}) / var(${d}))`}},F=(t,n,e,s)=>{const{type:r}=s,o=t===2&&n.length===2?t+1:t,d=`${"--"+(s.varPrefix?s.varPrefix+"-":"")+(r&&r.replace(".","-"))}-sub-ratio-`;return`calc(var(${e}) * var(${d+o}))`},C=(t,n)=>{const s=(t*n-t)/1.618,r=t*n-s,i=t+s,o=(r+i)/2;return[r,o,i]},B=(t,n)=>C(t,n).map(e=>e/t),O=(t,n)=>{const{key:e,base:s,value:r,ratio:i,variable:o,index:p}=t,d=~~(r*i)-~~r;let f;const[g,h,m]=C(r,i);d>16?f=[g,h,m]:f=[g,m],f.forEach((u,c)=>{const $=~~(u/s*1e3)/1e3,v=o+(c+1),V=p+(c+1)/10,a=F(c+1,f,o,n),x={key:e+(c+1),variable:v,value:u,scaling:$,scalingVariable:a,index:V};A(x,n)})},K=1.618,J=(t,n,e)=>{if(t>=0)return n*Math.pow(e,t);const s=Math.abs(t),r=n*Math.pow(e,t),i=n*Math.pow(e,s)/Math.pow(K,2*s);return Math.max(r,i)},Q=t=>{const{type:n,base:e,ratio:s,range:r,subSequence:i}=t,o=Math.abs(r[0])+Math.abs(r[1]),l="--"+(t.varPrefix?t.varPrefix+"-":"")+(n&&n.replace(".","-"))+"-";for(let d=0;d<=o;d++){const f=r[1]-d,g=S[f],h=J(f,e,s),m=~~(h/e*100)/100,u=l+g,c=I(f,t),$={key:g,variable:u,value:h,base:e,scaling:m,scalingVariable:c,ratio:s,index:f};A($,t),i&&O($,t)}return t},X=(t,n=0)=>{const{type:e,base:s,ratio:r,subSequence:i}=t,o=(0,w.isString)(n)?n:S[n],p=(0,w.isString)(n)?Object.entries(S).find(([,$])=>$===n)?.[0]:n;if(!o)return console.warn(`Position ${n} is out of range in numToLetterMap`),null;const l={sequence:{},scales:{},vars:{},...t},d=s*Math.pow(r,p),f=~~(d/s*100)/100,m="--"+(t.varPrefix?t.varPrefix+"-":"")+(e&&e.replace(".","-"))+"-"+o,u=I(p,t),c={key:o,variable:m,value:d,base:s,scaling:f,scalingVariable:u,ratio:r,index:p};return A(c,l),i&&O(c,l),l},U=(t="A",n)=>{const e=(0,L.getActiveConfig)(),{unit:s}=e;if((0,w.isString)(t)&&(0,z.isCSSVar)(t))return`var(${t})`;if((0,w.isString)(t)&&/^(?:env|var|calc|min|max|clamp)\(/.test(t.trim()))return t;if((0,w.isString)(t)){const a=e.sizes;if(a){const x=a[t]||a[t.toLowerCase()];if(x!==void 0)return t.slice(0,1)==="-"?`calc(${x} * -1)`:x}}const{sequence:r,unit:i=s.default,useVariable:o}=n,p=/^-?[a-zA-Z]/i,l=p.test(t);if((0,y.isRawUnitValue)(t)||!l||["none","auto","max-content","min-content","fit-content","inherit","initial","unset","revert","revert-layer"].includes(t))return t;const h=`--${n.varPrefix?n.varPrefix+"-":""}${(0,T.toDashCase)(n.type.replace(".","-"))}-`,m=t.toUpperCase(),u=m.slice(0,1)==="-"?"-":"";let c=u?m.slice(1):m,$="";c.includes("_")&&($="_"+c.split("_")[1].toLowerCase(),c=c.split("_")[0]);const v=a=>p.test(a)?`var(${h}${a}${$})`:a;if(c.includes("+")){const[a,x]=c.split("+"),b=`${v(a)} + ${v(x)}`;return u?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("*")){const[a,x]=c.split("*"),b=`${v(a)} * ${v(x)}`;return u?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("-")){const[a,x]=c.split("-"),b=`${v(a)} - ${v(x)}`;return u?`calc((${b}) * -1)`:`calc(${b})`}if(!r[c]&&c.length===2&&(e.verbose&&console.warn(c,"- value is not found because `subSequence` is set to false"),c=c.slice(0,1)),o||e.useVariable){const a=`var(${h}${c}${$})`;return u?`calc(${a} * -1)`:a}const V=r?r[c]:null;if(!V){if(console.warn("can't find",r,c),(0,j.isLoudDevRuntime)())throw new Error(`[smbls] Unresolvable design-system token "${t}"`+(n.type?` for sequence "${n.type}"`:"")+" \u2014 not a registered `sizes` name and not a valid spacing/typography/timing sequence letter. The CSS property using it would silently be dropped in production. Register the token in `designSystem/sizes.js` (or the relevant sequence family) or fix the typo.");return}return i==="ms"||i==="s"?u+V.val+i:u+V.scaling+i},N=(t,n)=>{if(!["+","-","*","/",","].filter(i=>t.includes(i+" ")).length)return t;const s=/(\s+-\s+|\s*[+*/,]\s*)/;return t.split(s).map(i=>{const o=i.trim();return!o||["+","-","*","/",","].includes(o)?i:U(o,n)}).join("")},Y=(t,n,e,s)=>{if(typeof t!="string")return(0,L.getActiveConfig)().verbose&&console.warn(n,t,"is not a string"),{[n]:t};if(t==="-"||t==="")return{};if(!s&&t.includes("(")){if(/^(?:env|var)\(/.test(t.trim()))return{[n]:t};const i=D(t);s=i[0],t=i[1]}return["+","-","*","/",","].filter(i=>t.includes(i+" ")).length?t=N(t,e):t=U(t,e),{[n]:s?`${s}(${t})`:t}},_=(t,n)=>S[t-n],q=t=>{const{h1Matches:n,sequence:e}=t;return new Array(6).fill(null).map((s,r)=>{const i=_(n,r);return e[i]})};
@@ -1 +1 @@
1
- import{isObject as M,isArray as x,isString as C}from"@symbo.ls/utils";import{getActiveConfig as S}from"../factory.js";import{colorStringToRgbaArray as D,getRgbTone as w,isCSSVar as P,parseColorToken as j}from"../utils/index.js";const R=(r,i,p)=>{const e=p||S();if(!C(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if(P(r))return`var(${r})`;i&&r[i]&&(r=r[i]);let g,a,t;if(x(r))[g,a,t]=r;else{const s=j(r);if(!s){const{color:$,gradient:V}=e;let b=V[r]||$[r];return b?(i&&b[i]&&(b=b[i]),e.useVariable?`var(${b.var})`:b.value):r}if(s.passthrough)return s.passthrough;if(s.cssVar)return`var(${s.cssVar})`;g=s.name,a=s.alpha,t=s.tone}const{color:d,gradient:l}=e;let o=d[g]||l[g];if(!o)return e.verbose&&console.warn("Can't find color ",g),r;i&&(o[i]?o=o[i]:e.verbose&&console.warn(r," - does not have ",i));let c=o.rgb;if(!c){const s=e.useVariable?`var(${o.var})`:o.value;if(a&&s){const $=Math.round(parseFloat(a)*100);return`color-mix(in srgb, ${s} ${$}%, transparent)`}return s}return t&&!o[t]&&(c=w(c,t),o[t]={rgb:c,var:`${o.var}-${t}`}),o[t]&&(c=o[t].rgb),a?`rgba(${c}, ${a})`:t?`rgba(${c}, 1)`:e.useVariable?`var(${o.var})`:`rgb(${c})`},B=(r,i,p)=>{const e=p||S();if(i||(i=e.globalTheme==="auto"?null:e.globalTheme),!C(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if(P(r))return`var(${r})`;let g,a,t;if(x(r))g=r[0];else{const s=j(r);if(s){if(s.passthrough)return s.passthrough;if(s.cssVar)return`var(${s.cssVar})`;g=s.name,a=s.alpha,t=s.tone}else g=r}const{color:d,gradient:l}=e,o=d[g]||l[g],c=M(o);if(c&&o.value)return R(r,`@${i}`,p);if(c){if(e.useVariable&&o.var)return a||t?R(r,null,p):`var(${o.var})`;if(i)return R(r,`@${i}`,p);{const s={};for(const $ in o){if($.charCodeAt(0)!==64)continue;const V=e.media[$.slice(1)];if(!V)continue;const b="@media "+(V==="print"?`${V}`:`screen and ${V}`);s[b]=R(r,$,p)}return s}}else return e.verbose&&console.warn("Can't find color",r),r},E=(r,i,p,e)=>{const a=`--${e.varPrefix?e.varPrefix+"-":""}${i}-${p}`;let t;const d={};for(const l in r){if(l.charCodeAt(0)!==64)continue;const o=l.slice(1),c=r[l],s=c&&(c.value||c);!s||typeof s!="string"||(d[o]=s,(o==="light"||t===void 0)&&(t=s))}if(t!==void 0){e.cssVars[a]=t,e.cssMediaVars||(e.cssMediaVars={});for(const l in d){const o=`[data-theme="${l}"]`;if(e.cssMediaVars[o]||(e.cssMediaVars[o]={}),e.cssMediaVars[o][a]=d[l],l==="light"||l==="dark"){const c=`@media (prefers-color-scheme: ${l})`;e.cssMediaVars[c]||(e.cssMediaVars[c]={}),e.cssMediaVars[c][a]=d[l]}}return r.var=a,a}},T=(r,i,p)=>{const e=S();if(C(r)&&P(r)){const f=r.slice(2);if(r=R(f),!(r.includes("rgb")||r.includes("var")||r.includes("#"))){const n=f.split(" ");let u=e.color[n[0]];if(u&&!u.value&&!u.rgb&&(C(u)||x(u)||M(u))&&(e.color[n[0]]=T(u,n[0]),u=e.color[n[0]]),u&&u.value){let h=u.rgb;const A=n[1]!==void 0?n[1]:"1",m=n[2];m&&(h=w(h,m)),r=`rgba(${h}, ${A})`}else{const h=n[2],A=n[1]!==void 0?n[1]:"1";if(h)try{const m=D(n[0]);m&&m.length>=3?r=`rgba(${w(m.slice(0,3).join(", "),h)}, ${A})`:r=n[0]}catch{r=n[0]}else r=n[0]}}}if(x(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),M(r)){const f={};for(const n in r)f[n]=T(r[n],i,n.slice(0,1)==="@"?n.slice(1):n);return e.useVariable&&E(f,"color",i,e),f}const a=`--${e.varPrefix?e.varPrefix+"-":""}color-${i}`+(p?`-${p}`:"");let t=r.value||r;if(C(t)&&!t.includes("(")&&!t.startsWith("#")){const f=j(t);if(f&&f.name&&!f.passthrough&&!f.cssVar){const n=e.color[f.name];n&&!n.value&&!n.rgb&&(C(n)||x(n)||M(n))&&(e.color[f.name]=T(n,f.name));const u=e.color[f.name];if(u&&u.rgb){let h=u.rgb;f.tone&&(h=w(h,f.tone));const A=f.alpha?parseFloat(f.alpha):1;t=`rgba(${h}, ${A})`}}}const d=D(t),[l,o,c,s=1]=d,$=parseFloat(s.toFixed(2)),V=`${l}, ${o}, ${c}`,b=`rgba(${V}, ${$})`;return e.useVariable&&(e.cssVars[a]=b),{var:a,rgb:V,alpha:$,value:b}},L=(r,i,p)=>{const e=S();if(C(r)&&P(r)&&(r=R(r.slice(2))),x(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),M(r)){const t={};for(const d in r)t[d]=L(r[d],i,d.slice(0,1)==="@"?d.slice(1):d);return e.useVariable&&E(t,"gradient",i,e),t}const a=`--${e.varPrefix?e.varPrefix+"-":""}gradient-${i}`+(p?`-${p}`:"");return e.useVariable&&(e.cssVars[a]=r.value||r),{var:a,value:r.value||r}};export{R as getColor,B as getMediaColor,E as setAdaptiveSchemeVar,T as setColor,L as setGradient};
1
+ import{isObject as x,isArray as R,isString as C}from"@symbo.ls/utils";import{getActiveConfig as S}from"../factory.js";import{colorStringToRgbaArray as D,getRgbTone as w,isCSSVar as P,parseColorToken as j}from"../utils/index.js";const A=(r,i,l)=>{const e=l||S();if(!C(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if(P(r))return`var(${r})`;i&&r[i]&&(r=r[i]);let g,c,t;if(R(r))[g,c,t]=r;else{const s=j(r);if(!s){const{color:$,gradient:V}=e;let b=V[r]||$[r];return b?(i&&b[i]&&(b=b[i]),e.useVariable?`var(${b.var})`:b.value):r}if(s.passthrough)return s.passthrough;if(s.cssVar)return`var(${s.cssVar})`;g=s.name,c=s.alpha,t=s.tone}const{color:d,gradient:u}=e;let n=d[g]||u[g];if(!n)return e.verbose&&console.warn("Can't find color ",g),r;i&&(n[i]?n=n[i]:e.verbose&&console.warn(r," - does not have ",i));let a=n.rgb;if(!a){const s=e.useVariable?`var(${n.var})`:n.value;if(c&&s){const $=Math.round(parseFloat(c)*100);return`color-mix(in srgb, ${s} ${$}%, transparent)`}return s}return t&&!n[t]&&(a=w(a,t),n[t]={rgb:a,var:`${n.var}-${t}`}),n[t]&&(a=n[t].rgb),c?`rgba(${a}, ${c})`:t?`rgba(${a}, 1)`:e.useVariable?`var(${n.var})`:`rgb(${a})`},B=(r,i,l)=>{const e=l||S();if(i||(i=e.globalTheme==="auto"?null:e.globalTheme),!C(r)){e.verbose&&console.warn(r,"- type for color is not valid");return}if(P(r))return`var(${r})`;let g,c,t;if(R(r))g=r[0];else{const s=j(r);if(s){if(s.passthrough)return s.passthrough;if(s.cssVar)return`var(${s.cssVar})`;g=s.name,c=s.alpha,t=s.tone}else g=r}const{color:d,gradient:u}=e,n=d[g]||u[g],a=x(n);if(a&&n.value)return A(r,`@${i}`,l);if(a){if(e.useVariable&&n.var)return c||t?A(r,null,l):`var(${n.var})`;if(i)return A(r,`@${i}`,l);{const s={};for(const $ in n){if($.charCodeAt(0)!==64)continue;const V=e.media[$.slice(1)];if(!V)continue;const b="@media "+(V==="print"?`${V}`:`screen and ${V}`);s[b]=A(r,$,l)}return s}}else return e.verbose&&console.warn("Can't find color",r),r},E=(r,i,l,e)=>{const c=`--${e.varPrefix?e.varPrefix+"-":""}${i}-${l}`;let t;const d={};for(const u in r){if(u.charCodeAt(0)!==64)continue;const n=u.slice(1),a=r[u],s=a&&(a.value||a);!s||typeof s!="string"||(d[n]=s,(n==="light"||t===void 0)&&(t=s))}if(t!==void 0){e.cssVars[c]=t,e.cssMediaVars||(e.cssMediaVars={});for(const u in d){const n=`[data-theme="${u}"]`;if(e.cssMediaVars[n]||(e.cssMediaVars[n]={}),e.cssMediaVars[n][c]=d[u],u==="light"||u==="dark"){const a=`@media (prefers-color-scheme: ${u})`;e.cssMediaVars[a]||(e.cssMediaVars[a]={}),e.cssMediaVars[a][c]=d[u]}}return r.var=c,c}},T=(r,i,l)=>{const e=S();if(x(r)&&r.value!==void 0&&(r.rgb!==void 0||r.var!==void 0))return r;if(C(r)&&P(r)){const f=r.slice(2);if(r=A(f),!(r.includes("rgb")||r.includes("var")||r.includes("#"))){const o=f.split(" ");let p=e.color[o[0]];if(p&&!p.value&&!p.rgb&&(C(p)||R(p)||x(p))&&(e.color[o[0]]=T(p,o[0]),p=e.color[o[0]]),p&&p.value){let h=p.rgb;const M=o[1]!==void 0?o[1]:"1",m=o[2];m&&(h=w(h,m)),r=`rgba(${h}, ${M})`}else{const h=o[2],M=o[1]!==void 0?o[1]:"1";if(h)try{const m=D(o[0]);m&&m.length>=3?r=`rgba(${w(m.slice(0,3).join(", "),h)}, ${M})`:r=o[0]}catch{r=o[0]}else r=o[0]}}}if(R(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),x(r)){const f={};for(const o in r)f[o]=T(r[o],i,o.slice(0,1)==="@"?o.slice(1):o);return e.useVariable&&E(f,"color",i,e),f}const c=`--${e.varPrefix?e.varPrefix+"-":""}color-${i}`+(l?`-${l}`:"");let t=r.value||r;if(C(t)&&!t.includes("(")&&!t.startsWith("#")){const f=j(t);if(f&&f.name&&!f.passthrough&&!f.cssVar){const o=e.color[f.name];o&&!o.value&&!o.rgb&&(C(o)||R(o)||x(o))&&(e.color[f.name]=T(o,f.name));const p=e.color[f.name];if(p&&p.rgb){let h=p.rgb;f.tone&&(h=w(h,f.tone));const M=f.alpha?parseFloat(f.alpha):1;t=`rgba(${h}, ${M})`}}}const d=D(t),[u,n,a,s=1]=d,$=parseFloat(s.toFixed(2)),V=`${u}, ${n}, ${a}`,b=`rgba(${V}, ${$})`;return e.useVariable&&(e.cssVars[c]=b),{var:c,rgb:V,alpha:$,value:b}},L=(r,i,l)=>{const e=S();if(C(r)&&P(r)&&(r=A(r.slice(2))),R(r)&&(r={"@light":r[0],"@dark":r[1]!==void 0?r[1]:r[0]}),x(r)){const t={};for(const d in r)t[d]=L(r[d],i,d.slice(0,1)==="@"?d.slice(1):d);return e.useVariable&&E(t,"gradient",i,e),t}const c=`--${e.varPrefix?e.varPrefix+"-":""}gradient-${i}`+(l?`-${l}`:"");return e.useVariable&&(e.cssVars[c]=r.value||r),{var:c,value:r.value||r}};export{A as getColor,B as getMediaColor,E as setAdaptiveSchemeVar,T as setColor,L as setGradient};
@@ -1 +1 @@
1
- import{isString as w}from"@symbo.ls/utils";import{toDashCase as K}from"@symbo.ls/utils";import{getActiveConfig as y}from"../factory.js";import{isRawUnitValue as R,isScalingUnit as F}from"./unit.js";import{isCSSVar as N}from"./color.js";const S={"-6":"U","-5":"V","-4":"W","-3":"X","-2":"Y","-1":"Z",0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I",9:"J",10:"K",11:"L",12:"M",13:"N",14:"O",15:"P",16:"Q",17:"R",18:"S",19:"T"},M=(t,n)=>{const{key:r,variable:s,value:i,scaling:e,index:o,scalingVariable:p}=t;n.sequence[r]={key:r,decimal:~~(i*100)/100,val:~~i,scaling:e,index:o,scalingVariable:p,variable:s},n.scales[r]=e;const l=A.has(n.unit)?"rem":n.unit;n.vars[s]=e+l},T=t=>{if(!t.includes("("))return t;const n=t.split("(")[0],r=t.slice(t.indexOf("(")+1,t.lastIndexOf(")"));return[n,r]},A=new Set(["vw","vh","vmin","vmax","svw","svh","lvw","lvh","dvw","dvh"]),I=(t,n)=>{const{base:r,type:s,unit:i}=n,e=A.has(i)?"rem":i,o=(F(e)?1:r)+e;if(t===0)return o;const l="--"+(n.varPrefix?n.varPrefix+"-":"")+(s&&s.replace(".","-")),u=`${l}-ratio`;if(t>0){const f=S[t-1];return`calc(var(${l}-${f}) * var(${u}))`}if(t<0){const f=S[t+1],$=Math.abs(t),h=Math.pow(C,2*$),x=S[$];return x?`max(calc(var(${l}-${f}) / var(${u})), calc(var(${l}-${x}) / ${h.toFixed(4)}))`:`calc(var(${l}-${f}) / var(${u}))`}},_=(t,n,r,s)=>{const{type:i}=s,o=t===2&&n.length===2?t+1:t,u=`${"--"+(s.varPrefix?s.varPrefix+"-":"")+(i&&i.replace(".","-"))}-sub-ratio-`;return`calc(var(${r}) * var(${u+o}))`},L=(t,n)=>{const s=(t*n-t)/1.618,i=t*n-s,e=t+s,o=(i+e)/2;return[i,o,e]},B=(t,n)=>L(t,n).map(r=>r/t),O=(t,n)=>{const{key:r,base:s,value:i,ratio:e,variable:o,index:p}=t,u=~~(i*e)-~~i;let f;const[$,h,x]=L(i,e);u>16?f=[$,h,x]:f=[$,x],f.forEach((d,c)=>{const g=~~(d/s*1e3)/1e3,v=o+(c+1),V=p+(c+1)/10,a=_(c+1,f,o,n),m={key:r+(c+1),variable:v,value:d,scaling:g,scalingVariable:a,index:V};M(m,n)})},C=1.618,j=(t,n,r)=>{if(t>=0)return n*Math.pow(r,t);const s=Math.abs(t),i=n*Math.pow(r,t),e=n*Math.pow(r,s)/Math.pow(C,2*s);return Math.max(i,e)},J=t=>{const{type:n,base:r,ratio:s,range:i,subSequence:e}=t,o=Math.abs(i[0])+Math.abs(i[1]),l="--"+(t.varPrefix?t.varPrefix+"-":"")+(n&&n.replace(".","-"))+"-";for(let u=0;u<=o;u++){const f=i[1]-u,$=S[f],h=j(f,r,s),x=~~(h/r*100)/100,d=l+$,c=I(f,t),g={key:$,variable:d,value:h,base:r,scaling:x,scalingVariable:c,ratio:s,index:f};M(g,t),e&&O(g,t)}return t},Q=(t,n=0)=>{const{type:r,base:s,ratio:i,subSequence:e}=t,o=w(n)?n:S[n],p=w(n)?Object.entries(S).find(([,g])=>g===n)?.[0]:n;if(!o)return console.warn(`Position ${n} is out of range in numToLetterMap`),null;const l={sequence:{},scales:{},vars:{},...t},u=s*Math.pow(i,p),f=~~(u/s*100)/100,x="--"+(t.varPrefix?t.varPrefix+"-":"")+(r&&r.replace(".","-"))+"-"+o,d=I(p,t),c={key:o,variable:x,value:u,base:s,scaling:f,scalingVariable:d,ratio:i,index:p};return M(c,l),e&&O(c,l),l},U=(t="A",n)=>{const r=y(),{unit:s}=r;if(w(t)&&N(t))return`var(${t})`;if(w(t)&&/^(?:env|var|calc|min|max|clamp)\(/.test(t.trim()))return t;if(w(t)){const a=r.sizes;if(a){const m=a[t]||a[t.toLowerCase()];if(m!==void 0)return t.slice(0,1)==="-"?`calc(${m} * -1)`:m}}const{sequence:i,unit:e=s.default,useVariable:o}=n,p=/^-?[a-zA-Z]/i,l=p.test(t);if(R(t)||!l||["none","auto","max-content","min-content","fit-content","inherit","initial","unset","revert","revert-layer"].includes(t))return t;const h=`--${n.varPrefix?n.varPrefix+"-":""}${K(n.type.replace(".","-"))}-`,x=t.toUpperCase(),d=x.slice(0,1)==="-"?"-":"";let c=d?x.slice(1):x,g="";c.includes("_")&&(g="_"+c.split("_")[1].toLowerCase(),c=c.split("_")[0]);const v=a=>p.test(a)?`var(${h}${a}${g})`:a;if(c.includes("+")){const[a,m]=c.split("+"),b=`${v(a)} + ${v(m)}`;return d?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("*")){const[a,m]=c.split("*"),b=`${v(a)} * ${v(m)}`;return d?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("-")){const[a,m]=c.split("-"),b=`${v(a)} - ${v(m)}`;return d?`calc((${b}) * -1)`:`calc(${b})`}if(!i[c]&&c.length===2&&(r.verbose&&console.warn(c,"- value is not found because `subSequence` is set to false"),c=c.slice(0,1)),o||r.useVariable){const a=`var(${h}${c}${g})`;return d?`calc(${a} * -1)`:a}const V=i?i[c]:null;return V?e==="ms"||e==="s"?d+V.val+e:d+V.scaling+e:console.warn("can't find",i,c)},D=(t,n)=>{if(!["+","-","*","/",","].filter(e=>t.includes(e+" ")).length)return t;const s=/(\s+-\s+|\s*[+*/,]\s*)/;return t.split(s).map(e=>{const o=e.trim();return!o||["+","-","*","/",","].includes(o)?e:U(o,n)}).join("")},X=(t,n,r,s)=>{if(typeof t!="string")return y().verbose&&console.warn(n,t,"is not a string"),{[n]:t};if(t==="-"||t==="")return{};if(!s&&t.includes("(")){if(/^(?:env|var)\(/.test(t.trim()))return{[n]:t};const e=T(t);s=e[0],t=e[1]}return["+","-","*","/",","].filter(e=>t.includes(e+" ")).length?t=D(t,r):t=U(t,r),{[n]:s?`${s}(${t})`:t}},W=(t,n)=>S[t-n],Y=t=>{const{h1Matches:n,sequence:r}=t;return new Array(6).fill(null).map((s,i)=>{const e=W(n,i);return r[e]})};export{W as findHeadingLetter,Y as findHeadings,J as generateSequence,Q as generateSequencePosition,O as generateSubSequence,T as getFnPrefixAndValue,U as getSequenceValue,D as getSequenceValueBySymbols,X as getSequenceValuePropertyPair,B as getSubratio,L as getSubratioDifference,S as numToLetterMap,I as setScalingVar,_ as setSubScalingVar};
1
+ import{isString as V}from"@symbo.ls/utils";import{toDashCase as R}from"@symbo.ls/utils";import{isLoudDevRuntime as K}from"@symbo.ls/utils";import{getActiveConfig as M}from"../factory.js";import{isRawUnitValue as T,isScalingUnit as j}from"./unit.js";import{isCSSVar as z}from"./color.js";const S={"-6":"U","-5":"V","-4":"W","-3":"X","-2":"Y","-1":"Z",0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I",9:"J",10:"K",11:"L",12:"M",13:"N",14:"O",15:"P",16:"Q",17:"R",18:"S",19:"T"},y=(t,n)=>{const{key:r,variable:s,value:i,scaling:e,index:o,scalingVariable:p}=t;n.sequence[r]={key:r,decimal:~~(i*100)/100,val:~~i,scaling:e,index:o,scalingVariable:p,variable:s},n.scales[r]=e;const l=A.has(n.unit)?"rem":n.unit;n.vars[s]=e+l},D=t=>{if(!t.includes("("))return t;const n=t.split("(")[0],r=t.slice(t.indexOf("(")+1,t.lastIndexOf(")"));return[n,r]},A=new Set(["vw","vh","vmin","vmax","svw","svh","lvw","lvh","dvw","dvh"]),L=(t,n)=>{const{base:r,type:s,unit:i}=n,e=A.has(i)?"rem":i,o=(j(e)?1:r)+e;if(t===0)return o;const l="--"+(n.varPrefix?n.varPrefix+"-":"")+(s&&s.replace(".","-")),d=`${l}-ratio`;if(t>0){const f=S[t-1];return`calc(var(${l}-${f}) * var(${d}))`}if(t<0){const f=S[t+1],g=Math.abs(t),h=Math.pow(O,2*g),m=S[g];return m?`max(calc(var(${l}-${f}) / var(${d})), calc(var(${l}-${m}) / ${h.toFixed(4)}))`:`calc(var(${l}-${f}) / var(${d}))`}},F=(t,n,r,s)=>{const{type:i}=s,o=t===2&&n.length===2?t+1:t,d=`${"--"+(s.varPrefix?s.varPrefix+"-":"")+(i&&i.replace(".","-"))}-sub-ratio-`;return`calc(var(${r}) * var(${d+o}))`},I=(t,n)=>{const s=(t*n-t)/1.618,i=t*n-s,e=t+s,o=(i+e)/2;return[i,o,e]},J=(t,n)=>I(t,n).map(r=>r/t),C=(t,n)=>{const{key:r,base:s,value:i,ratio:e,variable:o,index:p}=t,d=~~(i*e)-~~i;let f;const[g,h,m]=I(i,e);d>16?f=[g,h,m]:f=[g,m],f.forEach((u,c)=>{const $=~~(u/s*1e3)/1e3,v=o+(c+1),w=p+(c+1)/10,a=F(c+1,f,o,n),x={key:r+(c+1),variable:v,value:u,scaling:$,scalingVariable:a,index:w};y(x,n)})},O=1.618,N=(t,n,r)=>{if(t>=0)return n*Math.pow(r,t);const s=Math.abs(t),i=n*Math.pow(r,t),e=n*Math.pow(r,s)/Math.pow(O,2*s);return Math.max(i,e)},Q=t=>{const{type:n,base:r,ratio:s,range:i,subSequence:e}=t,o=Math.abs(i[0])+Math.abs(i[1]),l="--"+(t.varPrefix?t.varPrefix+"-":"")+(n&&n.replace(".","-"))+"-";for(let d=0;d<=o;d++){const f=i[1]-d,g=S[f],h=N(f,r,s),m=~~(h/r*100)/100,u=l+g,c=L(f,t),$={key:g,variable:u,value:h,base:r,scaling:m,scalingVariable:c,ratio:s,index:f};y($,t),e&&C($,t)}return t},X=(t,n=0)=>{const{type:r,base:s,ratio:i,subSequence:e}=t,o=V(n)?n:S[n],p=V(n)?Object.entries(S).find(([,$])=>$===n)?.[0]:n;if(!o)return console.warn(`Position ${n} is out of range in numToLetterMap`),null;const l={sequence:{},scales:{},vars:{},...t},d=s*Math.pow(i,p),f=~~(d/s*100)/100,m="--"+(t.varPrefix?t.varPrefix+"-":"")+(r&&r.replace(".","-"))+"-"+o,u=L(p,t),c={key:o,variable:m,value:d,base:s,scaling:f,scalingVariable:u,ratio:i,index:p};return y(c,l),e&&C(c,l),l},U=(t="A",n)=>{const r=M(),{unit:s}=r;if(V(t)&&z(t))return`var(${t})`;if(V(t)&&/^(?:env|var|calc|min|max|clamp)\(/.test(t.trim()))return t;if(V(t)){const a=r.sizes;if(a){const x=a[t]||a[t.toLowerCase()];if(x!==void 0)return t.slice(0,1)==="-"?`calc(${x} * -1)`:x}}const{sequence:i,unit:e=s.default,useVariable:o}=n,p=/^-?[a-zA-Z]/i,l=p.test(t);if(T(t)||!l||["none","auto","max-content","min-content","fit-content","inherit","initial","unset","revert","revert-layer"].includes(t))return t;const h=`--${n.varPrefix?n.varPrefix+"-":""}${R(n.type.replace(".","-"))}-`,m=t.toUpperCase(),u=m.slice(0,1)==="-"?"-":"";let c=u?m.slice(1):m,$="";c.includes("_")&&($="_"+c.split("_")[1].toLowerCase(),c=c.split("_")[0]);const v=a=>p.test(a)?`var(${h}${a}${$})`:a;if(c.includes("+")){const[a,x]=c.split("+"),b=`${v(a)} + ${v(x)}`;return u?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("*")){const[a,x]=c.split("*"),b=`${v(a)} * ${v(x)}`;return u?`calc((${b}) * -1)`:`calc(${b})`}else if(c.includes("-")){const[a,x]=c.split("-"),b=`${v(a)} - ${v(x)}`;return u?`calc((${b}) * -1)`:`calc(${b})`}if(!i[c]&&c.length===2&&(r.verbose&&console.warn(c,"- value is not found because `subSequence` is set to false"),c=c.slice(0,1)),o||r.useVariable){const a=`var(${h}${c}${$})`;return u?`calc(${a} * -1)`:a}const w=i?i[c]:null;if(!w){if(console.warn("can't find",i,c),K())throw new Error(`[smbls] Unresolvable design-system token "${t}"`+(n.type?` for sequence "${n.type}"`:"")+" \u2014 not a registered `sizes` name and not a valid spacing/typography/timing sequence letter. The CSS property using it would silently be dropped in production. Register the token in `designSystem/sizes.js` (or the relevant sequence family) or fix the typo.");return}return e==="ms"||e==="s"?u+w.val+e:u+w.scaling+e},_=(t,n)=>{if(!["+","-","*","/",","].filter(e=>t.includes(e+" ")).length)return t;const s=/(\s+-\s+|\s*[+*/,]\s*)/;return t.split(s).map(e=>{const o=e.trim();return!o||["+","-","*","/",","].includes(o)?e:U(o,n)}).join("")},Y=(t,n,r,s)=>{if(typeof t!="string")return M().verbose&&console.warn(n,t,"is not a string"),{[n]:t};if(t==="-"||t==="")return{};if(!s&&t.includes("(")){if(/^(?:env|var)\(/.test(t.trim()))return{[n]:t};const e=D(t);s=e[0],t=e[1]}return["+","-","*","/",","].filter(e=>t.includes(e+" ")).length?t=_(t,r):t=U(t,r),{[n]:s?`${s}(${t})`:t}},E=(t,n)=>S[t-n],q=t=>{const{h1Matches:n,sequence:r}=t;return new Array(6).fill(null).map((s,i)=>{const e=E(n,i);return r[e]})};export{E as findHeadingLetter,q as findHeadings,Q as generateSequence,X as generateSequencePosition,C as generateSubSequence,D as getFnPrefixAndValue,U as getSequenceValue,_ as getSequenceValueBySymbols,Y as getSequenceValuePropertyPair,J as getSubratio,I as getSubratioDifference,S as numToLetterMap,L as setScalingVar,F as setSubScalingVar};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@symbo.ls/scratch",
3
3
  "description": "Φ / CSS framework and methodology.",
4
4
  "author": "symbo.ls",
5
- "version": "3.14.697",
5
+ "version": "3.14.702",
6
6
  "files": [
7
7
  "dist",
8
8
  "*.js",
@@ -33,7 +33,7 @@
33
33
  "prepublishOnly": "npm run build"
34
34
  },
35
35
  "dependencies": {
36
- "@symbo.ls/utils": "^3.14.685",
36
+ "@symbo.ls/utils": "^3.14.702",
37
37
  "color-contrast-checker": "^1.5.0"
38
38
  },
39
39
  "gitHead": "9fc1b79b41cdc725ca6b24aec64920a599634681",