@fluid-topics/ft-tabs 0.0.88

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/README.md ADDED
@@ -0,0 +1,31 @@
1
+ Generic tabs component
2
+
3
+ ## Install
4
+
5
+ ```shell
6
+ npm install @fluid-topics/ft-tabs
7
+ yarn add @fluid-topics/ft-tabs
8
+ ```
9
+
10
+ ## Usage
11
+
12
+ ```typescript
13
+ import { html } from "lit"
14
+ import "@fluid-topics/ft-tabs"
15
+
16
+ function render() {
17
+ return html`
18
+ <ft-tabs>
19
+ <ft-tab label="tab one" icon="accessibility">
20
+ <p>Content 1</p>
21
+ </ft-tab>
22
+ <ft-tab label="tab two" icon="exit_to_app">
23
+ <p>Content 2</p>
24
+ </ft-tab>
25
+ <ft-tab label="tab three" icon="camera">
26
+ <p>Content 3</p>
27
+ </ft-tab>
28
+ </ft-tabs>
29
+ `
30
+ }
31
+ ```
@@ -0,0 +1,23 @@
1
+ import { ElementDefinitionsMap, FtLitElement } from "@fluid-topics/ft-wc-utils";
2
+ import { PropertyValues } from "lit";
3
+ export declare enum FtTabPosition {
4
+ before = "before",
5
+ current = "current",
6
+ after = "after"
7
+ }
8
+ export interface FtTabProperties {
9
+ label: string;
10
+ icon: string;
11
+ disabled: boolean;
12
+ }
13
+ export declare class FtTab extends FtLitElement implements FtTabProperties {
14
+ static elementDefinitions: ElementDefinitionsMap;
15
+ protected getStyles(): import("lit").CSSResult;
16
+ label: string;
17
+ icon: string;
18
+ position: FtTabPosition;
19
+ disabled: boolean;
20
+ protected getTemplate(): unknown;
21
+ protected updated(props: PropertyValues): void;
22
+ }
23
+ //# sourceMappingURL=ft-tab.d.ts.map
@@ -0,0 +1,75 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, FtLitElement } from "@fluid-topics/ft-wc-utils";
8
+ import { css, html, unsafeCSS } from "lit";
9
+ import { property } from "lit/decorators.js";
10
+ export var FtTabPosition;
11
+ (function (FtTabPosition) {
12
+ FtTabPosition["before"] = "before";
13
+ FtTabPosition["current"] = "current";
14
+ FtTabPosition["after"] = "after";
15
+ })(FtTabPosition || (FtTabPosition = {}));
16
+ let FtTab = class FtTab extends FtLitElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.label = "";
20
+ this.icon = "";
21
+ this.position = FtTabPosition.before;
22
+ this.disabled = false;
23
+ }
24
+ getStyles() {
25
+ let left;
26
+ switch (this.position) {
27
+ case FtTabPosition.before:
28
+ left = "-100%";
29
+ break;
30
+ case FtTabPosition.current:
31
+ left = "0";
32
+ break;
33
+ case FtTabPosition.after:
34
+ left = "100%";
35
+ break;
36
+ }
37
+ // language=CSS
38
+ return css `
39
+ :host {
40
+ width: 100%;
41
+ position: absolute;
42
+ transition: left 250ms cubic-bezier(0.4, 0, 0.2, 1);
43
+ background-color: var(--ft-color-surface, #FFFFFF);
44
+ left: ${unsafeCSS(left)};
45
+ }
46
+ `;
47
+ }
48
+ getTemplate() {
49
+ return html `
50
+ <slot></slot>
51
+ `;
52
+ }
53
+ updated(props) {
54
+ super.updated(props);
55
+ this.dispatchEvent(new Event("updated"));
56
+ }
57
+ };
58
+ FtTab.elementDefinitions = {};
59
+ __decorate([
60
+ property({ type: String })
61
+ ], FtTab.prototype, "label", void 0);
62
+ __decorate([
63
+ property({ type: String })
64
+ ], FtTab.prototype, "icon", void 0);
65
+ __decorate([
66
+ property({ type: String })
67
+ ], FtTab.prototype, "position", void 0);
68
+ __decorate([
69
+ property({ type: Boolean })
70
+ ], FtTab.prototype, "disabled", void 0);
71
+ FtTab = __decorate([
72
+ customElement("ft-tab")
73
+ ], FtTab);
74
+ export { FtTab };
75
+ //# sourceMappingURL=ft-tab.js.map
@@ -0,0 +1,35 @@
1
+ import { PropertyValues } from "lit";
2
+ import { ElementDefinitionsMap, FtLitElement } from "@fluid-topics/ft-wc-utils";
3
+ export { FtTabProperties, FtTab } from "./ft-tab";
4
+ export interface FtTabsProperties {
5
+ dense: boolean;
6
+ contentBefore: boolean;
7
+ activeIndex: number;
8
+ }
9
+ export interface FtTabsCssVariables {
10
+ "--ft-color-surface"?: any;
11
+ "--ft-color-primary"?: any;
12
+ }
13
+ export declare class IndexChangeEvent extends CustomEvent<number> {
14
+ constructor(index: number);
15
+ }
16
+ export declare class FtTabs extends FtLitElement implements FtTabsProperties {
17
+ static elementDefinitions: ElementDefinitionsMap;
18
+ protected getStyles(): import("lit").CSSResult;
19
+ dense: boolean;
20
+ contentBefore: boolean;
21
+ private tabs;
22
+ activeIndex: number;
23
+ private resizable?;
24
+ private get currentTab();
25
+ private resizeObserver;
26
+ protected getTemplate(): import("lit-html").TemplateResult<1>;
27
+ private onTabChange;
28
+ private updateDebouncer;
29
+ private onContentChange;
30
+ protected updated(props: PropertyValues): void;
31
+ private placeTabs;
32
+ private resizeDebouncer;
33
+ private resize;
34
+ }
35
+ //# sourceMappingURL=ft-tabs.d.ts.map
@@ -0,0 +1,167 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { css, html } from "lit";
8
+ import { property, query, state } from "lit/decorators.js";
9
+ import { repeat } from "lit/directives/repeat.js";
10
+ import { classMap } from "lit/directives/class-map.js";
11
+ import { customElement, Debouncer, FtLitElement } from "@fluid-topics/ft-wc-utils";
12
+ import { FtTab, FtTabPosition } from "./ft-tab";
13
+ import { Tab } from "@material/mwc-tab";
14
+ import { TabBar } from "@material/mwc-tab-bar";
15
+ export { FtTab } from "./ft-tab";
16
+ export class IndexChangeEvent extends CustomEvent {
17
+ constructor(index) {
18
+ super("index-change", { detail: index });
19
+ }
20
+ }
21
+ let FtTabs = class FtTabs extends FtLitElement {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.dense = false;
25
+ this.contentBefore = false;
26
+ this.tabs = [];
27
+ this.activeIndex = 0;
28
+ this.resizeObserver = new ResizeObserver(() => this.resize());
29
+ this.updateDebouncer = new Debouncer(20);
30
+ this.resizeDebouncer = new Debouncer(50);
31
+ }
32
+ // language=CSS
33
+ getStyles() {
34
+ return css `
35
+ .ft-tabs {
36
+ display: flex;
37
+ flex-direction: column;
38
+ background-color: var(--ft-color-surface, #FFFFFF);
39
+ height: 100%;
40
+ }
41
+
42
+ .ft-tabs--reverse {
43
+ flex-direction: column-reverse;
44
+ }
45
+
46
+ mwc-tab-bar {
47
+ display: block;
48
+ flex-shrink: 0;
49
+ flex-grow: 0;
50
+ --mdc-theme-primary: var(--ft-color-primary, #2196F3);
51
+ --mdc-tab-color-default: var(--ft-color-on-surface-medium, rgba(0, 0, 0, 0.60))
52
+ }
53
+
54
+ .ft-tabs--content {
55
+ flex-shrink: 1;
56
+ flex-grow: 1;
57
+ overflow: auto;
58
+ }
59
+
60
+ .ft-tabs--resizable {
61
+ position: relative;
62
+ overflow: hidden;
63
+ width: 100%;
64
+ }
65
+
66
+ mwc-tab[disabled] {
67
+ pointer-events: none;
68
+ --mdc-tab-color-default: var(--ft-color-on-surface-disabled, rgba(0, 0, 0, 0.38));
69
+ }
70
+ `;
71
+ }
72
+ get currentTab() {
73
+ return this.tabs[this.activeIndex];
74
+ }
75
+ getTemplate() {
76
+ const classes = {
77
+ "ft-tabs": true,
78
+ "ft-tabs--reverse": this.contentBefore,
79
+ };
80
+ return html `
81
+ <div class="${classMap(classes)}">
82
+ <mwc-tab-bar @MDCTabBar:activated=${this.onTabChange} .activeIndex=${this.activeIndex}>
83
+ ${repeat(this.tabs, tab => html `
84
+ <mwc-tab label="${this.dense && tab.icon ? "" : tab.label}"
85
+ title="${this.dense && tab.icon ? tab.label : ""}"
86
+ aria-label="${tab.label}"
87
+ icon="${tab.icon}"
88
+ ?stacked=${!this.dense}
89
+ ?disabled=${tab.disabled}></mwc-tab>
90
+ `)}
91
+ </mwc-tab-bar>
92
+ <div class="ft-tabs--content">
93
+ <div class="ft-tabs--resizable">
94
+ <slot @slotchange=${this.onContentChange}></slot>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ `;
99
+ }
100
+ onTabChange(e) {
101
+ this.activeIndex = e.detail.index;
102
+ }
103
+ onContentChange(e) {
104
+ const slot = e.composedPath()[0];
105
+ this.tabs = slot.assignedElements().map(n => n);
106
+ this.resizeObserver.disconnect();
107
+ this.tabs.forEach(tab => {
108
+ this.resizeObserver.observe(tab);
109
+ tab.addEventListener("updated", () => this.updateDebouncer.run(() => this.requestUpdate()));
110
+ });
111
+ }
112
+ updated(props) {
113
+ super.updated(props);
114
+ if (props.has("tabs") || props.has("activeIndex")) {
115
+ this.placeTabs();
116
+ }
117
+ if (props.has("activeIndex")) {
118
+ this.dispatchEvent(new IndexChangeEvent(this.activeIndex));
119
+ }
120
+ }
121
+ placeTabs() {
122
+ this.tabs.forEach((tab, index) => {
123
+ if (index < this.activeIndex) {
124
+ tab.position = FtTabPosition.before;
125
+ }
126
+ else if (index > this.activeIndex) {
127
+ tab.position = FtTabPosition.after;
128
+ }
129
+ else {
130
+ tab.position = FtTabPosition.current;
131
+ }
132
+ });
133
+ this.resize();
134
+ }
135
+ resize() {
136
+ this.resizeDebouncer.run(() => {
137
+ if (this.resizable && this.currentTab) {
138
+ this.resizable.style.height = this.currentTab.scrollHeight + "px";
139
+ }
140
+ });
141
+ }
142
+ };
143
+ FtTabs.elementDefinitions = {
144
+ "ft-tab": FtTab,
145
+ "mwc-tab": Tab,
146
+ "mwc-tab-bar": TabBar,
147
+ };
148
+ __decorate([
149
+ property({ type: Boolean })
150
+ ], FtTabs.prototype, "dense", void 0);
151
+ __decorate([
152
+ property({ type: Boolean })
153
+ ], FtTabs.prototype, "contentBefore", void 0);
154
+ __decorate([
155
+ state()
156
+ ], FtTabs.prototype, "tabs", void 0);
157
+ __decorate([
158
+ property({ type: Number, reflect: true })
159
+ ], FtTabs.prototype, "activeIndex", void 0);
160
+ __decorate([
161
+ query(".ft-tabs--resizable")
162
+ ], FtTabs.prototype, "resizable", void 0);
163
+ FtTabs = __decorate([
164
+ customElement("ft-tabs")
165
+ ], FtTabs);
166
+ export { FtTabs };
167
+ //# sourceMappingURL=ft-tabs.js.map
@@ -0,0 +1,400 @@
1
+ !function(t){
2
+ /**
3
+ * @license
4
+ * Copyright 2019 Google LLC
5
+ * SPDX-License-Identifier: BSD-3-Clause
6
+ */
7
+ const e=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),r=new Map;class n{constructor(t,e){if(this._$cssResult$=!0,e!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){let t=r.get(this.cssText);return e&&void 0===t&&(r.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}const o=t=>new n("string"==typeof t?t:t+"",i),s=(t,...e)=>{const r=1===t.length?t[0]:e.reduce(((e,i,r)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[r+1]),t[0]);return new n(r,i)},a=(t,i)=>{e?t.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):i.forEach((e=>{const i=document.createElement("style"),r=window.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,t.appendChild(i)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return o(e)})(t):t
8
+ /**
9
+ * @license
10
+ * Copyright 2017 Google LLC
11
+ * SPDX-License-Identifier: BSD-3-Clause
12
+ */;var l;const d=window.trustedTypes,u=d?d.emptyScript:"",p=window.reactiveElementPolyfillSupport,h={toAttribute(t,e){switch(e){case Boolean:t=t?u:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,e)=>e!==t&&(e==e||t==t),m={attribute:!0,type:String,converter:h,reflect:!1,hasChanged:f};class v extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var e;null!==(e=this.l)&&void 0!==e||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const r=this._$Eh(i,e);void 0!==r&&(this._$Eu.set(r,i),t.push(r))})),t}static createProperty(t,e=m){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,r=this.getPropertyDescriptor(t,i,e);void 0!==r&&Object.defineProperty(this.prototype,t,r)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(r){const n=this[t];this[e]=r,this.requestUpdate(t,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||m}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(c(t))}else void 0!==t&&e.push(c(t));return e}static _$Eh(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$Eg)&&void 0!==e?e:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$Eg)||void 0===e||e.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Et.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return a(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ES(t,e,i=m){var r,n;const o=this.constructor._$Eh(t,i);if(void 0!==o&&!0===i.reflect){const s=(null!==(n=null===(r=i.converter)||void 0===r?void 0:r.toAttribute)&&void 0!==n?n:h.toAttribute)(e,i.type);this._$Ei=t,null==s?this.removeAttribute(o):this.setAttribute(o,s),this._$Ei=null}}_$AK(t,e){var i,r,n;const o=this.constructor,s=o._$Eu.get(t);if(void 0!==s&&this._$Ei!==s){const t=o.getPropertyOptions(s),a=t.converter,c=null!==(n=null!==(r=null===(i=a)||void 0===i?void 0:i.fromAttribute)&&void 0!==r?r:"function"==typeof a?a:null)&&void 0!==n?n:h.fromAttribute;this._$Ei=s,this[s]=c(e,t.type),this._$Ei=null}}requestUpdate(t,e,i){let r=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||f)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$Ei!==t&&(void 0===this._$E_&&(this._$E_=new Map),this._$E_.set(t,i))):r=!1),!this.isUpdatePending&&r&&(this._$Ep=this._$EC())}async _$EC(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,e)=>this[e]=t)),this._$Et=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$Eg)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$E_&&(this._$E_.forEach(((t,e)=>this._$ES(e,this[e],t))),this._$E_=void 0),this._$EU()}updated(t){}firstUpdated(t){}}
13
+ /**
14
+ * @license
15
+ * Copyright 2017 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */
18
+ var b;v.finalized=!0,v.elementProperties=new Map,v.elementStyles=[],v.shadowRootOptions={mode:"open"},null==p||p({ReactiveElement:v}),(null!==(l=globalThis.reactiveElementVersions)&&void 0!==l?l:globalThis.reactiveElementVersions=[]).push("1.2.2");const g=globalThis.trustedTypes,y=g?g.createPolicy("lit-html",{createHTML:t=>t}):void 0,w=`lit$${(Math.random()+"").slice(9)}$`,_="?"+w,x=`<${_}>`,S=document,A=(t="")=>S.createComment(t),C=t=>null===t||"object"!=typeof t&&"function"!=typeof t,T=Array.isArray,E=t=>{var e;return T(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,k=/-->/g,R=/>/g,$=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,I=/'/g,j=/"/g,M=/^(?:script|style|textarea|title)$/i,z=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),L=Symbol.for("lit-noChange"),D=Symbol.for("lit-nothing"),P=new WeakMap,N=S.createTreeWalker(S,129,null,!1),F=(t,e)=>{const i=t.length-1,r=[];let n,o=2===e?"<svg>":"",s=O;for(let e=0;e<i;e++){const i=t[e];let a,c,l=-1,d=0;for(;d<i.length&&(s.lastIndex=d,c=s.exec(i),null!==c);)d=s.lastIndex,s===O?"!--"===c[1]?s=k:void 0!==c[1]?s=R:void 0!==c[2]?(M.test(c[2])&&(n=RegExp("</"+c[2],"g")),s=$):void 0!==c[3]&&(s=$):s===$?">"===c[0]?(s=null!=n?n:O,l=-1):void 0===c[1]?l=-2:(l=s.lastIndex-c[2].length,a=c[1],s=void 0===c[3]?$:'"'===c[3]?j:I):s===j||s===I?s=$:s===k||s===R?s=O:(s=$,n=void 0);const u=s===$&&t[e+1].startsWith("/>")?" ":"";o+=s===O?i+x:l>=0?(r.push(a),i.slice(0,l)+"$lit$"+i.slice(l)+w+u):i+w+(-2===l?(r.push(void 0),e):u)}const a=o+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==y?y.createHTML(a):a,r]};class B{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let n=0,o=0;const s=t.length-1,a=this.parts,[c,l]=F(t,e);if(this.el=B.createElement(c,i),N.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(r=N.nextNode())&&a.length<s;){if(1===r.nodeType){if(r.hasAttributes()){const t=[];for(const e of r.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(w)){const i=l[o++];if(t.push(e),void 0!==i){const t=r.getAttribute(i.toLowerCase()+"$lit$").split(w),e=/([.?@])?(.*)/.exec(i);a.push({type:1,index:n,name:e[2],strings:t,ctor:"."===e[1]?K:"?"===e[1]?Y:"@"===e[1]?q:W})}else a.push({type:6,index:n})}for(const e of t)r.removeAttribute(e)}if(M.test(r.tagName)){const t=r.textContent.split(w),e=t.length-1;if(e>0){r.textContent=g?g.emptyScript:"";for(let i=0;i<e;i++)r.append(t[i],A()),N.nextNode(),a.push({type:2,index:++n});r.append(t[e],A())}}}else if(8===r.nodeType)if(r.data===_)a.push({type:2,index:n});else{let t=-1;for(;-1!==(t=r.data.indexOf(w,t+1));)a.push({type:7,index:n}),t+=w.length-1}n++}}static createElement(t,e){const i=S.createElement("template");return i.innerHTML=t,i}}function H(t,e,i=t,r){var n,o,s,a;if(e===L)return e;let c=void 0!==r?null===(n=i._$Cl)||void 0===n?void 0:n[r]:i._$Cu;const l=C(e)?void 0:e._$litDirective$;return(null==c?void 0:c.constructor)!==l&&(null===(o=null==c?void 0:c._$AO)||void 0===o||o.call(c,!1),void 0===l?c=void 0:(c=new l(t),c._$AT(t,i,r)),void 0!==r?(null!==(s=(a=i)._$Cl)&&void 0!==s?s:a._$Cl=[])[r]=c:i._$Cu=c),void 0!==c&&(e=H(t,c._$AS(t,e.values),c,r)),e}class U{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:r}=this._$AD,n=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:S).importNode(i,!0);N.currentNode=n;let o=N.nextNode(),s=0,a=0,c=r[0];for(;void 0!==c;){if(s===c.index){let e;2===c.type?e=new V(o,o.nextSibling,this,t):1===c.type?e=new c.ctor(o,c.name,c.strings,this,t):6===c.type&&(e=new X(o,this,t)),this.v.push(e),c=r[++a]}s!==(null==c?void 0:c.index)&&(o=N.nextNode(),s++)}return n}m(t){let e=0;for(const i of this.v)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class V{constructor(t,e,i,r){var n;this.type=2,this._$AH=D,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=r,this._$Cg=null===(n=null==r?void 0:r.isConnected)||void 0===n||n}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=H(this,t,e),C(t)?t===D||null==t||""===t?(this._$AH!==D&&this._$AR(),this._$AH=D):t!==this._$AH&&t!==L&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):E(t)?this.A(t):this.$(t)}M(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==D&&C(this._$AH)?this._$AA.nextSibling.data=t:this.S(S.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:r}=t,n="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=B.createElement(r.h,this.options)),r);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.m(i);else{const t=new U(n,this),e=t.p(this.options);t.m(i),this.S(e),this._$AH=t}}_$AC(t){let e=P.get(t.strings);return void 0===e&&P.set(t.strings,e=new B(t)),e}A(t){T(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,r=0;for(const n of t)r===e.length?e.push(i=new V(this.M(A()),this.M(A()),this,this.options)):i=e[r],i._$AI(n),r++;r<e.length&&(this._$AR(i&&i._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class W{constructor(t,e,i,r,n){this.type=1,this._$AH=D,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=n,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=D}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,r){const n=this.strings;let o=!1;if(void 0===n)t=H(this,t,e,0),o=!C(t)||t!==this._$AH&&t!==L,o&&(this._$AH=t);else{const r=t;let s,a;for(t=n[0],s=0;s<n.length-1;s++)a=H(this,r[i+s],e,s),a===L&&(a=this._$AH[s]),o||(o=!C(a)||a!==this._$AH[s]),a===D?t=D:t!==D&&(t+=(null!=a?a:"")+n[s+1]),this._$AH[s]=a}o&&!r&&this.k(t)}k(t){t===D?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class K extends W{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===D?void 0:t}}const G=g?g.emptyScript:"";class Y extends W{constructor(){super(...arguments),this.type=4}k(t){t&&t!==D?this.element.setAttribute(this.name,G):this.element.removeAttribute(this.name)}}class q extends W{constructor(t,e,i,r,n){super(t,e,i,r,n),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=H(this,t,e,0))&&void 0!==i?i:D)===L)return;const r=this._$AH,n=t===D&&r!==D||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==D&&(r===D||n);n&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}}class X{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){H(this,t)}}const Z={P:"$lit$",V:w,L:_,I:1,N:F,R:U,D:E,j:H,H:V,O:W,F:Y,B:q,W:K,Z:X},J=window.litHtmlPolyfillSupport;
19
+ /**
20
+ * @license
21
+ * Copyright 2017 Google LLC
22
+ * SPDX-License-Identifier: BSD-3-Clause
23
+ */
24
+ var Q,tt;null==J||J(B,V),(null!==(b=globalThis.litHtmlVersions)&&void 0!==b?b:globalThis.litHtmlVersions=[]).push("2.1.3");class et extends v{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=((t,e,i)=>{var r,n;const o=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:e;let s=o._$litPart$;if(void 0===s){const t=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:null;o._$litPart$=s=new V(e.insertBefore(A(),t),t,void 0,null!=i?i:{})}return s._$AI(t),s})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return L}}et.finalized=!0,et._$litElement$=!0,null===(Q=globalThis.litElementHydrateSupport)||void 0===Q||Q.call(globalThis,{LitElement:et});const it=globalThis.litElementPolyfillSupport;null==it||it({LitElement:et}),(null!==(tt=globalThis.litElementVersions)&&void 0!==tt?tt:globalThis.litElementVersions=[]).push("3.1.2");
25
+ /**
26
+ * @license
27
+ * Copyright 2017 Google LLC
28
+ * SPDX-License-Identifier: BSD-3-Clause
29
+ */
30
+ const rt=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:r}=e;return{kind:i,elements:r,finisher(e){window.customElements.define(t,e)}}})(t,e)
31
+ /**
32
+ * @license
33
+ * Copyright 2017 Google LLC
34
+ * SPDX-License-Identifier: BSD-3-Clause
35
+ */,nt=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function ot(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):nt(t,e)
36
+ /**
37
+ * @license
38
+ * Copyright 2017 Google LLC
39
+ * SPDX-License-Identifier: BSD-3-Clause
40
+ */}function st(t){return ot({...t,state:!0})}
41
+ /**
42
+ * @license
43
+ * Copyright 2017 Google LLC
44
+ * SPDX-License-Identifier: BSD-3-Clause
45
+ */const at=({finisher:t,descriptor:e})=>(i,r)=>{var n;if(void 0===r){const r=null!==(n=i.originalKey)&&void 0!==n?n:i.key,o=null!=e?{kind:"method",placement:"prototype",key:r,descriptor:e(i.key)}:{...i,key:r};return null!=t&&(o.finisher=function(e){t(e,r)}),o}{const n=i.constructor;void 0!==e&&Object.defineProperty(i,r,e(r)),null==t||t(n,r)}}
46
+ /**
47
+ * @license
48
+ * Copyright 2017 Google LLC
49
+ * SPDX-License-Identifier: BSD-3-Clause
50
+ */;function ct(t){return at({finisher:(e,i)=>{Object.assign(e.prototype[i],t)}})}
51
+ /**
52
+ * @license
53
+ * Copyright 2017 Google LLC
54
+ * SPDX-License-Identifier: BSD-3-Clause
55
+ */function lt(t,e){return at({descriptor:i=>{const r={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;r.get=function(){var i,r;return void 0===this[e]&&(this[e]=null!==(r=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==r?r:null),this[e]}}return r}})}
56
+ /**
57
+ * @license
58
+ * Copyright 2017 Google LLC
59
+ * SPDX-License-Identifier: BSD-3-Clause
60
+ */
61
+ /**
62
+ * @license
63
+ * Copyright 2021 Google LLC
64
+ * SPDX-License-Identifier: BSD-3-Clause
65
+ */
66
+ var dt;null===(dt=window.HTMLSlotElement)||void 0===dt||dt.prototype.assignedElements;
67
+ /**
68
+ * @license
69
+ * Copyright 2017 Google LLC
70
+ * SPDX-License-Identifier: BSD-3-Clause
71
+ */
72
+ const ut=1,pt=2,ht=t=>(...e)=>({_$litDirective$:t,values:e});class ft{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
73
+ /**
74
+ * @license
75
+ * Copyright 2020 Google LLC
76
+ * SPDX-License-Identifier: BSD-3-Clause
77
+ */const{H:mt}=Z,vt=()=>document.createComment(""),bt=(t,e,i)=>{var r;const n=t._$AA.parentNode,o=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=n.insertBefore(vt(),o),r=n.insertBefore(vt(),o);i=new mt(e,r,t,t.options)}else{const e=i._$AB.nextSibling,s=i._$AM,a=s!==t;if(a){let e;null===(r=i._$AQ)||void 0===r||r.call(i,t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==s._$AU&&i._$AP(e)}if(e!==o||a){let t=i._$AA;for(;t!==e;){const e=t.nextSibling;n.insertBefore(t,o),t=e}}}return i},gt=(t,e,i=t)=>(t._$AI(e,i),t),yt={},wt=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let i=t._$AA;const r=t._$AB.nextSibling;for(;i!==r;){const t=i.nextSibling;i.remove(),i=t}},_t=(t,e,i)=>{const r=new Map;for(let n=e;n<=i;n++)r.set(t[n],n);return r},xt=ht(class extends ft{constructor(t){if(super(t),t.type!==pt)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let r;void 0===i?i=e:void 0!==e&&(r=e);const n=[],o=[];let s=0;for(const e of t)n[s]=r?r(e,s):s,o[s]=i(e,s),s++;return{values:o,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,r]){var n;const o=(t=>t._$AH)(t),{values:s,keys:a}=this.dt(e,i,r);if(!Array.isArray(o))return this.at=a,s;const c=null!==(n=this.at)&&void 0!==n?n:this.at=[],l=[];let d,u,p=0,h=o.length-1,f=0,m=s.length-1;for(;p<=h&&f<=m;)if(null===o[p])p++;else if(null===o[h])h--;else if(c[p]===a[f])l[f]=gt(o[p],s[f]),p++,f++;else if(c[h]===a[m])l[m]=gt(o[h],s[m]),h--,m--;else if(c[p]===a[m])l[m]=gt(o[p],s[m]),bt(t,l[m+1],o[p]),p++,m--;else if(c[h]===a[f])l[f]=gt(o[h],s[f]),bt(t,o[p],o[h]),h--,f++;else if(void 0===d&&(d=_t(a,f,m),u=_t(c,p,h)),d.has(c[p]))if(d.has(c[h])){const e=u.get(a[f]),i=void 0!==e?o[e]:null;if(null===i){const e=bt(t,o[p]);gt(e,s[f]),l[f]=e}else l[f]=gt(i,s[f]),bt(t,o[p],i),o[e]=null;f++}else wt(o[h]),h--;else wt(o[p]),p++;for(;f<=m;){const e=bt(t,l[m+1]);gt(e,s[f]),l[f++]=e}for(;p<=h;){const t=o[p++];null!==t&&wt(t)}return this.at=a,((t,e=yt)=>{t._$AH=e})(t,l),L}}),St=ht(class extends ft{constructor(t){var e;if(super(t),t.type!==ut||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var i,r;if(void 0===this.st){this.st=new Set,void 0!==t.strings&&(this.et=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!(null===(i=this.et)||void 0===i?void 0:i.has(t))&&this.st.add(t);return this.render(e)}const n=t.element.classList;this.st.forEach((t=>{t in e||(n.remove(t),this.st.delete(t))}));for(const t in e){const i=!!e[t];i===this.st.has(t)||(null===(r=this.et)||void 0===r?void 0:r.has(t))||(i?(n.add(t),this.st.add(t)):(n.remove(t),this.st.delete(t)))}return L}});
78
+ /**
79
+ * @license
80
+ * Copyright 2017 Google LLC
81
+ * SPDX-License-Identifier: BSD-3-Clause
82
+ */(function(){function t(t){var e=0;return function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}}}function e(e){var i="undefined"!=typeof Symbol&&Symbol.iterator&&e[Symbol.iterator];return i?i.call(e):{next:t(e)}}function i(t){if(!(t instanceof Array)){t=e(t);for(var i,r=[];!(i=t.next()).done;)r.push(i.value);t=r}return t}var r="function"==typeof Object.create?Object.create:function(t){function e(){}return e.prototype=t,new e};var n,o=function(t){t=["object"==typeof globalThis&&globalThis,t,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var e=0;e<t.length;++e){var i=t[e];if(i&&i.Math==Math)return i}throw Error("Cannot find global object")}(this),s=function(){if("undefined"!=typeof Reflect&&Reflect.construct){if(function(){function t(){}return Reflect.construct(t,[],(function(){})),new t instanceof t}())return Reflect.construct;var t=Reflect.construct;return function(e,i,r){return e=t(e,i),r&&Reflect.setPrototypeOf(e,r.prototype),e}}return function(t,e,i){return void 0===i&&(i=t),i=r(i.prototype||Object.prototype),Function.prototype.apply.call(t,i,e)||i}}();if("function"==typeof Object.setPrototypeOf)n=Object.setPrototypeOf;else{var a;t:{var c={};try{c.__proto__={a:!0},a=c.a;break t}catch(t){}a=!1}n=a?function(t,e){if(t.__proto__=e,t.__proto__!==e)throw new TypeError(t+" is not extensible");return t}:null}var l=n;if(!ShadowRoot.prototype.createElement){var d,u=window.HTMLElement,p=window.customElements.define,h=window.customElements.get,f=window.customElements,m=new WeakMap,v=new WeakMap,b=new WeakMap,g=new WeakMap;window.CustomElementRegistry=function(){this.l=new Map,this.o=new Map,this.i=new Map,this.h=new Map},window.CustomElementRegistry.prototype.define=function(t,i){if(t=t.toLowerCase(),void 0!==this.j(t))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': the name \""+t+'" has already been used with this registry');if(void 0!==this.o.get(i))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");var r=i.prototype.attributeChangedCallback,n=new Set(i.observedAttributes||[]);if(w(i,n,r),r={g:i,connectedCallback:i.prototype.connectedCallback,disconnectedCallback:i.prototype.disconnectedCallback,adoptedCallback:i.prototype.adoptedCallback,attributeChangedCallback:r,formAssociated:i.formAssociated,formAssociatedCallback:i.prototype.formAssociatedCallback,formDisabledCallback:i.prototype.formDisabledCallback,formResetCallback:i.prototype.formResetCallback,formStateRestoreCallback:i.prototype.formStateRestoreCallback,observedAttributes:n},this.l.set(t,r),this.o.set(i,r),(n=h.call(f,t))||(n=y(t),p.call(f,t,n)),this===window.customElements&&(b.set(i,r),r.s=n),n=this.h.get(t)){this.h.delete(t);for(var o=(n=e(n)).next();!o.done;o=n.next())o=o.value,v.delete(o),x(o,r,!0)}return void 0!==(r=this.i.get(t))&&(r.resolve(i),this.i.delete(t)),i},window.CustomElementRegistry.prototype.upgrade=function(){A.push(this),f.upgrade.apply(f,arguments),A.pop()},window.CustomElementRegistry.prototype.get=function(t){var e;return null==(e=this.l.get(t))?void 0:e.g},window.CustomElementRegistry.prototype.j=function(t){return this.l.get(t)},window.CustomElementRegistry.prototype.whenDefined=function(t){var e=this.j(t);if(void 0!==e)return Promise.resolve(e.g);var i=this.i.get(t);return void 0===i&&((i={}).promise=new Promise((function(t){return i.resolve=t})),this.i.set(t,i)),i.promise},window.CustomElementRegistry.prototype.m=function(t,e,i){var r=this.h.get(e);r||this.h.set(e,r=new Set),i?r.add(t):r.delete(t)},window.HTMLElement=function(){var t=d;if(t)return d=void 0,t;var e=b.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return t=Reflect.construct(u,[],e.s),Object.setPrototypeOf(t,this.constructor.prototype),m.set(t,e),t},window.HTMLElement.prototype=u.prototype;var y=function(t){function e(){var e=Reflect.construct(u,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);t:{var i=e.getRootNode();if(!(i===document||i instanceof ShadowRoot)){if((i=A[A.length-1])instanceof CustomElementRegistry){var r=i;break t}(i=i.getRootNode())===document||i instanceof ShadowRoot||(i=(null==(r=g.get(i))?void 0:r.getRootNode())||document)}r=i.customElements}return(i=(r=r||window.customElements).j(t))?x(e,i):v.set(e,r),e}return o.Object.defineProperty(e,"formAssociated",{configurable:!0,enumerable:!0,get:function(){return!0}}),e.prototype.connectedCallback=function(){var e=m.get(this);e?e.connectedCallback&&e.connectedCallback.apply(this,arguments):v.get(this).m(this,t,!0)},e.prototype.disconnectedCallback=function(){var e=m.get(this);e?e.disconnectedCallback&&e.disconnectedCallback.apply(this,arguments):v.get(this).m(this,t,!1)},e.prototype.adoptedCallback=function(){var t,e;null==(t=m.get(this))||null==(e=t.adoptedCallback)||e.apply(this,arguments)},e.prototype.formAssociatedCallback=function(){var t,e=m.get(this);e&&e.formAssociated&&(null==e||null==(t=e.formAssociatedCallback)||t.apply(this,arguments))},e.prototype.formDisabledCallback=function(){var t,e=m.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formDisabledCallback)||t.apply(this,arguments))},e.prototype.formResetCallback=function(){var t,e=m.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formResetCallback)||t.apply(this,arguments))},e.prototype.formStateRestoreCallback=function(){var t,e=m.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formStateRestoreCallback)||t.apply(this,arguments))},e},w=function(t,e,i){if(0!==e.size&&void 0!==i){var r=t.prototype.setAttribute;r&&(t.prototype.setAttribute=function(t,n){if(t=t.toLowerCase(),e.has(t)){var o=this.getAttribute(t);r.call(this,t,n),i.call(this,t,o,n)}else r.call(this,t,n)});var n=t.prototype.removeAttribute;n&&(t.prototype.removeAttribute=function(t){if(t=t.toLowerCase(),e.has(t)){var r=this.getAttribute(t);n.call(this,t),i.call(this,t,r,null)}else n.call(this,t)})}},_=function(t){var e=Object.getPrototypeOf(t);if(e!==window.HTMLElement)return e===u?Object.setPrototypeOf(t,window.HTMLElement):_(e)},x=function(t,e,i){i=void 0!==i&&i,Object.setPrototypeOf(t,e.g.prototype),m.set(t,e),d=t;try{new e.g}catch(t){_(e.g),new e.g}e.observedAttributes.forEach((function(i){t.hasAttribute(i)&&e.attributeChangedCallback.call(t,i,null,t.getAttribute(i))})),i&&e.connectedCallback&&t.isConnected&&e.connectedCallback.call(t)},S=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){var e=S.apply(this,arguments);return t.customElements&&(e.customElements=t.customElements),e};var A=[document],C=function(t,e,i){var r=(i?Object.getPrototypeOf(i):t.prototype)[e];t.prototype[e]=function(){A.push(this);var t=r.apply(i||this,arguments);return void 0!==t&&g.set(t,this),A.pop(),t}};C(ShadowRoot,"createElement",document),C(ShadowRoot,"importNode",document),C(Element,"insertAdjacentHTML");var T=function(t){var e=Object.getOwnPropertyDescriptor(t.prototype,"innerHTML");Object.defineProperty(t.prototype,"innerHTML",Object.assign({},e,{set:function(t){A.push(this),e.set.call(this,t),A.pop()}}))};if(T(Element),T(ShadowRoot),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){var E=new WeakMap,O=HTMLElement.prototype.attachInternals;HTMLElement.prototype.attachInternals=function(t){for(var e=[],r=0;r<arguments.length;++r)e[r]=arguments[r];return e=O.call.apply(O,[this].concat(i(e))),E.set(e,this),e},["setFormValue","setValidity","checkValidity","reportValidity"].forEach((function(t){var e=window.ElementInternals.prototype,r=e[t];e[t]=function(t){for(var e=[],n=0;n<arguments.length;++n)e[n]=arguments[n];if(n=E.get(this),!0!==m.get(n).formAssociated)throw new DOMException("Failed to execute "+r+" on 'ElementInternals': The target element is not a form-associated custom element.");null==r||r.call.apply(r,[this].concat(i(e)))}}));var k=function(t){var e=s(Array,[].concat(i(t)),this.constructor);return e.h=t,e},R=k,$=Array;if(R.prototype=r($.prototype),R.prototype.constructor=R,l)l(R,$);else for(var I in $)if("prototype"!=I)if(Object.defineProperties){var j=Object.getOwnPropertyDescriptor($,I);j&&Object.defineProperty(R,I,j)}else R[I]=$[I];R.u=$.prototype,o.Object.defineProperty(k.prototype,"value",{configurable:!0,enumerable:!0,get:function(){var t;return(null==(t=this.h.find((function(t){return!0===t.checked})))?void 0:t.value)||""}});var M=function(t){var e=this,i=new Map;t.forEach((function(t,r){var n=t.getAttribute("name"),o=i.get(n)||[];e[+r]=t,o.push(t),i.set(n,o)})),this.length=t.length,i.forEach((function(t,i){t&&(e[i]=1===t.length?t[0]:new k(t))}))};M.prototype.namedItem=function(t){return this[t]};var z=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){for(var t=z.get.call(this,[]),i=[],r=(t=e(t)).next();!r.done;r=t.next()){r=r.value;var n=m.get(r);n&&!0!==n.formAssociated||i.push(r)}return new M(i)}})}}}).call(self);try{window.customElements.define("custom-element",null)}catch(Et){const t=window.customElements.define;window.customElements.define=(e,i,r)=>{try{t.bind(window.customElements)(e,i,r)}catch(t){console.warn(e,i,r,t)}}}class At{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,e){this.callbacks=[t],this.debounce(e)}queue(t,e){this.callbacks.push(t),this.debounce(e)}cancel(){null!=this._debounce&&window.clearTimeout(this._debounce)}debounce(t){this.cancel(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout)}runCallbacks(){for(let t of this.callbacks)t();this.callbacks=[]}}const Ct=t=>e=>{window.customElements.get(t)||window.customElements.define(t,e)}
83
+ /**
84
+ * @license
85
+ * Copyright 2021 Google LLC
86
+ * SPDX-License-Identifier: BSD-3-Clause
87
+ */;class Tt extends(function(t){return class extends t{createRenderRoot(){const t=this.constructor,{registry:e,elementDefinitions:i,shadowRootOptions:r}=t;i&&!e&&(t.registry=new CustomElementRegistry,Object.entries(i).forEach((([e,i])=>t.registry.define(e,i))));const n=this.renderOptions.creationScope=this.attachShadow({...r,customElements:t.registry});return a(n,this.constructor.elementStyles),n}}}(et)){constructor(){super(),this.constructorName=this.constructor.name,this.proto=this.constructor.prototype}getStyles(){return[]}getTemplate(){return null}render(){let t=this.getStyles();return Array.isArray(t)||(t=[t]),z`${t.map((t=>z`<style>${t}</style>`))} ${this.getTemplate()}`}adoptedCallback(){Object.getPrototypeOf(this)!==this.constructorName&&Object.setPrototypeOf(this,this.proto)}updated(t){super.updated(t),setTimeout((()=>this.contentAvailableCallback(t)),0)}contentAvailableCallback(t){}}
88
+ /**
89
+ * @license
90
+ * Copyright 2017 Google LLC
91
+ * SPDX-License-Identifier: BSD-3-Clause
92
+ */class Et extends ft{constructor(t){if(super(t),this.it=D,t.type!==pt)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===D||null==t)return this.vt=void 0,this.it=t;if(t===L)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this.vt;this.it=t;const e=[t];return e.raw=e,this.vt={_$litType$:this.constructor.resultType,strings:e,values:[]}}}var Ot,kt;Et.directiveName="unsafeHTML",Et.resultType=1,navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(kt=null===(Ot=window.safari)||void 0===Ot?void 0:Ot.pushNotification)||void 0===kt||kt.toString());var Rt,$t=function(t,e,i,r){for(var n,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,a=t.length-1;a>=0;a--)(n=t[a])&&(s=(o<3?n(s):o>3?n(e,i,s):n(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};!function(t){t.before="before",t.current="current",t.after="after"}(Rt||(Rt={})),t.FtTab=class extends Tt{constructor(){super(...arguments),this.label="",this.icon="",this.position=Rt.before,this.disabled=!1}getStyles(){let t;switch(this.position){case Rt.before:t="-100%";break;case Rt.current:t="0";break;case Rt.after:t="100%"}return s`:host{width:100%;position:absolute;transition:left 250ms cubic-bezier(.4,0,.2,1);background-color:var(--ft-color-surface,#fff);left:${o(t)}}`}getTemplate(){return z`<slot></slot>`}updated(t){super.updated(t),this.dispatchEvent(new Event("updated"))}},t.FtTab.elementDefinitions={},$t([ot({type:String})],t.FtTab.prototype,"label",void 0),$t([ot({type:String})],t.FtTab.prototype,"icon",void 0),$t([ot({type:String})],t.FtTab.prototype,"position",void 0),$t([ot({type:Boolean})],t.FtTab.prototype,"disabled",void 0),t.FtTab=$t([Ct("ft-tab")],t.FtTab);
93
+ /*! *****************************************************************************
94
+ Copyright (c) Microsoft Corporation.
95
+
96
+ Permission to use, copy, modify, and/or distribute this software for any
97
+ purpose with or without fee is hereby granted.
98
+
99
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
100
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
101
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
102
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
103
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
104
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
105
+ PERFORMANCE OF THIS SOFTWARE.
106
+ ***************************************************************************** */
107
+ var It=function(t,e){return It=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},It(t,e)};function jt(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}It(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var Mt=function(){return Mt=Object.assign||function(t){for(var e,i=1,r=arguments.length;i<r;i++)for(var n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},Mt.apply(this,arguments)};function zt(t,e,i,r){for(var n,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,a=t.length-1;a>=0;a--)(n=t[a])&&(s=(o<3?n(s):o>3?n(e,i,s):n(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s}function Lt(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],r=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}
108
+ /**
109
+ * @license
110
+ * Copyright 2018 Google LLC
111
+ * SPDX-License-Identifier: Apache-2.0
112
+ */
113
+ function Dt(t){return{addClass:e=>{t.classList.add(e)},removeClass:e=>{t.classList.remove(e)},hasClass:e=>t.classList.contains(e)}}const Pt=()=>{},Nt={get passive(){return!1}};document.addEventListener("x",Pt,Nt),document.removeEventListener("x",Pt);
114
+ /**
115
+ * @license
116
+ * Copyright 2018 Google LLC
117
+ * SPDX-License-Identifier: Apache-2.0
118
+ */
119
+ class Ft extends et{click(){if(this.mdcRoot)return this.mdcRoot.focus(),void this.mdcRoot.click();super.click()}createFoundation(){void 0!==this.mdcFoundation&&this.mdcFoundation.destroy(),this.mdcFoundationClass&&(this.mdcFoundation=new this.mdcFoundationClass(this.createAdapter()),this.mdcFoundation.init())}firstUpdated(){this.createFoundation()}}
120
+ /**
121
+ * @license
122
+ * Copyright 2016 Google Inc.
123
+ *
124
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
125
+ * of this software and associated documentation files (the "Software"), to deal
126
+ * in the Software without restriction, including without limitation the rights
127
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
128
+ * copies of the Software, and to permit persons to whom the Software is
129
+ * furnished to do so, subject to the following conditions:
130
+ *
131
+ * The above copyright notice and this permission notice shall be included in
132
+ * all copies or substantial portions of the Software.
133
+ *
134
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
135
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
136
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
137
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
138
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
139
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
140
+ * THE SOFTWARE.
141
+ */var Bt=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),Ht={ACTIVE:"mdc-tab-indicator--active",FADE:"mdc-tab-indicator--fade",NO_TRANSITION:"mdc-tab-indicator--no-transition"},Ut={CONTENT_SELECTOR:".mdc-tab-indicator__content"},Vt=function(t){function e(i){return t.call(this,Mt(Mt({},e.defaultAdapter),i))||this}return jt(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return Ht},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return Ut},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},computeContentClientRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},setContentStyleProperty:function(){}}},enumerable:!1,configurable:!0}),e.prototype.computeContentClientRect=function(){return this.adapter.computeContentClientRect()},e}(Bt),Wt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return jt(e,t),e.prototype.activate=function(){this.adapter.addClass(Vt.cssClasses.ACTIVE)},e.prototype.deactivate=function(){this.adapter.removeClass(Vt.cssClasses.ACTIVE)},e}(Vt),Kt=Wt,Gt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return jt(e,t),e.prototype.activate=function(t){if(t){var e=this.computeContentClientRect(),i=t.width/e.width,r=t.left-e.left;this.adapter.addClass(Vt.cssClasses.NO_TRANSITION),this.adapter.setContentStyleProperty("transform","translateX("+r+"px) scaleX("+i+")"),this.computeContentClientRect(),this.adapter.removeClass(Vt.cssClasses.NO_TRANSITION),this.adapter.addClass(Vt.cssClasses.ACTIVE),this.adapter.setContentStyleProperty("transform","")}else this.adapter.addClass(Vt.cssClasses.ACTIVE)},e.prototype.deactivate=function(){this.adapter.removeClass(Vt.cssClasses.ACTIVE)},e}(Vt),Yt=Gt;
142
+ /**
143
+ * @license
144
+ * Copyright 2018 Google Inc.
145
+ *
146
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
147
+ * of this software and associated documentation files (the "Software"), to deal
148
+ * in the Software without restriction, including without limitation the rights
149
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
150
+ * copies of the Software, and to permit persons to whom the Software is
151
+ * furnished to do so, subject to the following conditions:
152
+ *
153
+ * The above copyright notice and this permission notice shall be included in
154
+ * all copies or substantial portions of the Software.
155
+ *
156
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
157
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
158
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
159
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
160
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
161
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
162
+ * THE SOFTWARE.
163
+ */
164
+ /**
165
+ * @license
166
+ * Copyright 2018 Google LLC
167
+ * SPDX-License-Identifier: Apache-2.0
168
+ */
169
+ class qt extends Ft{constructor(){super(...arguments),this.icon="",this.fade=!1}get mdcFoundationClass(){return this.fade?Kt:Yt}render(){const t={"mdc-tab-indicator__content--icon":this.icon,"material-icons":this.icon,"mdc-tab-indicator__content--underline":!this.icon};return z`<span class="mdc-tab-indicator ${St({"mdc-tab-indicator--fade":this.fade})}"><span class="mdc-tab-indicator__content ${St(t)}">${this.icon}</span></span>`}updated(t){t.has("fade")&&this.createFoundation()}createAdapter(){return Object.assign(Object.assign({},Dt(this.mdcRoot)),{computeContentClientRect:()=>this.contentElement.getBoundingClientRect(),setContentStyleProperty:(t,e)=>this.contentElement.style.setProperty(t,e)})}computeContentClientRect(){return this.mdcFoundation.computeContentClientRect()}activate(t){this.mdcFoundation.activate(t)}deactivate(){this.mdcFoundation.deactivate()}}zt([lt(".mdc-tab-indicator")],qt.prototype,"mdcRoot",void 0),zt([lt(".mdc-tab-indicator__content")],qt.prototype,"contentElement",void 0),zt([ot()],qt.prototype,"icon",void 0),zt([ot({type:Boolean})],qt.prototype,"fade",void 0);
170
+ /**
171
+ * @license
172
+ * Copyright 2021 Google LLC
173
+ * SPDX-LIcense-Identifier: Apache-2.0
174
+ */
175
+ const Xt=s`.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:400;font-style:normal;font-size:var(--mdc-icon-size,24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.mdc-tab-indicator .mdc-tab-indicator__content--icon{color:#018786;color:var(--mdc-theme-secondary,#018786)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:2px}.mdc-tab-indicator .mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(.4,0,.2,1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:.1s}`
176
+ /**
177
+ * @license
178
+ * Copyright 2018 Google LLC
179
+ * SPDX-License-Identifier: Apache-2.0
180
+ */;let Zt=class extends qt{};
181
+ /**
182
+ * @license
183
+ * Copyright 2018 Google Inc.
184
+ *
185
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
186
+ * of this software and associated documentation files (the "Software"), to deal
187
+ * in the Software without restriction, including without limitation the rights
188
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
189
+ * copies of the Software, and to permit persons to whom the Software is
190
+ * furnished to do so, subject to the following conditions:
191
+ *
192
+ * The above copyright notice and this permission notice shall be included in
193
+ * all copies or substantial portions of the Software.
194
+ *
195
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
196
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
197
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
198
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
199
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
200
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
201
+ * THE SOFTWARE.
202
+ */
203
+ function Jt(t,e){return(t.matches||t.webkitMatchesSelector||t.msMatchesSelector).call(t,e)}
204
+ /**
205
+ * @license
206
+ * Copyright 2016 Google Inc.
207
+ *
208
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
209
+ * of this software and associated documentation files (the "Software"), to deal
210
+ * in the Software without restriction, including without limitation the rights
211
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
212
+ * copies of the Software, and to permit persons to whom the Software is
213
+ * furnished to do so, subject to the following conditions:
214
+ *
215
+ * The above copyright notice and this permission notice shall be included in
216
+ * all copies or substantial portions of the Software.
217
+ *
218
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
219
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
220
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
221
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
222
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
223
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
224
+ * THE SOFTWARE.
225
+ */Zt.styles=[Xt],Zt=zt([rt("mwc-tab-indicator")],Zt);var Qt={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},te={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},ee={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};
226
+ /**
227
+ * @license
228
+ * Copyright 2016 Google Inc.
229
+ *
230
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
231
+ * of this software and associated documentation files (the "Software"), to deal
232
+ * in the Software without restriction, including without limitation the rights
233
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
234
+ * copies of the Software, and to permit persons to whom the Software is
235
+ * furnished to do so, subject to the following conditions:
236
+ *
237
+ * The above copyright notice and this permission notice shall be included in
238
+ * all copies or substantial portions of the Software.
239
+ *
240
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
241
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
242
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
243
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
244
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
245
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
246
+ * THE SOFTWARE.
247
+ */
248
+ var ie=["touchstart","pointerdown","mousedown","keydown"],re=["touchend","pointerup","mouseup","contextmenu"],ne=[],oe=function(t){function e(i){var r=t.call(this,Mt(Mt({},e.defaultAdapter),i))||this;return r.activationAnimationHasEnded=!1,r.activationTimer=0,r.fgDeactivationRemovalTimer=0,r.fgScale="0",r.frame={width:0,height:0},r.initialSize=0,r.layoutFrame=0,r.maxRadius=0,r.unboundedCoords={left:0,top:0},r.activationState=r.defaultActivationState(),r.activationTimerCallback=function(){r.activationAnimationHasEnded=!0,r.runDeactivationUXLogicIfReady()},r.activateHandler=function(t){r.activateImpl(t)},r.deactivateHandler=function(){r.deactivateImpl()},r.focusHandler=function(){r.handleFocus()},r.blurHandler=function(){r.handleBlur()},r.resizeHandler=function(){r.layout()},r}return jt(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return Qt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return te},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return ee},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this,i=this.supportsPressRipple();if(this.registerRootHandlers(i),i){var r=e.cssClasses,n=r.ROOT,o=r.UNBOUNDED;requestAnimationFrame((function(){t.adapter.addClass(n),t.adapter.isUnbounded()&&(t.adapter.addClass(o),t.layoutInternal())}))}},e.prototype.destroy=function(){var t=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(e.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(e.cssClasses.FG_DEACTIVATION));var i=e.cssClasses,r=i.ROOT,n=i.UNBOUNDED;requestAnimationFrame((function(){t.adapter.removeClass(r),t.adapter.removeClass(n),t.removeCssVars()}))}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},e.prototype.activate=function(t){this.activateImpl(t)},e.prototype.deactivate=function(){this.deactivateImpl()},e.prototype.layout=function(){var t=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame((function(){t.layoutInternal(),t.layoutFrame=0}))},e.prototype.setUnbounded=function(t){var i=e.cssClasses.UNBOUNDED;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.handleFocus=function(){var t=this;requestAnimationFrame((function(){return t.adapter.addClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.handleBlur=function(){var t=this;requestAnimationFrame((function(){return t.adapter.removeClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},e.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},e.prototype.registerRootHandlers=function(t){var e,i;if(t){try{for(var r=Lt(ie),n=r.next();!n.done;n=r.next()){var o=n.value;this.adapter.registerInteractionHandler(o,this.activateHandler)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(i=r.return)&&i.call(r)}finally{if(e)throw e.error}}this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler)}this.adapter.registerInteractionHandler("focus",this.focusHandler),this.adapter.registerInteractionHandler("blur",this.blurHandler)},e.prototype.registerDeactivationHandlers=function(t){var e,i;if("keydown"===t.type)this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var r=Lt(re),n=r.next();!n.done;n=r.next()){var o=n.value;this.adapter.registerDocumentInteractionHandler(o,this.deactivateHandler)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(i=r.return)&&i.call(r)}finally{if(e)throw e.error}}},e.prototype.deregisterRootHandlers=function(){var t,e;try{for(var i=Lt(ie),r=i.next();!r.done;r=i.next()){var n=r.value;this.adapter.deregisterInteractionHandler(n,this.activateHandler)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.adapter.deregisterInteractionHandler("focus",this.focusHandler),this.adapter.deregisterInteractionHandler("blur",this.blurHandler),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler)},e.prototype.deregisterDeactivationHandlers=function(){var t,e;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var i=Lt(re),r=i.next();!r.done;r=i.next()){var n=r.value;this.adapter.deregisterDocumentInteractionHandler(n,this.deactivateHandler)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}},e.prototype.removeCssVars=function(){var t=this,i=e.strings;Object.keys(i).forEach((function(e){0===e.indexOf("VAR_")&&t.adapter.updateCssVariable(i[e],null)}))},e.prototype.activateImpl=function(t){var e=this;if(!this.adapter.isSurfaceDisabled()){var i=this.activationState;if(!i.isActivated){var r=this.previousActivationEvent;if(!(r&&void 0!==t&&r.type!==t.type))i.isActivated=!0,i.isProgrammatic=void 0===t,i.activationEvent=t,i.wasActivatedByPointer=!i.isProgrammatic&&(void 0!==t&&("mousedown"===t.type||"touchstart"===t.type||"pointerdown"===t.type)),void 0!==t&&ne.length>0&&ne.some((function(t){return e.adapter.containsEventTarget(t)}))?this.resetActivationState():(void 0!==t&&(ne.push(t.target),this.registerDeactivationHandlers(t)),i.wasElementMadeActive=this.checkElementMadeActive(t),i.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame((function(){ne=[],i.wasElementMadeActive||void 0===t||" "!==t.key&&32!==t.keyCode||(i.wasElementMadeActive=e.checkElementMadeActive(t),i.wasElementMadeActive&&e.animateActivation()),i.wasElementMadeActive||(e.activationState=e.defaultActivationState())})))}}},e.prototype.checkElementMadeActive=function(t){return void 0===t||"keydown"!==t.type||this.adapter.isSurfaceActive()},e.prototype.animateActivation=function(){var t=this,i=e.strings,r=i.VAR_FG_TRANSLATE_START,n=i.VAR_FG_TRANSLATE_END,o=e.cssClasses,s=o.FG_DEACTIVATION,a=o.FG_ACTIVATION,c=e.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var l="",d="";if(!this.adapter.isUnbounded()){var u=this.getFgTranslationCoordinates(),p=u.startPoint,h=u.endPoint;l=p.x+"px, "+p.y+"px",d=h.x+"px, "+h.y+"px"}this.adapter.updateCssVariable(r,l),this.adapter.updateCssVariable(n,d),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(s),this.adapter.computeBoundingRect(),this.adapter.addClass(a),this.activationTimer=setTimeout((function(){t.activationTimerCallback()}),c)},e.prototype.getFgTranslationCoordinates=function(){var t,e=this.activationState,i=e.activationEvent;return t=e.wasActivatedByPointer?function(t,e,i){if(!t)return{x:0,y:0};var r,n,o=e.x,s=e.y,a=o+i.left,c=s+i.top;if("touchstart"===t.type){var l=t;r=l.changedTouches[0].pageX-a,n=l.changedTouches[0].pageY-c}else{var d=t;r=d.pageX-a,n=d.pageY-c}return{x:r,y:n}}(i,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect()):{x:this.frame.width/2,y:this.frame.height/2},{startPoint:t={x:t.x-this.initialSize/2,y:t.y-this.initialSize/2},endPoint:{x:this.frame.width/2-this.initialSize/2,y:this.frame.height/2-this.initialSize/2}}},e.prototype.runDeactivationUXLogicIfReady=function(){var t=this,i=e.cssClasses.FG_DEACTIVATION,r=this.activationState,n=r.hasDeactivationUXRun,o=r.isActivated;(n||!o)&&this.activationAnimationHasEnded&&(this.rmBoundedActivationClasses(),this.adapter.addClass(i),this.fgDeactivationRemovalTimer=setTimeout((function(){t.adapter.removeClass(i)}),ee.FG_DEACTIVATION_MS))},e.prototype.rmBoundedActivationClasses=function(){var t=e.cssClasses.FG_ACTIVATION;this.adapter.removeClass(t),this.activationAnimationHasEnded=!1,this.adapter.computeBoundingRect()},e.prototype.resetActivationState=function(){var t=this;this.previousActivationEvent=this.activationState.activationEvent,this.activationState=this.defaultActivationState(),setTimeout((function(){return t.previousActivationEvent=void 0}),e.numbers.TAP_DELAY_MS)},e.prototype.deactivateImpl=function(){var t=this,e=this.activationState;if(e.isActivated){var i=Mt({},e);e.isProgrammatic?(requestAnimationFrame((function(){t.animateDeactivation(i)})),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame((function(){t.activationState.hasDeactivationUXRun=!0,t.animateDeactivation(i),t.resetActivationState()})))}},e.prototype.animateDeactivation=function(t){var e=t.wasActivatedByPointer,i=t.wasElementMadeActive;(e||i)&&this.runDeactivationUXLogicIfReady()},e.prototype.layoutInternal=function(){var t=this;this.frame=this.adapter.computeBoundingRect();var i=Math.max(this.frame.height,this.frame.width);this.maxRadius=this.adapter.isUnbounded()?i:Math.sqrt(Math.pow(t.frame.width,2)+Math.pow(t.frame.height,2))+e.numbers.PADDING;var r=Math.floor(i*e.numbers.INITIAL_ORIGIN_SCALE);this.adapter.isUnbounded()&&r%2!=0?this.initialSize=r-1:this.initialSize=r,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},e.prototype.updateLayoutCssVars=function(){var t=e.strings,i=t.VAR_FG_SIZE,r=t.VAR_LEFT,n=t.VAR_TOP,o=t.VAR_FG_SCALE;this.adapter.updateCssVariable(i,this.initialSize+"px"),this.adapter.updateCssVariable(o,this.fgScale),this.adapter.isUnbounded()&&(this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)},this.adapter.updateCssVariable(r,this.unboundedCoords.left+"px"),this.adapter.updateCssVariable(n,this.unboundedCoords.top+"px"))},e}(Bt),se=oe;
249
+ /**
250
+ * @license
251
+ * Copyright 2018 Google LLC
252
+ * SPDX-License-Identifier: BSD-3-Clause
253
+ */
254
+ const ae=ht(class extends ft{constructor(t){var e;if(super(t),t.type!==ut||"style"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,i)=>{const r=t[i];return null==r?e:e+`${i=i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`}),"")}update(t,[e]){const{style:i}=t.element;if(void 0===this.ct){this.ct=new Set;for(const t in e)this.ct.add(t);return this.render(e)}this.ct.forEach((t=>{null==e[t]&&(this.ct.delete(t),t.includes("-")?i.removeProperty(t):i[t]="")}));for(const t in e){const r=e[t];null!=r&&(this.ct.add(t),t.includes("-")?i.setProperty(t,r):i[t]=r)}return L}});
255
+ /**
256
+ * @license
257
+ * Copyright 2018 Google LLC
258
+ * SPDX-License-Identifier: Apache-2.0
259
+ */class ce extends Ft{constructor(){super(...arguments),this.primary=!1,this.accent=!1,this.unbounded=!1,this.disabled=!1,this.activated=!1,this.selected=!1,this.internalUseStateLayerCustomProperties=!1,this.hovering=!1,this.bgFocused=!1,this.fgActivation=!1,this.fgDeactivation=!1,this.fgScale="",this.fgSize="",this.translateStart="",this.translateEnd="",this.leftPos="",this.topPos="",this.mdcFoundationClass=se}get isActive(){return Jt(this.parentElement||this,":active")}createAdapter(){return{browserSupportsCssVars:()=>!0,isUnbounded:()=>this.unbounded,isSurfaceActive:()=>this.isActive,isSurfaceDisabled:()=>this.disabled,addClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!0;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!0;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!0}},removeClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!1;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!1;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!1}},containsEventTarget:()=>!0,registerInteractionHandler:()=>{},deregisterInteractionHandler:()=>{},registerDocumentInteractionHandler:()=>{},deregisterDocumentInteractionHandler:()=>{},registerResizeHandler:()=>{},deregisterResizeHandler:()=>{},updateCssVariable:(t,e)=>{switch(t){case"--mdc-ripple-fg-scale":this.fgScale=e;break;case"--mdc-ripple-fg-size":this.fgSize=e;break;case"--mdc-ripple-fg-translate-end":this.translateEnd=e;break;case"--mdc-ripple-fg-translate-start":this.translateStart=e;break;case"--mdc-ripple-left":this.leftPos=e;break;case"--mdc-ripple-top":this.topPos=e}},computeBoundingRect:()=>(this.parentElement||this).getBoundingClientRect(),getWindowPageOffset:()=>({x:window.pageXOffset,y:window.pageYOffset})}}startPress(t){this.waitForFoundation((()=>{this.mdcFoundation.activate(t)}))}endPress(){this.waitForFoundation((()=>{this.mdcFoundation.deactivate()}))}startFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleFocus()}))}endFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleBlur()}))}startHover(){this.hovering=!0}endHover(){this.hovering=!1}waitForFoundation(t){this.mdcFoundation?t():this.updateComplete.then(t)}update(t){t.has("disabled")&&this.disabled&&this.endHover(),super.update(t)}render(){const t=this.activated&&(this.primary||!this.accent),e=this.selected&&(this.primary||!this.accent),i={"mdc-ripple-surface--accent":this.accent,"mdc-ripple-surface--primary--activated":t,"mdc-ripple-surface--accent--activated":this.accent&&this.activated,"mdc-ripple-surface--primary--selected":e,"mdc-ripple-surface--accent--selected":this.accent&&this.selected,"mdc-ripple-surface--disabled":this.disabled,"mdc-ripple-surface--hover":this.hovering,"mdc-ripple-surface--primary":this.primary,"mdc-ripple-surface--selected":this.selected,"mdc-ripple-upgraded--background-focused":this.bgFocused,"mdc-ripple-upgraded--foreground-activation":this.fgActivation,"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation,"mdc-ripple-upgraded--unbounded":this.unbounded,"mdc-ripple-surface--internal-use-state-layer-custom-properties":this.internalUseStateLayerCustomProperties};return z`<div class="mdc-ripple-surface mdc-ripple-upgraded ${St(i)}" style="${ae({"--mdc-ripple-fg-scale":this.fgScale,"--mdc-ripple-fg-size":this.fgSize,"--mdc-ripple-fg-translate-end":this.translateEnd,"--mdc-ripple-fg-translate-start":this.translateStart,"--mdc-ripple-left":this.leftPos,"--mdc-ripple-top":this.topPos})}"></div>`}}zt([lt(".mdc-ripple-surface")],ce.prototype,"mdcRoot",void 0),zt([ot({type:Boolean})],ce.prototype,"primary",void 0),zt([ot({type:Boolean})],ce.prototype,"accent",void 0),zt([ot({type:Boolean})],ce.prototype,"unbounded",void 0),zt([ot({type:Boolean})],ce.prototype,"disabled",void 0),zt([ot({type:Boolean})],ce.prototype,"activated",void 0),zt([ot({type:Boolean})],ce.prototype,"selected",void 0),zt([ot({type:Boolean})],ce.prototype,"internalUseStateLayerCustomProperties",void 0),zt([st()],ce.prototype,"hovering",void 0),zt([st()],ce.prototype,"bgFocused",void 0),zt([st()],ce.prototype,"fgActivation",void 0),zt([st()],ce.prototype,"fgDeactivation",void 0),zt([st()],ce.prototype,"fgScale",void 0),zt([st()],ce.prototype,"fgSize",void 0),zt([st()],ce.prototype,"translateStart",void 0),zt([st()],ce.prototype,"translateEnd",void 0),zt([st()],ce.prototype,"leftPos",void 0),zt([st()],ce.prototype,"topPos",void 0);
260
+ /**
261
+ * @license
262
+ * Copyright 2021 Google LLC
263
+ * SPDX-LIcense-Identifier: Apache-2.0
264
+ */
265
+ const le=s`.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity,0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity,0)}to{opacity:0}}:host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:block}:host .mdc-ripple-surface{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;will-change:unset}.mdc-ripple-surface--primary::after,.mdc-ripple-surface--primary::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.mdc-ripple-surface--primary.mdc-ripple-surface--hover::before,.mdc-ripple-surface--primary:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12)}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12)}.mdc-ripple-surface--primary.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--primary--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity,.12)}.mdc-ripple-surface--primary--activated::after,.mdc-ripple-surface--primary--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.mdc-ripple-surface--primary--activated.mdc-ripple-surface--hover::before,.mdc-ripple-surface--primary--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity,.16)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24)}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--primary--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity,.08)}.mdc-ripple-surface--primary--selected::after,.mdc-ripple-surface--primary--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.mdc-ripple-surface--primary--selected.mdc-ripple-surface--hover::before,.mdc-ripple-surface--primary--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity,.12)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity,.2)}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity,.2)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--accent::after,.mdc-ripple-surface--accent::before{background-color:#018786;background-color:var(--mdc-ripple-color,var(--mdc-theme-secondary,#018786))}.mdc-ripple-surface--accent.mdc-ripple-surface--hover::before,.mdc-ripple-surface--accent:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12)}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12)}.mdc-ripple-surface--accent.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--accent--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity,.12)}.mdc-ripple-surface--accent--activated::after,.mdc-ripple-surface--accent--activated::before{background-color:#018786;background-color:var(--mdc-ripple-color,var(--mdc-theme-secondary,#018786))}.mdc-ripple-surface--accent--activated.mdc-ripple-surface--hover::before,.mdc-ripple-surface--accent--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity,.16)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity,.24)}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity,.24)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--accent--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity,.08)}.mdc-ripple-surface--accent--selected::after,.mdc-ripple-surface--accent--selected::before{background-color:#018786;background-color:var(--mdc-ripple-color,var(--mdc-theme-secondary,#018786))}.mdc-ripple-surface--accent--selected.mdc-ripple-surface--hover::before,.mdc-ripple-surface--accent--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity,.12)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity,.2)}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity,.2)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--disabled{opacity:0}.mdc-ripple-surface--internal-use-state-layer-custom-properties::after,.mdc-ripple-surface--internal-use-state-layer-custom-properties::before{background-color:#000;background-color:var(--mdc-ripple-hover-state-layer-color,#000)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-surface--hover::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-state-layer-opacity,.04)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-state-layer-opacity,.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-pressed-state-layer-opacity,.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-pressed-state-layer-opacity, 0.12)}`
266
+ /**
267
+ * @license
268
+ * Copyright 2018 Google LLC
269
+ * SPDX-License-Identifier: Apache-2.0
270
+ */;let de=class extends ce{};de.styles=[le],de=zt([rt("mwc-ripple")],de);
271
+ /**
272
+ * @license
273
+ * Copyright 2018 Google LLC
274
+ * SPDX-License-Identifier: Apache-2.0
275
+ */
276
+ const ue=t=>(e,i)=>{if(e.constructor._observers){if(!e.constructor.hasOwnProperty("_observers")){const t=e.constructor._observers;e.constructor._observers=new Map,t.forEach(((t,i)=>e.constructor._observers.set(i,t)))}}else{e.constructor._observers=new Map;const t=e.updated;e.updated=function(e){t.call(this,e),e.forEach(((t,e)=>{const i=this.constructor._observers.get(e);void 0!==i&&i.call(this,this[e],t)}))}}e.constructor._observers.set(i,t)}
277
+ /**
278
+ * @license
279
+ * Copyright 2020 Google LLC
280
+ * SPDX-License-Identifier: Apache-2.0
281
+ */;class pe{constructor(t){this.startPress=e=>{t().then((t=>{t&&t.startPress(e)}))},this.endPress=()=>{t().then((t=>{t&&t.endPress()}))},this.startFocus=()=>{t().then((t=>{t&&t.startFocus()}))},this.endFocus=()=>{t().then((t=>{t&&t.endFocus()}))},this.startHover=()=>{t().then((t=>{t&&t.startHover()}))},this.endHover=()=>{t().then((t=>{t&&t.endHover()}))}}}
282
+ /**
283
+ * @license
284
+ * Copyright 2018 Google Inc.
285
+ *
286
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
287
+ * of this software and associated documentation files (the "Software"), to deal
288
+ * in the Software without restriction, including without limitation the rights
289
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
290
+ * copies of the Software, and to permit persons to whom the Software is
291
+ * furnished to do so, subject to the following conditions:
292
+ *
293
+ * The above copyright notice and this permission notice shall be included in
294
+ * all copies or substantial portions of the Software.
295
+ *
296
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
297
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
298
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
299
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
300
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
301
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
302
+ * THE SOFTWARE.
303
+ */var he={ACTIVE:"mdc-tab--active"},fe={ARIA_SELECTED:"aria-selected",CONTENT_SELECTOR:".mdc-tab__content",INTERACTED_EVENT:"MDCTab:interacted",RIPPLE_SELECTOR:".mdc-tab__ripple",TABINDEX:"tabIndex",TAB_INDICATOR_SELECTOR:".mdc-tab-indicator"},me=function(t){function e(i){var r=t.call(this,Mt(Mt({},e.defaultAdapter),i))||this;return r.focusOnActivate=!0,r}return jt(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return he},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return fe},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},setAttr:function(){},activateIndicator:function(){},deactivateIndicator:function(){},notifyInteracted:function(){},getOffsetLeft:function(){return 0},getOffsetWidth:function(){return 0},getContentOffsetLeft:function(){return 0},getContentOffsetWidth:function(){return 0},focus:function(){}}},enumerable:!1,configurable:!0}),e.prototype.handleClick=function(){this.adapter.notifyInteracted()},e.prototype.isActive=function(){return this.adapter.hasClass(he.ACTIVE)},e.prototype.setFocusOnActivate=function(t){this.focusOnActivate=t},e.prototype.activate=function(t){this.adapter.addClass(he.ACTIVE),this.adapter.setAttr(fe.ARIA_SELECTED,"true"),this.adapter.setAttr(fe.TABINDEX,"0"),this.adapter.activateIndicator(t),this.focusOnActivate&&this.adapter.focus()},e.prototype.deactivate=function(){this.isActive()&&(this.adapter.removeClass(he.ACTIVE),this.adapter.setAttr(fe.ARIA_SELECTED,"false"),this.adapter.setAttr(fe.TABINDEX,"-1"),this.adapter.deactivateIndicator())},e.prototype.computeDimensions=function(){var t=this.adapter.getOffsetWidth(),e=this.adapter.getOffsetLeft(),i=this.adapter.getContentOffsetWidth(),r=this.adapter.getContentOffsetLeft();return{contentLeft:e+r,contentRight:e+r+i,rootLeft:e,rootRight:e+t}},e}(Bt);
304
+ /**
305
+ * @license
306
+ * Copyright 2018 Google LLC
307
+ * SPDX-License-Identifier: Apache-2.0
308
+ */
309
+ let ve=0;class be extends Ft{constructor(){super(...arguments),this.mdcFoundationClass=me,this.label="",this.icon="",this.hasImageIcon=!1,this.isFadingIndicator=!1,this.minWidth=!1,this.isMinWidthIndicator=!1,this.indicatorIcon="",this.stacked=!1,this.focusOnActivate=!0,this._active=!1,this.initFocus=!1,this.shouldRenderRipple=!1,this.useStateLayerCustomProperties=!1,this.rippleElement=null,this.rippleHandlers=new pe((()=>(this.shouldRenderRipple=!0,this.ripple.then((t=>this.rippleElement=t)),this.ripple)))}get active(){return this._active}connectedCallback(){this.dir=document.dir,super.connectedCallback()}firstUpdated(){super.firstUpdated(),this.id=this.id||"mdc-tab-"+ ++ve}render(){const t={"mdc-tab--min-width":this.minWidth,"mdc-tab--stacked":this.stacked};let e=z``;(this.hasImageIcon||this.icon)&&(e=z`<span class="mdc-tab__icon material-icons"><slot name="icon">${this.icon}</slot></span>`);let i=z``;return this.label&&(i=z`<span class="mdc-tab__text-label">${this.label}</span>`),z`<button @click="${this.handleClick}" class="mdc-tab ${St(t)}" role="tab" aria-selected="false" tabindex="-1" @focus="${this.focus}" @blur="${this.handleBlur}" @mousedown="${this.handleRippleMouseDown}" @mouseenter="${this.handleRippleMouseEnter}" @mouseleave="${this.handleRippleMouseLeave}" @touchstart="${this.handleRippleTouchStart}" @touchend="${this.handleRippleDeactivate}" @touchcancel="${this.handleRippleDeactivate}"><span class="mdc-tab__content">${e} ${i} ${this.isMinWidthIndicator?this.renderIndicator():""} </span>${this.isMinWidthIndicator?"":this.renderIndicator()} ${this.renderRipple()}</button>`}renderIndicator(){return z`<mwc-tab-indicator .icon="${this.indicatorIcon}" .fade="${this.isFadingIndicator}"></mwc-tab-indicator>`}renderRipple(){return this.shouldRenderRipple?z`<mwc-ripple primary .internalUseStateLayerCustomProperties="${this.useStateLayerCustomProperties}"></mwc-ripple>`:""}createAdapter(){return Object.assign(Object.assign({},Dt(this.mdcRoot)),{setAttr:(t,e)=>this.mdcRoot.setAttribute(t,e),activateIndicator:async t=>{await this.tabIndicator.updateComplete,this.tabIndicator.activate(t)},deactivateIndicator:async()=>{await this.tabIndicator.updateComplete,this.tabIndicator.deactivate()},notifyInteracted:()=>this.dispatchEvent(new CustomEvent(me.strings.INTERACTED_EVENT,{detail:{tabId:this.id},bubbles:!0,composed:!0,cancelable:!0})),getOffsetLeft:()=>this.offsetLeft,getOffsetWidth:()=>this.mdcRoot.offsetWidth,getContentOffsetLeft:()=>this._contentElement.offsetLeft,getContentOffsetWidth:()=>this._contentElement.offsetWidth,focus:()=>{this.initFocus?this.initFocus=!1:this.mdcRoot.focus()}})}activate(t){t||(this.initFocus=!0),this.mdcFoundation?(this.mdcFoundation.activate(t),this.setActive(this.mdcFoundation.isActive())):this.updateComplete.then((()=>{this.mdcFoundation.activate(t),this.setActive(this.mdcFoundation.isActive())}))}deactivate(){this.mdcFoundation.deactivate(),this.setActive(this.mdcFoundation.isActive())}setActive(t){const e=this.active;e!==t&&(this._active=t,this.requestUpdate("active",e))}computeDimensions(){return this.mdcFoundation.computeDimensions()}computeIndicatorClientRect(){return this.tabIndicator.computeContentClientRect()}focus(){this.mdcRoot.focus(),this.handleFocus()}handleClick(){this.handleFocus(),this.mdcFoundation.handleClick()}handleFocus(){this.handleRippleFocus()}handleBlur(){this.handleRippleBlur()}handleRippleMouseDown(t){const e=()=>{window.removeEventListener("mouseup",e),this.handleRippleDeactivate()};window.addEventListener("mouseup",e),this.rippleHandlers.startPress(t)}handleRippleTouchStart(t){this.rippleHandlers.startPress(t)}handleRippleDeactivate(){this.rippleHandlers.endPress()}handleRippleMouseEnter(){this.rippleHandlers.startHover()}handleRippleMouseLeave(){this.rippleHandlers.endHover()}handleRippleFocus(){this.rippleHandlers.startFocus()}handleRippleBlur(){this.rippleHandlers.endFocus()}get isRippleActive(){var t;return(null===(t=this.rippleElement)||void 0===t?void 0:t.isActive)||!1}}be.shadowRootOptions={mode:"open",delegatesFocus:!0},zt([lt(".mdc-tab")],be.prototype,"mdcRoot",void 0),zt([lt("mwc-tab-indicator")],be.prototype,"tabIndicator",void 0),zt([ot()],be.prototype,"label",void 0),zt([ot()],be.prototype,"icon",void 0),zt([ot({type:Boolean})],be.prototype,"hasImageIcon",void 0),zt([ot({type:Boolean})],be.prototype,"isFadingIndicator",void 0),zt([ot({type:Boolean})],be.prototype,"minWidth",void 0),zt([ot({type:Boolean})],be.prototype,"isMinWidthIndicator",void 0),zt([ot({type:Boolean,reflect:!0,attribute:"active"})],be.prototype,"active",null),zt([ot()],be.prototype,"indicatorIcon",void 0),zt([ot({type:Boolean})],be.prototype,"stacked",void 0),zt([ue((async function(t){await this.updateComplete,this.mdcFoundation.setFocusOnActivate(t)})),ot({type:Boolean})],be.prototype,"focusOnActivate",void 0),zt([lt(".mdc-tab__content")],be.prototype,"_contentElement",void 0),zt([st()],be.prototype,"shouldRenderRipple",void 0),zt([st()],be.prototype,"useStateLayerCustomProperties",void 0),zt([function(t){return at({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}("mwc-ripple")],be.prototype,"ripple",void 0),zt([ct({passive:!0})],be.prototype,"handleRippleTouchStart",null);
310
+ /**
311
+ * @license
312
+ * Copyright 2021 Google LLC
313
+ * SPDX-LIcense-Identifier: Apache-2.0
314
+ */
315
+ const ge=s`.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:400;font-style:normal;font-size:var(--mdc-icon-size,24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.mdc-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family,var(--mdc-typography-font-family,Roboto,sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size,.875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height,2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing,.0892857143em);text-decoration:none;text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative}.mdc-tab .mdc-tab__text-label{color:rgba(0,0,0,.6)}.mdc-tab .mdc-tab__icon{color:rgba(0,0,0,.54);fill:currentColor}.mdc-tab__content{position:relative}.mdc-tab__icon{width:24px;height:24px;font-size:24px}.mdc-tab--active .mdc-tab__text-label{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.mdc-tab--active .mdc-tab__icon{color:#6200ee;color:var(--mdc-theme-primary,#6200ee);fill:currentColor}.mdc-tab{background:0 0}.mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:0;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__icon,.mdc-tab--active .mdc-tab__text-label{transition-delay:.1s}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl],[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:0;padding-right:8px}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity,0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity,0)}to{opacity:0}}.mdc-tab{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent}.mdc-tab .mdc-tab__ripple::after,.mdc-tab .mdc-tab__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-tab .mdc-tab__ripple::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-tab .mdc-tab__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-tab.mdc-ripple-upgraded .mdc-tab__ripple::before{transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-tab.mdc-ripple-upgraded .mdc-tab__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-tab.mdc-ripple-upgraded--unbounded .mdc-tab__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-tab.mdc-ripple-upgraded--foreground-activation .mdc-tab__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-tab.mdc-ripple-upgraded--foreground-deactivation .mdc-tab__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-tab .mdc-tab__ripple::after,.mdc-tab .mdc-tab__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-tab.mdc-ripple-upgraded .mdc-tab__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-tab .mdc-tab__ripple::after,.mdc-tab .mdc-tab__ripple::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.mdc-tab.mdc-ripple-surface--hover .mdc-tab__ripple::before,.mdc-tab:hover .mdc-tab__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity,.04)}.mdc-tab.mdc-ripple-upgraded--background-focused .mdc-tab__ripple::before,.mdc-tab:not(.mdc-ripple-upgraded):focus .mdc-tab__ripple::before{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity,.12)}.mdc-tab:not(.mdc-ripple-upgraded) .mdc-tab__ripple::after{transition:opacity 150ms linear}.mdc-tab:not(.mdc-ripple-upgraded):active .mdc-tab__ripple::after{transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity,.12)}.mdc-tab.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-tab__ripple{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;will-change:transform,opacity}:host{outline:0;flex:1 0 auto;display:flex;justify-content:center;-webkit-tap-highlight-color:transparent}.mdc-tab{height:var(--mdc-tab-height,48px);margin-left:0;margin-right:0;padding-right:var(--mdc-tab-horizontal-padding,24px);padding-left:var(--mdc-tab-horizontal-padding,24px)}.mdc-tab--stacked{height:var(--mdc-tab-stacked-height,72px)}.mdc-tab::-moz-focus-inner{border:0}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl],[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:0;padding-right:8px}.mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mdc-tab-text-label-color-default,rgba(0,0,0,.6))}.mdc-tab:not(.mdc-tab--active) .mdc-tab__icon{color:var(--mdc-tab-color-default,rgba(0,0,0,.54))}`
316
+ /**
317
+ * @license
318
+ * Copyright 2018 Google LLC
319
+ * SPDX-License-Identifier: Apache-2.0
320
+ */;let ye=class extends be{};ye.styles=[ge],ye=zt([rt("mwc-tab")],ye);
321
+ /**
322
+ * @license
323
+ * Copyright 2018 Google Inc.
324
+ *
325
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
326
+ * of this software and associated documentation files (the "Software"), to deal
327
+ * in the Software without restriction, including without limitation the rights
328
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
329
+ * copies of the Software, and to permit persons to whom the Software is
330
+ * furnished to do so, subject to the following conditions:
331
+ *
332
+ * The above copyright notice and this permission notice shall be included in
333
+ * all copies or substantial portions of the Software.
334
+ *
335
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
336
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
337
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
338
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
339
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
340
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
341
+ * THE SOFTWARE.
342
+ */
343
+ var we={ANIMATING:"mdc-tab-scroller--animating",SCROLL_AREA_SCROLL:"mdc-tab-scroller__scroll-area--scroll",SCROLL_TEST:"mdc-tab-scroller__test"},_e={AREA_SELECTOR:".mdc-tab-scroller__scroll-area",CONTENT_SELECTOR:".mdc-tab-scroller__scroll-content"},xe=function(t){this.adapter=t},Se=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return jt(e,t),e.prototype.getScrollPositionRTL=function(){var t=this.adapter.getScrollAreaScrollLeft(),e=this.calculateScrollEdges().right;return Math.round(e-t)},e.prototype.scrollToRTL=function(t){var e=this.calculateScrollEdges(),i=this.adapter.getScrollAreaScrollLeft(),r=this.clampScrollValue(e.right-t);return{finalScrollPosition:r,scrollDelta:r-i}},e.prototype.incrementScrollRTL=function(t){var e=this.adapter.getScrollAreaScrollLeft(),i=this.clampScrollValue(e-t);return{finalScrollPosition:i,scrollDelta:i-e}},e.prototype.getAnimatingScrollPosition=function(t){return t},e.prototype.calculateScrollEdges=function(){return{left:0,right:this.adapter.getScrollContentOffsetWidth()-this.adapter.getScrollAreaOffsetWidth()}},e.prototype.clampScrollValue=function(t){var e=this.calculateScrollEdges();return Math.min(Math.max(e.left,t),e.right)},e}(xe),Ae=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return jt(e,t),e.prototype.getScrollPositionRTL=function(t){var e=this.adapter.getScrollAreaScrollLeft();return Math.round(t-e)},e.prototype.scrollToRTL=function(t){var e=this.adapter.getScrollAreaScrollLeft(),i=this.clampScrollValue(-t);return{finalScrollPosition:i,scrollDelta:i-e}},e.prototype.incrementScrollRTL=function(t){var e=this.adapter.getScrollAreaScrollLeft(),i=this.clampScrollValue(e-t);return{finalScrollPosition:i,scrollDelta:i-e}},e.prototype.getAnimatingScrollPosition=function(t,e){return t-e},e.prototype.calculateScrollEdges=function(){var t=this.adapter.getScrollContentOffsetWidth();return{left:this.adapter.getScrollAreaOffsetWidth()-t,right:0}},e.prototype.clampScrollValue=function(t){var e=this.calculateScrollEdges();return Math.max(Math.min(e.right,t),e.left)},e}(xe),Ce=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return jt(e,t),e.prototype.getScrollPositionRTL=function(t){var e=this.adapter.getScrollAreaScrollLeft();return Math.round(e-t)},e.prototype.scrollToRTL=function(t){var e=this.adapter.getScrollAreaScrollLeft(),i=this.clampScrollValue(t);return{finalScrollPosition:i,scrollDelta:e-i}},e.prototype.incrementScrollRTL=function(t){var e=this.adapter.getScrollAreaScrollLeft(),i=this.clampScrollValue(e+t);return{finalScrollPosition:i,scrollDelta:e-i}},e.prototype.getAnimatingScrollPosition=function(t,e){return t+e},e.prototype.calculateScrollEdges=function(){return{left:this.adapter.getScrollContentOffsetWidth()-this.adapter.getScrollAreaOffsetWidth(),right:0}},e.prototype.clampScrollValue=function(t){var e=this.calculateScrollEdges();return Math.min(Math.max(e.right,t),e.left)},e}(xe),Te=function(t){function e(i){var r=t.call(this,Mt(Mt({},e.defaultAdapter),i))||this;return r.isAnimating=!1,r}return jt(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return we},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return _e},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{eventTargetMatchesSelector:function(){return!1},addClass:function(){},removeClass:function(){},addScrollAreaClass:function(){},setScrollAreaStyleProperty:function(){},setScrollContentStyleProperty:function(){},getScrollContentStyleValue:function(){return""},setScrollAreaScrollLeft:function(){},getScrollAreaScrollLeft:function(){return 0},getScrollContentOffsetWidth:function(){return 0},getScrollAreaOffsetWidth:function(){return 0},computeScrollAreaClientRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},computeScrollContentClientRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},computeHorizontalScrollbarHeight:function(){return 0}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this.adapter.computeHorizontalScrollbarHeight();this.adapter.setScrollAreaStyleProperty("margin-bottom",-t+"px"),this.adapter.addScrollAreaClass(e.cssClasses.SCROLL_AREA_SCROLL)},e.prototype.getScrollPosition=function(){if(this.isRTL())return this.computeCurrentScrollPositionRTL();var t=this.calculateCurrentTranslateX();return this.adapter.getScrollAreaScrollLeft()-t},e.prototype.handleInteraction=function(){this.isAnimating&&this.stopScrollAnimation()},e.prototype.handleTransitionEnd=function(t){var i=t.target;this.isAnimating&&this.adapter.eventTargetMatchesSelector(i,e.strings.CONTENT_SELECTOR)&&(this.isAnimating=!1,this.adapter.removeClass(e.cssClasses.ANIMATING))},e.prototype.incrementScroll=function(t){0!==t&&this.animate(this.getIncrementScrollOperation(t))},e.prototype.incrementScrollImmediate=function(t){if(0!==t){var e=this.getIncrementScrollOperation(t);0!==e.scrollDelta&&(this.stopScrollAnimation(),this.adapter.setScrollAreaScrollLeft(e.finalScrollPosition))}},e.prototype.scrollTo=function(t){this.isRTL()?this.scrollToImplRTL(t):this.scrollToImpl(t)},e.prototype.getRTLScroller=function(){return this.rtlScrollerInstance||(this.rtlScrollerInstance=this.rtlScrollerFactory()),this.rtlScrollerInstance},e.prototype.calculateCurrentTranslateX=function(){var t=this.adapter.getScrollContentStyleValue("transform");if("none"===t)return 0;var e=/\((.+?)\)/.exec(t);if(!e)return 0;var i=function(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var r,n,o=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(t){n={error:t}}finally{try{r&&!r.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return s}(e[1].split(","),6);i[0],i[1],i[2],i[3];var r=i[4];return i[5],parseFloat(r)},e.prototype.clampScrollValue=function(t){var e=this.calculateScrollEdges();return Math.min(Math.max(e.left,t),e.right)},e.prototype.computeCurrentScrollPositionRTL=function(){var t=this.calculateCurrentTranslateX();return this.getRTLScroller().getScrollPositionRTL(t)},e.prototype.calculateScrollEdges=function(){return{left:0,right:this.adapter.getScrollContentOffsetWidth()-this.adapter.getScrollAreaOffsetWidth()}},e.prototype.scrollToImpl=function(t){var e=this.getScrollPosition(),i=this.clampScrollValue(t),r=i-e;this.animate({finalScrollPosition:i,scrollDelta:r})},e.prototype.scrollToImplRTL=function(t){var e=this.getRTLScroller().scrollToRTL(t);this.animate(e)},e.prototype.getIncrementScrollOperation=function(t){if(this.isRTL())return this.getRTLScroller().incrementScrollRTL(t);var e=this.getScrollPosition(),i=t+e,r=this.clampScrollValue(i);return{finalScrollPosition:r,scrollDelta:r-e}},e.prototype.animate=function(t){var i=this;0!==t.scrollDelta&&(this.stopScrollAnimation(),this.adapter.setScrollAreaScrollLeft(t.finalScrollPosition),this.adapter.setScrollContentStyleProperty("transform","translateX("+t.scrollDelta+"px)"),this.adapter.computeScrollAreaClientRect(),requestAnimationFrame((function(){i.adapter.addClass(e.cssClasses.ANIMATING),i.adapter.setScrollContentStyleProperty("transform","none")})),this.isAnimating=!0)},e.prototype.stopScrollAnimation=function(){this.isAnimating=!1;var t=this.getAnimatingScrollPosition();this.adapter.removeClass(e.cssClasses.ANIMATING),this.adapter.setScrollContentStyleProperty("transform","translateX(0px)"),this.adapter.setScrollAreaScrollLeft(t)},e.prototype.getAnimatingScrollPosition=function(){var t=this.calculateCurrentTranslateX(),e=this.adapter.getScrollAreaScrollLeft();return this.isRTL()?this.getRTLScroller().getAnimatingScrollPosition(e,t):e-t},e.prototype.rtlScrollerFactory=function(){var t=this.adapter.getScrollAreaScrollLeft();this.adapter.setScrollAreaScrollLeft(t-1);var e=this.adapter.getScrollAreaScrollLeft();if(e<0)return this.adapter.setScrollAreaScrollLeft(t),new Ae(this.adapter);var i=this.adapter.computeScrollAreaClientRect(),r=this.adapter.computeScrollContentClientRect(),n=Math.round(r.right-i.right);return this.adapter.setScrollAreaScrollLeft(t),n===e?new Ce(this.adapter):new Se(this.adapter)},e.prototype.isRTL=function(){return"rtl"===this.adapter.getScrollContentStyleValue("direction")},e}(Bt),Ee=Te;
344
+ /**
345
+ * @license
346
+ * Copyright 2018 Google LLC
347
+ * SPDX-License-Identifier: Apache-2.0
348
+ */
349
+ class Oe extends Ft{constructor(){super(...arguments),this.mdcFoundationClass=Ee,this._scrollbarHeight=-1}_handleInteraction(){this.mdcFoundation.handleInteraction()}_handleTransitionEnd(t){this.mdcFoundation.handleTransitionEnd(t)}render(){return z`<div class="mdc-tab-scroller"><div class="mdc-tab-scroller__scroll-area" @wheel="${this._handleInteraction}" @touchstart="${this._handleInteraction}" @pointerdown="${this._handleInteraction}" @mousedown="${this._handleInteraction}" @keydown="${this._handleInteraction}" @transitionend="${this._handleTransitionEnd}"><div class="mdc-tab-scroller__scroll-content"><slot></slot></div></div></div>`}createAdapter(){return Object.assign(Object.assign({},Dt(this.mdcRoot)),{eventTargetMatchesSelector:(t,e)=>Jt(t,e),addScrollAreaClass:t=>this.scrollAreaElement.classList.add(t),setScrollAreaStyleProperty:(t,e)=>this.scrollAreaElement.style.setProperty(t,e),setScrollContentStyleProperty:(t,e)=>this.scrollContentElement.style.setProperty(t,e),getScrollContentStyleValue:t=>window.getComputedStyle(this.scrollContentElement).getPropertyValue(t),setScrollAreaScrollLeft:t=>this.scrollAreaElement.scrollLeft=t,getScrollAreaScrollLeft:()=>this.scrollAreaElement.scrollLeft,getScrollContentOffsetWidth:()=>this.scrollContentElement.offsetWidth,getScrollAreaOffsetWidth:()=>this.scrollAreaElement.offsetWidth,computeScrollAreaClientRect:()=>this.scrollAreaElement.getBoundingClientRect(),computeScrollContentClientRect:()=>this.scrollContentElement.getBoundingClientRect(),computeHorizontalScrollbarHeight:()=>(-1===this._scrollbarHeight&&(this.scrollAreaElement.style.overflowX="scroll",this._scrollbarHeight=this.scrollAreaElement.offsetHeight-this.scrollAreaElement.clientHeight,this.scrollAreaElement.style.overflowX=""),this._scrollbarHeight)})}getScrollPosition(){return this.mdcFoundation.getScrollPosition()}getScrollContentWidth(){return this.scrollContentElement.offsetWidth}incrementScrollPosition(t){this.mdcFoundation.incrementScroll(t)}scrollToPosition(t){this.mdcFoundation.scrollTo(t)}}zt([lt(".mdc-tab-scroller")],Oe.prototype,"mdcRoot",void 0),zt([lt(".mdc-tab-scroller__scroll-area")],Oe.prototype,"scrollAreaElement",void 0),zt([lt(".mdc-tab-scroller__scroll-content")],Oe.prototype,"scrollContentElement",void 0),zt([ct({passive:!0})],Oe.prototype,"_handleInteraction",null);
350
+ /**
351
+ * @license
352
+ * Copyright 2021 Google LLC
353
+ * SPDX-LIcense-Identifier: Apache-2.0
354
+ */
355
+ const ke=s`.mdc-tab-scroller{overflow-y:hidden}.mdc-tab-scroller.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-content{transition:250ms transform cubic-bezier(.4,0,.2,1)}.mdc-tab-scroller__test{position:absolute;top:-9999px;width:100px;height:100px;overflow-x:scroll}.mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:touch;display:flex;overflow-x:hidden}.mdc-tab-scroller__scroll-area::-webkit-scrollbar,.mdc-tab-scroller__test::-webkit-scrollbar{display:none}.mdc-tab-scroller__scroll-area--scroll{overflow-x:scroll}.mdc-tab-scroller__scroll-content{position:relative;display:flex;flex:1 0 auto;transform:none;will-change:transform}.mdc-tab-scroller--align-start .mdc-tab-scroller__scroll-content{justify-content:flex-start}.mdc-tab-scroller--align-end .mdc-tab-scroller__scroll-content{justify-content:flex-end}.mdc-tab-scroller--align-center .mdc-tab-scroller__scroll-content{justify-content:center}.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-area{-webkit-overflow-scrolling:auto}:host{display:flex}.mdc-tab-scroller{flex:1}`
356
+ /**
357
+ * @license
358
+ * Copyright 2018 Google LLC
359
+ * SPDX-License-Identifier: Apache-2.0
360
+ */;let Re=class extends Oe{};Re.styles=[ke],Re=zt([rt("mwc-tab-scroller")],Re);
361
+ /**
362
+ * @license
363
+ * Copyright 2018 Google Inc.
364
+ *
365
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
366
+ * of this software and associated documentation files (the "Software"), to deal
367
+ * in the Software without restriction, including without limitation the rights
368
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
369
+ * copies of the Software, and to permit persons to whom the Software is
370
+ * furnished to do so, subject to the following conditions:
371
+ *
372
+ * The above copyright notice and this permission notice shall be included in
373
+ * all copies or substantial portions of the Software.
374
+ *
375
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
376
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
377
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
378
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
379
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
380
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
381
+ * THE SOFTWARE.
382
+ */
383
+ var $e={ARROW_LEFT_KEY:"ArrowLeft",ARROW_RIGHT_KEY:"ArrowRight",END_KEY:"End",ENTER_KEY:"Enter",HOME_KEY:"Home",SPACE_KEY:"Space",TAB_ACTIVATED_EVENT:"MDCTabBar:activated",TAB_SCROLLER_SELECTOR:".mdc-tab-scroller",TAB_SELECTOR:".mdc-tab"},Ie={ARROW_LEFT_KEYCODE:37,ARROW_RIGHT_KEYCODE:39,END_KEYCODE:35,ENTER_KEYCODE:13,EXTRA_SCROLL_AMOUNT:20,HOME_KEYCODE:36,SPACE_KEYCODE:32},je=new Set;je.add($e.ARROW_LEFT_KEY),je.add($e.ARROW_RIGHT_KEY),je.add($e.END_KEY),je.add($e.HOME_KEY),je.add($e.ENTER_KEY),je.add($e.SPACE_KEY);var Me=new Map;Me.set(Ie.ARROW_LEFT_KEYCODE,$e.ARROW_LEFT_KEY),Me.set(Ie.ARROW_RIGHT_KEYCODE,$e.ARROW_RIGHT_KEY),Me.set(Ie.END_KEYCODE,$e.END_KEY),Me.set(Ie.HOME_KEYCODE,$e.HOME_KEY),Me.set(Ie.ENTER_KEYCODE,$e.ENTER_KEY),Me.set(Ie.SPACE_KEYCODE,$e.SPACE_KEY);var ze=function(t){function e(i){var r=t.call(this,Mt(Mt({},e.defaultAdapter),i))||this;return r.useAutomaticActivation=!1,r}return jt(e,t),Object.defineProperty(e,"strings",{get:function(){return $e},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return Ie},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{scrollTo:function(){},incrementScroll:function(){},getScrollPosition:function(){return 0},getScrollContentWidth:function(){return 0},getOffsetWidth:function(){return 0},isRTL:function(){return!1},setActiveTab:function(){},activateTabAtIndex:function(){},deactivateTabAtIndex:function(){},focusTabAtIndex:function(){},getTabIndicatorClientRectAtIndex:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},getTabDimensionsAtIndex:function(){return{rootLeft:0,rootRight:0,contentLeft:0,contentRight:0}},getPreviousActiveTabIndex:function(){return-1},getFocusedTabIndex:function(){return-1},getIndexOfTabById:function(){return-1},getTabListLength:function(){return 0},notifyTabActivated:function(){}}},enumerable:!1,configurable:!0}),e.prototype.setUseAutomaticActivation=function(t){this.useAutomaticActivation=t},e.prototype.activateTab=function(t){var e,i=this.adapter.getPreviousActiveTabIndex();this.indexIsInRange(t)&&t!==i&&(-1!==i&&(this.adapter.deactivateTabAtIndex(i),e=this.adapter.getTabIndicatorClientRectAtIndex(i)),this.adapter.activateTabAtIndex(t,e),this.scrollIntoView(t),this.adapter.notifyTabActivated(t))},e.prototype.handleKeyDown=function(t){var e=this.getKeyFromEvent(t);if(void 0!==e)if(this.isActivationKey(e)||t.preventDefault(),this.useAutomaticActivation){if(this.isActivationKey(e))return;var i=this.determineTargetFromKey(this.adapter.getPreviousActiveTabIndex(),e);this.adapter.setActiveTab(i),this.scrollIntoView(i)}else{var r=this.adapter.getFocusedTabIndex();if(this.isActivationKey(e))this.adapter.setActiveTab(r);else{i=this.determineTargetFromKey(r,e);this.adapter.focusTabAtIndex(i),this.scrollIntoView(i)}}},e.prototype.handleTabInteraction=function(t){this.adapter.setActiveTab(this.adapter.getIndexOfTabById(t.detail.tabId))},e.prototype.scrollIntoView=function(t){this.indexIsInRange(t)&&(0!==t?t!==this.adapter.getTabListLength()-1?this.isRTL()?this.scrollIntoViewImplRTL(t):this.scrollIntoViewImpl(t):this.adapter.scrollTo(this.adapter.getScrollContentWidth()):this.adapter.scrollTo(0))},e.prototype.determineTargetFromKey=function(t,e){var i=this.isRTL(),r=this.adapter.getTabListLength()-1,n=t;return e===$e.END_KEY?n=r:e===$e.ARROW_LEFT_KEY&&!i||e===$e.ARROW_RIGHT_KEY&&i?n-=1:e===$e.ARROW_RIGHT_KEY&&!i||e===$e.ARROW_LEFT_KEY&&i?n+=1:n=0,n<0?n=r:n>r&&(n=0),n},e.prototype.calculateScrollIncrement=function(t,e,i,r){var n=this.adapter.getTabDimensionsAtIndex(e),o=n.contentLeft-i-r,s=n.contentRight-i-Ie.EXTRA_SCROLL_AMOUNT,a=o+Ie.EXTRA_SCROLL_AMOUNT;return e<t?Math.min(s,0):Math.max(a,0)},e.prototype.calculateScrollIncrementRTL=function(t,e,i,r,n){var o=this.adapter.getTabDimensionsAtIndex(e),s=n-o.contentLeft-i,a=n-o.contentRight-i-r+Ie.EXTRA_SCROLL_AMOUNT,c=s-Ie.EXTRA_SCROLL_AMOUNT;return e>t?Math.max(a,0):Math.min(c,0)},e.prototype.findAdjacentTabIndexClosestToEdge=function(t,e,i,r){var n=e.rootLeft-i,o=e.rootRight-i-r,s=n+o;return n<0||s<0?t-1:o>0||s>0?t+1:-1},e.prototype.findAdjacentTabIndexClosestToEdgeRTL=function(t,e,i,r,n){var o=n-e.rootLeft-r-i,s=n-e.rootRight-i,a=o+s;return o>0||a>0?t+1:s<0||a<0?t-1:-1},e.prototype.getKeyFromEvent=function(t){return je.has(t.key)?t.key:Me.get(t.keyCode)},e.prototype.isActivationKey=function(t){return t===$e.SPACE_KEY||t===$e.ENTER_KEY},e.prototype.indexIsInRange=function(t){return t>=0&&t<this.adapter.getTabListLength()},e.prototype.isRTL=function(){return this.adapter.isRTL()},e.prototype.scrollIntoViewImpl=function(t){var e=this.adapter.getScrollPosition(),i=this.adapter.getOffsetWidth(),r=this.adapter.getTabDimensionsAtIndex(t),n=this.findAdjacentTabIndexClosestToEdge(t,r,e,i);if(this.indexIsInRange(n)){var o=this.calculateScrollIncrement(t,n,e,i);this.adapter.incrementScroll(o)}},e.prototype.scrollIntoViewImplRTL=function(t){var e=this.adapter.getScrollPosition(),i=this.adapter.getOffsetWidth(),r=this.adapter.getTabDimensionsAtIndex(t),n=this.adapter.getScrollContentWidth(),o=this.findAdjacentTabIndexClosestToEdgeRTL(t,r,e,i,n);if(this.indexIsInRange(o)){var s=this.calculateScrollIncrementRTL(t,o,e,i,n);this.adapter.incrementScroll(s)}},e}(Bt);
384
+ /**
385
+ * @license
386
+ * Copyright 2018 Google LLC
387
+ * SPDX-License-Identifier: Apache-2.0
388
+ */
389
+ class Le extends Ft{constructor(){super(...arguments),this.mdcFoundationClass=ze,this.activeIndex=0,this._previousActiveIndex=-1}_handleTabInteraction(t){this.mdcFoundation.handleTabInteraction(t)}_handleKeydown(t){this.mdcFoundation.handleKeyDown(t)}render(){return z`<div class="mdc-tab-bar" role="tablist" @MDCTab:interacted="${this._handleTabInteraction}" @keydown="${this._handleKeydown}"><mwc-tab-scroller><slot></slot></mwc-tab-scroller></div>`}_getTabs(){return this.tabsSlot.assignedNodes({flatten:!0}).filter((t=>t instanceof be))}_getTab(t){return this._getTabs()[t]}createAdapter(){return{scrollTo:t=>this.scrollerElement.scrollToPosition(t),incrementScroll:t=>this.scrollerElement.incrementScrollPosition(t),getScrollPosition:()=>this.scrollerElement.getScrollPosition(),getScrollContentWidth:()=>this.scrollerElement.getScrollContentWidth(),getOffsetWidth:()=>this.mdcRoot.offsetWidth,isRTL:()=>"rtl"===window.getComputedStyle(this.mdcRoot).getPropertyValue("direction"),setActiveTab:t=>this.mdcFoundation.activateTab(t),activateTabAtIndex:(t,e)=>{const i=this._getTab(t);void 0!==i&&i.activate(e),this._previousActiveIndex=t},deactivateTabAtIndex:t=>{const e=this._getTab(t);void 0!==e&&e.deactivate()},focusTabAtIndex:t=>{const e=this._getTab(t);void 0!==e&&e.focus()},getTabIndicatorClientRectAtIndex:t=>{const e=this._getTab(t);return void 0!==e?e.computeIndicatorClientRect():new DOMRect},getTabDimensionsAtIndex:t=>{const e=this._getTab(t);return void 0!==e?e.computeDimensions():{rootLeft:0,rootRight:0,contentLeft:0,contentRight:0}},getPreviousActiveTabIndex:()=>this._previousActiveIndex,getFocusedTabIndex:()=>{const t=this._getTabs(),e=this.getRootNode().activeElement;return t.indexOf(e)},getIndexOfTabById:t=>{const e=this._getTabs();for(let i=0;i<e.length;i++)if(e[i].id===t)return i;return-1},getTabListLength:()=>this._getTabs().length,notifyTabActivated:t=>{this.activeIndex=t,this.dispatchEvent(new CustomEvent(ze.strings.TAB_ACTIVATED_EVENT,{detail:{index:t},bubbles:!0,cancelable:!0}))}}}firstUpdated(){}async getUpdateComplete(){const t=await super.getUpdateComplete();return await this.scrollerElement.updateComplete,void 0===this.mdcFoundation&&this.createFoundation(),t}scrollIndexIntoView(t){this.mdcFoundation.scrollIntoView(t)}}zt([lt(".mdc-tab-bar")],Le.prototype,"mdcRoot",void 0),zt([lt("mwc-tab-scroller")],Le.prototype,"scrollerElement",void 0),zt([lt("slot")],Le.prototype,"tabsSlot",void 0),zt([ue((async function(){await this.updateComplete,this.activeIndex!==this._previousActiveIndex&&this.mdcFoundation.activateTab(this.activeIndex)})),ot({type:Number})],Le.prototype,"activeIndex",void 0);
390
+ /**
391
+ * @license
392
+ * Copyright 2021 Google LLC
393
+ * SPDX-LIcense-Identifier: Apache-2.0
394
+ */
395
+ const De=s`.mdc-tab-bar{width:100%}.mdc-tab{height:48px}.mdc-tab--stacked{height:72px}:host{display:block}.mdc-tab-bar{flex:1}mwc-tab{--mdc-tab-height:48px;--mdc-tab-stacked-height:72px}`
396
+ /**
397
+ * @license
398
+ * Copyright 2018 Google LLC
399
+ * SPDX-License-Identifier: Apache-2.0
400
+ */;let Pe=class extends Le{};Pe.styles=[De],Pe=zt([rt("mwc-tab-bar")],Pe);var Ne=function(t,e,i,r){for(var n,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,a=t.length-1;a>=0;a--)(n=t[a])&&(s=(o<3?n(s):o>3?n(e,i,s):n(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};class Fe extends CustomEvent{constructor(t){super("index-change",{detail:t})}}t.FtTabs=class extends Tt{constructor(){super(...arguments),this.dense=!1,this.contentBefore=!1,this.tabs=[],this.activeIndex=0,this.resizeObserver=new ResizeObserver((()=>this.resize())),this.updateDebouncer=new At(20),this.resizeDebouncer=new At(50)}getStyles(){return s`.ft-tabs{display:flex;flex-direction:column;background-color:var(--ft-color-surface,#fff);height:100%}.ft-tabs--reverse{flex-direction:column-reverse}mwc-tab-bar{display:block;flex-shrink:0;flex-grow:0;--mdc-theme-primary:var(--ft-color-primary, #2196F3);--mdc-tab-color-default:var(--ft-color-on-surface-medium, rgba(0, 0, 0, 0.60))}.ft-tabs--content{flex-shrink:1;flex-grow:1;overflow:auto}.ft-tabs--resizable{position:relative;overflow:hidden;width:100%}mwc-tab[disabled]{pointer-events:none;--mdc-tab-color-default:var(--ft-color-on-surface-disabled, rgba(0, 0, 0, 0.38))}`}get currentTab(){return this.tabs[this.activeIndex]}getTemplate(){const t={"ft-tabs":!0,"ft-tabs--reverse":this.contentBefore};return z`<div class="${St(t)}"><mwc-tab-bar @MDCTabBar:activated="${this.onTabChange}" .activeIndex="${this.activeIndex}">${xt(this.tabs,(t=>z`<mwc-tab label="${this.dense&&t.icon?"":t.label}" title="${this.dense&&t.icon?t.label:""}" aria-label="${t.label}" icon="${t.icon}" ?stacked="${!this.dense}" ?disabled="${t.disabled}"></mwc-tab>`))}</mwc-tab-bar><div class="ft-tabs--content"><div class="ft-tabs--resizable"><slot @slotchange="${this.onContentChange}"></slot></div></div></div>`}onTabChange(t){this.activeIndex=t.detail.index}onContentChange(t){const e=t.composedPath()[0];this.tabs=e.assignedElements().map((t=>t)),this.resizeObserver.disconnect(),this.tabs.forEach((t=>{this.resizeObserver.observe(t),t.addEventListener("updated",(()=>this.updateDebouncer.run((()=>this.requestUpdate()))))}))}updated(t){super.updated(t),(t.has("tabs")||t.has("activeIndex"))&&this.placeTabs(),t.has("activeIndex")&&this.dispatchEvent(new Fe(this.activeIndex))}placeTabs(){this.tabs.forEach(((t,e)=>{e<this.activeIndex?t.position=Rt.before:e>this.activeIndex?t.position=Rt.after:t.position=Rt.current})),this.resize()}resize(){this.resizeDebouncer.run((()=>{this.resizable&&this.currentTab&&(this.resizable.style.height=this.currentTab.scrollHeight+"px")}))}},t.FtTabs.elementDefinitions={"ft-tab":t.FtTab,"mwc-tab":ye,"mwc-tab-bar":Pe},Ne([ot({type:Boolean})],t.FtTabs.prototype,"dense",void 0),Ne([ot({type:Boolean})],t.FtTabs.prototype,"contentBefore",void 0),Ne([st()],t.FtTabs.prototype,"tabs",void 0),Ne([ot({type:Number,reflect:!0})],t.FtTabs.prototype,"activeIndex",void 0),Ne([lt(".ft-tabs--resizable")],t.FtTabs.prototype,"resizable",void 0),t.FtTabs=Ne([Ct("ft-tabs")],t.FtTabs),t.IndexChangeEvent=Fe,Object.defineProperty(t,"t",{value:!0})}({});
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@fluid-topics/ft-tabs",
3
+ "version": "0.0.88",
4
+ "description": "Generic tabs component",
5
+ "keywords": [
6
+ "Lit"
7
+ ],
8
+ "author": "Fluid Topics <devtopics@antidot.net>",
9
+ "license": "ISC",
10
+ "main": "build/ft-tabs.js",
11
+ "web": "build/ft-tabs.min.js",
12
+ "typings": "build/ft-tabs",
13
+ "files": [
14
+ "build/*.ts",
15
+ "build/*.js"
16
+ ],
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
+ },
21
+ "dependencies": {
22
+ "@fluid-topics/ft-wc-utils": "^0.0.88",
23
+ "@material/mwc-tab": "^0.25.3",
24
+ "@material/mwc-tab-bar": "^0.25.3",
25
+ "lit": "^2.0.2"
26
+ },
27
+ "gitHead": "220e53dba55dfa1de1560abbc30067555f72198c"
28
+ }