@symbo.ls/scratch 3.14.782 → 3.14.783
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/cjs/src/defaultConfig/index.js +1 -1
- package/dist/cjs/src/factory.js +1 -1
- package/dist/cjs/src/set.js +1 -1
- package/dist/cjs/src/system/index.js +1 -1
- package/dist/cjs/src/system/skin.js +1 -0
- package/dist/esm/src/defaultConfig/index.js +1 -1
- package/dist/esm/src/factory.js +1 -1
- package/dist/esm/src/set.js +1 -1
- package/dist/esm/src/system/index.js +1 -1
- package/dist/esm/src/system/skin.js +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var m=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var
|
|
1
|
+
"use strict";var m=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var a=(e,t)=>{for(var p in t)m(e,p,{get:t[p],enumerable:!0})},f=(e,t,p,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let x of n(t))!i.call(e,x)&&x!==p&&m(e,x,{get:()=>t[x],enumerable:!(s=c(t,x))||s.enumerable});return e},r=(e,t,p)=>(f(e,t,"default"),p&&f(p,t,"default"));var h=e=>f(m({},"__esModule",{value:!0}),e);var o={};a(o,{reset:()=>k,shape:()=>z,sizes:()=>v,skins:()=>b,vars:()=>u});module.exports=h(o);r(o,require("./sequence.js"),module.exports);r(o,require("./unit.js"),module.exports);r(o,require("./typography.js"),module.exports);r(o,require("./font.js"),module.exports);r(o,require("./font-family.js"),module.exports);r(o,require("./media.js"),module.exports);r(o,require("./spacing.js"),module.exports);r(o,require("./color.js"),module.exports);r(o,require("./theme.js"),module.exports);r(o,require("./shadow.js"),module.exports);r(o,require("./icons.js"),module.exports);r(o,require("./timing.js"),module.exports);r(o,require("./document.js"),module.exports);r(o,require("./responsive.js"),module.exports);r(o,require("./animation.js"),module.exports);r(o,require("./svg.js"),module.exports);r(o,require("./templates.js"),module.exports);r(o,require("./grid.js"),module.exports);r(o,require("./class.js"),module.exports);const k={},u={},v={},z={},b={};
|
package/dist/cjs/src/factory.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var A=Object.create;var m=Object.defineProperty;var
|
|
1
|
+
"use strict";var A=Object.create;var m=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var P=(e,t)=>{for(var o in t)m(e,o,{get:t[o],enumerable:!0})},T=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of y(t))!R.call(e,n)&&n!==o&&m(e,n,{get:()=>t[n],enumerable:!(s=V(t,n))||s.enumerable});return e};var I=(e,t,o)=>(o=e!=null?A(F(e)):{},T(t||!e||!e.__esModule?m(o,"default",{value:e,enumerable:!0}):o,e)),k=e=>T(m({},"__esModule",{value:!0}),e);var X={};P(X,{CONFIG:()=>i,CONFIG_MERGE_EXL:()=>b,FACTORY:()=>l,activateConfig:()=>E,aliasCaseVariants:()=>C,createConfig:()=>B,cssMediaVars:()=>d,cssVars:()=>v,defineResolvedThemeSignal:()=>p,defineThemeSignal:()=>f,getActiveConfig:()=>O,getResolvedThemeSignal:()=>j,getThemeSignal:()=>M,popConfig:()=>L,pushConfig:()=>G,setActiveConfig:()=>w,toCamel:()=>x});module.exports=k(X);var r=require("@symbo.ls/utils"),h=require("@symbo.ls/signal"),D=I(require("./defaultConfig/index.js"),1);const v={},d={},b=new Set,g=D,S={},x=e=>e.replace(/_([a-z])/g,(t,o)=>o.toUpperCase());for(const e in g){const t=e.toLowerCase();S[t]=g[e];const o=x(t);o!==t&&(S[o]=g[e]),t!==e&&(S[e]=g[e])}const i={verbose:!1,useVariable:!0,useReset:!0,globalTheme:"auto",cssVars:v,cssMediaVars:d,CSS_VARS:v,CSS_MEDIA_VARS:d,cssSkinVars:{},cssSkinFallback:{},_scratchConfig:!0,...S},f=(e,t)=>{if(!e)return null;if(e.__globalThemeSignal)return(0,r.isDefined)(t)&&e.__globalThemeSignal.set(t),e.__globalThemeSignal;const o=(0,r.isDefined)(t)?t:e.globalTheme,s=(0,h.createSignal)((0,r.isDefined)(o)?o:"auto");return Object.defineProperty(e,"globalTheme",{get(){return s.get()},set(n){s.set(n)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"__globalThemeSignal",{value:s,enumerable:!1,configurable:!0,writable:!0}),s},M=e=>e?f(e):null,p=(e,t)=>{if(!e)return null;if(e.__resolvedThemeSignal)return(0,r.isDefined)(t)&&e.__resolvedThemeSignal.set(t),e.__resolvedThemeSignal;const o=(0,r.isDefined)(t)?t:e.resolvedTheme,s=(0,h.createSignal)((0,r.isDefined)(o)?o:null);return Object.defineProperty(e,"resolvedTheme",{get(){return s.get()},set(n){s.set(n)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"__resolvedThemeSignal",{value:s,enumerable:!1,configurable:!0,writable:!0}),s},j=e=>e?p(e):null;f(i),p(i);const _=(0,r.deepClone)(i),l={active:"0",0:i},E=e=>((0,r.isDefined)(e)&&(l.active=e),l[e||l.active]),u=[],G=e=>{e&&e._scratchConfig&&u.push(e)},L=()=>{u.pop()},O=e=>u.length?u[u.length-1]:l[e||l.active]||i,w=e=>{if((0,r.isObject)(e))return l.active="1",l[1]=(0,r.deepMerge)(e,(0,r.deepClone)(_),b),C(l[1]),f(l[1]),p(l[1]),e},N=["useReset","useFontImport","useIconSprite","useSvgSprite","useDocumentTheme","useDefaultIcons","useDefaultConfig"],U=["useVariable","globalTheme","verbose"],z=[["fontfamily","fontFamily","font_family"],["fontfamilytypes","fontFamilyTypes"],["semanticicons","semanticIcons"],["svgdata","svgData"]],C=e=>{for(const t of z){let o;for(const s of t){const n=e[s];(0,r.isObject)(n)&&(o=o?(0,r.deepMerge)(o,n,b):n)}if(o)for(const s of t)(0,r.isObject)(e[s])&&(e[s]=o)}},B=(e,t,{cleanBase:o=!1}={})=>{const s=o?null:O(),n=(0,r.deepClone)(!o&&s&&s._scratchConfig?s:_);for(const c of N)delete n[c];for(const c of U)Object.prototype.hasOwnProperty.call(_,c)?n[c]=_[c]:delete n[c];const a=(0,r.deepMerge)(t||{},n,b);return a.cssVars={},a.cssMediaVars={},a.CSS_VARS=a.cssVars,a.CSS_MEDIA_VARS=a.cssMediaVars,a.cssSkinVars={},a.cssSkinFallback={},a._scratchConfig=!0,C(a),f(a),p(a),e&&(l[e]=a),a};
|
package/dist/cjs/src/set.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var R=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var B=(t,s)=>{for(var e in s)R(t,e,{get:s[e],enumerable:!0})},K=(t,s,e,
|
|
1
|
+
"use strict";var R=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var B=(t,s)=>{for(var e in s)R(t,e,{get:s[e],enumerable:!0})},K=(t,s,e,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of $(s))!z.call(t,n)&&n!==e&&R(t,n,{get:()=>s[n],enumerable:!(r=Y(s,n))||r.enumerable});return t};var U=t=>K(R({},"__esModule",{value:!0}),t);var N={};B(N,{VALUE_TRANSFORMERS:()=>D,changeGlobalTheme:()=>Q,set:()=>G,setEach:()=>I,setValue:()=>F});module.exports=U(N);var m=require("./factory.js"),o=require("./system/index.js"),_=require("@symbo.ls/utils"),g=require("./utils/host.js");const T="__smblsThemeRootOwner",w=t=>{const s=t&&t.__prefersListener,e=t&&t.__prefersMq;if(s&&e)try{typeof e.removeEventListener=="function"?e.removeEventListener("change",s):typeof e.removeListener=="function"&&e.removeListener(s)}catch{try{e.removeListener(s)}catch{}}t&&(t.__prefersListener=null,t.__prefersMq=null)},W=(t,s,e)=>{if(!(!t||!s)){w(t),t.__prefersListener=e,t.__prefersMq=s;try{s.addEventListener("change",e)}catch{s.addListener(e)}}},X=(t,s)=>{const e=(0,m.getActiveConfig)(),{cssVars:r}=e,n=s.startsWith("--")?s:`--${s}`;return r[n]=t,t},d=t=>t,D={color:o.setColor,gradient:o.setGradient,font:o.setFont,fontFamily:o.setFontFamily,fontfamily:o.setFontFamily,theme:o.setTheme,icons:o.setSvgIcon,semanticIcons:d,semanticicons:d,svg:o.setSVG,svgData:d,typography:d,shadow:o.setShadow,spacing:d,media:d,grid:d,class:d,timing:d,reset:d,unit:d,animation:d,vars:X,sizes:d,shape:d,skins:d},J=(t,s,e,r)=>{(0,g.parkHostObject)(t,e,s);const n={};for(const i of r)t[i]===s&&(t[i]=n);return t.verbose&&console.warn("[scratch] design-system family",e,"resolved to a host object; parked it and allocated a plain bucket"),n},F=(t,s,e)=>{const r=(0,m.getActiveConfig)(),n=(0,m.toCamel)(t),i=n.toLowerCase(),u=r[n]||r[i]||r[t],c=(0,g.isHostObject)(u)?J(r,u,i,[n,i,t]):u,h=D[n]||D[i];if(h)try{const l=h(s,e);return c&&(c[e]=l),c}catch(l){r.verbose&&console.warn("Error setting",i,"value",s,e,l)}if(!h){const l=c||(r[i]={});return l[e]=s,l}r.verbose&&console.warn("Can not find",i,"method in scratch")},I=(t,s)=>{const e=(0,m.getActiveConfig)(),r=t.toLowerCase();return(0,g.isHostObject)(s)?((0,g.parkHostObject)(e,r,s),e.verbose&&console.warn("[scratch] ignoring host object passed as the",r,"design-system family"),e[r]||e[t]):s==null?(e.verbose&&console.warn("[scratch] skipping empty design-system family",r),e[r]||e[t]):(Object.keys(s).sort((i,u)=>{const c=(0,_.isObject)(s[i])||(0,_.isArray)(s[i])?1:0,h=(0,_.isObject)(s[u])||(0,_.isArray)(s[u])?1:0;return c-h}).forEach(i=>{try{return F(r,s[i],i)}catch(u){e.verbose&&console.warn("Error setting",r,"value",s[i],i,u)}}),e[r]||e[t])},Q=(t,s)=>{const e=s||(0,m.getActiveConfig)();e.globalTheme=t;const n=(0,g.resolveConfigDocument)(e)||(typeof document<"u"?document:null),i=n&&n.defaultView||(typeof window<"u"?window:null);if(n){const c=e.themeRoot||n.documentElement,h=t&&t!=="auto";if(c[T]=e,h)w(e),c.setAttribute("data-theme",t),e.resolvedTheme=t,t==="dark"||t==="light"?c.style.colorScheme=t:c.style.colorScheme="light dark";else if(i&&i.matchMedia){const l=y=>{const S=y.matches?"dark":"light";c.setAttribute("data-theme",S),e.resolvedTheme=S},v=i.matchMedia("(prefers-color-scheme: dark)");l(v),c.style.colorScheme="light dark",W(e,v,l)}else w(e),c.setAttribute("data-theme","light"),e.resolvedTheme="light",c.style.colorScheme="light"}const u=e.varPrefix?`--${e.varPrefix}-theme-`:"--theme-";for(const c in e.cssVars)c.startsWith(u)&&delete e.cssVars[c];for(const c in e.cssMediaVars)delete e.cssMediaVars[c];if(n&&e.cssVars){const c=e.scopeSelector||":root",h=n.styleSheets;for(let l=0;l<h.length;l++)try{const v=h[l].cssRules;for(let y=0;y<v.length;y++)if(v[y].selectorText===c){for(const S in e.cssVars)v[y].style.setProperty(S,e.cssVars[S]);return e}}catch{}}return e},Z={},G=(t,s=Z)=>{let e=s.config||(0,m.getActiveConfig)();const{version:r,verbose:n,useVariable:i,useReset:u,useSvgSprite:c,useFontImport:h,useIconSprite:l,globalTheme:v,themeRoot:y,useDocumentTheme:S,useDefaultConfig:L,semanticIcons:A,hoverMedia:k,files:C,assets:M,...p}=t;s.newConfig&&(e=(0,m.setActiveConfig)(s.newConfig)),(0,g.isDomDocument)(p.document)&&(e.__domDocument=p.document,delete p.document),(0,g.isDomDocument)(e.document)&&(e.__domDocument||(e.__domDocument=e.document),e.document={}),C!==void 0&&(e.files=C),M!==void 0&&(e.assets=M),n!==void 0&&(e.verbose=n),i!==void 0&&(e.useVariable=i),u!==void 0&&(e.useReset=u),h!==void 0&&(e.useFontImport=h),c!==void 0&&(e.useSvgSprite=c),l!==void 0&&(e.useIconSprite=l),S!==void 0&&(e.useDocumentTheme=S),v!==void 0&&(e.globalTheme=v),y!==void 0&&(e.themeRoot=y),t.useThemeSuffixedVars!==void 0&&(e.useThemeSuffixedVars=t.useThemeSuffixedVars),L!==void 0&&(e.useDefaultConfig=L),A!==void 0&&(e.semanticIcons=A),k!==void 0&&(e.hoverMedia=k),e.verbose&&console.log(e);const E=(0,g.resolveConfigDocument)(e)||(typeof document<"u"?document:null),V=E&&E.defaultView||(typeof window<"u"?window:null),f=E&&(e.themeRoot||E.documentElement);if(f&&typeof f.setAttribute=="function")if(e.globalTheme&&e.globalTheme!=="auto")w(e),f.setAttribute("data-theme",e.globalTheme),e.resolvedTheme=e.globalTheme,f[T]=e,e.globalTheme==="dark"||e.globalTheme==="light"?f.style.colorScheme=e.globalTheme:f.style.colorScheme="light dark";else if(f[T]&&f[T]!==e&&f.hasAttribute("data-theme"))w(e),e.resolvedTheme=f.getAttribute("data-theme");else if(V&&V.matchMedia){const b=H=>{const O=H.matches?"dark":"light";f.setAttribute("data-theme",O),e.resolvedTheme=O},j=V.matchMedia("(prefers-color-scheme: dark)");b(j),f.style.colorScheme="light dark",f[T]=e,W(e,j,b)}else w(e),f.setAttribute("data-theme","light"),e.resolvedTheme="light",f.style.colorScheme="light",f[T]=e;e.__svgCache||(e.__svgCache={}),(0,m.aliasCaseVariants)(p);const x=Object.keys(p).filter(a=>!a.startsWith("__")),P=new Set(x);if(x.forEach(a=>{const b=a.toLowerCase();b!==a&&P.has(b)&&(0,_.deepMerge)(p[b],p[a],m.CONFIG_MERGE_EXL)}),x.map(a=>{const b=a.toLowerCase();if(!(b!==a&&P.has(b)))return I(a,p[a])}),e.varPrefix&&(e.typography&&(e.typography.varPrefix=e.varPrefix),e.spacing&&(e.spacing.varPrefix=e.varPrefix),e.timing&&(e.timing.varPrefix=e.varPrefix)),p.typography)try{(0,o.applyTypographySequence)()}catch(a){e.verbose&&console.warn("Error applying typography sequence",a)}if(p.spacing)try{(0,o.applySpacingSequence)()}catch(a){e.verbose&&console.warn("Error applying spacing sequence",a)}if(p.timing)try{(0,o.applyTimingSequence)()}catch(a){e.verbose&&console.warn("Error applying timing sequence",a)}try{(0,o.applySkins)()}catch(a){e.verbose&&console.warn("Error applying skins",a)}(0,o.applyDocument)();const q=(0,o.applyReset)();return q&&(e.reset=q),e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var p=(e,t,m,x)=>{if(t&&typeof t=="object"||typeof t=="function")for(let f of i(t))!u.call(e,f)&&f!==m&&s(e,f,{get:()=>t[f],enumerable:!(x=c(t,f))||x.enumerable});return e},o=(e,t,m)=>(p(e,t,"default"),m&&p(m,t,"default"));var a=e=>p(s({},"__esModule",{value:!0}),e);var r={};module.exports=a(r);o(r,require("./color.js"),module.exports);o(r,require("./ink.js"),module.exports);o(r,require("./theme.js"),module.exports);o(r,require("./font.js"),module.exports);o(r,require("./typography.js"),module.exports);o(r,require("./spacing.js"),module.exports);o(r,require("./shape.js"),module.exports);o(r,require("./shadow.js"),module.exports);o(r,require("./border.js"),module.exports);o(r,require("./timing.js"),module.exports);o(r,require("./document.js"),module.exports);o(r,require("./svg.js"),module.exports);o(r,require("./reset.js"),module.exports);
|
|
1
|
+
"use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var p=(e,t,m,x)=>{if(t&&typeof t=="object"||typeof t=="function")for(let f of i(t))!u.call(e,f)&&f!==m&&s(e,f,{get:()=>t[f],enumerable:!(x=c(t,f))||x.enumerable});return e},o=(e,t,m)=>(p(e,t,"default"),m&&p(m,t,"default"));var a=e=>p(s({},"__esModule",{value:!0}),e);var r={};module.exports=a(r);o(r,require("./color.js"),module.exports);o(r,require("./ink.js"),module.exports);o(r,require("./theme.js"),module.exports);o(r,require("./font.js"),module.exports);o(r,require("./typography.js"),module.exports);o(r,require("./spacing.js"),module.exports);o(r,require("./shape.js"),module.exports);o(r,require("./shadow.js"),module.exports);o(r,require("./border.js"),module.exports);o(r,require("./timing.js"),module.exports);o(r,require("./document.js"),module.exports);o(r,require("./svg.js"),module.exports);o(r,require("./reset.js"),module.exports);o(r,require("./skin.js"),module.exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var h=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var V=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var t in e)h(n,t,{get:e[t],enumerable:!0})},x=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of v(e))!V.call(n,r)&&r!==t&&h(n,r,{get:()=>e[r],enumerable:!(o=O(e,r))||o.enumerable});return n};var R=n=>x(h({},"__esModule",{value:!0}),n);var j={};g(j,{__resetSkinWarnings:()=>F,applySkins:()=>P,buildSkinVarStyles:()=>_});module.exports=R(j);var c=require("@symbo.ls/utils"),w=require("../factory.js");const C=new Set(["fallback"]),S=new Set,u=(n,e)=>{S.has(n)||(S.add(n),(0,c.isLoudDevRuntime)()&&console.warn(e))},F=()=>{S.clear()},p=n=>{for(const e in n)delete n[e];return n},P=()=>{const n=(0,w.getActiveConfig)(),e=(0,c.isObject)(n.cssSkinVars)?p(n.cssSkinVars):n.cssSkinVars={},t=(0,c.isObject)(n.cssSkinFallback)?p(n.cssSkinFallback):n.cssSkinFallback={},o=n.skins;if(!(0,c.isObject)(o))return e;const r=n.varPrefix?n.varPrefix+"-":"",i=n.color||{},k=n.cssVars||{},y=s=>(0,c.isString)(s)&&Object.prototype.hasOwnProperty.call(i,s)?`var(--${r}color-${s})`:s;for(const s in o){const a=o[s];if(!(0,c.isObject)(a))continue;const m={};for(const l in a){if(C.has(l))continue;const $=a[l];if((0,c.isObject)($))for(const f in $){const d=`--${r}theme-${l}-${f}`;n.useVariable!==!1&&!(d in k)&&u(`${s}/${l}/${f}`,`[scratch] skin "${s}" rewrites theme "${l}" param "${f}", which the theme does not declare \u2014 no element reads ${d}, so the skin changes nothing there. Declare "${f}" on the "${l}" theme (its no-skin value).`),m[d]=y($[f])}}e[s]=m,(0,c.isString)(a.fallback)&&(t[s]=a.fallback)}for(const s in t){const a=t[s];e[a]||(u(`${s}/fallback/${a}`,`[scratch] skin "${s}" falls back to "${a}", which is not a declared skin \u2014 the reduced-transparency fallback is skipped.`),delete t[s])}return e},b=(n,e)=>{const t=`[data-skin="${n}"]`;return!e||e===":root"?`:root${t}, ${t}`:`${e}${t}, ${t} ${e}, ${e} ${t}`},_=(n,e,t)=>{const o={};if(!(0,c.isObject)(n))return o;for(const i in n)o[b(i,t)]=n[i];const r={};for(const i in e||{}){const k=n[e[i]];k&&(r[b(i,t)]=k)}return Object.keys(r).length&&(o["@media (prefers-reduced-transparency: reduce)"]=r),o};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./sequence.js";export*from"./unit.js";export*from"./typography.js";export*from"./font.js";export*from"./font-family.js";export*from"./media.js";export*from"./spacing.js";export*from"./color.js";export*from"./theme.js";export*from"./shadow.js";export*from"./icons.js";export*from"./timing.js";export*from"./document.js";export*from"./responsive.js";export*from"./animation.js";export*from"./svg.js";export*from"./templates.js";export*from"./grid.js";export*from"./class.js";const o={},r={},t={},e={};export{o as reset,e as shape,t as sizes,r as vars};
|
|
1
|
+
export*from"./sequence.js";export*from"./unit.js";export*from"./typography.js";export*from"./font.js";export*from"./font-family.js";export*from"./media.js";export*from"./spacing.js";export*from"./color.js";export*from"./theme.js";export*from"./shadow.js";export*from"./icons.js";export*from"./timing.js";export*from"./document.js";export*from"./responsive.js";export*from"./animation.js";export*from"./svg.js";export*from"./templates.js";export*from"./grid.js";export*from"./class.js";const o={},r={},t={},e={},p={};export{o as reset,e as shape,t as sizes,p as skins,r as vars};
|
package/dist/esm/src/factory.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{deepClone as
|
|
1
|
+
import{deepClone as _,deepMerge as b,isDefined as l,isObject as h}from"@symbo.ls/utils";import{createSignal as d}from"@symbo.ls/signal";import*as O from"./defaultConfig/index.js";const C={},T={},v=new Set,f=O,p={},A=e=>e.replace(/_([a-z])/g,(t,o)=>o.toUpperCase());for(const e in f){const t=e.toLowerCase();p[t]=f[e];const o=A(t);o!==t&&(p[o]=f[e]),t!==e&&(p[e]=f[e])}const i={verbose:!1,useVariable:!0,useReset:!0,globalTheme:"auto",cssVars:C,cssMediaVars:T,CSS_VARS:C,CSS_MEDIA_VARS:T,cssSkinVars:{},cssSkinFallback:{},_scratchConfig:!0,...p},m=(e,t)=>{if(!e)return null;if(e.__globalThemeSignal)return l(t)&&e.__globalThemeSignal.set(t),e.__globalThemeSignal;const o=l(t)?t:e.globalTheme,s=d(l(o)?o:"auto");return Object.defineProperty(e,"globalTheme",{get(){return s.get()},set(n){s.set(n)},enumerable:!0,configurable:!0}),Object.defineProperty(e,"__globalThemeSignal",{value:s,enumerable:!1,configurable:!0,writable:!0}),s},k=e=>e?m(e):null,g=(e,t)=>{if(!e)return null;if(e.__resolvedThemeSignal)return l(t)&&e.__resolvedThemeSignal.set(t),e.__resolvedThemeSignal;const o=l(t)?t:e.resolvedTheme,s=d(l(o)?o:null);return Object.defineProperty(e,"resolvedTheme",{get(){return s.get()},set(n){s.set(n)},enumerable:!1,configurable:!0}),Object.defineProperty(e,"__resolvedThemeSignal",{value:s,enumerable:!1,configurable:!0,writable:!0}),s},D=e=>e?g(e):null;m(i),g(i);const S=_(i),a={active:"0",0:i},M=e=>(l(e)&&(a.active=e),a[e||a.active]),u=[],j=e=>{e&&e._scratchConfig&&u.push(e)},E=()=>{u.pop()},V=e=>u.length?u[u.length-1]:a[e||a.active]||i,G=e=>{if(h(e))return a.active="1",a[1]=b(e,_(S),v),x(a[1]),m(a[1]),g(a[1]),e},y=["useReset","useFontImport","useIconSprite","useSvgSprite","useDocumentTheme","useDefaultIcons","useDefaultConfig"],F=["useVariable","globalTheme","verbose"],R=[["fontfamily","fontFamily","font_family"],["fontfamilytypes","fontFamilyTypes"],["semanticicons","semanticIcons"],["svgdata","svgData"]],x=e=>{for(const t of R){let o;for(const s of t){const n=e[s];h(n)&&(o=o?b(o,n,v):n)}if(o)for(const s of t)h(e[s])&&(e[s]=o)}},L=(e,t,{cleanBase:o=!1}={})=>{const s=o?null:V(),n=_(!o&&s&&s._scratchConfig?s:S);for(const c of y)delete n[c];for(const c of F)Object.prototype.hasOwnProperty.call(S,c)?n[c]=S[c]:delete n[c];const r=b(t||{},n,v);return r.cssVars={},r.cssMediaVars={},r.CSS_VARS=r.cssVars,r.CSS_MEDIA_VARS=r.cssMediaVars,r.cssSkinVars={},r.cssSkinFallback={},r._scratchConfig=!0,x(r),m(r),g(r),e&&(a[e]=r),r};export{i as CONFIG,v as CONFIG_MERGE_EXL,a as FACTORY,M as activateConfig,x as aliasCaseVariants,L as createConfig,T as cssMediaVars,C as cssVars,g as defineResolvedThemeSignal,m as defineThemeSignal,V as getActiveConfig,D as getResolvedThemeSignal,k as getThemeSignal,E as popConfig,j as pushConfig,G as setActiveConfig,A as toCamel};
|
package/dist/esm/src/set.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CONFIG_MERGE_EXL as $,aliasCaseVariants as z,getActiveConfig as S,setActiveConfig as B,toCamel as K}from"./factory.js";import{setColor as U,setGradient as X,setFont as J,setFontFamily as
|
|
1
|
+
import{CONFIG_MERGE_EXL as $,aliasCaseVariants as z,getActiveConfig as S,setActiveConfig as B,toCamel as K}from"./factory.js";import{setColor as U,setGradient as X,setFont as J,setFontFamily as M,setTheme as Q,setSvgIcon as Z,setSVG as G,applyTypographySequence as N,applySpacingSequence as ee,applyReset as te,applyTimingSequence as se,applyDocument as oe,applySkins as re,setShadow as ne}from"./system/index.js";import{deepMerge as ie,isObject as P,isArray as q}from"@symbo.ls/utils";import{isDomDocument as j,isHostObject as O,parkHostObject as W,resolveConfigDocument as F}from"./utils/host.js";const y="__smblsThemeRootOwner",b=t=>{const s=t&&t.__prefersListener,e=t&&t.__prefersMq;if(s&&e)try{typeof e.removeEventListener=="function"?e.removeEventListener("change",s):typeof e.removeListener=="function"&&e.removeListener(s)}catch{try{e.removeListener(s)}catch{}}t&&(t.__prefersListener=null,t.__prefersMq=null)},I=(t,s,e)=>{if(!(!t||!s)){b(t),t.__prefersListener=e,t.__prefersMq=s;try{s.addEventListener("change",e)}catch{s.addListener(e)}}},ce=(t,s)=>{const e=S(),{cssVars:n}=e,i=s.startsWith("--")?s:`--${s}`;return n[i]=t,t},f=t=>t,H={color:U,gradient:X,font:J,fontFamily:M,fontfamily:M,theme:Q,icons:Z,semanticIcons:f,semanticicons:f,svg:G,svgData:f,typography:f,shadow:ne,spacing:f,media:f,grid:f,class:f,timing:f,reset:f,unit:f,animation:f,vars:ce,sizes:f,shape:f,skins:f},ae=(t,s,e,n)=>{W(t,e,s);const i={};for(const o of n)t[o]===s&&(t[o]=i);return t.verbose&&console.warn("[scratch] design-system family",e,"resolved to a host object; parked it and allocated a plain bucket"),i},le=(t,s,e)=>{const n=S(),i=K(t),o=i.toLowerCase(),d=n[i]||n[o]||n[t],r=O(d)?ae(n,d,o,[i,o,t]):d,m=H[i]||H[o];if(m)try{const a=m(s,e);return r&&(r[e]=a),r}catch(a){n.verbose&&console.warn("Error setting",o,"value",s,e,a)}if(!m){const a=r||(n[o]={});return a[e]=s,a}n.verbose&&console.warn("Can not find",o,"method in scratch")},fe=(t,s)=>{const e=S(),n=t.toLowerCase();return O(s)?(W(e,n,s),e.verbose&&console.warn("[scratch] ignoring host object passed as the",n,"design-system family"),e[n]||e[t]):s==null?(e.verbose&&console.warn("[scratch] skipping empty design-system family",n),e[n]||e[t]):(Object.keys(s).sort((o,d)=>{const r=P(s[o])||q(s[o])?1:0,m=P(s[d])||q(s[d])?1:0;return r-m}).forEach(o=>{try{return le(n,s[o],o)}catch(d){e.verbose&&console.warn("Error setting",n,"value",s[o],o,d)}}),e[n]||e[t])},ye=(t,s)=>{const e=s||S();e.globalTheme=t;const i=F(e)||(typeof document<"u"?document:null),o=i&&i.defaultView||(typeof window<"u"?window:null);if(i){const r=e.themeRoot||i.documentElement,m=t&&t!=="auto";if(r[y]=e,m)b(e),r.setAttribute("data-theme",t),e.resolvedTheme=t,t==="dark"||t==="light"?r.style.colorScheme=t:r.style.colorScheme="light dark";else if(o&&o.matchMedia){const a=g=>{const v=g.matches?"dark":"light";r.setAttribute("data-theme",v),e.resolvedTheme=v},h=o.matchMedia("(prefers-color-scheme: dark)");a(h),r.style.colorScheme="light dark",I(e,h,a)}else b(e),r.setAttribute("data-theme","light"),e.resolvedTheme="light",r.style.colorScheme="light"}const d=e.varPrefix?`--${e.varPrefix}-theme-`:"--theme-";for(const r in e.cssVars)r.startsWith(d)&&delete e.cssVars[r];for(const r in e.cssMediaVars)delete e.cssMediaVars[r];if(i&&e.cssVars){const r=e.scopeSelector||":root",m=i.styleSheets;for(let a=0;a<m.length;a++)try{const h=m[a].cssRules;for(let g=0;g<h.length;g++)if(h[g].selectorText===r){for(const v in e.cssVars)h[g].style.setProperty(v,e.cssVars[v]);return e}}catch{}}return e},de={},be=(t,s=de)=>{let e=s.config||S();const{version:n,verbose:i,useVariable:o,useReset:d,useSvgSprite:r,useFontImport:m,useIconSprite:a,globalTheme:h,themeRoot:g,useDocumentTheme:v,useDefaultConfig:E,semanticIcons:V,hoverMedia:x,files:R,assets:D,...u}=t;s.newConfig&&(e=B(s.newConfig)),j(u.document)&&(e.__domDocument=u.document,delete u.document),j(e.document)&&(e.__domDocument||(e.__domDocument=e.document),e.document={}),R!==void 0&&(e.files=R),D!==void 0&&(e.assets=D),i!==void 0&&(e.verbose=i),o!==void 0&&(e.useVariable=o),d!==void 0&&(e.useReset=d),m!==void 0&&(e.useFontImport=m),r!==void 0&&(e.useSvgSprite=r),a!==void 0&&(e.useIconSprite=a),v!==void 0&&(e.useDocumentTheme=v),h!==void 0&&(e.globalTheme=h),g!==void 0&&(e.themeRoot=g),t.useThemeSuffixedVars!==void 0&&(e.useThemeSuffixedVars=t.useThemeSuffixedVars),E!==void 0&&(e.useDefaultConfig=E),V!==void 0&&(e.semanticIcons=V),x!==void 0&&(e.hoverMedia=x),e.verbose&&console.log(e);const _=F(e)||(typeof document<"u"?document:null),T=_&&_.defaultView||(typeof window<"u"?window:null),l=_&&(e.themeRoot||_.documentElement);if(l&&typeof l.setAttribute=="function")if(e.globalTheme&&e.globalTheme!=="auto")b(e),l.setAttribute("data-theme",e.globalTheme),e.resolvedTheme=e.globalTheme,l[y]=e,e.globalTheme==="dark"||e.globalTheme==="light"?l.style.colorScheme=e.globalTheme:l.style.colorScheme="light dark";else if(l[y]&&l[y]!==e&&l.hasAttribute("data-theme"))b(e),e.resolvedTheme=l.getAttribute("data-theme");else if(T&&T.matchMedia){const p=Y=>{const C=Y.matches?"dark":"light";l.setAttribute("data-theme",C),e.resolvedTheme=C},k=T.matchMedia("(prefers-color-scheme: dark)");p(k),l.style.colorScheme="light dark",l[y]=e,I(e,k,p)}else b(e),l.setAttribute("data-theme","light"),e.resolvedTheme="light",l.style.colorScheme="light",l[y]=e;e.__svgCache||(e.__svgCache={}),z(u);const w=Object.keys(u).filter(c=>!c.startsWith("__")),L=new Set(w);if(w.forEach(c=>{const p=c.toLowerCase();p!==c&&L.has(p)&&ie(u[p],u[c],$)}),w.map(c=>{const p=c.toLowerCase();if(!(p!==c&&L.has(p)))return fe(c,u[c])}),e.varPrefix&&(e.typography&&(e.typography.varPrefix=e.varPrefix),e.spacing&&(e.spacing.varPrefix=e.varPrefix),e.timing&&(e.timing.varPrefix=e.varPrefix)),u.typography)try{N()}catch(c){e.verbose&&console.warn("Error applying typography sequence",c)}if(u.spacing)try{ee()}catch(c){e.verbose&&console.warn("Error applying spacing sequence",c)}if(u.timing)try{se()}catch(c){e.verbose&&console.warn("Error applying timing sequence",c)}try{re()}catch(c){e.verbose&&console.warn("Error applying skins",c)}oe();const A=te();return A&&(e.reset=A),e};export{H as VALUE_TRANSFORMERS,ye as changeGlobalTheme,be as set,fe as setEach,le as setValue};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./color.js";export*from"./ink.js";export*from"./theme.js";export*from"./font.js";export*from"./typography.js";export*from"./spacing.js";export*from"./shape.js";export*from"./shadow.js";export*from"./border.js";export*from"./timing.js";export*from"./document.js";export*from"./svg.js";export*from"./reset.js";
|
|
1
|
+
export*from"./color.js";export*from"./ink.js";export*from"./theme.js";export*from"./font.js";export*from"./typography.js";export*from"./spacing.js";export*from"./shape.js";export*from"./shadow.js";export*from"./border.js";export*from"./timing.js";export*from"./document.js";export*from"./svg.js";export*from"./reset.js";export*from"./skin.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isObject as l,isString as m,isLoudDevRuntime as y}from"@symbo.ls/utils";import{getActiveConfig as O}from"../factory.js";const v=new Set(["fallback"]),h=new Set,u=(n,e)=>{h.has(n)||(h.add(n),y()&&console.warn(e))},x=()=>{h.clear()},p=n=>{for(const e in n)delete n[e];return n},R=()=>{const n=O(),e=l(n.cssSkinVars)?p(n.cssSkinVars):n.cssSkinVars={},s=l(n.cssSkinFallback)?p(n.cssSkinFallback):n.cssSkinFallback={},c=n.skins;if(!l(c))return e;const a=n.varPrefix?n.varPrefix+"-":"",o=n.color||{},k=n.cssVars||{},w=t=>m(t)&&Object.prototype.hasOwnProperty.call(o,t)?`var(--${a}color-${t})`:t;for(const t in c){const r=c[t];if(!l(r))continue;const S={};for(const i in r){if(v.has(i))continue;const $=r[i];if(l($))for(const f in $){const d=`--${a}theme-${i}-${f}`;n.useVariable!==!1&&!(d in k)&&u(`${t}/${i}/${f}`,`[scratch] skin "${t}" rewrites theme "${i}" param "${f}", which the theme does not declare \u2014 no element reads ${d}, so the skin changes nothing there. Declare "${f}" on the "${i}" theme (its no-skin value).`),S[d]=w($[f])}}e[t]=S,m(r.fallback)&&(s[t]=r.fallback)}for(const t in s){const r=s[t];e[r]||(u(`${t}/fallback/${r}`,`[scratch] skin "${t}" falls back to "${r}", which is not a declared skin \u2014 the reduced-transparency fallback is skipped.`),delete s[t])}return e},b=(n,e)=>{const s=`[data-skin="${n}"]`;return!e||e===":root"?`:root${s}, ${s}`:`${e}${s}, ${s} ${e}, ${e} ${s}`},C=(n,e,s)=>{const c={};if(!l(n))return c;for(const o in n)c[b(o,s)]=n[o];const a={};for(const o in e||{}){const k=n[e[o]];k&&(a[b(o,s)]=k)}return Object.keys(a).length&&(c["@media (prefers-reduced-transparency: reduce)"]=a),c};export{x as __resetSkinWarnings,R as applySkins,C as buildSkinVarStyles};
|