@fluid-topics/ft-file-drop 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,22 @@
1
+ Container that accepts dropping files
2
+
3
+ ## Install
4
+
5
+ ```shell
6
+ npm install @fluid-topics/ft-file-drop
7
+ yarn add @fluid-topics/ft-file-drop
8
+ ```
9
+
10
+ ## Usage
11
+
12
+ ```typescript
13
+ import { html } from "lit"
14
+ import "@fluid-topics/ft-file-drop"
15
+ import { FileDropEvent } from "@fluid-topics/ft-file-drop"
16
+
17
+ function render() {
18
+ return html`
19
+ <ft-file-drop @file-drop=${ (e: FileDropEvent) => console.log(e.detail) }></ft-file-drop>
20
+ `
21
+ }
22
+ ```
@@ -0,0 +1,27 @@
1
+ import { ElementDefinitionsMap, FtLitElement } from "@fluid-topics/ft-wc-utils";
2
+ export interface FtDropPanelProperties {
3
+ dropHint?: string;
4
+ }
5
+ export interface FtDropPanelCssVariables {
6
+ "--ft-color-primary"?: string;
7
+ }
8
+ export declare class FileDropEvent extends CustomEvent<{
9
+ file: File;
10
+ }> {
11
+ constructor(file: File);
12
+ }
13
+ export declare class FtFileDrop extends FtLitElement implements FtDropPanelProperties {
14
+ static elementDefinitions: ElementDefinitionsMap;
15
+ protected getStyles(): import("lit").CSSResult;
16
+ dropHint: string;
17
+ accept: string;
18
+ fileTypeError: string;
19
+ private dragging;
20
+ private fileError;
21
+ protected getTemplate(): import("lit-html").TemplateResult<1>;
22
+ private onDragEnter;
23
+ private onDragOver;
24
+ private onDragLeave;
25
+ private onDrop;
26
+ }
27
+ //# sourceMappingURL=ft-file-drop.d.ts.map
@@ -0,0 +1,168 @@
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, state } from "lit/decorators.js";
9
+ import { customElement, FtLitElement } from "@fluid-topics/ft-wc-utils";
10
+ import { classMap } from "lit/directives/class-map.js";
11
+ import { matchAccept } from "./match-accept";
12
+ import { FtChip } from "@fluid-topics/ft-chip";
13
+ export class FileDropEvent extends CustomEvent {
14
+ constructor(file) {
15
+ super("file-drop", { detail: { file } });
16
+ }
17
+ }
18
+ let FtFileDrop = class FtFileDrop extends FtLitElement {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.dropHint = "Drop your file here";
22
+ this.accept = "";
23
+ this.fileTypeError = "Unsupported file type";
24
+ this.dragging = false;
25
+ this.fileError = false;
26
+ }
27
+ // language=CSS
28
+ getStyles() {
29
+ return css `
30
+ #container {
31
+ position: absolute;
32
+ inset: 0;
33
+ }
34
+
35
+ slot {
36
+ position: absolute;
37
+ inset: 0;
38
+ display: block;
39
+ overflow: auto;
40
+ }
41
+
42
+ #overlay {
43
+ display: none;
44
+ position: absolute;
45
+ inset: 0;
46
+ z-index: var(--ft-file-drop-z-index, 10);
47
+ }
48
+
49
+ #container.dragging #overlay {
50
+ display: block;
51
+ }
52
+
53
+ #overlay-background {
54
+ z-index: 1;
55
+ position: absolute;
56
+ inset: 0;
57
+ background-color: var(--ft-color-primary, #2196F3);
58
+ opacity: 0.20;
59
+ border-radius: 10px;
60
+ }
61
+
62
+ #overlay-drop {
63
+ z-index: 2;
64
+ position: absolute;
65
+ inset: 0;
66
+ }
67
+
68
+ #overlay-content {
69
+ z-index: 1;
70
+ position: absolute;
71
+ inset: 0;
72
+ border: dashed 4px var(--ft-color-primary, #2196F3);
73
+ border-radius: 10px;
74
+ display: flex;
75
+ align-items: flex-end;
76
+ justify-content: center;
77
+ }
78
+
79
+ #overlay-content ft-chip {
80
+ margin-bottom: 10%;
81
+ --ft-color-on-surface: var(--ft-color-primary, #2196F3);
82
+ --ft-chip-icon-size: 32px;
83
+ --ft-color-outline: transparent;
84
+ }
85
+
86
+ ft-chip[icon=error] {
87
+ --ft-color-primary: var(--ft-color-error, #B00020);
88
+ }
89
+
90
+ [hidden] {
91
+ display: none;
92
+ }
93
+ `;
94
+ }
95
+ getTemplate() {
96
+ let contentClasses = {
97
+ dragging: this.dragging
98
+ };
99
+ return html `
100
+ <div id="container"
101
+ class="${classMap(contentClasses)}"
102
+ @dragenter=${this.onDragEnter}
103
+ @dragover=${this.onDragOver}
104
+ @drop=${this.onDrop}>
105
+ <div id="overlay">
106
+ <div id="overlay-background"></div>
107
+ <div id="overlay-content">
108
+ <ft-chip icon="upload" ?hidden=${this.fileError}>${this.dropHint}</ft-chip>
109
+ <ft-chip icon="error" ?hidden=${!this.fileError}>${this.fileTypeError}</ft-chip>
110
+ </div>
111
+ <div id="overlay-drop" @dragleave=${this.onDragLeave}></div>
112
+ </div>
113
+ <slot></slot>
114
+ </div>
115
+ `;
116
+ }
117
+ onDragEnter(event) {
118
+ this.dragging = true;
119
+ event.preventDefault();
120
+ }
121
+ onDragOver(event) {
122
+ event.preventDefault();
123
+ }
124
+ onDragLeave(event) {
125
+ this.dragging = false;
126
+ event.preventDefault();
127
+ }
128
+ async onDrop(event) {
129
+ event.preventDefault();
130
+ if (event.dataTransfer && event.dataTransfer.files) {
131
+ let file = event.dataTransfer.files[0];
132
+ if (!matchAccept(this.accept, file.name, file.type)) {
133
+ this.fileError = true;
134
+ setTimeout(() => {
135
+ this.dragging = false;
136
+ this.fileError = false;
137
+ }, 2000);
138
+ }
139
+ else {
140
+ this.dragging = false;
141
+ this.dispatchEvent(new FileDropEvent(file));
142
+ }
143
+ }
144
+ }
145
+ };
146
+ FtFileDrop.elementDefinitions = {
147
+ "ft-chip": FtChip,
148
+ };
149
+ __decorate([
150
+ property()
151
+ ], FtFileDrop.prototype, "dropHint", void 0);
152
+ __decorate([
153
+ property()
154
+ ], FtFileDrop.prototype, "accept", void 0);
155
+ __decorate([
156
+ property()
157
+ ], FtFileDrop.prototype, "fileTypeError", void 0);
158
+ __decorate([
159
+ state()
160
+ ], FtFileDrop.prototype, "dragging", void 0);
161
+ __decorate([
162
+ state()
163
+ ], FtFileDrop.prototype, "fileError", void 0);
164
+ FtFileDrop = __decorate([
165
+ customElement("ft-file-drop")
166
+ ], FtFileDrop);
167
+ export { FtFileDrop };
168
+ //# sourceMappingURL=ft-file-drop.js.map
@@ -0,0 +1,335 @@
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,...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)}))},s=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new n("string"==typeof t?t:t+"",i))(e)})(t):t
8
+ /**
9
+ * @license
10
+ * Copyright 2017 Google LLC
11
+ * SPDX-License-Identifier: BSD-3-Clause
12
+ */;var c;const p=window.trustedTypes,l=p?p.emptyScript:"",d=window.reactiveElementPolyfillSupport,h={toAttribute(t,e){switch(e){case Boolean:t=t?l: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),u={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=u){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)||u}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(s(t))}else void 0!==t&&e.push(s(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=u){var r,n;const o=this.constructor._$Eh(t,i);if(void 0!==o&&!0===i.reflect){const a=(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==a?this.removeAttribute(o):this.setAttribute(o,a),this._$Ei=null}}_$AK(t,e){var i,r,n;const o=this.constructor,a=o._$Eu.get(t);if(void 0!==a&&this._$Ei!==a){const t=o.getPropertyOptions(a),s=t.converter,c=null!==(n=null!==(r=null===(i=s)||void 0===i?void 0:i.fromAttribute)&&void 0!==r?r:"function"==typeof s?s:null)&&void 0!==n?n:h.fromAttribute;this._$Ei=a,this[a]=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 y;v.finalized=!0,v.elementProperties=new Map,v.elementStyles=[],v.shadowRootOptions={mode:"open"},null==d||d({ReactiveElement:v}),(null!==(c=globalThis.reactiveElementVersions)&&void 0!==c?c:globalThis.reactiveElementVersions=[]).push("1.2.2");const m=globalThis.trustedTypes,g=m?m.createPolicy("lit-html",{createHTML:t=>t}):void 0,b=`lit$${(Math.random()+"").slice(9)}$`,w="?"+b,x=`<${w}>`,k=document,S=(t="")=>k.createComment(t),O=t=>null===t||"object"!=typeof t&&"function"!=typeof t,$=Array.isArray,z=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,A=/-->/g,E=/>/g,T=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,C=/'/g,j=/"/g,_=/^(?:script|style|textarea|title)$/i,R=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),M=Symbol.for("lit-noChange"),F=Symbol.for("lit-nothing"),I=new WeakMap,D=k.createTreeWalker(k,129,null,!1),U=(t,e)=>{const i=t.length-1,r=[];let n,o=2===e?"<svg>":"",a=z;for(let e=0;e<i;e++){const i=t[e];let s,c,p=-1,l=0;for(;l<i.length&&(a.lastIndex=l,c=a.exec(i),null!==c);)l=a.lastIndex,a===z?"!--"===c[1]?a=A:void 0!==c[1]?a=E:void 0!==c[2]?(_.test(c[2])&&(n=RegExp("</"+c[2],"g")),a=T):void 0!==c[3]&&(a=T):a===T?">"===c[0]?(a=null!=n?n:z,p=-1):void 0===c[1]?p=-2:(p=a.lastIndex-c[2].length,s=c[1],a=void 0===c[3]?T:'"'===c[3]?j:C):a===j||a===C?a=T:a===A||a===E?a=z:(a=T,n=void 0);const d=a===T&&t[e+1].startsWith("/>")?" ":"";o+=a===z?i+x:p>=0?(r.push(s),i.slice(0,p)+"$lit$"+i.slice(p)+b+d):i+b+(-2===p?(r.push(void 0),e):d)}const s=o+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==g?g.createHTML(s):s,r]};class B{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let n=0,o=0;const a=t.length-1,s=this.parts,[c,p]=U(t,e);if(this.el=B.createElement(c,i),D.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(r=D.nextNode())&&s.length<a;){if(1===r.nodeType){if(r.hasAttributes()){const t=[];for(const e of r.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(b)){const i=p[o++];if(t.push(e),void 0!==i){const t=r.getAttribute(i.toLowerCase()+"$lit$").split(b),e=/([.?@])?(.*)/.exec(i);s.push({type:1,index:n,name:e[2],strings:t,ctor:"."===e[1]?V:"?"===e[1]?q:"@"===e[1]?W:P})}else s.push({type:6,index:n})}for(const e of t)r.removeAttribute(e)}if(_.test(r.tagName)){const t=r.textContent.split(b),e=t.length-1;if(e>0){r.textContent=m?m.emptyScript:"";for(let i=0;i<e;i++)r.append(t[i],S()),D.nextNode(),s.push({type:2,index:++n});r.append(t[e],S())}}}else if(8===r.nodeType)if(r.data===w)s.push({type:2,index:n});else{let t=-1;for(;-1!==(t=r.data.indexOf(b,t+1));)s.push({type:7,index:n}),t+=b.length-1}n++}}static createElement(t,e){const i=k.createElement("template");return i.innerHTML=t,i}}function H(t,e,i=t,r){var n,o,a,s;if(e===M)return e;let c=void 0!==r?null===(n=i._$Cl)||void 0===n?void 0:n[r]:i._$Cu;const p=O(e)?void 0:e._$litDirective$;return(null==c?void 0:c.constructor)!==p&&(null===(o=null==c?void 0:c._$AO)||void 0===o||o.call(c,!1),void 0===p?c=void 0:(c=new p(t),c._$AT(t,i,r)),void 0!==r?(null!==(a=(s=i)._$Cl)&&void 0!==a?a:s._$Cl=[])[r]=c:i._$Cu=c),void 0!==c&&(e=H(t,c._$AS(t,e.values),c,r)),e}class L{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:k).importNode(i,!0);D.currentNode=n;let o=D.nextNode(),a=0,s=0,c=r[0];for(;void 0!==c;){if(a===c.index){let e;2===c.type?e=new N(o,o.nextSibling,this,t):1===c.type?e=new c.ctor(o,c.name,c.strings,this,t):6===c.type&&(e=new K(o,this,t)),this.v.push(e),c=r[++s]}a!==(null==c?void 0:c.index)&&(o=D.nextNode(),a++)}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 N{constructor(t,e,i,r){var n;this.type=2,this._$AH=F,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),O(t)?t===F||null==t||""===t?(this._$AH!==F&&this._$AR(),this._$AH=F):t!==this._$AH&&t!==M&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):(t=>{var e;return $(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(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!==F&&O(this._$AH)?this._$AA.nextSibling.data=t:this.S(k.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 L(n,this),e=t.p(this.options);t.m(i),this.S(e),this._$AH=t}}_$AC(t){let e=I.get(t.strings);return void 0===e&&I.set(t.strings,e=new B(t)),e}A(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 N(this.M(S()),this.M(S()),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 P{constructor(t,e,i,r,n){this.type=1,this._$AH=F,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=F}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=!O(t)||t!==this._$AH&&t!==M,o&&(this._$AH=t);else{const r=t;let a,s;for(t=n[0],a=0;a<n.length-1;a++)s=H(this,r[i+a],e,a),s===M&&(s=this._$AH[a]),o||(o=!O(s)||s!==this._$AH[a]),s===F?t=F:t!==F&&(t+=(null!=s?s:"")+n[a+1]),this._$AH[a]=s}o&&!r&&this.k(t)}k(t){t===F?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class V extends P{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===F?void 0:t}}const G=m?m.emptyScript:"";class q extends P{constructor(){super(...arguments),this.type=4}k(t){t&&t!==F?this.element.setAttribute(this.name,G):this.element.removeAttribute(this.name)}}class W extends P{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:F)===M)return;const r=this._$AH,n=t===F&&r!==F||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==F&&(r===F||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 K{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=window.litHtmlPolyfillSupport;
19
+ /**
20
+ * @license
21
+ * Copyright 2017 Google LLC
22
+ * SPDX-License-Identifier: BSD-3-Clause
23
+ */
24
+ var J,X;null==Z||Z(B,N),(null!==(y=globalThis.litHtmlVersions)&&void 0!==y?y:globalThis.litHtmlVersions=[]).push("2.1.3");class Y 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 a=o._$litPart$;if(void 0===a){const t=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:null;o._$litPart$=a=new N(e.insertBefore(S(),t),t,void 0,null!=i?i:{})}return a._$AI(t),a})(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 M}}Y.finalized=!0,Y._$litElement$=!0,null===(J=globalThis.litElementHydrateSupport)||void 0===J||J.call(globalThis,{LitElement:Y});const Q=globalThis.litElementPolyfillSupport;null==Q||Q({LitElement:Y}),(null!==(X=globalThis.litElementVersions)&&void 0!==X?X:globalThis.litElementVersions=[]).push("3.1.2");
25
+ /**
26
+ * @license
27
+ * Copyright 2017 Google LLC
28
+ * SPDX-License-Identifier: BSD-3-Clause
29
+ */
30
+ const tt=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
+ */,et=(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 it(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):et(t,e)
36
+ /**
37
+ * @license
38
+ * Copyright 2017 Google LLC
39
+ * SPDX-License-Identifier: BSD-3-Clause
40
+ */}function rt(t){return it({...t,state:!0})}
41
+ /**
42
+ * @license
43
+ * Copyright 2017 Google LLC
44
+ * SPDX-License-Identifier: BSD-3-Clause
45
+ */
46
+ /**
47
+ * @license
48
+ * Copyright 2017 Google LLC
49
+ * SPDX-License-Identifier: BSD-3-Clause
50
+ */
51
+ function nt(t,e){return(({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)}})({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}})}
52
+ /**
53
+ * @license
54
+ * Copyright 2021 Google LLC
55
+ * SPDX-License-Identifier: BSD-3-Clause
56
+ */var ot;null===(ot=window.HTMLSlotElement)||void 0===ot||ot.prototype.assignedElements,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),a=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 s;t:{var c={};try{c.__proto__={a:!0},s=c.a;break t}catch(t){}s=!1}n=s?function(t,e){if(t.__proto__=e,t.__proto__!==e)throw new TypeError(t+" is not extensible");return t}:null}var p=n;if(!ShadowRoot.prototype.createElement){var l,d=window.HTMLElement,h=window.customElements.define,f=window.customElements.get,u=window.customElements,v=new WeakMap,y=new WeakMap,m=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=f.call(u,t))||(n=b(t),h.call(u,t,n)),this===window.customElements&&(m.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,y.delete(o),k(o,r,!0)}return void 0!==(r=this.i.get(t))&&(r.resolve(i),this.i.delete(t)),i},window.CustomElementRegistry.prototype.upgrade=function(){O.push(this),u.upgrade.apply(u,arguments),O.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=l;if(t)return l=void 0,t;var e=m.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(d,[],e.s),Object.setPrototypeOf(t,this.constructor.prototype),v.set(t,e),t},window.HTMLElement.prototype=d.prototype;var b=function(t){function e(){var e=Reflect.construct(d,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);t:{var i=e.getRootNode();if(!(i===document||i instanceof ShadowRoot)){if((i=O[O.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))?k(e,i):y.set(e,r),e}return o.Object.defineProperty(e,"formAssociated",{configurable:!0,enumerable:!0,get:function(){return!0}}),e.prototype.connectedCallback=function(){var e=v.get(this);e?e.connectedCallback&&e.connectedCallback.apply(this,arguments):y.get(this).m(this,t,!0)},e.prototype.disconnectedCallback=function(){var e=v.get(this);e?e.disconnectedCallback&&e.disconnectedCallback.apply(this,arguments):y.get(this).m(this,t,!1)},e.prototype.adoptedCallback=function(){var t,e;null==(t=v.get(this))||null==(e=t.adoptedCallback)||e.apply(this,arguments)},e.prototype.formAssociatedCallback=function(){var t,e=v.get(this);e&&e.formAssociated&&(null==e||null==(t=e.formAssociatedCallback)||t.apply(this,arguments))},e.prototype.formDisabledCallback=function(){var t,e=v.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formDisabledCallback)||t.apply(this,arguments))},e.prototype.formResetCallback=function(){var t,e=v.get(this);null!=e&&e.formAssociated&&(null==e||null==(t=e.formResetCallback)||t.apply(this,arguments))},e.prototype.formStateRestoreCallback=function(){var t,e=v.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)})}},x=function(t){var e=Object.getPrototypeOf(t);if(e!==window.HTMLElement)return e===d?Object.setPrototypeOf(t,window.HTMLElement):x(e)},k=function(t,e,i){i=void 0!==i&&i,Object.setPrototypeOf(t,e.g.prototype),v.set(t,e),l=t;try{new e.g}catch(t){x(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 O=[document],$=function(t,e,i){var r=(i?Object.getPrototypeOf(i):t.prototype)[e];t.prototype[e]=function(){O.push(this);var t=r.apply(i||this,arguments);return void 0!==t&&g.set(t,this),O.pop(),t}};$(ShadowRoot,"createElement",document),$(ShadowRoot,"importNode",document),$(Element,"insertAdjacentHTML");var z=function(t){var e=Object.getOwnPropertyDescriptor(t.prototype,"innerHTML");Object.defineProperty(t.prototype,"innerHTML",Object.assign({},e,{set:function(t){O.push(this),e.set.call(this,t),O.pop()}}))};if(z(Element),z(ShadowRoot),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){var A=new WeakMap,E=HTMLElement.prototype.attachInternals;HTMLElement.prototype.attachInternals=function(t){for(var e=[],r=0;r<arguments.length;++r)e[r]=arguments[r];return e=E.call.apply(E,[this].concat(i(e))),A.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=A.get(this),!0!==v.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 T=function(t){var e=a(Array,[].concat(i(t)),this.constructor);return e.h=t,e},C=T,j=Array;if(C.prototype=r(j.prototype),C.prototype.constructor=C,p)p(C,j);else for(var _ in j)if("prototype"!=_)if(Object.defineProperties){var R=Object.getOwnPropertyDescriptor(j,_);R&&Object.defineProperty(C,_,R)}else C[_]=j[_];C.u=j.prototype,o.Object.defineProperty(T.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 T(t))}))};M.prototype.namedItem=function(t){return this[t]};var F=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){for(var t=F.get.call(this,[]),i=[],r=(t=e(t)).next();!r.done;r=t.next()){r=r.value;var n=v.get(r);n&&!0!==n.formAssociated||i.push(r)}return new M(i)}})}}}.call(self);try{window.customElements.define("custom-element",null)}catch(ht){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)}}}const at=t=>e=>{window.customElements.get(t)||window.customElements.define(t,e)}
57
+ /**
58
+ * @license
59
+ * Copyright 2021 Google LLC
60
+ * SPDX-License-Identifier: BSD-3-Clause
61
+ */;class st 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}}}(Y)){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]),R`${t.map((t=>R`<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){}}
62
+ /**
63
+ * @license
64
+ * Copyright 2017 Google LLC
65
+ * SPDX-License-Identifier: BSD-3-Clause
66
+ */const ct=1,pt=2,lt=t=>(...e)=>({_$litDirective$:t,values:e});class dt{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)}}
67
+ /**
68
+ * @license
69
+ * Copyright 2017 Google LLC
70
+ * SPDX-License-Identifier: BSD-3-Clause
71
+ */class ht extends dt{constructor(t){if(super(t),this.it=F,t.type!==pt)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===F||null==t)return this.vt=void 0,this.it=t;if(t===M)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 ft,ut,vt;ht.directiveName="unsafeHTML",ht.resultType=1;const yt=navigator.vendor&&!!navigator.vendor.match(/apple/i)||"[object SafariRemoteNotification]"===(null!==(vt=null===(ut=null===(ft=window.safari)||void 0===ft?void 0:ft.pushNotification)||void 0===ut?void 0:ut.toString())&&void 0!==vt?vt:""),mt=lt(class extends dt{constructor(t){var e;if(super(t),t.type!==ct||"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 M}});
72
+ /**
73
+ * @license
74
+ * Copyright 2018 Google LLC
75
+ * SPDX-License-Identifier: BSD-3-Clause
76
+ */
77
+ /*! *****************************************************************************
78
+ Copyright (c) Microsoft Corporation.
79
+
80
+ Permission to use, copy, modify, and/or distribute this software for any
81
+ purpose with or without fee is hereby granted.
82
+
83
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
84
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
85
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
86
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
87
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
88
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
89
+ PERFORMANCE OF THIS SOFTWARE.
90
+ ***************************************************************************** */
91
+ var gt=function(t,e){return gt=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])},gt(t,e)};var bt=function(){return bt=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},bt.apply(this,arguments)};function wt(t,e,i,r){for(var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a}function xt(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.")}
92
+ /**
93
+ * @license
94
+ * Copyright 2018 Google Inc.
95
+ *
96
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
97
+ * of this software and associated documentation files (the "Software"), to deal
98
+ * in the Software without restriction, including without limitation the rights
99
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
100
+ * copies of the Software, and to permit persons to whom the Software is
101
+ * furnished to do so, subject to the following conditions:
102
+ *
103
+ * The above copyright notice and this permission notice shall be included in
104
+ * all copies or substantial portions of the Software.
105
+ *
106
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
107
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
108
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
109
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
110
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
111
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
112
+ * THE SOFTWARE.
113
+ */
114
+ /**
115
+ * @license
116
+ * Copyright 2018 Google LLC
117
+ * SPDX-License-Identifier: Apache-2.0
118
+ */
119
+ const kt=()=>{},St={get passive(){return!1}};document.addEventListener("x",kt,St),document.removeEventListener("x",kt);
120
+ /**
121
+ * @license
122
+ * Copyright 2018 Google LLC
123
+ * SPDX-License-Identifier: Apache-2.0
124
+ */
125
+ class Ot extends Y{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()}}
126
+ /**
127
+ * @license
128
+ * Copyright 2016 Google Inc.
129
+ *
130
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
131
+ * of this software and associated documentation files (the "Software"), to deal
132
+ * in the Software without restriction, including without limitation the rights
133
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
134
+ * copies of the Software, and to permit persons to whom the Software is
135
+ * furnished to do so, subject to the following conditions:
136
+ *
137
+ * The above copyright notice and this permission notice shall be included in
138
+ * all copies or substantial portions of the Software.
139
+ *
140
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
141
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
142
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
143
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
144
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
145
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
146
+ * THE SOFTWARE.
147
+ */var $t=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}(),zt={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"},At={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"},Et={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};
148
+ /**
149
+ * @license
150
+ * Copyright 2016 Google Inc.
151
+ *
152
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
153
+ * of this software and associated documentation files (the "Software"), to deal
154
+ * in the Software without restriction, including without limitation the rights
155
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
156
+ * copies of the Software, and to permit persons to whom the Software is
157
+ * furnished to do so, subject to the following conditions:
158
+ *
159
+ * The above copyright notice and this permission notice shall be included in
160
+ * all copies or substantial portions of the Software.
161
+ *
162
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
163
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
164
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
165
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
166
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
167
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
168
+ * THE SOFTWARE.
169
+ */
170
+ /**
171
+ * @license
172
+ * Copyright 2016 Google Inc.
173
+ *
174
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
175
+ * of this software and associated documentation files (the "Software"), to deal
176
+ * in the Software without restriction, including without limitation the rights
177
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
178
+ * copies of the Software, and to permit persons to whom the Software is
179
+ * furnished to do so, subject to the following conditions:
180
+ *
181
+ * The above copyright notice and this permission notice shall be included in
182
+ * all copies or substantial portions of the Software.
183
+ *
184
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
185
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
186
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
187
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
188
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
189
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
190
+ * THE SOFTWARE.
191
+ */
192
+ var Tt=["touchstart","pointerdown","mousedown","keydown"],Ct=["touchend","pointerup","mouseup","contextmenu"],jt=[],_t=function(t){function e(i){var r=t.call(this,bt(bt({},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 function(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}gt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return zt},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return At},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return Et},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=xt(Tt),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=xt(Ct),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=xt(Tt),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=xt(Ct),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&&jt.length>0&&jt.some((function(t){return e.adapter.containsEventTarget(t)}))?this.resetActivationState():(void 0!==t&&(jt.push(t.target),this.registerDeactivationHandlers(t)),i.wasElementMadeActive=this.checkElementMadeActive(t),i.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame((function(){jt=[],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,a=o.FG_DEACTIVATION,s=o.FG_ACTIVATION,c=e.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var p="",l="";if(!this.adapter.isUnbounded()){var d=this.getFgTranslationCoordinates(),h=d.startPoint,f=d.endPoint;p=h.x+"px, "+h.y+"px",l=f.x+"px, "+f.y+"px"}this.adapter.updateCssVariable(r,p),this.adapter.updateCssVariable(n,l),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(a),this.adapter.computeBoundingRect(),this.adapter.addClass(s),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,a=e.y,s=o+i.left,c=a+i.top;if("touchstart"===t.type){var p=t;r=p.changedTouches[0].pageX-s,n=p.changedTouches[0].pageY-c}else{var l=t;r=l.pageX-s,n=l.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)}),Et.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=bt({},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}($t),Rt=_t;
193
+ /**
194
+ * @license
195
+ * Copyright 2018 Google LLC
196
+ * SPDX-License-Identifier: BSD-3-Clause
197
+ */
198
+ const Mt=lt(class extends dt{constructor(t){var e;if(super(t),t.type!==ct||"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 M}});
199
+ /**
200
+ * @license
201
+ * Copyright 2018 Google LLC
202
+ * SPDX-License-Identifier: Apache-2.0
203
+ */class Ft extends Ot{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=Rt}get isActive(){return t=this.parentElement||this,e=":active",(t.matches||t.webkitMatchesSelector||t.msMatchesSelector).call(t,e);var t,e}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 R`<div class="mdc-ripple-surface mdc-ripple-upgraded ${mt(i)}" style="${Mt({"--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>`}}wt([nt(".mdc-ripple-surface")],Ft.prototype,"mdcRoot",void 0),wt([it({type:Boolean})],Ft.prototype,"primary",void 0),wt([it({type:Boolean})],Ft.prototype,"accent",void 0),wt([it({type:Boolean})],Ft.prototype,"unbounded",void 0),wt([it({type:Boolean})],Ft.prototype,"disabled",void 0),wt([it({type:Boolean})],Ft.prototype,"activated",void 0),wt([it({type:Boolean})],Ft.prototype,"selected",void 0),wt([it({type:Boolean})],Ft.prototype,"internalUseStateLayerCustomProperties",void 0),wt([rt()],Ft.prototype,"hovering",void 0),wt([rt()],Ft.prototype,"bgFocused",void 0),wt([rt()],Ft.prototype,"fgActivation",void 0),wt([rt()],Ft.prototype,"fgDeactivation",void 0),wt([rt()],Ft.prototype,"fgScale",void 0),wt([rt()],Ft.prototype,"fgSize",void 0),wt([rt()],Ft.prototype,"translateStart",void 0),wt([rt()],Ft.prototype,"translateEnd",void 0),wt([rt()],Ft.prototype,"leftPos",void 0),wt([rt()],Ft.prototype,"topPos",void 0);
204
+ /**
205
+ * @license
206
+ * Copyright 2021 Google LLC
207
+ * SPDX-LIcense-Identifier: Apache-2.0
208
+ */
209
+ const It=o`.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)}`
210
+ /**
211
+ * @license
212
+ * Copyright 2018 Google LLC
213
+ * SPDX-License-Identifier: Apache-2.0
214
+ */;let Dt=class extends Ft{};Dt.styles=[It],Dt=wt([tt("mwc-ripple")],Dt);
215
+ /**
216
+ * @license
217
+ * Copyright 2020 Google LLC
218
+ * SPDX-License-Identifier: Apache-2.0
219
+ */
220
+ class Ut{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()}))}}}var Bt=function(t,e,i,r){for(var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a};let Ht=class extends st{constructor(){super(...arguments),this.primary=!1,this.secondary=!1,this.unbounded=!1,this.activated=!1,this.selected=!1,this.disabled=!1}getStyles(){return o`:host{display:contents;--mdc-ripple-color:var(--ft-ripple-color, var(--ft-color-content, #000));--mdc-ripple-press-opacity:var(--ft-opacity-color-content-on-surface-pressed, 0.1);--mdc-ripple-hover-opacity:var(--ft-opacity-color-content-on-surface-hover, 0.04);--mdc-ripple-focus-opacity:var(--ft-opacity-color-content-on-surface-focused, 0.12);--mdc-ripple-selected-opacity:var(--ft-opacity-color-content-on-surface-selected, 0.08);--mdc-ripple-activated-opacity:var(--ft-opacity-color-content-on-surface-dragged, 0.08)}mwc-ripple.ft-ripple--secondary{--mdc-ripple-color:var(--ft-ripple-color, var(--ft-color-secondary, #FFCC80))}mwc-ripple.ft-ripple--primary{--mdc-ripple-color:var(--ft-ripple-color, var(--ft-color-primary, #2196F3))}`}getTemplate(){return R`<mwc-ripple class="${this.primary?"ft-ripple--primary":this.secondary?"ft-ripple--secondary":""}" ?unbounded="${this.unbounded}" ?activated="${this.activated}" ?selected="${this.selected}" ?disabled="${this.disabled}"></mwc-ripple>`}updated(t){super.updated(t),t.has("disabled")&&this.disabled&&this.endRipple()}endRipple(){var t,e,i;null===(t=this.rippleHandlers)||void 0===t||t.endHover(),null===(e=this.rippleHandlers)||void 0===e||e.endFocus(),null===(i=this.rippleHandlers)||void 0===i||i.endPress()}connectedCallback(){var t;super.connectedCallback();const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.host.parentNode;if(e){const t=new Ut((async()=>this.mwcRipple)),i=e=>i=>{window.addEventListener(e,t.endPress,{once:!0}),t.startPress(i)},r=i("mouseup"),n=i("touchend"),o=t=>{["Enter"," "].includes(t.key)&&i("keyup")()};e.addEventListener("mouseenter",t.startHover),e.addEventListener("mouseleave",t.endHover),e.addEventListener("mousedown",r),e.addEventListener("touchstart",n),e.addEventListener("keydown",o),e.addEventListener("focus",t.startFocus),e.addEventListener("blur",t.endFocus),this.onDisconnect=()=>{e.removeEventListener("mouseenter",t.startHover),e.removeEventListener("mouseleave",t.endHover),e.removeEventListener("mousedown",r),e.removeEventListener("touchstart",n),e.removeEventListener("keydown",o),e.removeEventListener("focus",t.startFocus),e.removeEventListener("blur",t.endFocus)},this.rippleHandlers=t}}disconnectedCallback(){super.disconnectedCallback(),this.onDisconnect&&this.onDisconnect(),this.endRipple()}};Ht.elementDefinitions={"mwc-ripple":Dt},Bt([it({type:Boolean})],Ht.prototype,"primary",void 0),Bt([it({type:Boolean})],Ht.prototype,"secondary",void 0),Bt([it({type:Boolean})],Ht.prototype,"unbounded",void 0),Bt([it({type:Boolean})],Ht.prototype,"activated",void 0),Bt([it({type:Boolean})],Ht.prototype,"selected",void 0),Bt([it({type:Boolean})],Ht.prototype,"disabled",void 0),Bt([nt("mwc-ripple")],Ht.prototype,"mwcRipple",void 0),Ht=Bt([at("ft-ripple")],Ht);
221
+ /**
222
+ * @license
223
+ * Copyright 2020 Google LLC
224
+ * SPDX-License-Identifier: BSD-3-Clause
225
+ */
226
+ const Lt=t=>({_$litStatic$:t}),Nt=new Map,Pt=(t=>(e,...i)=>{var r;const n=i.length;let o,a;const s=[],c=[];let p,l=0,d=!1;for(;l<n;){for(p=e[l];l<n&&void 0!==(a=i[l],o=null===(r=a)||void 0===r?void 0:r._$litStatic$);)p+=o+e[++l],d=!0;c.push(a),s.push(p),l++}if(l===n&&s.push(e[n]),d){const t=s.join("$$lit$$");void 0===(e=Nt.get(t))&&(s.raw=s,Nt.set(t,e=s)),i=c}return t(e,...i)})(R);var Vt,Gt=function(t,e,i,r){for(var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a};!function(t){t.title="title",t.title_dense="title-dense",t.subtitle1="subtitle1",t.subtitle2="subtitle2",t.body1="body1",t.body2="body2",t.caption="caption",t.breadcrumb="breadcrumb",t.overline="overline",t.button="button"}(Vt||(Vt={}));const qt=o`
227
+ .ft-typography--title {
228
+ font-family: var(--ft-typography-title-font-family, var(--ft-typography-font-family, var(--ft-title-font, Ubuntu))), system-ui, sans-serif;
229
+ font-size: var(--ft-typography-title-font-size, var(--ft-typography-font-size, 20px));
230
+ font-weight: var(--ft-typography-title-font-weight, var(--ft-typography-font-weight, normal));
231
+ letter-spacing: var(--ft-typography-title-letter-spacing, var(--ft-typography-letter-spacing, 0.15px));
232
+ line-height: var(--ft-typography-title-line-height, var(--ft-typography-line-height, 24px));
233
+ text-transform: var(--ft-typography-title-text-transform, var(--ft-typography-text-transform, inherit));
234
+ }
235
+ `,Wt=o`
236
+ .ft-typography--title-dense {
237
+ font-family: var(--ft-typography-title-dense-font-family, var(--ft-typography-font-family, var(--ft-title-font, Ubuntu))), system-ui, sans-serif;
238
+ font-size: var(--ft-typography-title-dense-font-size, var(--ft-typography-font-size, 14px));
239
+ font-weight: var(--ft-typography-title-dense-font-weight, var(--ft-typography-font-weight, normal));
240
+ letter-spacing: var(--ft-typography-title-dense-letter-spacing, var(--ft-typography-letter-spacing, 0.105px));
241
+ line-height: var(--ft-typography-title-dense-line-height, var(--ft-typography-line-height, 24px));
242
+ text-transform: var(--ft-typography-title-dense-text-transform, var(--ft-typography-text-transform, inherit));
243
+ }
244
+ `,Kt=o`
245
+ .ft-typography--subtitle1 {
246
+ font-family: var(--ft-typography-subtitle1-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
247
+ font-size: var(--ft-typography-subtitle1-font-size, var(--ft-typography-font-size, 16px));
248
+ font-weight: var(--ft-typography-subtitle1-font-weight, var(--ft-typography-font-weight, 600));
249
+ letter-spacing: var(--ft-typography-subtitle1-letter-spacing, var(--ft-typography-letter-spacing, 0.144px));
250
+ line-height: var(--ft-typography-subtitle1-line-height, var(--ft-typography-line-height, 24px));
251
+ text-transform: var(--ft-typography-subtitle1-text-transform, var(--ft-typography-text-transform, inherit));
252
+ }
253
+ `,Zt=o`
254
+ .ft-typography--subtitle2 {
255
+ font-family: var(--ft-typography-subtitle2-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
256
+ font-size: var(--ft-typography-subtitle2-font-size, var(--ft-typography-font-size, 14px));
257
+ font-weight: var(--ft-typography-subtitle2-font-weight, var(--ft-typography-font-weight, normal));
258
+ letter-spacing: var(--ft-typography-subtitle2-letter-spacing, var(--ft-typography-letter-spacing, 0.098px));
259
+ line-height: var(--ft-typography-subtitle2-line-height, var(--ft-typography-line-height, 24px));
260
+ text-transform: var(--ft-typography-subtitle2-text-transform, var(--ft-typography-text-transform, inherit));
261
+ }
262
+
263
+ `,Jt=o`
264
+ .ft-typography--body1 {
265
+ font-family: var(--ft-typography-body1-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
266
+ font-size: var(--ft-typography-body1-font-size, var(--ft-typography-font-size, 16px));
267
+ font-weight: var(--ft-typography-body1-font-weight, var(--ft-typography-font-weight, normal));
268
+ letter-spacing: var(--ft-typography-body1-letter-spacing, var(--ft-typography-letter-spacing, 0.496px));
269
+ line-height: var(--ft-typography-body1-line-height, var(--ft-typography-line-height, 24px));
270
+ text-transform: var(--ft-typography-body1-text-transform, var(--ft-typography-text-transform, inherit));
271
+ }
272
+ `,Xt=o`
273
+ .ft-typography--body2 {
274
+ font-family: var(--ft-typography-body2-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
275
+ font-size: var(--ft-typography-body2-font-size, var(--ft-typography-font-size, 14px));
276
+ font-weight: var(--ft-typography-body2-font-weight, var(--ft-typography-font-weight, normal));
277
+ letter-spacing: var(--ft-typography-body2-letter-spacing, var(--ft-typography-letter-spacing, 0.252px));
278
+ line-height: var(--ft-typography-body2-line-height, var(--ft-typography-line-height, 20px));
279
+ text-transform: var(--ft-typography-body2-text-transform, var(--ft-typography-text-transform, inherit));
280
+ }
281
+ `,Yt=o`
282
+ .ft-typography--caption {
283
+ font-family: var(--ft-typography-caption-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
284
+ font-size: var(--ft-typography-caption-font-size, var(--ft-typography-font-size, 12px));
285
+ font-weight: var(--ft-typography-caption-font-weight, var(--ft-typography-font-weight, normal));
286
+ letter-spacing: var(--ft-typography-caption-letter-spacing, var(--ft-typography-letter-spacing, 0.396px));
287
+ line-height: var(--ft-typography-caption-line-height, var(--ft-typography-line-height, 16px));
288
+ text-transform: var(--ft-typography-caption-text-transform, var(--ft-typography-text-transform, inherit));
289
+ }
290
+ `,Qt=o`
291
+ .ft-typography--breadcrumb {
292
+ font-family: var(--ft-typography-breadcrumb-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
293
+ font-size: var(--ft-typography-breadcrumb-font-size, var(--ft-typography-font-size, 10px));
294
+ font-weight: var(--ft-typography-breadcrumb-font-weight, var(--ft-typography-font-weight, normal));
295
+ letter-spacing: var(--ft-typography-breadcrumb-letter-spacing, var(--ft-typography-letter-spacing, 0.33px));
296
+ line-height: var(--ft-typography-breadcrumb-line-height, var(--ft-typography-line-height, 16px));
297
+ text-transform: var(--ft-typography-breadcrumb-text-transform, var(--ft-typography-text-transform, inherit));
298
+ }
299
+ `,te=o`
300
+ .ft-typography--overline {
301
+ font-family: var(--ft-typography-overline-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
302
+ font-size: var(--ft-typography-overline-font-size, var(--ft-typography-font-size, 10px));
303
+ font-weight: var(--ft-typography-overline-font-weight, var(--ft-typography-font-weight, normal));
304
+ letter-spacing: var(--ft-typography-overline-letter-spacing, var(--ft-typography-letter-spacing, 1.5px));
305
+ line-height: var(--ft-typography-overline-line-height, var(--ft-typography-line-height, 16px));
306
+ text-transform: var(--ft-typography-overline-text-transform, var(--ft-typography-text-transform, uppercase));
307
+ }
308
+ `,ee=o`
309
+ .ft-typography--button {
310
+ font-family: var(--ft-typography-button-font-family, var(--ft-typography-font-family, var(--ft-content-font, 'Open Sans'))), system-ui, sans-serif;
311
+ font-size: var(--ft-typography-button-font-size, var(--ft-typography-font-size, 14px));
312
+ font-weight: var(--ft-typography-button-font-weight, var(--ft-typography-font-weight, 600));
313
+ letter-spacing: var(--ft-typography-button-letter-spacing, var(--ft-typography-letter-spacing, 1.246px));
314
+ line-height: var(--ft-typography-button-line-height, var(--ft-typography-line-height, 16px));
315
+ text-transform: var(--ft-typography-button-text-transform, var(--ft-typography-text-transform, uppercase));
316
+ }
317
+ `;let ie=class extends st{constructor(){super(...arguments),this.variant=Vt.body1}getStyles(){return[qt,Wt,Kt,Zt,Jt,Xt,Yt,Qt,te,ee]}getTemplate(){return this.element?Pt`
318
+ <${Lt(this.element)}
319
+ class="ft-typography ft-typography--${this.variant}">
320
+ <slot></slot>
321
+ </${Lt(this.element)}>
322
+ `:Pt`
323
+ <slot class="ft-typography ft-typography--${this.variant}"></slot>
324
+ `}};Gt([it()],ie.prototype,"element",void 0),Gt([it()],ie.prototype,"variant",void 0),ie=Gt([at("ft-typography")],ie);
325
+ /**
326
+ * @license
327
+ * Copyright 2021 Google LLC
328
+ * SPDX-LIcense-Identifier: Apache-2.0
329
+ */
330
+ const re=o`:host{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"}`
331
+ /**
332
+ * @license
333
+ * Copyright 2018 Google LLC
334
+ * SPDX-License-Identifier: Apache-2.0
335
+ */;let ne=class extends Y{render(){return R`<span><slot></slot></span>`}};ne.styles=[re],ne=wt([tt("mwc-icon")],ne);var oe=function(t,e,i,r){for(var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a};class ae extends CustomEvent{constructor(){super("icon-click")}}let se=class extends st{constructor(){super(...arguments),this.highlighted=!1,this.removable=!1,this.disabled=!1,this.clickable=!1,this.iconClickable=!1,this.dense=!1,this.multiLine=!1,this.label="",this.icon=void 0,this.trailingIcon=!1}getStyles(){return o`:host{display:inline-block;max-width:100%}.ft-chip{position:relative;display:flex;justify-content:center;align-items:center;width:100%;overflow:hidden;box-sizing:border-box;--ft-chip-internal-font-size:var(--ft-typography-font-size, 14px);--ft-chip-internal-line-height:var(--ft-typography-line-height, max(20px, calc(var(--ft-chip-internal-font-size) + 2px)));--mdc-icon-size:var(--ft-chip-icon-size, 18px);--ft-chip-internal-vertical-padding:var(--ft-chip-vertical-padding, 6px);--ft-chip-internal-horizontal-padding:var(--ft-chip-horizontal-padding, 6px);--ft-chip-internal-icon-padding:3px;--ft-chip-internal-content-height:max(var(--ft-chip-internal-line-height), var(--mdc-icon-size));border:1px solid var(--ft-color-outline,rgba(0,0,0,.14));color:var(--ft-color-on-surface,rgba(0,0,0,.87));--ft-ripple-color:var(--ft-color-on-surface, rgba(0, 0, 0, 0.87));border-radius:calc(var(--ft-chip-internal-content-height)/ 2 + var(--ft-chip-internal-vertical-padding));padding:calc(var(--ft-chip-internal-vertical-padding) - 1px) calc(var(--ft-chip-internal-horizontal-padding) - 1px);background-color:var(--ft-color-surface,#fff);line-height:var(--ft-chip-internal-content-height)}.ft-chip--dense{--ft-chip-internal-icon-padding:3px;--ft-chip-internal-vertical-padding:var(--ft-chip-vertical-padding, 4px);--ft-chip-internal-horizontal-padding:var(--ft-chip-horizontal-padding, 4px);--ft-chip-internal-line-height:var(--ft-typography-line-height, max(16px, calc(var(--ft-chip-internal-font-size) + 2px)))}.ft-chip--no-content{--ft-chip-internal-horizontal-padding:var(--ft-chip-horizontal-padding, var(--ft-chip-internal-vertical-padding))}.ft-chip--disabled{cursor:default;pointer-events:none;filter:grayscale(1);opacity:var(--ft-color-opacity-disabled,.38)}.ft-chip--highlighted{border:none;padding:var(--ft-chip-internal-vertical-padding) var(--ft-chip-internal-horizontal-padding);background-color:var(--ft-color-primary,#2196f3);--ft-ripple-color:var(--ft-color-on-primary, #FFFFFF);color:var(--ft-color-on-primary,#fff)}.ft-chip--clickable{cursor:pointer;-webkit-mask-image:radial-gradient(white,#000)}.ft-chip:focus{outline:0}.ft-chip--icon-container{display:inline-flex;position:relative;overflow:hidden;border-radius:100%;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;justify-content:center;align-items:center;flex-shrink:0;padding:var(--ft-chip-internal-icon-padding);margin:calc((-1) * var(--ft-chip-internal-icon-padding))}.ft-chip--label{display:block;margin:0 var(--ft-chip-internal-horizontal-padding);--ft-typography-line-height:var(--ft-chip-internal-content-height)}.ft-chip--safari-fix .ft-chip--label{margin-right:0}.ft-chip:not(.ft-chip--multi-line) .ft-chip--label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ft-chip--safari-fix:not(.ft-chip--multi-line) .ft-chip--label:after{content:"\\0000a0";display:inline-block;width:0}.ft-chip--no-content .ft-chip--label{display:none}.ft-chip--no-content .ft-chip--label+.ft-chip--icon-container{width:var(--ft-chip-internal-content-height);height:var(--ft-chip-internal-content-height)}.ft-chip--icon-container:focus{outline:0}.ft-chip:not(.ft-chip--trailing-icon) .ft-chip--icon-container{order:-1}`}getTemplate(){const t={"ft-chip":!0,"ft-chip--highlighted":this.highlighted,"ft-chip--disabled":this.disabled,"ft-chip--clickable":this.interactionsOnChip,"ft-chip--trailing-icon":this.trailingIcon||this.removable,"ft-chip--no-content":!this.hasTextContent(),"ft-chip--dense":this.dense,"ft-chip--multi-line":this.multiLine,"ft-chip--safari-fix":yt};return R`<div class="${mt(t)}" aria-label="${this.getLabel()}" tabindex="${this.interactionsOnChip?0:-1}" @keyup="${this.onKeyUp}"><ft-ripple ?disabled="${!this.interactionsOnChip}"></ft-ripple><ft-typography variant="body2" element="span" class="ft-chip--label"><slot @slotchange="${this.onSlotchange}"></slot></ft-typography>${this.internalIcon?this.renderIcon():null}</div>`}get interactionsOnChip(){return this.clickable&&!this.disabled}get interactionsOnIcon(){return(this.iconClickable||this.removable)&&!this.disabled}renderIcon(){return R`<div class="ft-chip--icon-container ${this.interactionsOnIcon?"ft-chip--clickable":""}" tabindex="${this.interactionsOnIcon?0:-1}" @click="${this.onIconClick}" @keyup="${this.onIconKeyUp}"><ft-ripple ?disabled="${!this.interactionsOnIcon}"></ft-ripple><mwc-icon>${this.internalIcon}</mwc-icon></div>`}onKeyUp(t){this.interactionsOnChip&&["Enter"," "].includes(t.key)&&t.target.click()}onIconKeyUp(t){this.interactionsOnIcon&&["Enter"," "].includes(t.key)&&(t.stopPropagation(),this.dispatchEvent(new ae))}onIconClick(t){this.interactionsOnIcon&&(t.stopPropagation(),this.dispatchEvent(new ae))}getLabel(){return this.label||this.textContent}get textContent(){var t,e;return null!==(e=null===(t=this.slottedContent)||void 0===t?void 0:t.assignedNodes().map((t=>t.textContent)).join("").trim())&&void 0!==e?e:""}hasTextContent(){return this.textContent.length>0}onSlotchange(){this.requestUpdate()}get internalIcon(){return this.icon||(this.removable?"cancel":void 0)}};se.elementDefinitions={"ft-ripple":Ht,"ft-typography":ie,"mwc-icon":ne},oe([it({type:Boolean})],se.prototype,"highlighted",void 0),oe([it({type:Boolean})],se.prototype,"removable",void 0),oe([it({type:Boolean})],se.prototype,"disabled",void 0),oe([it({type:Boolean})],se.prototype,"clickable",void 0),oe([it({type:Boolean})],se.prototype,"iconClickable",void 0),oe([it({type:Boolean})],se.prototype,"dense",void 0),oe([it({type:Boolean})],se.prototype,"multiLine",void 0),oe([it({type:String})],se.prototype,"label",void 0),oe([it({type:String})],se.prototype,"icon",void 0),oe([it({type:Boolean})],se.prototype,"trailingIcon",void 0),oe([nt("ft-typography slot")],se.prototype,"slottedContent",void 0),se=oe([at("ft-chip")],se);var ce=function(t,e,i,r){for(var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a};class pe extends CustomEvent{constructor(t){super("file-drop",{detail:{file:t}})}}t.FtFileDrop=class extends st{constructor(){super(...arguments),this.dropHint="Drop your file here",this.accept="",this.fileTypeError="Unsupported file type",this.dragging=!1,this.fileError=!1}getStyles(){return o`#container{position:absolute;inset:0}slot{position:absolute;inset:0;display:block;overflow:auto}#overlay{display:none;position:absolute;inset:0;z-index:var(--ft-file-drop-z-index,10)}#container.dragging #overlay{display:block}#overlay-background{z-index:1;position:absolute;inset:0;background-color:var(--ft-color-primary,#2196f3);opacity:.2;border-radius:10px}#overlay-drop{z-index:2;position:absolute;inset:0}#overlay-content{z-index:1;position:absolute;inset:0;border:dashed 4px var(--ft-color-primary,#2196f3);border-radius:10px;display:flex;align-items:flex-end;justify-content:center}#overlay-content ft-chip{margin-bottom:10%;--ft-color-on-surface:var(--ft-color-primary, #2196F3);--ft-chip-icon-size:32px;--ft-color-outline:transparent}ft-chip[icon=error]{--ft-color-primary:var(--ft-color-error, #B00020)}[hidden]{display:none}`}getTemplate(){let t={dragging:this.dragging};return R`<div id="container" class="${mt(t)}" @dragenter="${this.onDragEnter}" @dragover="${this.onDragOver}" @drop="${this.onDrop}"><div id="overlay"><div id="overlay-background"></div><div id="overlay-content"><ft-chip icon="upload" ?hidden="${this.fileError}">${this.dropHint}</ft-chip><ft-chip icon="error" ?hidden="${!this.fileError}">${this.fileTypeError}</ft-chip></div><div id="overlay-drop" @dragleave="${this.onDragLeave}"></div></div><slot></slot></div>`}onDragEnter(t){this.dragging=!0,t.preventDefault()}onDragOver(t){t.preventDefault()}onDragLeave(t){this.dragging=!1,t.preventDefault()}async onDrop(t){if(t.preventDefault(),t.dataTransfer&&t.dataTransfer.files){let e=t.dataTransfer.files[0];!function(t,e,i){if(0==t.length)return!0;let r=t.replace(/\*/g,".*").replace(/,/g,"|").replace(/\./g,"\\."),n=new RegExp(r),o=e.includes(".")?"."+e.split(".").pop():void 0;return!(!o||!n.test(o))||n.test(i)}(this.accept,e.name,e.type)?(this.fileError=!0,setTimeout((()=>{this.dragging=!1,this.fileError=!1}),2e3)):(this.dragging=!1,this.dispatchEvent(new pe(e)))}}},t.FtFileDrop.elementDefinitions={"ft-chip":se},ce([it()],t.FtFileDrop.prototype,"dropHint",void 0),ce([it()],t.FtFileDrop.prototype,"accept",void 0),ce([it()],t.FtFileDrop.prototype,"fileTypeError",void 0),ce([rt()],t.FtFileDrop.prototype,"dragging",void 0),ce([rt()],t.FtFileDrop.prototype,"fileError",void 0),t.FtFileDrop=ce([at("ft-file-drop")],t.FtFileDrop),t.FileDropEvent=pe,Object.defineProperty(t,"t",{value:!0})}({});
@@ -0,0 +1,2 @@
1
+ export declare function matchAccept(accept: string, filename: string, filetype: string): boolean;
2
+ //# sourceMappingURL=match-accept.d.ts.map
@@ -0,0 +1,15 @@
1
+ export function matchAccept(accept, filename, filetype) {
2
+ if (accept.length == 0) {
3
+ return true;
4
+ }
5
+ let pattern = accept.replace(/\*/g, ".*")
6
+ .replace(/,/g, "|")
7
+ .replace(/\./g, "\\.");
8
+ let regex = new RegExp(pattern);
9
+ let extension = filename.includes(".") ? "." + filename.split(".").pop() : undefined;
10
+ if (extension && regex.test(extension)) {
11
+ return true;
12
+ }
13
+ return regex.test(filetype);
14
+ }
15
+ //# sourceMappingURL=match-accept.js.map
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@fluid-topics/ft-file-drop",
3
+ "version": "0.0.88",
4
+ "description": "Container that accepts dropping files",
5
+ "keywords": [
6
+ "Lit"
7
+ ],
8
+ "author": "Fluid Topics <devtopics@antidot.net>",
9
+ "license": "ISC",
10
+ "main": "build/ft-file-drop.js",
11
+ "web": "build/ft-file-drop.min.js",
12
+ "typings": "build/ft-file-drop",
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-chip": "^0.0.88",
23
+ "@fluid-topics/ft-wc-utils": "^0.0.88",
24
+ "lit": "^2.0.2"
25
+ },
26
+ "gitHead": "220e53dba55dfa1de1560abbc30067555f72198c"
27
+ }