iobroker.javascript
Version:
Rules Engine for ioBroker
30 lines (29 loc) • 12 kB
JavaScript
import{C as l}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-B_YWmFeG.js";import{Y as Pe,T as D,l as De,V as Ve,s as Oe}from"./createTheme-Ajie0adn.js";import{j as b}from"./jsx-runtime-lE4rOet2.js";import{u as Ke,R as Re}from"./index-7YkEnLQM.js";import{a as xe}from"./useTheme-DWmRkwMP.js";import{u as Te,G as Ne,a as Ge}from"./useEnhancedEffect-DSK35Rma.js";import{D as qe}from"./DefaultPropsProvider-CfXkmG16.js";const ke=l.createContext(null);function Z(){return l.useContext(ke)}const He=typeof Symbol=="function"&&Symbol.for,Fe=He?Symbol.for("mui.nested"):"__THEME_NESTED__";function Ue(e,t){return typeof t=="function"?t(e):{...e,...t}}function Ye(e){const{children:t,theme:o}=e,r=Z(),d=l.useMemo(()=>{const m=r===null?{...o}:Ue(r,o);return m!=null&&(m[Fe]=r!==null),m},[o,r]);return b.jsx(ke.Provider,{value:d,children:t})}function Be(e){const t=xe(),o=Ke()||"",{modularCssLayers:r}=e;let d="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return!r||t!==null?d="":typeof r=="string"?d=r.replace(/mui(?!\.)/g,d):d=`@layer ${d};`,Te(()=>{var u,f;const m=document.querySelector("head");if(!m)return;const n=m.firstChild;if(d){if(n&&((u=n.hasAttribute)!=null&&u.call(n,"data-mui-layer-order"))&&n.getAttribute("data-mui-layer-order")===o)return;const y=document.createElement("style");y.setAttribute("data-mui-layer-order",o),y.textContent=d,m.prepend(y)}else(f=m.querySelector(`style[data-mui-layer-order="${o}"]`))==null||f.remove()},[d,o]),d?b.jsx(Ne,{styles:d}):null}const Ce={};function ge(e,t,o,r=!1){return l.useMemo(()=>{const d=e&&t[e]||t;if(typeof o=="function"){const m=o(d),n=e?{...t,[e]:m}:m;return r?()=>n:n}return e?{...t,[e]:o}:{...t,...o}},[e,t,o,r])}function Ee(e){const{children:t,theme:o,themeId:r}=e,d=xe(Ce),m=Z()||Ce,n=ge(r,d,o),u=ge(r,m,o,!0),f=(r?n[r]:n).direction==="rtl",y=Be(n);return b.jsx(Ye,{theme:u,children:b.jsx(Pe.Provider,{value:n,children:b.jsx(Re,{value:f,children:b.jsxs(qe,{value:r?n[r].components:n.components,children:[y,t]})})})})}const W="mode",ee="color-scheme",ze="data-color-scheme";function Je(e){const{defaultMode:t="system",defaultLightColorScheme:o="light",defaultDarkColorScheme:r="dark",modeStorageKey:d=W,colorSchemeStorageKey:m=ee,attribute:n=ze,colorSchemeNode:u="document.documentElement",nonce:f}=e||{};let y="",C=n;if(n==="class"&&(C=".%s"),n==="data"&&(C="[data-%s]"),C.startsWith(".")){const S=C.substring(1);y+=`${u}.classList.remove('${S}'.replace('%s', light), '${S}'.replace('%s', dark));
${u}.classList.add('${S}'.replace('%s', colorScheme));`}const $=C.match(/\[([^\]]+)\]/);if($){const[S,a]=$[1].split("=");a||(y+=`${u}.removeAttribute('${S}'.replace('%s', light));
${u}.removeAttribute('${S}'.replace('%s', dark));`),y+=`
${u}.setAttribute('${S}'.replace('%s', colorScheme), ${a?`${a}.replace('%s', colorScheme)`:'""'});`}else y+=`${u}.setAttribute('${C}', colorScheme);`;return b.jsx("script",{suppressHydrationWarning:!0,nonce:typeof window>"u"?f:"",dangerouslySetInnerHTML:{__html:`(function() {
try {
let colorScheme = '';
const mode = localStorage.getItem('${d}') || '${t}';
const dark = localStorage.getItem('${m}-dark') || '${r}';
const light = localStorage.getItem('${m}-light') || '${o}';
if (mode === 'system') {
// handle system mode
const mql = window.matchMedia('(prefers-color-scheme: dark)');
if (mql.matches) {
colorScheme = dark
} else {
colorScheme = light
}
}
if (mode === 'light') {
colorScheme = light;
}
if (mode === 'dark') {
colorScheme = dark;
}
if (colorScheme) {
${y}
}
} catch(e){}})();`}},"mui-color-scheme-init")}function Qe(){}const Xe=({key:e,storageWindow:t})=>(!t&&typeof window<"u"&&(t=window),{get(o){if(typeof window>"u")return;if(!t)return o;let r;try{r=t.localStorage.getItem(e)}catch{}return r||o},set:o=>{if(t)try{t.localStorage.setItem(e,o)}catch{}},subscribe:o=>{if(!t)return Qe;const r=d=>{const m=d.newValue;d.key===e&&o(m)};return t.addEventListener("storage",r),()=>{t.removeEventListener("storage",r)}}});function X(){}function be(e){if(typeof window<"u"&&typeof window.matchMedia=="function"&&e==="system")return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function $e(e,t){if(e.mode==="light"||e.mode==="system"&&e.systemMode==="light")return t("light");if(e.mode==="dark"||e.mode==="system"&&e.systemMode==="dark")return t("dark")}function Ze(e){return $e(e,t=>{if(t==="light")return e.lightColorScheme;if(t==="dark")return e.darkColorScheme})}function We(e){const{defaultMode:t="light",defaultLightColorScheme:o,defaultDarkColorScheme:r,supportedColorSchemes:d=[],modeStorageKey:m=W,colorSchemeStorageKey:n=ee,storageWindow:u=typeof window>"u"?void 0:window,storageManager:f=Xe,noSsr:y=!1}=e,C=d.join(","),$=d.length>1,S=l.useMemo(()=>f==null?void 0:f({key:m,storageWindow:u}),[f,m,u]),a=l.useMemo(()=>f==null?void 0:f({key:`${n}-light`,storageWindow:u}),[f,n,u]),p=l.useMemo(()=>f==null?void 0:f({key:`${n}-dark`,storageWindow:u}),[f,n,u]),[v,I]=l.useState(()=>{const s=(S==null?void 0:S.get(t))||t,c=(a==null?void 0:a.get(o))||o,i=(p==null?void 0:p.get(r))||r;return{mode:s,systemMode:be(s),lightColorScheme:c,darkColorScheme:i}}),[L,F]=l.useState(y||!$);l.useEffect(()=>{F(!0)},[]);const V=Ze(v),O=l.useCallback(s=>{I(c=>{if(s===c.mode)return c;const i=s??t;return S==null||S.set(i),{...c,mode:i,systemMode:be(i)}})},[S,t]),A=l.useCallback(s=>{s?typeof s=="string"?s&&!C.includes(s)?console.error(`\`${s}\` does not exist in \`theme.colorSchemes\`.`):I(c=>{const i={...c};return $e(c,h=>{h==="light"&&(a==null||a.set(s),i.lightColorScheme=s),h==="dark"&&(p==null||p.set(s),i.darkColorScheme=s)}),i}):I(c=>{const i={...c},h=s.light===null?o:s.light,j=s.dark===null?r:s.dark;return h&&(C.includes(h)?(i.lightColorScheme=h,a==null||a.set(h)):console.error(`\`${h}\` does not exist in \`theme.colorSchemes\`.`)),j&&(C.includes(j)?(i.darkColorScheme=j,p==null||p.set(j)):console.error(`\`${j}\` does not exist in \`theme.colorSchemes\`.`)),i}):I(c=>(a==null||a.set(o),p==null||p.set(r),{...c,lightColorScheme:o,darkColorScheme:r}))},[C,a,p,o,r]),K=l.useCallback(s=>{v.mode==="system"&&I(c=>{const i=s!=null&&s.matches?"dark":"light";return c.systemMode===i?c:{...c,systemMode:i}})},[v.mode]),q=l.useRef(K);return q.current=K,l.useEffect(()=>{if(typeof window.matchMedia!="function"||!$)return;const s=(...i)=>q.current(...i),c=window.matchMedia("(prefers-color-scheme: dark)");return c.addListener(s),s(c),()=>{c.removeListener(s)}},[$]),l.useEffect(()=>{if($){const s=(S==null?void 0:S.subscribe(h=>{(!h||["light","dark","system"].includes(h))&&O(h||t)}))||X,c=(a==null?void 0:a.subscribe(h=>{(!h||C.match(h))&&A({light:h})}))||X,i=(p==null?void 0:p.subscribe(h=>{(!h||C.match(h))&&A({dark:h})}))||X;return()=>{s(),c(),i()}}},[A,O,C,t,u,$,S,a,p]),{...v,mode:L?v.mode:void 0,systemMode:L?v.systemMode:void 0,colorScheme:L?V:void 0,setMode:O,setColorScheme:A}}const et="*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function tt(e){const{themeId:t,theme:o={},modeStorageKey:r=W,colorSchemeStorageKey:d=ee,disableTransitionOnChange:m=!1,defaultColorScheme:n,resolveTheme:u}=e,f={allColorSchemes:[],colorScheme:void 0,darkColorScheme:void 0,lightColorScheme:void 0,mode:void 0,setColorScheme:()=>{},setMode:()=>{},systemMode:void 0},y=l.createContext(void 0),C=()=>l.useContext(y)||f,$={},S={};function a(L){var fe,Se,pe,ye;const{children:F,theme:V,modeStorageKey:O=r,colorSchemeStorageKey:A=d,disableTransitionOnChange:K=m,storageManager:q,storageWindow:s=typeof window>"u"?void 0:window,documentNode:c=typeof document>"u"?void 0:document,colorSchemeNode:i=typeof document>"u"?void 0:document.documentElement,disableNestedContext:h=!1,disableStyleSheetGeneration:j=!1,defaultMode:ve="system",noSsr:_e}=L,U=l.useRef(!1),Y=Z(),B=l.useContext(y),z=!!B&&!h,te=l.useMemo(()=>V||(typeof o=="function"?o():o),[V]),oe=te[t],T=oe||te,{colorSchemes:_=$,components:re=S,cssVarPrefix:J}=T,ne=Object.keys(_).filter(g=>!!_[g]).join(","),P=l.useMemo(()=>ne.split(","),[ne]),se=typeof n=="string"?n:n.light,ce=typeof n=="string"?n:n.dark,Le=_[se]&&_[ce]?ve:((Se=(fe=_[T.defaultColorScheme])==null?void 0:fe.palette)==null?void 0:Se.mode)||((pe=T.palette)==null?void 0:pe.mode),{mode:je,setMode:ie,systemMode:le,lightColorScheme:de,darkColorScheme:me,colorScheme:Ie,setColorScheme:ae}=We({supportedColorSchemes:P,defaultLightColorScheme:se,defaultDarkColorScheme:ce,modeStorageKey:O,colorSchemeStorageKey:A,defaultMode:Le,storageManager:q,storageWindow:s,noSsr:_e});let Q=je,k=Ie;z&&(Q=B.mode,k=B.colorScheme);const R=l.useMemo(()=>{var G;const g=k||T.defaultColorScheme,M=((G=T.generateThemeVars)==null?void 0:G.call(T))||T.vars,x={...T,components:re,colorSchemes:_,cssVarPrefix:J,vars:M};if(typeof x.generateSpacing=="function"&&(x.spacing=x.generateSpacing()),g){const E=_[g];E&&typeof E=="object"&&Object.keys(E).forEach(w=>{E[w]&&typeof E[w]=="object"?x[w]={...x[w],...E[w]}:x[w]=E[w]})}return u?u(x):x},[T,k,re,_,J]),N=T.colorSchemeSelector;Te(()=>{if(k&&i&&N&&N!=="media"){const g=N;let M=N;if(g==="class"&&(M=".%s"),g==="data"&&(M="[data-%s]"),g!=null&&g.startsWith("data-")&&!g.includes("%s")&&(M=`[${g}="%s"]`),M.startsWith("."))i.classList.remove(...P.map(x=>M.substring(1).replace("%s",x))),i.classList.add(M.substring(1).replace("%s",k));else{const x=M.replace("%s",k).match(/\[([^\]]+)\]/);if(x){const[G,E]=x[1].split("=");E||P.forEach(w=>{i.removeAttribute(G.replace(k,w))}),i.setAttribute(G,E?E.replace(/"|'/g,""):"")}else i.setAttribute(M,k)}}},[k,N,i,P]),l.useEffect(()=>{let g;if(K&&U.current&&c){const M=c.createElement("style");M.appendChild(c.createTextNode(et)),c.head.appendChild(M),window.getComputedStyle(c.body),g=setTimeout(()=>{c.head.removeChild(M)},1)}return()=>{clearTimeout(g)}},[k,K,c]),l.useEffect(()=>(U.current=!0,()=>{U.current=!1}),[]);const Ae=l.useMemo(()=>({allColorSchemes:P,colorScheme:k,darkColorScheme:me,lightColorScheme:de,mode:Q,setColorScheme:ae,setMode:ie,systemMode:le}),[P,k,me,de,Q,ae,ie,le,R.colorSchemeSelector]);let ue=!0;(j||T.cssVariables===!1||z&&(Y==null?void 0:Y.cssVarPrefix)===J)&&(ue=!1);const he=b.jsxs(l.Fragment,{children:[b.jsx(Ee,{themeId:oe?t:void 0,theme:R,children:F}),ue&&b.jsx(Ge,{styles:((ye=R.generateStyleSheets)==null?void 0:ye.call(R))||[]})]});return z?he:b.jsx(y.Provider,{value:Ae,children:he})}const p=typeof n=="string"?n:n.light,v=typeof n=="string"?n:n.dark;return{CssVarsProvider:a,useColorScheme:C,getInitColorSchemeScript:L=>Je({colorSchemeStorageKey:d,defaultLightColorScheme:p,defaultDarkColorScheme:v,modeStorageKey:r,...L})}}function ot({theme:e,...t}){const o=D in e?e[D]:void 0;return b.jsx(Ee,{...t,themeId:o?D:void 0,theme:o||e})}const H={colorSchemeStorageKey:"mui-color-scheme",defaultLightColorScheme:"light",defaultDarkColorScheme:"dark",modeStorageKey:"mui-mode"},{CssVarsProvider:we,useColorScheme:ut,getInitColorSchemeScript:rt}=tt({themeId:D,theme:()=>De({cssVariables:!0}),colorSchemeStorageKey:H.colorSchemeStorageKey,modeStorageKey:H.modeStorageKey,defaultColorScheme:{light:H.defaultLightColorScheme,dark:H.defaultDarkColorScheme},resolveTheme:e=>{const t={...e,typography:Ve(e.palette,e.typography)};return t.unstable_sx=function(r){return Oe({sx:r,theme:this})},t}});function ht(e){return b.jsx(we,{...e})}let Me=!1;const ft=e=>(Me||(console.warn(["MUI: The getInitColorSchemeScript function has been deprecated.","","You should use `import InitColorSchemeScript from '@mui/material/InitColorSchemeScript'`","and replace the function call with `<InitColorSchemeScript />` instead."].join(`
`)),Me=!0),rt(e)),nt=we;function St({theme:e,...t}){const o=l.useMemo(()=>{if(typeof e=="function")return e;const r=D in e?e[D]:e;return"colorSchemes"in r?null:"vars"in r?e:{...e,vars:null}},[e]);return o?b.jsx(ot,{theme:o,...t}):b.jsx(nt,{theme:e,...t})}export{nt as C,ht as E,St as T,ft as g,ut as u};