@m3e/theme 1.0.0-rc.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.
@@ -0,0 +1,347 @@
1
+ /**
2
+ * @license MIT
3
+ * Copyright (c) 2025 matraic
4
+ * See LICENSE file in the project root for full license text.
5
+ */
6
+ import{LitElement as t,html as e,css as r}from"lit";import{Role as a,DesignToken as n}from"@m3e/core";function o(t,e,r,a){var n,o=arguments.length,i=o<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,r):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,r,a);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(i=(o<3?n(i):o>3?n(e,r,i):n(e,r))||i);return o>3&&i&&Object.defineProperty(e,r,i),i}function i(t,e,r,a){if("a"===r&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!a:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?a:"a"===r?a.call(t):a?a.value:e.get(t)}function s(t,e,r,a,n){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,r):n?n.value=r:e.set(t,r),r}"function"==typeof SuppressedError&&SuppressedError;
7
+ /**
8
+ * @license
9
+ * Copyright 2017 Google LLC
10
+ * SPDX-License-Identifier: BSD-3-Clause
11
+ */
12
+ const c=globalThis,h=c.ShadowRoot&&(void 0===c.ShadyCSS||c.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,l=Symbol(),u=new WeakMap;
13
+ /**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */let d=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==l)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(h&&void 0===t){const r=void 0!==e&&1===e.length;r&&(t=u.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&u.set(e,t))}return t}toString(){return this.cssText}};const m=(t,e)=>{if(h)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const r of e){const e=document.createElement("style"),a=c.litNonce;void 0!==a&&e.setAttribute("nonce",a),e.textContent=r.cssText,t.appendChild(e)}},f=h?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return(t=>new d("string"==typeof t?t:t+"",void 0,l))(e)})(t):t,{is:g,defineProperty:p,getOwnPropertyDescriptor:y,getOwnPropertyNames:b,getOwnPropertySymbols:P,getPrototypeOf:w}=Object,C=globalThis,M=C.trustedTypes,k=M?M.emptyScript:"",v=C.reactiveElementPolyfillSupport,_=(t,e)=>t,A={toAttribute(t,e){switch(e){case Boolean:t=t?k:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},D=(t,e)=>!g(t,e),S={attribute:!0,type:String,converter:A,reflect:!1,useDefault:!1,hasChanged:D};
18
+ /**
19
+ * @license
20
+ * Copyright 2017 Google LLC
21
+ * SPDX-License-Identifier: BSD-3-Clause
22
+ */Symbol.metadata??=Symbol("metadata"),C.litPropertyMetadata??=new WeakMap;class E extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=S){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),a=this.getPropertyDescriptor(t,r,e);void 0!==a&&p(this.prototype,t,a)}}static getPropertyDescriptor(t,e,r){const{get:a,set:n}=y(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:a,set(e){const o=a?.call(this);n?.call(this,e),this.requestUpdate(t,o,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??S}static _$Ei(){if(this.hasOwnProperty(_("elementProperties")))return;const t=w(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(_("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(_("properties"))){const t=this.properties,e=[...b(t),...P(t)];for(const r of e)this.createProperty(r,t[r])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,r]of e)this.elementProperties.set(t,r)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const r=this._$Eu(t,e);void 0!==r&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(f(t))}else void 0!==t&&e.push(f(t));return e}static _$Eu(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return m(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$ET(t,e){const r=this.constructor.elementProperties.get(t),a=this.constructor._$Eu(t,r);if(void 0!==a&&!0===r.reflect){const n=(void 0!==r.converter?.toAttribute?r.converter:A).toAttribute(e,r.type);this._$Em=t,null==n?this.removeAttribute(a):this.setAttribute(a,n),this._$Em=null}}_$AK(t,e){const r=this.constructor,a=r._$Eh.get(t);if(void 0!==a&&this._$Em!==a){const t=r.getPropertyOptions(a),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:A;this._$Em=a;const o=n.fromAttribute(e,t.type);this[a]=o??this._$Ej?.get(a)??o,this._$Em=null}}requestUpdate(t,e,r){if(void 0!==t){const a=this.constructor,n=this[t];if(r??=a.getPropertyOptions(t),!((r.hasChanged??D)(n,e)||r.useDefault&&r.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,r))))return;this.C(t,e,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:r,reflect:a,wrapped:n},o){r&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||r||(e=void 0),this._$AL.set(t,e)),!0===a&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,r]of t){const{wrapped:t}=r,a=this[e];!0!==t||this._$AL.has(e)||void 0===a||this.C(e,void 0,r,a)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}E.elementStyles=[],E.shadowRootOptions={mode:"open"},E[_("elementProperties")]=new Map,E[_("finalized")]=new Map,v?.({ReactiveElement:E}),(C.reactiveElementVersions??=[]).push("2.1.1");
23
+ /**
24
+ * @license
25
+ * Copyright 2017 Google LLC
26
+ * SPDX-License-Identifier: BSD-3-Clause
27
+ */
28
+ const x={attribute:!0,type:String,converter:A,reflect:!1,hasChanged:D},T=(t=x,e,r)=>{const{kind:a,metadata:n}=r;let o=globalThis.litPropertyMetadata.get(n);if(void 0===o&&globalThis.litPropertyMetadata.set(n,o=new Map),"setter"===a&&((t=Object.create(t)).wrapped=!0),o.set(r.name,t),"accessor"===a){const{name:a}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(a,n,t)},init(e){return void 0!==e&&this.C(a,void 0,t,e),e}}}if("setter"===a){const{name:a}=r;return function(r){const n=this[a];e.call(this,r),this.requestUpdate(a,n,t)}}throw Error("Unsupported decorator location: "+a)};function I(t){return(e,r)=>"object"==typeof r?T(t,e,r):((t,e,r)=>{const a=e.hasOwnProperty(r);return e.constructor.createProperty(r,t),a?Object.getOwnPropertyDescriptor(e,r):void 0})(t,e,r)}
29
+ /**
30
+ * @license
31
+ * Copyright 2021 Google LLC
32
+ *
33
+ * Licensed under the Apache License, Version 2.0 (the "License");
34
+ * you may not use this file except in compliance with the License.
35
+ * You may obtain a copy of the License at
36
+ *
37
+ * http://www.apache.org/licenses/LICENSE-2.0
38
+ *
39
+ * Unless required by applicable law or agreed to in writing, software
40
+ * distributed under the License is distributed on an "AS IS" BASIS,
41
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
42
+ * See the License for the specific language governing permissions and
43
+ * limitations under the License.
44
+ */function F(t){return t<0?-1:0===t?0:1}function O(t,e,r){return(1-r)*t+r*e}function L(t,e,r){return r<t?t:r>e?e:r}function R(t){return(t%=360)<0&&(t+=360),t}function $(t,e){return[t[0]*e[0][0]+t[1]*e[0][1]+t[2]*e[0][2],t[0]*e[1][0]+t[1]*e[1][1]+t[2]*e[1][2],t[0]*e[2][0]+t[1]*e[2][1]+t[2]*e[2][2]]}
45
+ /**
46
+ * @license
47
+ * Copyright 2021 Google LLC
48
+ *
49
+ * Licensed under the Apache License, Version 2.0 (the "License");
50
+ * you may not use this file except in compliance with the License.
51
+ * You may obtain a copy of the License at
52
+ *
53
+ * http://www.apache.org/licenses/LICENSE-2.0
54
+ *
55
+ * Unless required by applicable law or agreed to in writing, software
56
+ * distributed under the License is distributed on an "AS IS" BASIS,
57
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
58
+ * See the License for the specific language governing permissions and
59
+ * limitations under the License.
60
+ */const B=[[.41233895,.35762064,.18051042],[.2126,.7152,.0722],[.01932141,.11916382,.95034478]],V=[[3.2413774792388685,-1.5376652402851851,-.49885366846268053],[-.9691452513005321,1.8758853451067872,.04156585616912061],[.05562093689691305,-.20395524564742123,1.0571799111220335]],U=[95.047,100,108.883];function H(t,e,r){return(255<<24|(255&t)<<16|(255&e)<<8|255&r)>>>0}function N(t){return H(J(t[0]),J(t[1]),J(t[2]))}function z(t){return t>>16&255}function q(t){return t>>8&255}function j(t){return 255&t}function K(t){const e=function(t){return $([G(z(t)),G(q(t)),G(j(t))],B)}(t)[1];return 116*X(e/100)-16}function Y(t){return 100*function(t){const e=216/24389,r=24389/27,a=t*t*t;return a>e?a:(116*t-16)/r}
61
+ /**
62
+ * @license
63
+ * Copyright 2021 Google LLC
64
+ *
65
+ * Licensed under the Apache License, Version 2.0 (the "License");
66
+ * you may not use this file except in compliance with the License.
67
+ * You may obtain a copy of the License at
68
+ *
69
+ * http://www.apache.org/licenses/LICENSE-2.0
70
+ *
71
+ * Unless required by applicable law or agreed to in writing, software
72
+ * distributed under the License is distributed on an "AS IS" BASIS,
73
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
74
+ * See the License for the specific language governing permissions and
75
+ * limitations under the License.
76
+ */((t+16)/116)}function W(t){return 116*X(t/100)-16}function G(t){const e=t/255;return e<=.040449936?e/12.92*100:100*Math.pow((e+.055)/1.055,2.4)}function J(t){const e=t/100;let r=0;return r=e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055,a=0,n=255,(o=Math.round(255*r))<a?a:o>n?n:o;var a,n,o}function X(t){const e=24389/27;return t>216/24389?Math.pow(t,1/3):(e*t+16)/116}class Z{static make(t=function(){return U}(),e=200/Math.PI*Y(50)/100,r=50,a=2,n=!1){const o=t,i=.401288*o[0]+.650173*o[1]+-.051461*o[2],s=-.250268*o[0]+1.204414*o[1]+.045854*o[2],c=-.002079*o[0]+.048952*o[1]+.953127*o[2],h=.8+a/10,l=h>=.9?O(.59,.69,10*(h-.9)):O(.525,.59,10*(h-.8));let u=n?1:h*(1-1/3.6*Math.exp((-e-42)/92));u=u>1?1:u<0?0:u;const d=h,m=[u*(100/i)+1-u,u*(100/s)+1-u,u*(100/c)+1-u],f=1/(5*e+1),g=f*f*f*f,p=1-g,y=g*e+.1*p*p*Math.cbrt(5*e),b=Y(r)/t[1],P=1.48+Math.sqrt(b),w=.725/Math.pow(b,.2),C=w,M=[Math.pow(y*m[0]*i/100,.42),Math.pow(y*m[1]*s/100,.42),Math.pow(y*m[2]*c/100,.42)],k=[400*M[0]/(M[0]+27.13),400*M[1]/(M[1]+27.13),400*M[2]/(M[2]+27.13)];return new Z(b,(2*k[0]+k[1]+.05*k[2])*w,w,C,l,d,m,y,Math.pow(y,.25),P)}constructor(t,e,r,a,n,o,i,s,c,h){this.n=t,this.aw=e,this.nbb=r,this.ncb=a,this.c=n,this.nc=o,this.rgbD=i,this.fl=s,this.fLRoot=c,this.z=h}}Z.DEFAULT=Z.make();
77
+ /**
78
+ * @license
79
+ * Copyright 2021 Google LLC
80
+ *
81
+ * Licensed under the Apache License, Version 2.0 (the "License");
82
+ * you may not use this file except in compliance with the License.
83
+ * You may obtain a copy of the License at
84
+ *
85
+ * http://www.apache.org/licenses/LICENSE-2.0
86
+ *
87
+ * Unless required by applicable law or agreed to in writing, software
88
+ * distributed under the License is distributed on an "AS IS" BASIS,
89
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
90
+ * See the License for the specific language governing permissions and
91
+ * limitations under the License.
92
+ */
93
+ class Q{constructor(t,e,r,a,n,o,i,s,c){this.hue=t,this.chroma=e,this.j=r,this.q=a,this.m=n,this.s=o,this.jstar=i,this.astar=s,this.bstar=c}distance(t){const e=this.jstar-t.jstar,r=this.astar-t.astar,a=this.bstar-t.bstar,n=Math.sqrt(e*e+r*r+a*a);return 1.41*Math.pow(n,.63)}static fromInt(t){return Q.fromIntInViewingConditions(t,Z.DEFAULT)}static fromIntInViewingConditions(t,e){const r=(65280&t)>>8,a=255&t,n=G((16711680&t)>>16),o=G(r),i=G(a),s=.41233895*n+.35762064*o+.18051042*i,c=.2126*n+.7152*o+.0722*i,h=.01932141*n+.11916382*o+.95034478*i,l=.401288*s+.650173*c-.051461*h,u=-.250268*s+1.204414*c+.045854*h,d=-.002079*s+.048952*c+.953127*h,m=e.rgbD[0]*l,f=e.rgbD[1]*u,g=e.rgbD[2]*d,p=Math.pow(e.fl*Math.abs(m)/100,.42),y=Math.pow(e.fl*Math.abs(f)/100,.42),b=Math.pow(e.fl*Math.abs(g)/100,.42),P=400*F(m)*p/(p+27.13),w=400*F(f)*y/(y+27.13),C=400*F(g)*b/(b+27.13),M=(11*P+-12*w+C)/11,k=(P+w-2*C)/9,v=(20*P+20*w+21*C)/20,_=(40*P+20*w+C)/20,A=180*Math.atan2(k,M)/Math.PI,D=A<0?A+360:A>=360?A-360:A,S=D*Math.PI/180,E=_*e.nbb,x=100*Math.pow(E/e.aw,e.c*e.z),T=4/e.c*Math.sqrt(x/100)*(e.aw+4)*e.fLRoot,I=D<20.14?D+360:D,O=5e4/13*(.25*(Math.cos(I*Math.PI/180+2)+3.8))*e.nc*e.ncb*Math.sqrt(M*M+k*k)/(v+.305),L=Math.pow(O,.9)*Math.pow(1.64-Math.pow(.29,e.n),.73),R=L*Math.sqrt(x/100),$=R*e.fLRoot,B=50*Math.sqrt(L*e.c/(e.aw+4)),V=(1+100*.007)*x/(1+.007*x),U=1/.0228*Math.log(1+.0228*$),H=U*Math.cos(S),N=U*Math.sin(S);return new Q(D,R,x,T,$,B,V,H,N)}static fromJch(t,e,r){return Q.fromJchInViewingConditions(t,e,r,Z.DEFAULT)}static fromJchInViewingConditions(t,e,r,a){const n=4/a.c*Math.sqrt(t/100)*(a.aw+4)*a.fLRoot,o=e*a.fLRoot,i=e/Math.sqrt(t/100),s=50*Math.sqrt(i*a.c/(a.aw+4)),c=r*Math.PI/180,h=(1+100*.007)*t/(1+.007*t),l=1/.0228*Math.log(1+.0228*o),u=l*Math.cos(c),d=l*Math.sin(c);return new Q(r,e,t,n,o,s,h,u,d)}static fromUcs(t,e,r){return Q.fromUcsInViewingConditions(t,e,r,Z.DEFAULT)}static fromUcsInViewingConditions(t,e,r,a){const n=e,o=r,i=Math.sqrt(n*n+o*o),s=(Math.exp(.0228*i)-1)/.0228/a.fLRoot;let c=Math.atan2(o,n)*(180/Math.PI);c<0&&(c+=360);const h=t/(1-.007*(t-100));return Q.fromJchInViewingConditions(h,s,c,a)}toInt(){return this.viewed(Z.DEFAULT)}viewed(t){const e=0===this.chroma||0===this.j?0:this.chroma/Math.sqrt(this.j/100),r=Math.pow(e/Math.pow(1.64-Math.pow(.29,t.n),.73),1/.9),a=this.hue*Math.PI/180,n=.25*(Math.cos(a+2)+3.8),o=t.aw*Math.pow(this.j/100,1/t.c/t.z),i=n*(5e4/13)*t.nc*t.ncb,s=o/t.nbb,c=Math.sin(a),h=Math.cos(a),l=23*(s+.305)*r/(23*i+11*r*h+108*r*c),u=l*h,d=l*c,m=(460*s+451*u+288*d)/1403,f=(460*s-891*u-261*d)/1403,g=(460*s-220*u-6300*d)/1403,p=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),y=F(m)*(100/t.fl)*Math.pow(p,1/.42),b=Math.max(0,27.13*Math.abs(f)/(400-Math.abs(f))),P=F(f)*(100/t.fl)*Math.pow(b,1/.42),w=Math.max(0,27.13*Math.abs(g)/(400-Math.abs(g))),C=F(g)*(100/t.fl)*Math.pow(w,1/.42),M=y/t.rgbD[0],k=P/t.rgbD[1],v=C/t.rgbD[2],_=function(t,e,r){const a=V,n=a[0][0]*t+a[0][1]*e+a[0][2]*r,o=a[1][0]*t+a[1][1]*e+a[1][2]*r,i=a[2][0]*t+a[2][1]*e+a[2][2]*r;return H(J(n),J(o),J(i))}(1.86206786*M-1.01125463*k+.14918677*v,.38752654*M+.62144744*k-.00897398*v,-.0158415*M-.03412294*k+1.04996444*v);return _}static fromXyzInViewingConditions(t,e,r,a){const n=.401288*t+.650173*e-.051461*r,o=-.250268*t+1.204414*e+.045854*r,i=-.002079*t+.048952*e+.953127*r,s=a.rgbD[0]*n,c=a.rgbD[1]*o,h=a.rgbD[2]*i,l=Math.pow(a.fl*Math.abs(s)/100,.42),u=Math.pow(a.fl*Math.abs(c)/100,.42),d=Math.pow(a.fl*Math.abs(h)/100,.42),m=400*F(s)*l/(l+27.13),f=400*F(c)*u/(u+27.13),g=400*F(h)*d/(d+27.13),p=(11*m+-12*f+g)/11,y=(m+f-2*g)/9,b=(20*m+20*f+21*g)/20,P=(40*m+20*f+g)/20,w=180*Math.atan2(y,p)/Math.PI,C=w<0?w+360:w>=360?w-360:w,M=C*Math.PI/180,k=P*a.nbb,v=100*Math.pow(k/a.aw,a.c*a.z),_=4/a.c*Math.sqrt(v/100)*(a.aw+4)*a.fLRoot,A=C<20.14?C+360:C,D=5e4/13*(1/4*(Math.cos(A*Math.PI/180+2)+3.8))*a.nc*a.ncb*Math.sqrt(p*p+y*y)/(b+.305),S=Math.pow(D,.9)*Math.pow(1.64-Math.pow(.29,a.n),.73),E=S*Math.sqrt(v/100),x=E*a.fLRoot,T=50*Math.sqrt(S*a.c/(a.aw+4)),I=(1+100*.007)*v/(1+.007*v),O=Math.log(1+.0228*x)/.0228,L=O*Math.cos(M),R=O*Math.sin(M);return new Q(C,E,v,_,x,T,I,L,R)}xyzInViewingConditions(t){const e=0===this.chroma||0===this.j?0:this.chroma/Math.sqrt(this.j/100),r=Math.pow(e/Math.pow(1.64-Math.pow(.29,t.n),.73),1/.9),a=this.hue*Math.PI/180,n=.25*(Math.cos(a+2)+3.8),o=t.aw*Math.pow(this.j/100,1/t.c/t.z),i=n*(5e4/13)*t.nc*t.ncb,s=o/t.nbb,c=Math.sin(a),h=Math.cos(a),l=23*(s+.305)*r/(23*i+11*r*h+108*r*c),u=l*h,d=l*c,m=(460*s+451*u+288*d)/1403,f=(460*s-891*u-261*d)/1403,g=(460*s-220*u-6300*d)/1403,p=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),y=F(m)*(100/t.fl)*Math.pow(p,1/.42),b=Math.max(0,27.13*Math.abs(f)/(400-Math.abs(f))),P=F(f)*(100/t.fl)*Math.pow(b,1/.42),w=Math.max(0,27.13*Math.abs(g)/(400-Math.abs(g))),C=F(g)*(100/t.fl)*Math.pow(w,1/.42),M=y/t.rgbD[0],k=P/t.rgbD[1],v=C/t.rgbD[2];return[1.86206786*M-1.01125463*k+.14918677*v,.38752654*M+.62144744*k-.00897398*v,-.0158415*M-.03412294*k+1.04996444*v]}}
94
+ /**
95
+ * @license
96
+ * Copyright 2021 Google LLC
97
+ *
98
+ * Licensed under the Apache License, Version 2.0 (the "License");
99
+ * you may not use this file except in compliance with the License.
100
+ * You may obtain a copy of the License at
101
+ *
102
+ * http://www.apache.org/licenses/LICENSE-2.0
103
+ *
104
+ * Unless required by applicable law or agreed to in writing, software
105
+ * distributed under the License is distributed on an "AS IS" BASIS,
106
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
107
+ * See the License for the specific language governing permissions and
108
+ * limitations under the License.
109
+ */class tt{static sanitizeRadians(t){return(t+8*Math.PI)%(2*Math.PI)}static trueDelinearized(t){const e=t/100;let r=0;return r=e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055,255*r}static chromaticAdaptation(t){const e=Math.pow(Math.abs(t),.42);return 400*F(t)*e/(e+27.13)}static hueOf(t){const e=$(t,tt.SCALED_DISCOUNT_FROM_LINRGB),r=tt.chromaticAdaptation(e[0]),a=tt.chromaticAdaptation(e[1]),n=tt.chromaticAdaptation(e[2]),o=(11*r+-12*a+n)/11,i=(r+a-2*n)/9;return Math.atan2(i,o)}static areInCyclicOrder(t,e,r){return tt.sanitizeRadians(e-t)<tt.sanitizeRadians(r-t)}static intercept(t,e,r){return(e-t)/(r-t)}static lerpPoint(t,e,r){return[t[0]+(r[0]-t[0])*e,t[1]+(r[1]-t[1])*e,t[2]+(r[2]-t[2])*e]}static setCoordinate(t,e,r,a){const n=tt.intercept(t[a],e,r[a]);return tt.lerpPoint(t,n,r)}static isBounded(t){return 0<=t&&t<=100}static nthVertex(t,e){const r=tt.Y_FROM_LINRGB[0],a=tt.Y_FROM_LINRGB[1],n=tt.Y_FROM_LINRGB[2],o=e%4<=1?0:100,i=e%2==0?0:100;if(e<4){const e=o,s=i,c=(t-e*a-s*n)/r;return tt.isBounded(c)?[c,e,s]:[-1,-1,-1]}if(e<8){const e=o,s=i,c=(t-s*r-e*n)/a;return tt.isBounded(c)?[s,c,e]:[-1,-1,-1]}{const e=o,s=i,c=(t-e*r-s*a)/n;return tt.isBounded(c)?[e,s,c]:[-1,-1,-1]}}static bisectToSegment(t,e){let r=[-1,-1,-1],a=r,n=0,o=0,i=!1,s=!0;for(let c=0;c<12;c++){const h=tt.nthVertex(t,c);if(h[0]<0)continue;const l=tt.hueOf(h);i?(s||tt.areInCyclicOrder(n,l,o))&&(s=!1,tt.areInCyclicOrder(n,e,l)?(a=h,o=l):(r=h,n=l)):(r=h,a=h,n=l,o=l,i=!0)}return[r,a]}static midpoint(t,e){return[(t[0]+e[0])/2,(t[1]+e[1])/2,(t[2]+e[2])/2]}static criticalPlaneBelow(t){return Math.floor(t-.5)}static criticalPlaneAbove(t){return Math.ceil(t-.5)}static bisectToLimit(t,e){const r=tt.bisectToSegment(t,e);let a=r[0],n=tt.hueOf(a),o=r[1];for(let t=0;t<3;t++)if(a[t]!==o[t]){let r=-1,i=255;a[t]<o[t]?(r=tt.criticalPlaneBelow(tt.trueDelinearized(a[t])),i=tt.criticalPlaneAbove(tt.trueDelinearized(o[t]))):(r=tt.criticalPlaneAbove(tt.trueDelinearized(a[t])),i=tt.criticalPlaneBelow(tt.trueDelinearized(o[t])));for(let s=0;s<8&&!(Math.abs(i-r)<=1);s++){const s=Math.floor((r+i)/2),c=tt.CRITICAL_PLANES[s],h=tt.setCoordinate(a,c,o,t),l=tt.hueOf(h);tt.areInCyclicOrder(n,e,l)?(o=h,i=s):(a=h,n=l,r=s)}}return tt.midpoint(a,o)}static inverseChromaticAdaptation(t){const e=Math.abs(t),r=Math.max(0,27.13*e/(400-e));return F(t)*Math.pow(r,1/.42)}static findResultByJ(t,e,r){let a=11*Math.sqrt(r);const n=Z.DEFAULT,o=1/Math.pow(1.64-Math.pow(.29,n.n),.73),i=.25*(Math.cos(t+2)+3.8)*(5e4/13)*n.nc*n.ncb,s=Math.sin(t),c=Math.cos(t);for(let t=0;t<5;t++){const h=a/100,l=0===e||0===a?0:e/Math.sqrt(h),u=Math.pow(l*o,1/.9),d=n.aw*Math.pow(h,1/n.c/n.z)/n.nbb,m=23*(d+.305)*u/(23*i+11*u*c+108*u*s),f=m*c,g=m*s,p=(460*d+451*f+288*g)/1403,y=(460*d-891*f-261*g)/1403,b=(460*d-220*f-6300*g)/1403,P=$([tt.inverseChromaticAdaptation(p),tt.inverseChromaticAdaptation(y),tt.inverseChromaticAdaptation(b)],tt.LINRGB_FROM_SCALED_DISCOUNT);if(P[0]<0||P[1]<0||P[2]<0)return 0;const w=tt.Y_FROM_LINRGB[0],C=tt.Y_FROM_LINRGB[1],M=tt.Y_FROM_LINRGB[2],k=w*P[0]+C*P[1]+M*P[2];if(k<=0)return 0;if(4===t||Math.abs(k-r)<.002)return P[0]>100.01||P[1]>100.01||P[2]>100.01?0:N(P);a-=(k-r)*a/(2*k)}return 0}static solveToInt(t,e,r){if(e<1e-4||r<1e-4||r>99.9999)return function(t){const e=J(Y(t));return H(e,e,e)}(r);const a=(t=R(t))/180*Math.PI,n=Y(r),o=tt.findResultByJ(a,e,n);if(0!==o)return o;return N(tt.bisectToLimit(n,a))}static solveToCam(t,e,r){return Q.fromInt(tt.solveToInt(t,e,r))}}tt.SCALED_DISCOUNT_FROM_LINRGB=[[.001200833568784504,.002389694492170889,.0002795742885861124],[.0005891086651375999,.0029785502573438758,.0003270666104008398],[.00010146692491640572,.0005364214359186694,.0032979401770712076]],tt.LINRGB_FROM_SCALED_DISCOUNT=[[1373.2198709594231,-1100.4251190754821,-7.278681089101213],[-271.815969077903,559.6580465940733,-32.46047482791194],[1.9622899599665666,-57.173814538844006,308.7233197812385]],tt.Y_FROM_LINRGB=[.2126,.7152,.0722],tt.CRITICAL_PLANES=[.015176349177441876,.045529047532325624,.07588174588720938,.10623444424209313,.13658714259697685,.16693984095186062,.19729253930674434,.2276452376616281,.2579979360165119,.28835063437139563,.3188300904430532,.350925934958123,.3848314933096426,.42057480301049466,.458183274052838,.4976837250274023,.5391024159806381,.5824650784040898,.6277969426914107,.6751227633498623,.7244668422128921,.775853049866786,.829304845476233,.8848452951698498,.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776];
110
+ /**
111
+ * @license
112
+ * Copyright 2021 Google LLC
113
+ *
114
+ * Licensed under the Apache License, Version 2.0 (the "License");
115
+ * you may not use this file except in compliance with the License.
116
+ * You may obtain a copy of the License at
117
+ *
118
+ * http://www.apache.org/licenses/LICENSE-2.0
119
+ *
120
+ * Unless required by applicable law or agreed to in writing, software
121
+ * distributed under the License is distributed on an "AS IS" BASIS,
122
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123
+ * See the License for the specific language governing permissions and
124
+ * limitations under the License.
125
+ */
126
+ class et{static from(t,e,r){return new et(tt.solveToInt(t,e,r))}static fromInt(t){return new et(t)}toInt(){return this.argb}get hue(){return this.internalHue}set hue(t){this.setInternalState(tt.solveToInt(t,this.internalChroma,this.internalTone))}get chroma(){return this.internalChroma}set chroma(t){this.setInternalState(tt.solveToInt(this.internalHue,t,this.internalTone))}get tone(){return this.internalTone}set tone(t){this.setInternalState(tt.solveToInt(this.internalHue,this.internalChroma,t))}constructor(t){this.argb=t;const e=Q.fromInt(t);this.internalHue=e.hue,this.internalChroma=e.chroma,this.internalTone=K(t),this.argb=t}setInternalState(t){const e=Q.fromInt(t);this.internalHue=e.hue,this.internalChroma=e.chroma,this.internalTone=K(t),this.argb=t}inViewingConditions(t){const e=Q.fromInt(this.toInt()).xyzInViewingConditions(t),r=Q.fromXyzInViewingConditions(e[0],e[1],e[2],Z.make());return et.from(r.hue,r.chroma,W(e[1]))}}
127
+ /**
128
+ * @license
129
+ * Copyright 2022 Google LLC
130
+ *
131
+ * Licensed under the Apache License, Version 2.0 (the "License");
132
+ * you may not use this file except in compliance with the License.
133
+ * You may obtain a copy of the License at
134
+ *
135
+ * http://www.apache.org/licenses/LICENSE-2.0
136
+ *
137
+ * Unless required by applicable law or agreed to in writing, software
138
+ * distributed under the License is distributed on an "AS IS" BASIS,
139
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
140
+ * See the License for the specific language governing permissions and
141
+ * limitations under the License.
142
+ */class rt{static ratioOfTones(t,e){return t=L(0,100,t),e=L(0,100,e),rt.ratioOfYs(Y(t),Y(e))}static ratioOfYs(t,e){const r=t>e?t:e;return(r+5)/((r===e?t:e)+5)}static lighter(t,e){if(t<0||t>100)return-1;const r=Y(t),a=e*(r+5)-5,n=rt.ratioOfYs(a,r),o=Math.abs(n-e);if(n<e&&o>.04)return-1;const i=W(a)+.4;return i<0||i>100?-1:i}static darker(t,e){if(t<0||t>100)return-1;const r=Y(t),a=(r+5)/e-5,n=rt.ratioOfYs(r,a),o=Math.abs(n-e);if(n<e&&o>.04)return-1;const i=W(a)-.4;return i<0||i>100?-1:i}static lighterUnsafe(t,e){const r=rt.lighter(t,e);return r<0?100:r}static darkerUnsafe(t,e){const r=rt.darker(t,e);return r<0?0:r}}
143
+ /**
144
+ * @license
145
+ * Copyright 2023 Google LLC
146
+ *
147
+ * Licensed under the Apache License, Version 2.0 (the "License");
148
+ * you may not use this file except in compliance with the License.
149
+ * You may obtain a copy of the License at
150
+ *
151
+ * http://www.apache.org/licenses/LICENSE-2.0
152
+ *
153
+ * Unless required by applicable law or agreed to in writing, software
154
+ * distributed under the License is distributed on an "AS IS" BASIS,
155
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
156
+ * See the License for the specific language governing permissions and
157
+ * limitations under the License.
158
+ */class at{static isDisliked(t){const e=Math.round(t.hue)>=90&&Math.round(t.hue)<=111,r=Math.round(t.chroma)>16,a=Math.round(t.tone)<65;return e&&r&&a}static fixIfDisliked(t){return at.isDisliked(t)?et.from(t.hue,t.chroma,70):t}}
159
+ /**
160
+ * @license
161
+ * Copyright 2022 Google LLC
162
+ *
163
+ * Licensed under the Apache License, Version 2.0 (the "License");
164
+ * you may not use this file except in compliance with the License.
165
+ * You may obtain a copy of the License at
166
+ *
167
+ * http://www.apache.org/licenses/LICENSE-2.0
168
+ *
169
+ * Unless required by applicable law or agreed to in writing, software
170
+ * distributed under the License is distributed on an "AS IS" BASIS,
171
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
172
+ * See the License for the specific language governing permissions and
173
+ * limitations under the License.
174
+ */class nt{static fromPalette(t){return new nt(t.name??"",t.palette,t.tone,t.isBackground??!1,t.background,t.secondBackground,t.contrastCurve,t.toneDeltaPair)}constructor(t,e,r,a,n,o,i,s){if(this.name=t,this.palette=e,this.tone=r,this.isBackground=a,this.background=n,this.secondBackground=o,this.contrastCurve=i,this.toneDeltaPair=s,this.hctCache=new Map,!n&&o)throw new Error(`Color ${t} has secondBackgrounddefined, but background is not defined.`);if(!n&&i)throw new Error(`Color ${t} has contrastCurvedefined, but background is not defined.`);if(n&&!i)throw new Error(`Color ${t} has backgrounddefined, but contrastCurve is not defined.`)}getArgb(t){return this.getHct(t).toInt()}getHct(t){const e=this.hctCache.get(t);if(null!=e)return e;const r=this.getTone(t),a=this.palette(t).getHct(r);return this.hctCache.size>4&&this.hctCache.clear(),this.hctCache.set(t,a),a}getTone(t){const e=t.contrastLevel<0;if(this.toneDeltaPair){const r=this.toneDeltaPair(t),a=r.roleA,n=r.roleB,o=r.delta,i=r.polarity,s=r.stayTogether,c=this.background(t).getTone(t),h="nearer"===i||"lighter"===i&&!t.isDark||"darker"===i&&t.isDark,l=h?a:n,u=h?n:a,d=this.name===l.name,m=t.isDark?1:-1,f=l.contrastCurve.get(t.contrastLevel),g=u.contrastCurve.get(t.contrastLevel),p=l.tone(t);let y=rt.ratioOfTones(c,p)>=f?p:nt.foregroundTone(c,f);const b=u.tone(t);let P=rt.ratioOfTones(c,b)>=g?b:nt.foregroundTone(c,g);return e&&(y=nt.foregroundTone(c,f),P=nt.foregroundTone(c,g)),(P-y)*m>=o||(P=L(0,100,y+o*m),(P-y)*m>=o||(y=L(0,100,P-o*m))),50<=y&&y<60?m>0?(y=60,P=Math.max(P,y+o*m)):(y=49,P=Math.min(P,y+o*m)):50<=P&&P<60&&(s?m>0?(y=60,P=Math.max(P,y+o*m)):(y=49,P=Math.min(P,y+o*m)):P=m>0?60:49),d?y:P}{let r=this.tone(t);if(null==this.background)return r;const a=this.background(t).getTone(t),n=this.contrastCurve.get(t.contrastLevel);if(rt.ratioOfTones(a,r)>=n||(r=nt.foregroundTone(a,n)),e&&(r=nt.foregroundTone(a,n)),this.isBackground&&50<=r&&r<60&&(r=rt.ratioOfTones(49,a)>=n?49:60),this.secondBackground){const[e,a]=[this.background,this.secondBackground],[o,i]=[e(t).getTone(t),a(t).getTone(t)],[s,c]=[Math.max(o,i),Math.min(o,i)];if(rt.ratioOfTones(s,r)>=n&&rt.ratioOfTones(c,r)>=n)return r;const h=rt.lighter(s,n),l=rt.darker(c,n),u=[];-1!==h&&u.push(h),-1!==l&&u.push(l);return nt.tonePrefersLightForeground(o)||nt.tonePrefersLightForeground(i)?h<0?100:h:1===u.length?u[0]:l<0?0:l}return r}}static foregroundTone(t,e){const r=rt.lighterUnsafe(t,e),a=rt.darkerUnsafe(t,e),n=rt.ratioOfTones(r,t),o=rt.ratioOfTones(a,t);if(nt.tonePrefersLightForeground(t)){const t=Math.abs(n-o)<.1&&n<e&&o<e;return n>=e||n>=o||t?r:a}return o>=e||o>=n?a:r}static tonePrefersLightForeground(t){return Math.round(t)<60}static toneAllowsLightForeground(t){return Math.round(t)<=49}static enableLightForeground(t){return nt.tonePrefersLightForeground(t)&&!nt.toneAllowsLightForeground(t)?49:t}}
175
+ /**
176
+ * @license
177
+ * Copyright 2021 Google LLC
178
+ *
179
+ * Licensed under the Apache License, Version 2.0 (the "License");
180
+ * you may not use this file except in compliance with the License.
181
+ * You may obtain a copy of the License at
182
+ *
183
+ * http://www.apache.org/licenses/LICENSE-2.0
184
+ *
185
+ * Unless required by applicable law or agreed to in writing, software
186
+ * distributed under the License is distributed on an "AS IS" BASIS,
187
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
188
+ * See the License for the specific language governing permissions and
189
+ * limitations under the License.
190
+ */class ot{static fromInt(t){const e=et.fromInt(t);return ot.fromHct(e)}static fromHct(t){return new ot(t.hue,t.chroma,t)}static fromHueAndChroma(t,e){const r=new it(t,e).create();return new ot(t,e,r)}constructor(t,e,r){this.hue=t,this.chroma=e,this.keyColor=r,this.cache=new Map}tone(t){let e=this.cache.get(t);return void 0===e&&(e=et.from(this.hue,this.chroma,t).toInt(),this.cache.set(t,e)),e}getHct(t){return et.fromInt(this.tone(t))}}class it{constructor(t,e){this.hue=t,this.requestedChroma=e,this.chromaCache=new Map,this.maxChromaValue=200}create(){let t=0,e=100;for(;t<e;){const r=Math.floor((t+e)/2),a=this.maxChroma(r)<this.maxChroma(r+1);if(this.maxChroma(r)>=this.requestedChroma-.01)if(Math.abs(t-50)<Math.abs(e-50))e=r;else{if(t===r)return et.from(this.hue,this.requestedChroma,t);t=r}else a?t=r+1:e=r}return et.from(this.hue,this.requestedChroma,t)}maxChroma(t){if(this.chromaCache.has(t))return this.chromaCache.get(t);const e=et.from(this.hue,this.maxChromaValue,t).chroma;return this.chromaCache.set(t,e),e}}
191
+ /**
192
+ * @license
193
+ * Copyright 2023 Google LLC
194
+ *
195
+ * Licensed under the Apache License, Version 2.0 (the "License");
196
+ * you may not use this file except in compliance with the License.
197
+ * You may obtain a copy of the License at
198
+ *
199
+ * http://www.apache.org/licenses/LICENSE-2.0
200
+ *
201
+ * Unless required by applicable law or agreed to in writing, software
202
+ * distributed under the License is distributed on an "AS IS" BASIS,
203
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
204
+ * See the License for the specific language governing permissions and
205
+ * limitations under the License.
206
+ */class st{constructor(t,e,r,a){this.low=t,this.normal=e,this.medium=r,this.high=a}get(t){return t<=-1?this.low:t<0?O(this.low,this.normal,(t- -1)/1):t<.5?O(this.normal,this.medium,(t-0)/.5):t<1?O(this.medium,this.high,(t-.5)/.5):this.high}}
207
+ /**
208
+ * @license
209
+ * Copyright 2023 Google LLC
210
+ *
211
+ * Licensed under the Apache License, Version 2.0 (the "License");
212
+ * you may not use this file except in compliance with the License.
213
+ * You may obtain a copy of the License at
214
+ *
215
+ * http://www.apache.org/licenses/LICENSE-2.0
216
+ *
217
+ * Unless required by applicable law or agreed to in writing, software
218
+ * distributed under the License is distributed on an "AS IS" BASIS,
219
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
220
+ * See the License for the specific language governing permissions and
221
+ * limitations under the License.
222
+ */class ct{constructor(t,e,r,a,n){this.roleA=t,this.roleB=e,this.delta=r,this.polarity=a,this.stayTogether=n}}
223
+ /**
224
+ * @license
225
+ * Copyright 2022 Google LLC
226
+ *
227
+ * Licensed under the Apache License, Version 2.0 (the "License");
228
+ * you may not use this file except in compliance with the License.
229
+ * You may obtain a copy of the License at
230
+ *
231
+ * http://www.apache.org/licenses/LICENSE-2.0
232
+ *
233
+ * Unless required by applicable law or agreed to in writing, software
234
+ * distributed under the License is distributed on an "AS IS" BASIS,
235
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
236
+ * See the License for the specific language governing permissions and
237
+ * limitations under the License.
238
+ */var ht,lt,ut,dt,mt,ft,gt,pt,yt,bt,Pt;
239
+ /**
240
+ * @license
241
+ * Copyright 2022 Google LLC
242
+ *
243
+ * Licensed under the Apache License, Version 2.0 (the "License");
244
+ * you may not use this file except in compliance with the License.
245
+ * You may obtain a copy of the License at
246
+ *
247
+ * http://www.apache.org/licenses/LICENSE-2.0
248
+ *
249
+ * Unless required by applicable law or agreed to in writing, software
250
+ * distributed under the License is distributed on an "AS IS" BASIS,
251
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
252
+ * See the License for the specific language governing permissions and
253
+ * limitations under the License.
254
+ */
255
+ function wt(t){return t.variant===ht.FIDELITY||t.variant===ht.CONTENT}function Ct(t){return t.variant===ht.MONOCHROME}!function(t){t[t.MONOCHROME=0]="MONOCHROME",t[t.NEUTRAL=1]="NEUTRAL",t[t.TONAL_SPOT=2]="TONAL_SPOT",t[t.VIBRANT=3]="VIBRANT",t[t.EXPRESSIVE=4]="EXPRESSIVE",t[t.FIDELITY=5]="FIDELITY",t[t.CONTENT=6]="CONTENT",t[t.RAINBOW=7]="RAINBOW",t[t.FRUIT_SALAD=8]="FRUIT_SALAD"}(ht||(ht={}));class Mt{static highestSurface(t){return t.isDark?Mt.surfaceBright:Mt.surfaceDim}}Mt.contentAccentToneDelta=15,Mt.primaryPaletteKeyColor=nt.fromPalette({name:"primary_palette_key_color",palette:t=>t.primaryPalette,tone:t=>t.primaryPalette.keyColor.tone}),Mt.secondaryPaletteKeyColor=nt.fromPalette({name:"secondary_palette_key_color",palette:t=>t.secondaryPalette,tone:t=>t.secondaryPalette.keyColor.tone}),Mt.tertiaryPaletteKeyColor=nt.fromPalette({name:"tertiary_palette_key_color",palette:t=>t.tertiaryPalette,tone:t=>t.tertiaryPalette.keyColor.tone}),Mt.neutralPaletteKeyColor=nt.fromPalette({name:"neutral_palette_key_color",palette:t=>t.neutralPalette,tone:t=>t.neutralPalette.keyColor.tone}),Mt.neutralVariantPaletteKeyColor=nt.fromPalette({name:"neutral_variant_palette_key_color",palette:t=>t.neutralVariantPalette,tone:t=>t.neutralVariantPalette.keyColor.tone}),Mt.background=nt.fromPalette({name:"background",palette:t=>t.neutralPalette,tone:t=>t.isDark?6:98,isBackground:!0}),Mt.onBackground=nt.fromPalette({name:"on_background",palette:t=>t.neutralPalette,tone:t=>t.isDark?90:10,background:t=>Mt.background,contrastCurve:new st(3,3,4.5,7)}),Mt.surface=nt.fromPalette({name:"surface",palette:t=>t.neutralPalette,tone:t=>t.isDark?6:98,isBackground:!0}),Mt.surfaceDim=nt.fromPalette({name:"surface_dim",palette:t=>t.neutralPalette,tone:t=>t.isDark?6:new st(87,87,80,75).get(t.contrastLevel),isBackground:!0}),Mt.surfaceBright=nt.fromPalette({name:"surface_bright",palette:t=>t.neutralPalette,tone:t=>t.isDark?new st(24,24,29,34).get(t.contrastLevel):98,isBackground:!0}),Mt.surfaceContainerLowest=nt.fromPalette({name:"surface_container_lowest",palette:t=>t.neutralPalette,tone:t=>t.isDark?new st(4,4,2,0).get(t.contrastLevel):100,isBackground:!0}),Mt.surfaceContainerLow=nt.fromPalette({name:"surface_container_low",palette:t=>t.neutralPalette,tone:t=>t.isDark?new st(10,10,11,12).get(t.contrastLevel):new st(96,96,96,95).get(t.contrastLevel),isBackground:!0}),Mt.surfaceContainer=nt.fromPalette({name:"surface_container",palette:t=>t.neutralPalette,tone:t=>t.isDark?new st(12,12,16,20).get(t.contrastLevel):new st(94,94,92,90).get(t.contrastLevel),isBackground:!0}),Mt.surfaceContainerHigh=nt.fromPalette({name:"surface_container_high",palette:t=>t.neutralPalette,tone:t=>t.isDark?new st(17,17,21,25).get(t.contrastLevel):new st(92,92,88,85).get(t.contrastLevel),isBackground:!0}),Mt.surfaceContainerHighest=nt.fromPalette({name:"surface_container_highest",palette:t=>t.neutralPalette,tone:t=>t.isDark?new st(22,22,26,30).get(t.contrastLevel):new st(90,90,84,80).get(t.contrastLevel),isBackground:!0}),Mt.onSurface=nt.fromPalette({name:"on_surface",palette:t=>t.neutralPalette,tone:t=>t.isDark?90:10,background:t=>Mt.highestSurface(t),contrastCurve:new st(4.5,7,11,21)}),Mt.surfaceVariant=nt.fromPalette({name:"surface_variant",palette:t=>t.neutralVariantPalette,tone:t=>t.isDark?30:90,isBackground:!0}),Mt.onSurfaceVariant=nt.fromPalette({name:"on_surface_variant",palette:t=>t.neutralVariantPalette,tone:t=>t.isDark?80:30,background:t=>Mt.highestSurface(t),contrastCurve:new st(3,4.5,7,11)}),Mt.inverseSurface=nt.fromPalette({name:"inverse_surface",palette:t=>t.neutralPalette,tone:t=>t.isDark?90:20}),Mt.inverseOnSurface=nt.fromPalette({name:"inverse_on_surface",palette:t=>t.neutralPalette,tone:t=>t.isDark?20:95,background:t=>Mt.inverseSurface,contrastCurve:new st(4.5,7,11,21)}),Mt.outline=nt.fromPalette({name:"outline",palette:t=>t.neutralVariantPalette,tone:t=>t.isDark?60:50,background:t=>Mt.highestSurface(t),contrastCurve:new st(1.5,3,4.5,7)}),Mt.outlineVariant=nt.fromPalette({name:"outline_variant",palette:t=>t.neutralVariantPalette,tone:t=>t.isDark?30:80,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5)}),Mt.shadow=nt.fromPalette({name:"shadow",palette:t=>t.neutralPalette,tone:t=>0}),Mt.scrim=nt.fromPalette({name:"scrim",palette:t=>t.neutralPalette,tone:t=>0}),Mt.surfaceTint=nt.fromPalette({name:"surface_tint",palette:t=>t.primaryPalette,tone:t=>t.isDark?80:40,isBackground:!0}),Mt.primary=nt.fromPalette({name:"primary",palette:t=>t.primaryPalette,tone:t=>Ct(t)?t.isDark?100:0:t.isDark?80:40,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(3,4.5,7,7),toneDeltaPair:t=>new ct(Mt.primaryContainer,Mt.primary,10,"nearer",!1)}),Mt.onPrimary=nt.fromPalette({name:"on_primary",palette:t=>t.primaryPalette,tone:t=>Ct(t)?t.isDark?10:90:t.isDark?20:100,background:t=>Mt.primary,contrastCurve:new st(4.5,7,11,21)}),Mt.primaryContainer=nt.fromPalette({name:"primary_container",palette:t=>t.primaryPalette,tone:t=>wt(t)?t.sourceColorHct.tone:Ct(t)?t.isDark?85:25:t.isDark?30:90,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.primaryContainer,Mt.primary,10,"nearer",!1)}),Mt.onPrimaryContainer=nt.fromPalette({name:"on_primary_container",palette:t=>t.primaryPalette,tone:t=>wt(t)?nt.foregroundTone(Mt.primaryContainer.tone(t),4.5):Ct(t)?t.isDark?0:100:t.isDark?90:30,background:t=>Mt.primaryContainer,contrastCurve:new st(3,4.5,7,11)}),Mt.inversePrimary=nt.fromPalette({name:"inverse_primary",palette:t=>t.primaryPalette,tone:t=>t.isDark?40:80,background:t=>Mt.inverseSurface,contrastCurve:new st(3,4.5,7,7)}),Mt.secondary=nt.fromPalette({name:"secondary",palette:t=>t.secondaryPalette,tone:t=>t.isDark?80:40,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(3,4.5,7,7),toneDeltaPair:t=>new ct(Mt.secondaryContainer,Mt.secondary,10,"nearer",!1)}),Mt.onSecondary=nt.fromPalette({name:"on_secondary",palette:t=>t.secondaryPalette,tone:t=>Ct(t)?t.isDark?10:100:t.isDark?20:100,background:t=>Mt.secondary,contrastCurve:new st(4.5,7,11,21)}),Mt.secondaryContainer=nt.fromPalette({name:"secondary_container",palette:t=>t.secondaryPalette,tone:t=>{const e=t.isDark?30:90;return Ct(t)?t.isDark?30:85:wt(t)?function(t,e,r,a){let n=r,o=et.from(t,e,r);if(o.chroma<e){let r=o.chroma;for(;o.chroma<e;){n+=a?-1:1;const i=et.from(t,e,n);if(r>i.chroma)break;if(Math.abs(i.chroma-e)<.4)break;Math.abs(i.chroma-e)<Math.abs(o.chroma-e)&&(o=i),r=Math.max(r,i.chroma)}}return n}(t.secondaryPalette.hue,t.secondaryPalette.chroma,e,!t.isDark):e},isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.secondaryContainer,Mt.secondary,10,"nearer",!1)}),Mt.onSecondaryContainer=nt.fromPalette({name:"on_secondary_container",palette:t=>t.secondaryPalette,tone:t=>Ct(t)?t.isDark?90:10:wt(t)?nt.foregroundTone(Mt.secondaryContainer.tone(t),4.5):t.isDark?90:30,background:t=>Mt.secondaryContainer,contrastCurve:new st(3,4.5,7,11)}),Mt.tertiary=nt.fromPalette({name:"tertiary",palette:t=>t.tertiaryPalette,tone:t=>Ct(t)?t.isDark?90:25:t.isDark?80:40,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(3,4.5,7,7),toneDeltaPair:t=>new ct(Mt.tertiaryContainer,Mt.tertiary,10,"nearer",!1)}),Mt.onTertiary=nt.fromPalette({name:"on_tertiary",palette:t=>t.tertiaryPalette,tone:t=>Ct(t)?t.isDark?10:90:t.isDark?20:100,background:t=>Mt.tertiary,contrastCurve:new st(4.5,7,11,21)}),Mt.tertiaryContainer=nt.fromPalette({name:"tertiary_container",palette:t=>t.tertiaryPalette,tone:t=>{if(Ct(t))return t.isDark?60:49;if(!wt(t))return t.isDark?30:90;const e=t.tertiaryPalette.getHct(t.sourceColorHct.tone);return at.fixIfDisliked(e).tone},isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.tertiaryContainer,Mt.tertiary,10,"nearer",!1)}),Mt.onTertiaryContainer=nt.fromPalette({name:"on_tertiary_container",palette:t=>t.tertiaryPalette,tone:t=>Ct(t)?t.isDark?0:100:wt(t)?nt.foregroundTone(Mt.tertiaryContainer.tone(t),4.5):t.isDark?90:30,background:t=>Mt.tertiaryContainer,contrastCurve:new st(3,4.5,7,11)}),Mt.error=nt.fromPalette({name:"error",palette:t=>t.errorPalette,tone:t=>t.isDark?80:40,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(3,4.5,7,7),toneDeltaPair:t=>new ct(Mt.errorContainer,Mt.error,10,"nearer",!1)}),Mt.onError=nt.fromPalette({name:"on_error",palette:t=>t.errorPalette,tone:t=>t.isDark?20:100,background:t=>Mt.error,contrastCurve:new st(4.5,7,11,21)}),Mt.errorContainer=nt.fromPalette({name:"error_container",palette:t=>t.errorPalette,tone:t=>t.isDark?30:90,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.errorContainer,Mt.error,10,"nearer",!1)}),Mt.onErrorContainer=nt.fromPalette({name:"on_error_container",palette:t=>t.errorPalette,tone:t=>Ct(t)?t.isDark?90:10:t.isDark?90:30,background:t=>Mt.errorContainer,contrastCurve:new st(3,4.5,7,11)}),Mt.primaryFixed=nt.fromPalette({name:"primary_fixed",palette:t=>t.primaryPalette,tone:t=>Ct(t)?40:90,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.primaryFixed,Mt.primaryFixedDim,10,"lighter",!0)}),Mt.primaryFixedDim=nt.fromPalette({name:"primary_fixed_dim",palette:t=>t.primaryPalette,tone:t=>Ct(t)?30:80,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.primaryFixed,Mt.primaryFixedDim,10,"lighter",!0)}),Mt.onPrimaryFixed=nt.fromPalette({name:"on_primary_fixed",palette:t=>t.primaryPalette,tone:t=>Ct(t)?100:10,background:t=>Mt.primaryFixedDim,secondBackground:t=>Mt.primaryFixed,contrastCurve:new st(4.5,7,11,21)}),Mt.onPrimaryFixedVariant=nt.fromPalette({name:"on_primary_fixed_variant",palette:t=>t.primaryPalette,tone:t=>Ct(t)?90:30,background:t=>Mt.primaryFixedDim,secondBackground:t=>Mt.primaryFixed,contrastCurve:new st(3,4.5,7,11)}),Mt.secondaryFixed=nt.fromPalette({name:"secondary_fixed",palette:t=>t.secondaryPalette,tone:t=>Ct(t)?80:90,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.secondaryFixed,Mt.secondaryFixedDim,10,"lighter",!0)}),Mt.secondaryFixedDim=nt.fromPalette({name:"secondary_fixed_dim",palette:t=>t.secondaryPalette,tone:t=>Ct(t)?70:80,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.secondaryFixed,Mt.secondaryFixedDim,10,"lighter",!0)}),Mt.onSecondaryFixed=nt.fromPalette({name:"on_secondary_fixed",palette:t=>t.secondaryPalette,tone:t=>10,background:t=>Mt.secondaryFixedDim,secondBackground:t=>Mt.secondaryFixed,contrastCurve:new st(4.5,7,11,21)}),Mt.onSecondaryFixedVariant=nt.fromPalette({name:"on_secondary_fixed_variant",palette:t=>t.secondaryPalette,tone:t=>Ct(t)?25:30,background:t=>Mt.secondaryFixedDim,secondBackground:t=>Mt.secondaryFixed,contrastCurve:new st(3,4.5,7,11)}),Mt.tertiaryFixed=nt.fromPalette({name:"tertiary_fixed",palette:t=>t.tertiaryPalette,tone:t=>Ct(t)?40:90,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.tertiaryFixed,Mt.tertiaryFixedDim,10,"lighter",!0)}),Mt.tertiaryFixedDim=nt.fromPalette({name:"tertiary_fixed_dim",palette:t=>t.tertiaryPalette,tone:t=>Ct(t)?30:80,isBackground:!0,background:t=>Mt.highestSurface(t),contrastCurve:new st(1,1,3,4.5),toneDeltaPair:t=>new ct(Mt.tertiaryFixed,Mt.tertiaryFixedDim,10,"lighter",!0)}),Mt.onTertiaryFixed=nt.fromPalette({name:"on_tertiary_fixed",palette:t=>t.tertiaryPalette,tone:t=>Ct(t)?100:10,background:t=>Mt.tertiaryFixedDim,secondBackground:t=>Mt.tertiaryFixed,contrastCurve:new st(4.5,7,11,21)}),Mt.onTertiaryFixedVariant=nt.fromPalette({name:"on_tertiary_fixed_variant",palette:t=>t.tertiaryPalette,tone:t=>Ct(t)?90:30,background:t=>Mt.tertiaryFixedDim,secondBackground:t=>Mt.tertiaryFixed,contrastCurve:new st(3,4.5,7,11)});
256
+ /**
257
+ * @license
258
+ * Copyright 2022 Google LLC
259
+ *
260
+ * Licensed under the Apache License, Version 2.0 (the "License");
261
+ * you may not use this file except in compliance with the License.
262
+ * You may obtain a copy of the License at
263
+ *
264
+ * http://www.apache.org/licenses/LICENSE-2.0
265
+ *
266
+ * Unless required by applicable law or agreed to in writing, software
267
+ * distributed under the License is distributed on an "AS IS" BASIS,
268
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
269
+ * See the License for the specific language governing permissions and
270
+ * limitations under the License.
271
+ */
272
+ class kt{constructor(t){this.sourceColorArgb=t.sourceColorArgb,this.variant=t.variant,this.contrastLevel=t.contrastLevel,this.isDark=t.isDark,this.sourceColorHct=et.fromInt(t.sourceColorArgb),this.primaryPalette=t.primaryPalette,this.secondaryPalette=t.secondaryPalette,this.tertiaryPalette=t.tertiaryPalette,this.neutralPalette=t.neutralPalette,this.neutralVariantPalette=t.neutralVariantPalette,this.errorPalette=ot.fromHueAndChroma(25,84)}static getRotatedHue(t,e,r){const a=t.hue;if(e.length!==r.length)throw new Error(`mismatch between hue length ${e.length} & rotations ${r.length}`);if(1===r.length)return R(t.hue+r[0]);const n=e.length;for(let t=0;t<=n-2;t++){const n=e[t],o=e[t+1];if(n<a&&a<o)return R(a+r[t])}return a}getArgb(t){return t.getArgb(this)}getHct(t){return t.getHct(this)}get primaryPaletteKeyColor(){return this.getArgb(Mt.primaryPaletteKeyColor)}get secondaryPaletteKeyColor(){return this.getArgb(Mt.secondaryPaletteKeyColor)}get tertiaryPaletteKeyColor(){return this.getArgb(Mt.tertiaryPaletteKeyColor)}get neutralPaletteKeyColor(){return this.getArgb(Mt.neutralPaletteKeyColor)}get neutralVariantPaletteKeyColor(){return this.getArgb(Mt.neutralVariantPaletteKeyColor)}get background(){return this.getArgb(Mt.background)}get onBackground(){return this.getArgb(Mt.onBackground)}get surface(){return this.getArgb(Mt.surface)}get surfaceDim(){return this.getArgb(Mt.surfaceDim)}get surfaceBright(){return this.getArgb(Mt.surfaceBright)}get surfaceContainerLowest(){return this.getArgb(Mt.surfaceContainerLowest)}get surfaceContainerLow(){return this.getArgb(Mt.surfaceContainerLow)}get surfaceContainer(){return this.getArgb(Mt.surfaceContainer)}get surfaceContainerHigh(){return this.getArgb(Mt.surfaceContainerHigh)}get surfaceContainerHighest(){return this.getArgb(Mt.surfaceContainerHighest)}get onSurface(){return this.getArgb(Mt.onSurface)}get surfaceVariant(){return this.getArgb(Mt.surfaceVariant)}get onSurfaceVariant(){return this.getArgb(Mt.onSurfaceVariant)}get inverseSurface(){return this.getArgb(Mt.inverseSurface)}get inverseOnSurface(){return this.getArgb(Mt.inverseOnSurface)}get outline(){return this.getArgb(Mt.outline)}get outlineVariant(){return this.getArgb(Mt.outlineVariant)}get shadow(){return this.getArgb(Mt.shadow)}get scrim(){return this.getArgb(Mt.scrim)}get surfaceTint(){return this.getArgb(Mt.surfaceTint)}get primary(){return this.getArgb(Mt.primary)}get onPrimary(){return this.getArgb(Mt.onPrimary)}get primaryContainer(){return this.getArgb(Mt.primaryContainer)}get onPrimaryContainer(){return this.getArgb(Mt.onPrimaryContainer)}get inversePrimary(){return this.getArgb(Mt.inversePrimary)}get secondary(){return this.getArgb(Mt.secondary)}get onSecondary(){return this.getArgb(Mt.onSecondary)}get secondaryContainer(){return this.getArgb(Mt.secondaryContainer)}get onSecondaryContainer(){return this.getArgb(Mt.onSecondaryContainer)}get tertiary(){return this.getArgb(Mt.tertiary)}get onTertiary(){return this.getArgb(Mt.onTertiary)}get tertiaryContainer(){return this.getArgb(Mt.tertiaryContainer)}get onTertiaryContainer(){return this.getArgb(Mt.onTertiaryContainer)}get error(){return this.getArgb(Mt.error)}get onError(){return this.getArgb(Mt.onError)}get errorContainer(){return this.getArgb(Mt.errorContainer)}get onErrorContainer(){return this.getArgb(Mt.onErrorContainer)}get primaryFixed(){return this.getArgb(Mt.primaryFixed)}get primaryFixedDim(){return this.getArgb(Mt.primaryFixedDim)}get onPrimaryFixed(){return this.getArgb(Mt.onPrimaryFixed)}get onPrimaryFixedVariant(){return this.getArgb(Mt.onPrimaryFixedVariant)}get secondaryFixed(){return this.getArgb(Mt.secondaryFixed)}get secondaryFixedDim(){return this.getArgb(Mt.secondaryFixedDim)}get onSecondaryFixed(){return this.getArgb(Mt.onSecondaryFixed)}get onSecondaryFixedVariant(){return this.getArgb(Mt.onSecondaryFixedVariant)}get tertiaryFixed(){return this.getArgb(Mt.tertiaryFixed)}get tertiaryFixedDim(){return this.getArgb(Mt.tertiaryFixedDim)}get onTertiaryFixed(){return this.getArgb(Mt.onTertiaryFixed)}get onTertiaryFixedVariant(){return this.getArgb(Mt.onTertiaryFixedVariant)}}
273
+ /**
274
+ * @license
275
+ * Copyright 2021 Google LLC
276
+ *
277
+ * Licensed under the Apache License, Version 2.0 (the "License");
278
+ * you may not use this file except in compliance with the License.
279
+ * You may obtain a copy of the License at
280
+ *
281
+ * http://www.apache.org/licenses/LICENSE-2.0
282
+ *
283
+ * Unless required by applicable law or agreed to in writing, software
284
+ * distributed under the License is distributed on an "AS IS" BASIS,
285
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
286
+ * See the License for the specific language governing permissions and
287
+ * limitations under the License.
288
+ */class vt{static of(t){return new vt(t,!1)}static contentOf(t){return new vt(t,!0)}static fromColors(t){return vt.createPaletteFromColors(!1,t)}static contentFromColors(t){return vt.createPaletteFromColors(!0,t)}static createPaletteFromColors(t,e){const r=new vt(e.primary,t);if(e.secondary){const a=new vt(e.secondary,t);r.a2=a.a1}if(e.tertiary){const a=new vt(e.tertiary,t);r.a3=a.a1}if(e.error){const a=new vt(e.error,t);r.error=a.a1}if(e.neutral){const a=new vt(e.neutral,t);r.n1=a.n1}if(e.neutralVariant){const a=new vt(e.neutralVariant,t);r.n2=a.n2}return r}constructor(t,e){const r=et.fromInt(t),a=r.hue,n=r.chroma;e?(this.a1=ot.fromHueAndChroma(a,n),this.a2=ot.fromHueAndChroma(a,n/3),this.a3=ot.fromHueAndChroma(a+60,n/2),this.n1=ot.fromHueAndChroma(a,Math.min(n/12,4)),this.n2=ot.fromHueAndChroma(a,Math.min(n/6,8))):(this.a1=ot.fromHueAndChroma(a,Math.max(48,n)),this.a2=ot.fromHueAndChroma(a,16),this.a3=ot.fromHueAndChroma(a+60,24),this.n1=ot.fromHueAndChroma(a,4),this.n2=ot.fromHueAndChroma(a,8)),this.error=ot.fromHueAndChroma(25,84)}}
289
+ /**
290
+ * @license
291
+ * Copyright 2022 Google LLC
292
+ *
293
+ * Licensed under the Apache License, Version 2.0 (the "License");
294
+ * you may not use this file except in compliance with the License.
295
+ * You may obtain a copy of the License at
296
+ *
297
+ * http://www.apache.org/licenses/LICENSE-2.0
298
+ *
299
+ * Unless required by applicable law or agreed to in writing, software
300
+ * distributed under the License is distributed on an "AS IS" BASIS,
301
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
302
+ * See the License for the specific language governing permissions and
303
+ * limitations under the License.
304
+ */class _t extends kt{constructor(t,e,r){super({sourceColorArgb:t.toInt(),variant:ht.EXPRESSIVE,contrastLevel:r,isDark:e,primaryPalette:ot.fromHueAndChroma(R(t.hue+240),40),secondaryPalette:ot.fromHueAndChroma(kt.getRotatedHue(t,_t.hues,_t.secondaryRotations),24),tertiaryPalette:ot.fromHueAndChroma(kt.getRotatedHue(t,_t.hues,_t.tertiaryRotations),32),neutralPalette:ot.fromHueAndChroma(t.hue+15,8),neutralVariantPalette:ot.fromHueAndChroma(t.hue+15,12)})}}_t.hues=[0,21,51,121,151,191,271,321,360],_t.secondaryRotations=[45,95,45,20,45,90,45,45,45],_t.tertiaryRotations=[120,120,20,45,20,15,20,120,120];
305
+ /**
306
+ * @license
307
+ * Copyright 2022 Google LLC
308
+ *
309
+ * Licensed under the Apache License, Version 2.0 (the "License");
310
+ * you may not use this file except in compliance with the License.
311
+ * You may obtain a copy of the License at
312
+ *
313
+ * http://www.apache.org/licenses/LICENSE-2.0
314
+ *
315
+ * Unless required by applicable law or agreed to in writing, software
316
+ * distributed under the License is distributed on an "AS IS" BASIS,
317
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
318
+ * See the License for the specific language governing permissions and
319
+ * limitations under the License.
320
+ */
321
+ class At extends kt{constructor(t,e,r){super({sourceColorArgb:t.toInt(),variant:ht.VIBRANT,contrastLevel:r,isDark:e,primaryPalette:ot.fromHueAndChroma(t.hue,200),secondaryPalette:ot.fromHueAndChroma(kt.getRotatedHue(t,At.hues,At.secondaryRotations),24),tertiaryPalette:ot.fromHueAndChroma(kt.getRotatedHue(t,At.hues,At.tertiaryRotations),32),neutralPalette:ot.fromHueAndChroma(t.hue,10),neutralVariantPalette:ot.fromHueAndChroma(t.hue,12)})}}
322
+ /**
323
+ * @license
324
+ * Copyright 2021 Google LLC
325
+ *
326
+ * Licensed under the Apache License, Version 2.0 (the "License");
327
+ * you may not use this file except in compliance with the License.
328
+ * You may obtain a copy of the License at
329
+ *
330
+ * http://www.apache.org/licenses/LICENSE-2.0
331
+ *
332
+ * Unless required by applicable law or agreed to in writing, software
333
+ * distributed under the License is distributed on an "AS IS" BASIS,
334
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
335
+ * See the License for the specific language governing permissions and
336
+ * limitations under the License.
337
+ */
338
+ function Dt(t){const e=z(t),r=q(t),a=j(t),n=[e.toString(16),r.toString(16),a.toString(16)];for(const[t,e]of n.entries())1===e.length&&(n[t]="0"+e);return"#"+n.join("")}function St(t){return parseInt(t,16)}At.hues=[0,41,61,101,131,181,251,301,360],At.secondaryRotations=[18,15,10,12,15,18,15,12,12],At.tertiaryRotations=[35,30,20,25,30,35,30,25,25];let Et=class extends(a(t,"none")){constructor(){super(...arguments),lt.add(this),ut.set(this,new CSSStyleSheet),dt.set(this,!1),mt.set(this,void 0),ft.set(this,void 0),gt.set(this,void 0),pt.set(this,()=>i(this,lt,"m",yt).call(this)),this.color="#7D67BE",this.variant="vibrant",this.scheme="auto",this.contrast="standard",this.strongFocus=!1,this.density=0,this.motion="standard"}get isDark(){switch(this.scheme){case"light":return!1;case"dark":return!0;default:return i(this,ft,"f")?.matches??!1}}connectedCallback(){super.connectedCallback(),this.shadowRoot&&!this.shadowRoot.adoptedStyleSheets.includes(i(this,ut,"f"))&&(this.shadowRoot.adoptedStyleSheets=[...this.shadowRoot.adoptedStyleSheets,i(this,ut,"f")]),s(this,mt,matchMedia("(prefers-color-scheme: light)"),"f"),s(this,ft,matchMedia("(prefers-color-scheme: dark)"),"f"),s(this,gt,matchMedia("(forced-colors: active)"),"f"),[i(this,mt,"f"),i(this,ft,"f"),i(this,gt,"f")].forEach(t=>t.addEventListener("change",i(this,pt,"f")))}disconnectedCallback(){super.disconnectedCallback(),[i(this,mt,"f"),i(this,ft,"f"),i(this,gt,"f")].forEach(t=>t?.removeEventListener("change",i(this,pt,"f"))),s(this,mt,s(this,ft,s(this,gt,void 0,"f"),"f"),"f")}updated(t){super.updated(t),i(this,lt,"m",yt).call(this)}firstUpdated(t){super.firstUpdated(t),s(this,dt,!0,"f")}render(){return e`<slot></slot>`}};ut=new WeakMap,dt=new WeakMap,mt=new WeakMap,ft=new WeakMap,gt=new WeakMap,pt=new WeakMap,lt=new WeakSet,yt=function(){const t=function(t){const e=3===(t=t.replace("#","")).length,r=6===t.length,a=8===t.length;if(!e&&!r&&!a)throw new Error("unexpected hex "+t);let n=0,o=0,i=0;return e?(n=St(t.slice(0,1).repeat(2)),o=St(t.slice(1,2).repeat(2)),i=St(t.slice(2,3).repeat(2))):r?(n=St(t.slice(0,2)),o=St(t.slice(2,4)),i=St(t.slice(4,6))):a&&(n=St(t.slice(2,4)),o=St(t.slice(4,6)),i=St(t.slice(6,8))),(255<<24|(255&n)<<16|(255&o)<<8|255&i)>>>0}(this.color),e=vt.of(t),r=new kt({sourceColorArgb:t,variant:i(this,lt,"m",bt).call(this),contrastLevel:i(this,lt,"m",Pt).call(this),isDark:this.isDark,primaryPalette:e.a1,secondaryPalette:e.a2,tertiaryPalette:e.a3,neutralPalette:e.n1,neutralVariantPalette:e.n2});let a="";for(const t in Mt)if(!t.endsWith("PaletteKeyColor")){const e=Mt[t];e instanceof nt&&(a+=`--md-sys-color-${t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}: ${Dt(e.getArgb(r))};`)}if("expressive"===this.motion&&(a+="--md-sys-motion-spring-fast-spatial: 350ms cubic-bezier(0.42, 1.67, 0.21, 0.90);",a+="--md-sys-motion-spring-default-spatial: 500ms cubic-bezier(0.38, 1.21, 0.22, 1.00);",a+="--md-sys-motion-spring-slow-spatial: 650ms cubic-bezier(0.39, 1.29, 0.35, 0.98);",a+="--md-sys-motion-spring-fast-effects: 150ms cubic-bezier(0.31, 0.94, 0.34, 1.00);",a+="--md-sys-motion-spring-default-effects: 200ms cubic-bezier(0.34, 0.80, 0.34, 1.00);",a+="--md-sys-motion-spring-slow-effects: 300ms cubic-bezier(0.34, 0.88, 0.34, 1.00);"),a+=`--md-sys-density-scale: ${this.density};`,a+=`--m3e-scrollbar-thumb-color: ${Dt(e.n1.tone(60))};`,a+=`--m3e-focus-ring-visibility: ${this.strongFocus?"visible":"hidden"};`,i(this,ut,"f").replaceSync(`:host { ${a} }`),this.parentElement instanceof HTMLBodyElement){const t=getComputedStyle(this);i(this,gt,"f")?.matches?this.parentElement.style.backgroundColor=this.parentElement.style.color=this.parentElement.ownerDocument.documentElement.style.scrollbarColor=this.parentElement.style.scrollbarColor="":(this.parentElement.style.backgroundColor=t.getPropertyValue("--md-sys-color-background"),this.parentElement.style.color=t.getPropertyValue("--md-sys-color-on-background"),this.parentElement.ownerDocument.documentElement.style.scrollbarColor=this.parentElement.style.scrollbarColor=`${t.getPropertyValue("--m3e-scrollbar-thumb-color")} ${t.getPropertyValue("--m3e-scrollbar-track-color")}`)}i(this,dt,"f")&&this.dispatchEvent(new Event("change",{bubbles:!0}))},bt=function(){switch(this.variant){case"monochrome":return 0;case"neutral":return 1;case"tonal-spot":return 2;case"vibrant":return 3;case"expressive":return 4;case"fidelity":return 5;case"rainbow":return 7;case"fruit-salad":return 8;default:return 6}},Pt=function(){switch(this.contrast){case"high":return 1;case"medium":return.5;default:return 0}},Et.styles=r`
339
+ :host {
340
+ display: contents;
341
+ font-size: ${n.typescale.standard.body.large.fontSize};
342
+ font-weight: ${n.typescale.standard.body.large.fontWeight};
343
+ line-height: ${n.typescale.standard.body.large.lineHeight};
344
+ letter-spacing: ${n.typescale.standard.body.large.tracking};
345
+ }
346
+ `,o([I()],Et.prototype,"color",void 0),o([I()],Et.prototype,"variant",void 0),o([I()],Et.prototype,"scheme",void 0),o([I()],Et.prototype,"contrast",void 0),o([I({attribute:"strong-focus",type:Boolean})],Et.prototype,"strongFocus",void 0),o([I({type:Number})],Et.prototype,"density",void 0),o([I()],Et.prototype,"motion",void 0),Et=o([(t=>(e,r)=>{void 0!==r?r.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)})("m3e-theme")],Et);export{Et as M3eThemeElement};
347
+ //# sourceMappingURL=index.min.js.map