@fluid-topics/ft-filterable-table 0.1.17 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1181 @@
1
+ !function(){
2
+ /**
3
+ * @license
4
+ * Copyright (c) 2020 The Polymer Project Authors. All rights reserved.
5
+ * This code may only be used under the BSD style license found at
6
+ * http://polymer.github.io/LICENSE.txt
7
+ * The complete set of authors may be found at
8
+ * http://polymer.github.io/AUTHORS.txt
9
+ * The complete set of contributors may be found at
10
+ * http://polymer.github.io/CONTRIBUTORS.txt
11
+ * Code distributed by Google as part of the polymer project is also
12
+ * subject to an additional IP rights grant found at
13
+ * http://polymer.github.io/PATENTS.txt
14
+ *
15
+ * @see https://github.com/webcomponents/polyfills/tree/master/packages/scoped-custom-element-registry
16
+ */
17
+ if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,e=window.customElements.define,i=window.customElements.get,o=window.customElements,n=new WeakMap,s=new WeakMap,r=new WeakMap,l=new WeakMap;let a;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,n){if(t=t.toLowerCase(),void 0!==this._getDefinition(t))throw new DOMException(`Failed to execute 'define' on 'CustomElementRegistry': the name "${t}" has already been used with this registry`);if(void 0!==this._definitionsByClass.get(n))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const l=n.prototype.attributeChangedCallback,a=new Set(n.observedAttributes||[]);h(n,a,l);const p={elementClass:n,connectedCallback:n.prototype.connectedCallback,disconnectedCallback:n.prototype.disconnectedCallback,adoptedCallback:n.prototype.adoptedCallback,attributeChangedCallback:l,formAssociated:n.formAssociated,formAssociatedCallback:n.prototype.formAssociatedCallback,formDisabledCallback:n.prototype.formDisabledCallback,formResetCallback:n.prototype.formResetCallback,formStateRestoreCallback:n.prototype.formStateRestoreCallback,observedAttributes:a};this._definitionsByTag.set(t,p),this._definitionsByClass.set(n,p);let c=i.call(o,t);c||(c=d(t),e.call(o,t,c)),this===window.customElements&&(r.set(n,p),p.standInClass=c);const f=this._awaitingUpgrade.get(t);if(f){this._awaitingUpgrade.delete(t);for(const t of f)s.delete(t),u(t,p,!0)}const b=this._whenDefinedPromises.get(t);return void 0!==b&&(b.resolve(n),this._whenDefinedPromises.delete(t)),n}upgrade(){v.push(this),o.upgrade.apply(o,arguments),v.pop()}get(t){return this._definitionsByTag.get(t)?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const e=this._getDefinition(t);if(void 0!==e)return Promise.resolve(e.elementClass);let i=this._whenDefinedPromises.get(t);return void 0===i&&(i={},i.promise=new Promise((t=>i.resolve=t)),this._whenDefinedPromises.set(t,i)),i.promise}_upgradeWhenDefined(t,e,i){let o=this._awaitingUpgrade.get(e);o||this._awaitingUpgrade.set(e,o=new Set),i?o.add(t):o.delete(t)}},window.HTMLElement=function(){let e=a;if(e)return a=void 0,e;const i=r.get(this.constructor);if(!i)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return e=Reflect.construct(t,[],i.standInClass),Object.setPrototypeOf(e,this.constructor.prototype),n.set(e,i),e},window.HTMLElement.prototype=t.prototype;const p=t=>t===document||t instanceof ShadowRoot,c=t=>{let e=t.getRootNode();if(!p(e)){const t=v[v.length-1];if(t instanceof CustomElementRegistry)return t;e=t.getRootNode(),p(e)||(e=l.get(e)?.getRootNode()||document)}return e.customElements},d=e=>class{static get formAssociated(){return!0}constructor(){const i=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(i,HTMLElement.prototype);const o=c(i)||window.customElements,n=o._getDefinition(e);return n?u(i,n):s.set(i,o),i}connectedCallback(){const t=n.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):s.get(this)._upgradeWhenDefined(this,e,!0)}disconnectedCallback(){const t=n.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):s.get(this)._upgradeWhenDefined(this,e,!1)}adoptedCallback(){n.get(this)?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=n.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=n.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=n.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=n.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},h=(t,e,i)=>{if(0===e.size||void 0===i)return;const o=t.prototype.setAttribute;o&&(t.prototype.setAttribute=function(t,n){const s=t.toLowerCase();if(e.has(s)){const t=this.getAttribute(s);o.call(this,s,n),i.call(this,s,t,n)}else o.call(this,s,n)});const n=t.prototype.removeAttribute;n&&(t.prototype.removeAttribute=function(t){const o=t.toLowerCase();if(e.has(o)){const t=this.getAttribute(o);n.call(this,o),i.call(this,o,t,null)}else n.call(this,o)})},f=e=>{const i=Object.getPrototypeOf(e);if(i!==window.HTMLElement)return i===t||"HTMLElement"===i?.prototype?.constructor?.name?Object.setPrototypeOf(e,window.HTMLElement):f(i)},u=(t,e,i=!1)=>{Object.setPrototypeOf(t,e.elementClass.prototype),n.set(t,e),a=t;try{new e.elementClass}catch(t){f(e.elementClass),new e.elementClass}e.observedAttributes.forEach((i=>{t.hasAttribute(i)&&e.attributeChangedCallback.call(t,i,null,t.getAttribute(i))})),i&&e.connectedCallback&&t.isConnected&&e.connectedCallback.call(t)},b=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const e=b.apply(this,arguments);return t.customElements&&(e.customElements=t.customElements),e};let v=[document];const x=(t,e,i)=>{const o=(i?Object.getPrototypeOf(i):t.prototype)[e];t.prototype[e]=function(){v.push(this);const t=o.apply(i||this,arguments);return void 0!==t&&l.set(t,this),v.pop(),t}};x(ShadowRoot,"createElement",document),x(ShadowRoot,"importNode",document),x(Element,"insertAdjacentHTML");const y=(t,e)=>{const i=Object.getOwnPropertyDescriptor(t.prototype,e);Object.defineProperty(t.prototype,e,{...i,set(t){v.push(this),i.set.call(this,t),v.pop()}})};if(y(Element,"innerHTML"),y(ShadowRoot,"innerHTML"),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){const t=new WeakMap,e=HTMLElement.prototype.attachInternals,i=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...i){const o=e.call(this,...i);return t.set(o,this),o},i.forEach((e=>{const i=window.ElementInternals.prototype,o=i[e];i[e]=function(...e){const i=t.get(this);if(!0!==n.get(i).formAssociated)throw new DOMException(`Failed to execute ${o} on 'ElementInternals': The target element is not a form-associated custom element.`);o?.call(this,...e)}}));class o extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class s{constructor(t){const e=new Map;t.forEach(((t,i)=>{const o=t.getAttribute("name"),n=e.get(o)||[];this[+i]=t,n.push(t),e.set(o,n)})),this.length=t.length,e.forEach(((t,e)=>{t&&(1===t.length?this[e]=t[0]:this[e]=new o(t))}))}namedItem(t){return this[t]}}const r=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){const t=r.get.call(this,[]),e=[];for(const i of t){const t=n.get(i);t&&!0!==t.formAssociated||e.push(i)}return new s(e)}})}}try{window.customElements.define("custom-element",null)}catch(Mt){const t=window.customElements.define;window.customElements.define=(e,i,o)=>{try{t.bind(window.customElements)(e,i,o)}catch(t){console.warn(e,i,o,t)}}}class t{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,e){this.callbacks=[t],this.debounce(e)}queue(t,e){this.callbacks.push(t),this.debounce(e)}cancel(){null!=this._debounce&&window.clearTimeout(this._debounce)}debounce(t){this.cancel(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout)}runCallbacks(){for(let t of this.callbacks)t();this.callbacks=[]}}
18
+ /**
19
+ * @license
20
+ * Copyright 2017 Google LLC
21
+ * SPDX-License-Identifier: BSD-3-Clause
22
+ */const e=(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 i(t){return(i,o)=>void 0!==o?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,i,o):e(t,i)
23
+ /**
24
+ * @license
25
+ * Copyright 2017 Google LLC
26
+ * SPDX-License-Identifier: BSD-3-Clause
27
+ */}function o(t){return i({...t,state:!0})}
28
+ /**
29
+ * @license
30
+ * Copyright 2017 Google LLC
31
+ * SPDX-License-Identifier: BSD-3-Clause
32
+ */const n=({finisher:t,descriptor:e})=>(i,o)=>{var n;if(void 0===o){const o=null!==(n=i.originalKey)&&void 0!==n?n:i.key,s=null!=e?{kind:"method",placement:"prototype",key:o,descriptor:e(i.key)}:{...i,key:o};return null!=t&&(s.finisher=function(e){t(e,o)}),s}{const n=i.constructor;void 0!==e&&Object.defineProperty(i,o,e(o)),null==t||t(n,o)}}
33
+ /**
34
+ * @license
35
+ * Copyright 2017 Google LLC
36
+ * SPDX-License-Identifier: BSD-3-Clause
37
+ */;function s(t,e){return n({descriptor:i=>{const o={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;o.get=function(){var i,o;return void 0===this[e]&&(this[e]=null!==(o=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==o?o:null),this[e]}}return o}})}
38
+ /**
39
+ * @license
40
+ * Copyright 2021 Google LLC
41
+ * SPDX-License-Identifier: BSD-3-Clause
42
+ */var r;const l=null!=(null===(r=window.HTMLSlotElement)||void 0===r?void 0:r.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));const a=t=>e=>{window.customElements.get(t)||window.customElements.define(t,e)}
43
+ /**
44
+ * @license
45
+ * Copyright 2019 Google LLC
46
+ * SPDX-License-Identifier: BSD-3-Clause
47
+ */,p=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,c=Symbol(),d=new Map;class h{constructor(t,e){if(this._$cssResult$=!0,e!==c)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){let t=d.get(this.cssText);return p&&void 0===t&&(d.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}const f=t=>new h("string"==typeof t?t:t+"",c),u=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,o)=>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[o+1]),t[0]);return new h(i,c)},b=(t,e)=>{p?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),o=window.litNonce;void 0!==o&&i.setAttribute("nonce",o),i.textContent=e.cssText,t.appendChild(i)}))},v=p?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return f(e)})(t):t
48
+ /**
49
+ * @license
50
+ * Copyright 2017 Google LLC
51
+ * SPDX-License-Identifier: BSD-3-Clause
52
+ */;var x;const y=window.trustedTypes,g=y?y.emptyScript:"",m=window.reactiveElementPolyfillSupport,$={toAttribute(t,e){switch(e){case Boolean:t=t?g: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}},w=(t,e)=>e!==t&&(e==e||t==t),O={attribute:!0,type:String,converter:$,reflect:!1,hasChanged:w};class S 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 o=this._$Eh(i,e);void 0!==o&&(this._$Eu.set(o,i),t.push(o))})),t}static createProperty(t,e=O){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,o=this.getPropertyDescriptor(t,i,e);void 0!==o&&Object.defineProperty(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(o){const n=this[t];this[e]=o,this.requestUpdate(t,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||O}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(v(t))}else void 0!==t&&e.push(v(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 b(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=O){var o,n;const s=this.constructor._$Eh(t,i);if(void 0!==s&&!0===i.reflect){const r=(null!==(n=null===(o=i.converter)||void 0===o?void 0:o.toAttribute)&&void 0!==n?n:$.toAttribute)(e,i.type);this._$Ei=t,null==r?this.removeAttribute(s):this.setAttribute(s,r),this._$Ei=null}}_$AK(t,e){var i,o,n;const s=this.constructor,r=s._$Eu.get(t);if(void 0!==r&&this._$Ei!==r){const t=s.getPropertyOptions(r),l=t.converter,a=null!==(n=null!==(o=null===(i=l)||void 0===i?void 0:i.fromAttribute)&&void 0!==o?o:"function"==typeof l?l:null)&&void 0!==n?n:$.fromAttribute;this._$Ei=r,this[r]=a(e,t.type),this._$Ei=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||w)(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))):o=!1),!this.isUpdatePending&&o&&(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){}}
53
+ /**
54
+ * @license
55
+ * Copyright 2017 Google LLC
56
+ * SPDX-License-Identifier: BSD-3-Clause
57
+ */
58
+ var k;S.finalized=!0,S.elementProperties=new Map,S.elementStyles=[],S.shadowRootOptions={mode:"open"},null==m||m({ReactiveElement:S}),(null!==(x=globalThis.reactiveElementVersions)&&void 0!==x?x:globalThis.reactiveElementVersions=[]).push("1.2.2");const C=globalThis.trustedTypes,E=C?C.createPolicy("lit-html",{createHTML:t=>t}):void 0,N=`lit$${(Math.random()+"").slice(9)}$`,R="?"+N,z=`<${R}>`,F=document,M=(t="")=>F.createComment(t),U=t=>null===t||"object"!=typeof t&&"function"!=typeof t,D=Array.isArray,B=t=>{var e;return D(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},j=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,T=/-->/g,A=/>/g,L=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,I=/'/g,P=/"/g,_=/^(?:script|style|textarea|title)$/i,H=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),W=Symbol.for("lit-noChange"),Z=Symbol.for("lit-nothing"),K=new WeakMap,V=F.createTreeWalker(F,129,null,!1),q=(t,e)=>{const i=t.length-1,o=[];let n,s=2===e?"<svg>":"",r=j;for(let e=0;e<i;e++){const i=t[e];let l,a,p=-1,c=0;for(;c<i.length&&(r.lastIndex=c,a=r.exec(i),null!==a);)c=r.lastIndex,r===j?"!--"===a[1]?r=T:void 0!==a[1]?r=A:void 0!==a[2]?(_.test(a[2])&&(n=RegExp("</"+a[2],"g")),r=L):void 0!==a[3]&&(r=L):r===L?">"===a[0]?(r=null!=n?n:j,p=-1):void 0===a[1]?p=-2:(p=r.lastIndex-a[2].length,l=a[1],r=void 0===a[3]?L:'"'===a[3]?P:I):r===P||r===I?r=L:r===T||r===A?r=j:(r=L,n=void 0);const d=r===L&&t[e+1].startsWith("/>")?" ":"";s+=r===j?i+z:p>=0?(o.push(l),i.slice(0,p)+"$lit$"+i.slice(p)+N+d):i+N+(-2===p?(o.push(void 0),e):d)}const l=s+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==E?E.createHTML(l):l,o]};class X{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let n=0,s=0;const r=t.length-1,l=this.parts,[a,p]=q(t,e);if(this.el=X.createElement(a,i),V.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=V.nextNode())&&l.length<r;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(N)){const i=p[s++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+"$lit$").split(N),e=/([.?@])?(.*)/.exec(i);l.push({type:1,index:n,name:e[2],strings:t,ctor:"."===e[1]?tt:"?"===e[1]?it:"@"===e[1]?ot:Q})}else l.push({type:6,index:n})}for(const e of t)o.removeAttribute(e)}if(_.test(o.tagName)){const t=o.textContent.split(N),e=t.length-1;if(e>0){o.textContent=C?C.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],M()),V.nextNode(),l.push({type:2,index:++n});o.append(t[e],M())}}}else if(8===o.nodeType)if(o.data===R)l.push({type:2,index:n});else{let t=-1;for(;-1!==(t=o.data.indexOf(N,t+1));)l.push({type:7,index:n}),t+=N.length-1}n++}}static createElement(t,e){const i=F.createElement("template");return i.innerHTML=t,i}}function J(t,e,i=t,o){var n,s,r,l;if(e===W)return e;let a=void 0!==o?null===(n=i._$Cl)||void 0===n?void 0:n[o]:i._$Cu;const p=U(e)?void 0:e._$litDirective$;return(null==a?void 0:a.constructor)!==p&&(null===(s=null==a?void 0:a._$AO)||void 0===s||s.call(a,!1),void 0===p?a=void 0:(a=new p(t),a._$AT(t,i,o)),void 0!==o?(null!==(r=(l=i)._$Cl)&&void 0!==r?r:l._$Cl=[])[o]=a:i._$Cu=a),void 0!==a&&(e=J(t,a._$AS(t,e.values),a,o)),e}class Y{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:o}=this._$AD,n=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:F).importNode(i,!0);V.currentNode=n;let s=V.nextNode(),r=0,l=0,a=o[0];for(;void 0!==a;){if(r===a.index){let e;2===a.type?e=new G(s,s.nextSibling,this,t):1===a.type?e=new a.ctor(s,a.name,a.strings,this,t):6===a.type&&(e=new nt(s,this,t)),this.v.push(e),a=o[++l]}r!==(null==a?void 0:a.index)&&(s=V.nextNode(),r++)}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 G{constructor(t,e,i,o){var n;this.type=2,this._$AH=Z,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=o,this._$Cg=null===(n=null==o?void 0:o.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=J(this,t,e),U(t)?t===Z||null==t||""===t?(this._$AH!==Z&&this._$AR(),this._$AH=Z):t!==this._$AH&&t!==W&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):B(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!==Z&&U(this._$AH)?this._$AA.nextSibling.data=t:this.S(F.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:o}=t,n="number"==typeof o?this._$AC(t):(void 0===o.el&&(o.el=X.createElement(o.h,this.options)),o);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.m(i);else{const t=new Y(n,this),e=t.p(this.options);t.m(i),this.S(e),this._$AH=t}}_$AC(t){let e=K.get(t.strings);return void 0===e&&K.set(t.strings,e=new X(t)),e}A(t){D(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,o=0;for(const n of t)o===e.length?e.push(i=new G(this.M(M()),this.M(M()),this,this.options)):i=e[o],i._$AI(n),o++;o<e.length&&(this._$AR(i&&i._$AB.nextSibling,o),e.length=o)}_$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 Q{constructor(t,e,i,o,n){this.type=1,this._$AH=Z,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=n,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=Z}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,o){const n=this.strings;let s=!1;if(void 0===n)t=J(this,t,e,0),s=!U(t)||t!==this._$AH&&t!==W,s&&(this._$AH=t);else{const o=t;let r,l;for(t=n[0],r=0;r<n.length-1;r++)l=J(this,o[i+r],e,r),l===W&&(l=this._$AH[r]),s||(s=!U(l)||l!==this._$AH[r]),l===Z?t=Z:t!==Z&&(t+=(null!=l?l:"")+n[r+1]),this._$AH[r]=l}s&&!o&&this.k(t)}k(t){t===Z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class tt extends Q{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===Z?void 0:t}}const et=C?C.emptyScript:"";class it extends Q{constructor(){super(...arguments),this.type=4}k(t){t&&t!==Z?this.element.setAttribute(this.name,et):this.element.removeAttribute(this.name)}}class ot extends Q{constructor(t,e,i,o,n){super(t,e,i,o,n),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=J(this,t,e,0))&&void 0!==i?i:Z)===W)return;const o=this._$AH,n=t===Z&&o!==Z||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,s=t!==Z&&(o===Z||n);n&&this.element.removeEventListener(this.name,this,o),s&&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 nt{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){J(this,t)}}const st={P:"$lit$",V:N,L:R,I:1,N:q,R:Y,D:B,j:J,H:G,O:Q,F:it,B:ot,W:tt,Z:nt},rt=window.litHtmlPolyfillSupport;
59
+ /**
60
+ * @license
61
+ * Copyright 2017 Google LLC
62
+ * SPDX-License-Identifier: BSD-3-Clause
63
+ */
64
+ var lt,at;null==rt||rt(X,G),(null!==(k=globalThis.litHtmlVersions)&&void 0!==k?k:globalThis.litHtmlVersions=[]).push("2.1.3");class pt extends S{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 o,n;const s=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let r=s._$litPart$;if(void 0===r){const t=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:null;s._$litPart$=r=new G(e.insertBefore(M(),t),t,void 0,null!=i?i:{})}return r._$AI(t),r})(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 W}}pt.finalized=!0,pt._$litElement$=!0,null===(lt=globalThis.litElementHydrateSupport)||void 0===lt||lt.call(globalThis,{LitElement:pt});const ct=globalThis.litElementPolyfillSupport;null==ct||ct({LitElement:pt}),(null!==(at=globalThis.litElementVersions)&&void 0!==at?at:globalThis.litElementVersions=[]).push("3.1.2");class dt{constructor(t,e,i,o,n){this.name=t,this.category=e,this.fallbackVariable=i,this.defaultValue=o,this.context=n,this._$cssResult$=!0,this.value=this.get()}get cssText(){return this.value.cssText}get styleSheet(){return this.value.styleSheet}toString(){return this.value.toString()}static create(t,e,i){return new dt(t,e,void 0,i)}static extend(t,e,i){return new dt(t,e.category,e,i)}static external(t,e){return new dt(t.name,t.category,t.fallbackVariable,t.defaultValue,e)}get(t){return u`var(${f(this.name)}, ${this.defaultCssValue(t)})`}defaultCssValue(t){return this.fallbackVariable?this.fallbackVariable.get(null!=t?t:this.defaultValue):f(null!=t?t:this.defaultValue)}lastResortDefaultValue(){var t,e;return null!==(t=this.defaultValue)&&void 0!==t?t:null===(e=this.fallbackVariable)||void 0===e?void 0:e.lastResortDefaultValue()}breadcrumb(){return this.fallbackVariable?[this.fallbackVariable.name,...this.fallbackVariable.breadcrumb()]:[]}}function ht(t,e){return f(`${t.name}: ${e}`)}const ft={colorPrimary:dt.create("--ft-color-primary","COLOR","#2196F3"),colorPrimaryVariant:dt.create("--ft-color-primary-variant","COLOR","#1976D2"),colorSecondary:dt.create("--ft-color-secondary","COLOR","#FFCC80"),colorSecondaryVariant:dt.create("--ft-color-secondary-variant","COLOR","#F57C00"),colorSurface:dt.create("--ft-color-surface","COLOR","#FFFFFF"),colorContent:dt.create("--ft-color-content","COLOR","rgba(0, 0, 0, 0.87)"),colorError:dt.create("--ft-color-error","COLOR","#B00020"),colorOutline:dt.create("--ft-color-outline","COLOR","rgba(0, 0, 0, 0.14)"),colorOpacityHigh:dt.create("--ft-color-opacity-high","NUMBER","1"),colorOpacityMedium:dt.create("--ft-color-opacity-medium","NUMBER","0.74"),colorOpacityDisabled:dt.create("--ft-color-opacity-disabled","NUMBER","0.38"),colorOnPrimary:dt.create("--ft-color-on-primary","COLOR","#FFFFFF"),colorOnPrimaryHigh:dt.create("--ft-color-on-primary-high","COLOR","#FFFFFF"),colorOnPrimaryMedium:dt.create("--ft-color-on-primary-medium","COLOR","rgba(255, 255, 255, 0.74)"),colorOnPrimaryDisabled:dt.create("--ft-color-on-primary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),colorOnSecondary:dt.create("--ft-color-on-secondary","COLOR","#FFFFFF"),colorOnSecondaryHigh:dt.create("--ft-color-on-secondary-high","COLOR","#FFFFFF"),colorOnSecondaryMedium:dt.create("--ft-color-on-secondary-medium","COLOR","rgba(255, 255, 255, 0.74)"),colorOnSecondaryDisabled:dt.create("--ft-color-on-secondary-disabled","COLOR","rgba(255, 255, 255, 0.38)"),colorOnSurface:dt.create("--ft-color-on-surface","COLOR","rgba(0, 0, 0, 0.87)"),colorOnSurfaceHigh:dt.create("--ft-color-on-surface-high","COLOR","rgba(0, 0, 0, 0.87)"),colorOnSurfaceMedium:dt.create("--ft-color-on-surface-medium","COLOR","rgba(0, 0, 0, 0.60)"),colorOnSurfaceDisabled:dt.create("--ft-color-on-surface-disabled","COLOR","rgba(0, 0, 0, 0.38)"),opacityContentOnSurfaceDisabled:dt.create("--ft-opacity-content-on-surface-disabled","NUMBER","0"),opacityContentOnSurfaceEnable:dt.create("--ft-opacity-content-on-surface-enable","NUMBER","0"),opacityContentOnSurfaceHover:dt.create("--ft-opacity-content-on-surface-hover","NUMBER","0.04"),opacityContentOnSurfaceFocused:dt.create("--ft-opacity-content-on-surface-focused","NUMBER","0.12"),opacityContentOnSurfacePressed:dt.create("--ft-opacity-content-on-surface-pressed","NUMBER","0.10"),opacityContentOnSurfaceSelected:dt.create("--ft-opacity-content-on-surface-selected","NUMBER","0.08"),opacityContentOnSurfaceDragged:dt.create("--ft-opacity-content-on-surface-dragged","NUMBER","0.08"),opacityPrimaryOnSurfaceDisabled:dt.create("--ft-opacity-primary-on-surface-disabled","NUMBER","0"),opacityPrimaryOnSurfaceEnable:dt.create("--ft-opacity-primary-on-surface-enable","NUMBER","0"),opacityPrimaryOnSurfaceHover:dt.create("--ft-opacity-primary-on-surface-hover","NUMBER","0.04"),opacityPrimaryOnSurfaceFocused:dt.create("--ft-opacity-primary-on-surface-focused","NUMBER","0.12"),opacityPrimaryOnSurfacePressed:dt.create("--ft-opacity-primary-on-surface-pressed","NUMBER","0.10"),opacityPrimaryOnSurfaceSelected:dt.create("--ft-opacity-primary-on-surface-selected","NUMBER","0.08"),opacityPrimaryOnSurfaceDragged:dt.create("--ft-opacity-primary-on-surface-dragged","NUMBER","0.08"),opacitySurfaceOnPrimaryDisabled:dt.create("--ft-opacity-surface-on-primary-disabled","NUMBER","0"),opacitySurfaceOnPrimaryEnable:dt.create("--ft-opacity-surface-on-primary-enable","NUMBER","0"),opacitySurfaceOnPrimaryHover:dt.create("--ft-opacity-surface-on-primary-hover","NUMBER","0.04"),opacitySurfaceOnPrimaryFocused:dt.create("--ft-opacity-surface-on-primary-focused","NUMBER","0.12"),opacitySurfaceOnPrimaryPressed:dt.create("--ft-opacity-surface-on-primary-pressed","NUMBER","0.10"),opacitySurfaceOnPrimarySelected:dt.create("--ft-opacity-surface-on-primary-selected","NUMBER","0.08"),opacitySurfaceOnPrimaryDragged:dt.create("--ft-opacity-surface-on-primary-dragged","NUMBER","0.08"),elevation00:dt.create("--ft-elevation-00","UNKNOWN","0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0)"),elevation01:dt.create("--ft-elevation-01","UNKNOWN","0px 1px 4px 0px rgba(0, 0, 0, 0.06), 0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),elevation02:dt.create("--ft-elevation-02","UNKNOWN","0px 4px 10px 0px rgba(0, 0, 0, 0.06), 0px 2px 5px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),elevation03:dt.create("--ft-elevation-03","UNKNOWN","0px 6px 13px 0px rgba(0, 0, 0, 0.06), 0px 3px 7px 0px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)"),elevation04:dt.create("--ft-elevation-04","UNKNOWN","0px 8px 16px 0px rgba(0, 0, 0, 0.06), 0px 4px 9px 0px rgba(0, 0, 0, 0.14), 0px 2px 3px 0px rgba(0, 0, 0, 0.06)"),elevation06:dt.create("--ft-elevation-06","UNKNOWN","0px 12px 22px 0px rgba(0, 0, 0, 0.06), 0px 6px 13px 0px rgba(0, 0, 0, 0.14), 0px 4px 5px 0px rgba(0, 0, 0, 0.06)"),elevation08:dt.create("--ft-elevation-08","UNKNOWN","0px 16px 28px 0px rgba(0, 0, 0, 0.06), 0px 8px 17px 0px rgba(0, 0, 0, 0.14), 0px 6px 7px 0px rgba(0, 0, 0, 0.06)"),elevation12:dt.create("--ft-elevation-12","UNKNOWN","0px 22px 40px 0px rgba(0, 0, 0, 0.06), 0px 12px 23px 0px rgba(0, 0, 0, 0.14), 0px 10px 11px 0px rgba(0, 0, 0, 0.06)"),elevation16:dt.create("--ft-elevation-16","UNKNOWN","0px 28px 52px 0px rgba(0, 0, 0, 0.06), 0px 16px 29px 0px rgba(0, 0, 0, 0.14), 0px 14px 15px 0px rgba(0, 0, 0, 0.06)"),elevation24:dt.create("--ft-elevation-24","UNKNOWN","0px 40px 76px 0px rgba(0, 0, 0, 0.06), 0px 24px 41px 0px rgba(0, 0, 0, 0.14), 0px 22px 23px 0px rgba(0, 0, 0, 0.06)"),borderRadiusS:dt.create("--ft-border-radius-S","SIZE","4px"),borderRadiusM:dt.create("--ft-border-radius-M","SIZE","8px"),borderRadiusL:dt.create("--ft-border-radius-L","SIZE","12px"),borderRadiusXL:dt.create("--ft-border-radius-XL","SIZE","16px"),titleFont:dt.create("--ft-title-font","UNKNOWN","Ubuntu, system-ui, sans-serif"),contentFont:dt.create("--ft-content-font","UNKNOWN","'Open Sans', system-ui, sans-serif"),transitionDuration:dt.create("--ft-transition-duration","UNKNOWN","250ms"),transitionTimingFunction:dt.create("--ft-transition-timing-function","UNKNOWN","ease-in-out")};
65
+ /**
66
+ * @license
67
+ * Copyright 2021 Google LLC
68
+ * SPDX-License-Identifier: BSD-3-Clause
69
+ */class ut extends(function(t){return class extends t{createRenderRoot(){const t=this.constructor,{registry:e,elementDefinitions:i,shadowRootOptions:o}=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({...o,customElements:t.registry});return b(n,this.constructor.elementStyles),n}}}(pt)){getStyles(){return[]}getTemplate(){return null}render(){let t=this.getStyles();return Array.isArray(t)||(t=[t]),H`
70
+ ${t.map((t=>H`
71
+ <style>${t}</style>
72
+ `))}
73
+ ${this.getTemplate()}
74
+ `}updated(t){super.updated(t),setTimeout((()=>this.contentAvailableCallback(t)),0)}contentAvailableCallback(t){}}const bt=u`
75
+ .ft-no-text-select {
76
+ -webkit-touch-callout: none;
77
+ -webkit-user-select: none;
78
+ -khtml-user-select: none;
79
+ -moz-user-select: none;
80
+ -ms-user-select: none;
81
+ user-select: none;
82
+ }
83
+ `;var vt,xt,yt;const gt=navigator.vendor&&!!navigator.vendor.match(/apple/i)||"[object SafariRemoteNotification]"===(null!==(yt=null===(xt=null===(vt=window.safari)||void 0===vt?void 0:vt.pushNotification)||void 0===xt?void 0:xt.toString())&&void 0!==yt?yt:""),mt=1,$t=2,wt=t=>(...e)=>({_$litDirective$:t,values:e});
84
+ /**
85
+ * @license
86
+ * Copyright 2017 Google LLC
87
+ * SPDX-License-Identifier: BSD-3-Clause
88
+ */class Ot{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)}}
89
+ /**
90
+ * @license
91
+ * Copyright 2020 Google LLC
92
+ * SPDX-License-Identifier: BSD-3-Clause
93
+ */const{H:St}=st,kt=()=>document.createComment(""),Ct=(t,e,i)=>{var o;const n=t._$AA.parentNode,s=void 0===e?t._$AB:e._$AA;if(void 0===i){const e=n.insertBefore(kt(),s),o=n.insertBefore(kt(),s);i=new St(e,o,t,t.options)}else{const e=i._$AB.nextSibling,r=i._$AM,l=r!==t;if(l){let e;null===(o=i._$AQ)||void 0===o||o.call(i,t),i._$AM=t,void 0!==i._$AP&&(e=t._$AU)!==r._$AU&&i._$AP(e)}if(e!==s||l){let t=i._$AA;for(;t!==e;){const e=t.nextSibling;n.insertBefore(t,s),t=e}}}return i},Et=(t,e,i=t)=>(t._$AI(e,i),t),Nt={},Rt=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let i=t._$AA;const o=t._$AB.nextSibling;for(;i!==o;){const t=i.nextSibling;i.remove(),i=t}},zt=(t,e,i)=>{const o=new Map;for(let n=e;n<=i;n++)o.set(t[n],n);return o},Ft=wt(class extends Ot{constructor(t){if(super(t),t.type!==$t)throw Error("repeat() can only be used in text expressions")}dt(t,e,i){let o;void 0===i?i=e:void 0!==e&&(o=e);const n=[],s=[];let r=0;for(const e of t)n[r]=o?o(e,r):r,s[r]=i(e,r),r++;return{values:s,keys:n}}render(t,e,i){return this.dt(t,e,i).values}update(t,[e,i,o]){var n;const s=(t=>t._$AH)(t),{values:r,keys:l}=this.dt(e,i,o);if(!Array.isArray(s))return this.at=l,r;const a=null!==(n=this.at)&&void 0!==n?n:this.at=[],p=[];let c,d,h=0,f=s.length-1,u=0,b=r.length-1;for(;h<=f&&u<=b;)if(null===s[h])h++;else if(null===s[f])f--;else if(a[h]===l[u])p[u]=Et(s[h],r[u]),h++,u++;else if(a[f]===l[b])p[b]=Et(s[f],r[b]),f--,b--;else if(a[h]===l[b])p[b]=Et(s[h],r[b]),Ct(t,p[b+1],s[h]),h++,b--;else if(a[f]===l[u])p[u]=Et(s[f],r[u]),Ct(t,s[h],s[f]),f--,u++;else if(void 0===c&&(c=zt(l,u,b),d=zt(a,h,f)),c.has(a[h]))if(c.has(a[f])){const e=d.get(l[u]),i=void 0!==e?s[e]:null;if(null===i){const e=Ct(t,s[h]);Et(e,r[u]),p[u]=e}else p[u]=Et(i,r[u]),Ct(t,s[h],i),s[e]=null;u++}else Rt(s[f]),f--;else Rt(s[h]),h++;for(;u<=b;){const e=Ct(t,p[b+1]);Et(e,r[u]),p[u++]=e}for(;h<=f;){const t=s[h++];null!==t&&Rt(t)}return this.at=l,((t,e=Nt)=>{t._$AH=e})(t,p),W}});
94
+ /**
95
+ * @license
96
+ * Copyright 2017 Google LLC
97
+ * SPDX-License-Identifier: BSD-3-Clause
98
+ */
99
+ /**
100
+ * @license
101
+ * Copyright 2017 Google LLC
102
+ * SPDX-License-Identifier: BSD-3-Clause
103
+ */
104
+ class Mt extends Ot{constructor(t){if(super(t),this.it=Z,t.type!==$t)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===Z||null==t)return this.vt=void 0,this.it=t;if(t===W)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:[]}}}Mt.directiveName="unsafeHTML",Mt.resultType=1;const Ut=wt(Mt),Dt=wt(class extends Ot{constructor(t){var e;if(super(t),t.type!==mt||"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,o;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===(o=this.et)||void 0===o?void 0:o.has(t))||(i?(n.add(t),this.st.add(t)):(n.remove(t),this.st.delete(t)))}return W}}),Bt=t=>({_$litStatic$:t}),jt=new Map,Tt=(t=>(e,...i)=>{var o;const n=i.length;let s,r;const l=[],a=[];let p,c=0,d=!1;for(;c<n;){for(p=e[c];c<n&&void 0!==(r=i[c],s=null===(o=r)||void 0===o?void 0:o._$litStatic$);)p+=s+e[++c],d=!0;a.push(r),l.push(p),c++}if(c===n&&l.push(e[n]),d){const t=l.join("$$lit$$");void 0===(e=jt.get(t))&&(l.raw=l,jt.set(t,e=l)),i=a}return t(e,...i)})(H);
105
+ /**
106
+ * @license
107
+ * Copyright 2018 Google LLC
108
+ * SPDX-License-Identifier: BSD-3-Clause
109
+ */var At,Lt=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};!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"}(At||(At={}));const It=dt.extend("--ft-typography-font-family",ft.titleFont),Pt=dt.extend("--ft-typography-font-family",ft.contentFont),_t={fontFamily:Pt,fontSize:dt.create("--ft-typography-font-size","SIZE","16px"),fontWeight:dt.create("--ft-typography-font-weight","UNKNOWN","normal"),letterSpacing:dt.create("--ft-typography-letter-spacing","SIZE","0.496px"),lineHeight:dt.create("--ft-typography-line-height","SIZE","24px"),textTransform:dt.create("--ft-typography-text-transform","UNKNOWN","inherit")},Ht=dt.extend("--ft-typography-title-font-family",It),Wt=dt.extend("--ft-typography-title-font-size",_t.fontSize,"20px"),Zt=dt.extend("--ft-typography-title-font-weight",_t.fontWeight,"normal"),Kt=dt.extend("--ft-typography-title-letter-spacing",_t.letterSpacing,"0.15px"),Vt=dt.extend("--ft-typography-title-line-height",_t.lineHeight,"24px"),qt=dt.extend("--ft-typography-title-text-transform",_t.textTransform,"inherit"),Xt=dt.extend("--ft-typography-title-dense-font-family",It),Jt=dt.extend("--ft-typography-title-dense-font-size",_t.fontSize,"14px"),Yt=dt.extend("--ft-typography-title-dense-font-weight",_t.fontWeight,"normal"),Gt=dt.extend("--ft-typography-title-dense-letter-spacing",_t.letterSpacing,"0.105px"),Qt=dt.extend("--ft-typography-title-dense-line-height",_t.lineHeight,"24px"),te=dt.extend("--ft-typography-title-dense-text-transform",_t.textTransform,"inherit"),ee=dt.extend("--ft-typography-subtitle1-font-family",Pt),ie=dt.extend("--ft-typography-subtitle1-font-size",_t.fontSize,"16px"),oe=dt.extend("--ft-typography-subtitle1-font-weight",_t.fontWeight,"600"),ne=dt.extend("--ft-typography-subtitle1-letter-spacing",_t.letterSpacing,"0.144px"),se=dt.extend("--ft-typography-subtitle1-line-height",_t.lineHeight,"24px"),re=dt.extend("--ft-typography-subtitle1-text-transform",_t.textTransform,"inherit"),le=dt.extend("--ft-typography-subtitle2-font-family",Pt),ae=dt.extend("--ft-typography-subtitle2-font-size",_t.fontSize,"14px"),pe=dt.extend("--ft-typography-subtitle2-font-weight",_t.fontWeight,"normal"),ce=dt.extend("--ft-typography-subtitle2-letter-spacing",_t.letterSpacing,"0.098px"),de=dt.extend("--ft-typography-subtitle2-line-height",_t.lineHeight,"24px"),he=dt.extend("--ft-typography-subtitle2-text-transform",_t.textTransform,"inherit"),fe={fontFamily:dt.extend("--ft-typography-body1-font-family",Pt),fontSize:dt.extend("--ft-typography-body1-font-size",_t.fontSize,"16px"),fontWeight:dt.extend("--ft-typography-body1-font-weight",_t.fontWeight,"normal"),letterSpacing:dt.extend("--ft-typography-body1-letter-spacing",_t.letterSpacing,"0.496px"),lineHeight:dt.extend("--ft-typography-body1-line-height",_t.lineHeight,"24px"),textTransform:dt.extend("--ft-typography-body1-text-transform",_t.textTransform,"inherit")},ue=dt.extend("--ft-typography-body2-font-family",Pt),be=dt.extend("--ft-typography-body2-font-size",_t.fontSize,"14px"),ve=dt.extend("--ft-typography-body2-font-weight",_t.fontWeight,"normal"),xe=dt.extend("--ft-typography-body2-letter-spacing",_t.letterSpacing,"0.252px"),ye=dt.extend("--ft-typography-body2-line-height",_t.lineHeight,"20px"),ge=dt.extend("--ft-typography-body2-text-transform",_t.textTransform,"inherit"),me={fontFamily:dt.extend("--ft-typography-caption-font-family",Pt),fontSize:dt.extend("--ft-typography-caption-font-size",_t.fontSize,"12px"),fontWeight:dt.extend("--ft-typography-caption-font-weight",_t.fontWeight,"normal"),letterSpacing:dt.extend("--ft-typography-caption-letter-spacing",_t.letterSpacing,"0.396px"),lineHeight:dt.extend("--ft-typography-caption-line-height",_t.lineHeight,"16px"),textTransform:dt.extend("--ft-typography-caption-text-transform",_t.textTransform,"inherit")},$e=dt.extend("--ft-typography-breadcrumb-font-family",Pt),we=dt.extend("--ft-typography-breadcrumb-font-size",_t.fontSize,"10px"),Oe=dt.extend("--ft-typography-breadcrumb-font-weight",_t.fontWeight,"normal"),Se=dt.extend("--ft-typography-breadcrumb-letter-spacing",_t.letterSpacing,"0.33px"),ke=dt.extend("--ft-typography-breadcrumb-line-height",_t.lineHeight,"16px"),Ce=dt.extend("--ft-typography-breadcrumb-text-transform",_t.textTransform,"inherit"),Ee=dt.extend("--ft-typography-overline-font-family",Pt),Ne=dt.extend("--ft-typography-overline-font-size",_t.fontSize,"10px"),Re=dt.extend("--ft-typography-overline-font-weight",_t.fontWeight,"normal"),ze=dt.extend("--ft-typography-overline-letter-spacing",_t.letterSpacing,"1.5px"),Fe=dt.extend("--ft-typography-overline-line-height",_t.lineHeight,"16px"),Me=dt.extend("--ft-typography-overline-text-transform",_t.textTransform,"uppercase"),Ue={fontFamily:dt.extend("--ft-typography-button-font-family",Pt),fontSize:dt.extend("--ft-typography-button-font-size",_t.fontSize,"14px"),fontWeight:dt.extend("--ft-typography-button-font-weight",_t.fontWeight,"600"),letterSpacing:dt.extend("--ft-typography-button-letter-spacing",_t.letterSpacing,"1.246px"),lineHeight:dt.extend("--ft-typography-button-line-height",_t.lineHeight,"16px"),textTransform:dt.extend("--ft-typography-button-text-transform",_t.textTransform,"uppercase")},De=u`
110
+ .ft-typography--title {
111
+ font-family: ${Ht};
112
+ font-size: ${Wt};
113
+ font-weight: ${Zt};
114
+ letter-spacing: ${Kt};
115
+ line-height: ${Vt};
116
+ text-transform: ${qt};
117
+ }
118
+ `,Be=u`
119
+ .ft-typography--title-dense {
120
+ font-family: ${Xt};
121
+ font-size: ${Jt};
122
+ font-weight: ${Yt};
123
+ letter-spacing: ${Gt};
124
+ line-height: ${Qt};
125
+ text-transform: ${te};
126
+ }
127
+ `,je=u`
128
+ .ft-typography--subtitle1 {
129
+ font-family: ${ee};
130
+ font-size: ${ie};
131
+ font-weight: ${oe};
132
+ letter-spacing: ${ne};
133
+ line-height: ${se};
134
+ text-transform: ${re};
135
+ }
136
+ `,Te=u`
137
+ .ft-typography--subtitle2 {
138
+ font-family: ${le};
139
+ font-size: ${ae};
140
+ font-weight: ${pe};
141
+ letter-spacing: ${ce};
142
+ line-height: ${de};
143
+ text-transform: ${he};
144
+ }
145
+
146
+ `,Ae=u`
147
+ .ft-typography--body1 {
148
+ font-family: ${fe.fontFamily};
149
+ font-size: ${fe.fontSize};
150
+ font-weight: ${fe.fontWeight};
151
+ letter-spacing: ${fe.letterSpacing};
152
+ line-height: ${fe.lineHeight};
153
+ text-transform: ${fe.textTransform};
154
+ }
155
+ `,Le=u`
156
+ .ft-typography--body2 {
157
+ font-family: ${ue};
158
+ font-size: ${be};
159
+ font-weight: ${ve};
160
+ letter-spacing: ${xe};
161
+ line-height: ${ye};
162
+ text-transform: ${ge};
163
+ }
164
+ `,Ie=u`
165
+ .ft-typography--caption {
166
+ font-family: ${me.fontFamily};
167
+ font-size: ${me.fontSize};
168
+ font-weight: ${me.fontWeight};
169
+ letter-spacing: ${me.letterSpacing};
170
+ line-height: ${me.lineHeight};
171
+ text-transform: ${me.textTransform};
172
+ }
173
+ `,Pe=u`
174
+ .ft-typography--breadcrumb {
175
+ font-family: ${$e};
176
+ font-size: ${we};
177
+ font-weight: ${Oe};
178
+ letter-spacing: ${Se};
179
+ line-height: ${ke};
180
+ text-transform: ${Ce};
181
+ }
182
+ `,_e=u`
183
+ .ft-typography--overline {
184
+ font-family: ${Ee};
185
+ font-size: ${Ne};
186
+ font-weight: ${Re};
187
+ letter-spacing: ${ze};
188
+ line-height: ${Fe};
189
+ text-transform: ${Me};
190
+ }
191
+ `,He=u`
192
+ .ft-typography--button {
193
+ font-family: ${Ue.fontFamily};
194
+ font-size: ${Ue.fontSize};
195
+ font-weight: ${Ue.fontWeight};
196
+ letter-spacing: ${Ue.letterSpacing};
197
+ line-height: ${Ue.lineHeight};
198
+ text-transform: ${Ue.textTransform};
199
+ }
200
+ `;class We extends ut{constructor(){super(...arguments),this.variant=At.body1}render(){return this.element?Tt`
201
+ <${Bt(this.element)}
202
+ class="ft-typography ft-typography--${this.variant}">
203
+ <slot></slot>
204
+ </${Bt(this.element)}>
205
+ `:Tt`
206
+ <slot class="ft-typography ft-typography--${this.variant}"></slot>
207
+ `}}We.styles=[De,Be,je,Te,Ae,Le,Ie,Pe,_e,He,u`
208
+ .ft-typography {
209
+ vertical-align: inherit;
210
+ }
211
+ `],Lt([i()],We.prototype,"element",void 0),Lt([i()],We.prototype,"variant",void 0),a("ft-typography")(We);var Ze=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};const Ke={fontSize:dt.create("--ft-input-label-font-size","SIZE","14px"),raisedFontSize:dt.create("--ft-input-label-raised-font-size","SIZE","11px"),raisedZIndex:dt.create("--ft-input-label-outlined-raised-z-index","NUMBER","2"),verticalSpacing:dt.create("--ft-input-label-vertical-spacing","SIZE","4px"),horizontalSpacing:dt.create("--ft-input-label-horizontal-spacing","SIZE","12px"),borderColor:dt.extend("--ft-input-label-border-color",ft.colorOutline),textColor:dt.extend("--ft-input-label-text-color",ft.colorOnSurfaceMedium),disabledTextColor:dt.extend("--ft-input-label-disabled-text-color",ft.colorOnSurfaceDisabled),colorSurface:dt.external(ft.colorSurface,"Design system"),borderRadiusS:dt.external(ft.borderRadiusS,"Design system")};class Ve extends ut{constructor(){super(...arguments),this.text="",this.raised=!1,this.outlined=!1,this.disabled=!1}render(){const t={"ft-input-label":!0,"ft-input-label--raised":this.raised,"ft-input-label--outlined":this.outlined,"ft-input-label--disabled":this.disabled};return H`
212
+ <div class="${Dt(t)}">
213
+ ${this.text?H`
214
+ <div class="ft-input-label--text ft-typography--caption">
215
+ <span class="ft-input-label--floating-text">${this.text}</span>
216
+ <span class="ft-input-label--hidden-text" aria-hidden="true">${this.text}</span>
217
+ </div>
218
+ `:null}
219
+ </div>
220
+ `}}Ve.elementDefinitions={},Ve.styles=[Ie,u`
221
+ .ft-input-label {
222
+ position: absolute;
223
+ inset: 0;
224
+ display: flex;
225
+ }
226
+
227
+ .ft-input-label {
228
+ border-color: ${Ke.borderColor};
229
+ }
230
+
231
+ .ft-input-label:before,
232
+ .ft-input-label:after {
233
+ content: "";
234
+ display: flex;
235
+ border-bottom-width: 1px;
236
+ border-bottom-style: solid;
237
+ border-color: inherit;
238
+ }
239
+
240
+ .ft-input-label:before {
241
+ width: ${Ke.horizontalSpacing};
242
+ flex-shrink: 0;
243
+ }
244
+
245
+ .ft-input-label:after {
246
+ flex-grow: 1;
247
+ flex-shrink: 1;
248
+ }
249
+
250
+ .ft-input-label--text {
251
+ display: flex;
252
+ flex-shrink: 1;
253
+ position: relative;
254
+ border-bottom-width: 1px;
255
+ border-bottom-style: solid;
256
+ border-color: inherit;
257
+ color: ${Ke.textColor};
258
+ transition: font-size 250ms, line-height 250ms, color 250ms;
259
+ ${ht(me.fontSize,Ke.fontSize)};
260
+ ${ht(me.lineHeight,Ke.fontSize)};
261
+ }
262
+
263
+ .ft-input-label--disabled .ft-input-label--text {
264
+ color: ${Ke.disabledTextColor};
265
+ }
266
+
267
+ .ft-input-label--hidden-text {
268
+ padding: 0 4px;
269
+ opacity: 0;
270
+ }
271
+
272
+ .ft-input-label--floating-text {
273
+ position: absolute;
274
+ top: calc(50% - var(--ft-typography-caption-line-height) / 2);
275
+ transition: top 250ms;
276
+ width: calc(100% - 8px);
277
+ overflow: hidden;
278
+ white-space: nowrap;
279
+ text-overflow: ellipsis;
280
+ padding: ${Ke.verticalSpacing} 4px;
281
+ margin: calc(${Ke.verticalSpacing} * -1) 0;
282
+ }
283
+
284
+ .ft-input-label--raised .ft-input-label--text {
285
+ ${ht(me.fontSize,Ke.raisedFontSize)};
286
+ ${ht(me.lineHeight,Ke.raisedFontSize)};
287
+ }
288
+
289
+ .ft-input-label--raised .ft-input-label--floating-text {
290
+ top: ${Ke.verticalSpacing};
291
+ }
292
+
293
+ .ft-input-label--outlined .ft-input-label--text,
294
+ .ft-input-label--outlined:before,
295
+ .ft-input-label--outlined:after {
296
+ border-top-width: 1px;
297
+ border-top-style: solid;
298
+ }
299
+
300
+ .ft-input-label--outlined:before {
301
+ border-left-width: 1px;
302
+ border-left-style: solid;
303
+ border-radius: ${Ke.borderRadiusS} 0 0 ${Ke.borderRadiusS};
304
+ }
305
+
306
+ .ft-input-label--outlined:after {
307
+ border-right-width: 1px;
308
+ border-right-style: solid;
309
+ border-radius: 0 ${Ke.borderRadiusS} ${Ke.borderRadiusS} 0;
310
+ }
311
+
312
+ .ft-input-label--outlined.ft-input-label--raised .ft-input-label--floating-text {
313
+ padding: 2px 4px;
314
+ z-index: ${Ke.raisedZIndex};
315
+ background-color: ${Ke.colorSurface};
316
+ border-radius: ${Ke.borderRadiusS};
317
+ top: calc((var(--ft-typography-caption-line-height) / -2) + 2px);
318
+ }
319
+
320
+ .ft-input-label--outlined.ft-input-label--raised .ft-input-label--text {
321
+ border-top: none;
322
+ }
323
+ `],Ze([i({type:String})],Ve.prototype,"text",void 0),Ze([i({type:Boolean})],Ve.prototype,"raised",void 0),Ze([i({type:Boolean})],Ve.prototype,"outlined",void 0),Ze([i({type:Boolean})],Ve.prototype,"disabled",void 0),a("ft-input-label")(Ve);var qe=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};const Xe={color:dt.extend("--ft-ripple-color",ft.colorContent),primaryColor:dt.extend("--ft-ripple-primary-color",dt.extend("--ft-ripple-color",ft.colorPrimary)),secondaryColor:dt.extend("--ft-ripple-secondary-color",dt.extend("--ft-ripple-color",ft.colorSecondary)),opacityContentOnSurfacePressed:dt.external(ft.opacityContentOnSurfacePressed,"Design system"),opacityContentOnSurfaceHover:dt.external(ft.opacityContentOnSurfaceHover,"Design system"),opacityContentOnSurfaceFocused:dt.external(ft.opacityContentOnSurfaceFocused,"Design system"),opacityContentOnSurfaceSelected:dt.external(ft.opacityContentOnSurfaceSelected,"Design system")};class Je extends ut{constructor(){super(...arguments),this.primary=!1,this.secondary=!1,this.unbounded=!1,this.activated=!1,this.selected=!1,this.disabled=!1,this.hovered=!1,this.focused=!1,this.pressed=!1,this.rippling=!1,this.rippleSize=0,this.originX=0,this.originY=0,this.resizeObserver=new ResizeObserver((()=>this.setRippleSize())),this.onTransitionStart=t=>{"transform"===t.propertyName&&(this.rippling=this.pressed)},this.onTransitionEnd=t=>{"transform"===t.propertyName&&(this.rippling=!1)},this.moveRipple=t=>{var e,i;let{x:o,y:n}=this.getCoordinates(t),s=null!==(i=null===(e=this.ripple)||void 0===e?void 0:e.getBoundingClientRect())&&void 0!==i?i:{x:0,y:0,width:0,height:0};this.originX=Math.round(null!=o?o-s.x:s.width/2),this.originY=Math.round(null!=n?n-s.y:s.height/2)},this.startPress=t=>{this.moveRipple(t),this.pressed=!this.isIgnored(t)},this.endPress=()=>{this.pressed=!1},this.startHover=t=>{this.hovered=!this.isIgnored(t)},this.endHover=()=>{this.hovered=!1},this.startFocus=t=>{this.focused=!this.isIgnored(t)},this.endFocus=()=>{this.focused=!1}}render(){let t={"ft-ripple":!0,"ft-ripple--primary":this.primary,"ft-ripple--secondary":this.secondary,"ft-ripple--unbounded":this.unbounded,"ft-ripple--selected":(this.selected||this.activated)&&!this.disabled,"ft-ripple--pressed":(this.pressed||this.rippling)&&!this.disabled,"ft-ripple--hovered":this.hovered&&!this.disabled,"ft-ripple--focused":this.focused&&!this.disabled};return H`
324
+ <style>
325
+ .ft-ripple .ft-ripple--effect,
326
+ .ft-ripple.ft-ripple--unbounded .ft-ripple--background {
327
+ width: ${this.rippleSize}px;
328
+ height: ${this.rippleSize}px;
329
+ }
330
+
331
+ .ft-ripple .ft-ripple--effect {
332
+ left: ${this.originX}px;
333
+ top: ${this.originY}px;
334
+ }
335
+ </style>
336
+ <div class="${Dt(t)}">
337
+ <div class="ft-ripple--background"></div>
338
+ <div class="ft-ripple--effect"></div>
339
+ </div>
340
+ `}contentAvailableCallback(t){super.contentAvailableCallback(t),this.ripple&&this.resizeObserver.observe(this.ripple),this.rippleEffect&&this.rippleEffect.ontransitionstart!==this.onTransitionStart&&(this.rippleEffect.ontransitionstart=this.onTransitionStart,this.rippleEffect.ontransitionend=this.onTransitionEnd)}updated(t){super.updated(t),t.has("disabled")&&this.disabled&&this.endRipple(),t.has("unbounded")&&this.setRippleSize()}endRipple(){this.endHover(),this.endFocus(),this.endPress(),this.rippling=!1}setRippleSize(){if(this.ripple){const t=this.ripple.getBoundingClientRect();this.rippleSize=(this.unbounded?1:1.7)*Math.max(t.width,t.height)}}connectedCallback(){var t;super.connectedCallback();const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.host.parentElement;e&&this.setupFor(e),this.setRippleSize()}setupFor(t){if(this.target===t)return;this.onDisconnect&&this.onDisconnect(),this.target=t,t.setAttribute("data-is-ft-ripple-target","true");const e=(...t)=>e=>{t.forEach((t=>window.addEventListener(t,this.endPress,{once:!0}))),this.startPress(e)},i=e("mouseup","contextmenu"),o=e("touchend","touchcancel"),n=t=>{["Enter"," "].includes(t.key)&&e("keyup")(t)};t.addEventListener("mouseover",this.startHover),t.addEventListener("mousemove",this.moveRipple),t.addEventListener("mouseleave",this.endHover),t.addEventListener("mousedown",i),t.addEventListener("touchstart",o),t.addEventListener("touchmove",this.moveRipple),t.addEventListener("keydown",n),t.addEventListener("focus",this.startFocus),t.addEventListener("blur",this.endFocus),t.addEventListener("focusin",this.startFocus),t.addEventListener("focusout",this.endFocus),this.onDisconnect=()=>{t.removeAttribute("data-is-ft-ripple-target"),t.removeEventListener("mouseover",this.startHover),t.removeEventListener("mousemove",this.moveRipple),t.removeEventListener("mouseleave",this.endHover),t.removeEventListener("mousedown",i),t.removeEventListener("touchstart",o),t.removeEventListener("touchmove",this.moveRipple),t.removeEventListener("keydown",n),t.removeEventListener("focus",this.startFocus),t.removeEventListener("blur",this.endFocus),t.removeEventListener("focusin",this.startFocus),t.removeEventListener("focusout",this.endFocus),this.onDisconnect=void 0}}getCoordinates(t){const e=t,i=t;let o,n;return null!=e.x?({x:o,y:n}=e):null!=i.touches&&(o=i.touches[0].clientX,n=i.touches[0].clientY),{x:o,y:n}}isIgnored(t){if(this.disabled)return!0;if(null!=t)for(let e of t.composedPath()){if(e===this.target)break;if("hasAttribute"in e&&e.hasAttribute("data-is-ft-ripple-target"))return!0}return!1}disconnectedCallback(){super.disconnectedCallback(),this.onDisconnect&&this.onDisconnect(),this.resizeObserver.disconnect(),this.endRipple()}}var Ye,Ge;Je.elementDefinitions={},Je.styles=u`
341
+ :host {
342
+ display: contents;
343
+ }
344
+
345
+ .ft-ripple {
346
+ position: absolute;
347
+ inset: 0;
348
+ pointer-events: none;
349
+ }
350
+
351
+ .ft-ripple:not(.ft-ripple--unbounded) {
352
+ overflow: hidden;
353
+ }
354
+
355
+ .ft-ripple .ft-ripple--background,
356
+ .ft-ripple .ft-ripple--effect {
357
+ position: absolute;
358
+ opacity: 0;
359
+ background-color: ${Xe.color};
360
+ }
361
+
362
+ .ft-ripple.ft-ripple--secondary .ft-ripple--background,
363
+ .ft-ripple.ft-ripple--secondary .ft-ripple--effect {
364
+ background-color: ${Xe.secondaryColor};
365
+ }
366
+
367
+ .ft-ripple.ft-ripple--primary .ft-ripple--background,
368
+ .ft-ripple.ft-ripple--primary .ft-ripple--effect {
369
+ background-color: ${Xe.primaryColor};
370
+ }
371
+
372
+ .ft-ripple .ft-ripple--background {
373
+ top: 0;
374
+ left: 0;
375
+ height: 100%;
376
+ width: 100%;
377
+ }
378
+
379
+ .ft-ripple .ft-ripple--effect,
380
+ .ft-ripple.ft-ripple--unbounded .ft-ripple--background {
381
+ border-radius: 50%;
382
+ }
383
+
384
+ .ft-ripple .ft-ripple--effect {
385
+ transform: translate(-50%, -50%) scale(0.15);
386
+ transition: transform 300ms ease, opacity 75ms linear;
387
+ }
388
+
389
+ .ft-ripple.ft-ripple--unbounded .ft-ripple--effect,
390
+ .ft-ripple.ft-ripple--unbounded .ft-ripple--background {
391
+ left: 50%;
392
+ top: 50%;
393
+ }
394
+
395
+ .ft-ripple.ft-ripple--unbounded .ft-ripple--background {
396
+ transform: translate(-50%, -50%);
397
+ }
398
+
399
+ .ft-ripple.ft-ripple--hovered .ft-ripple--background {
400
+ opacity: ${Xe.opacityContentOnSurfaceHover};
401
+ }
402
+
403
+ .ft-ripple.ft-ripple--selected .ft-ripple--background {
404
+ opacity: ${Xe.opacityContentOnSurfaceSelected};
405
+ }
406
+
407
+ .ft-ripple.ft-ripple--focused .ft-ripple--background {
408
+ opacity: ${Xe.opacityContentOnSurfaceFocused};
409
+ }
410
+
411
+ .ft-ripple.ft-ripple--pressed .ft-ripple--effect {
412
+ opacity: ${Xe.opacityContentOnSurfacePressed};
413
+ transform: translate(-50%, -50%) scale(1);
414
+ }
415
+ `,qe([i({type:Boolean})],Je.prototype,"primary",void 0),qe([i({type:Boolean})],Je.prototype,"secondary",void 0),qe([i({type:Boolean})],Je.prototype,"unbounded",void 0),qe([i({type:Boolean})],Je.prototype,"activated",void 0),qe([i({type:Boolean})],Je.prototype,"selected",void 0),qe([i({type:Boolean})],Je.prototype,"disabled",void 0),qe([o()],Je.prototype,"hovered",void 0),qe([o()],Je.prototype,"focused",void 0),qe([o()],Je.prototype,"pressed",void 0),qe([o()],Je.prototype,"rippling",void 0),qe([o()],Je.prototype,"rippleSize",void 0),qe([o()],Je.prototype,"originX",void 0),qe([o()],Je.prototype,"originY",void 0),qe([s(".ft-ripple")],Je.prototype,"ripple",void 0),qe([s(".ft-ripple--effect")],Je.prototype,"rippleEffect",void 0),a("ft-ripple")(Je),function(t){t.THIN_ARROW_LEFT="&#xe956;",t.THIN_ARROW_RIGHT="&#xe957;",t.MY_COLLECTIONS="&#xe955;",t.OFFLINE_SETTINGS="&#xe954;",t.MY_LIBRARY="&#xe959;",t.RATE_PLAIN="&#xe952;",t.RATE="&#xe953;",t.FEEDBACK_PLAIN="&#xe951;",t.STAR_PLAIN="&#xe94b;",t.STAR="&#xe94c;",t.THUMBS_DOWN_PLAIN="&#xe94d;",t.THUMBS_DOWN="&#xe94e;",t.THUMBS_UP_PLAIN="&#xe94f;",t.THUMBS_UP="&#xe950;",t.PAUSE="&#xe949;",t.PLAY="&#xe94a;",t.RELATIVES_PLAIN="&#xe947;",t.RELATIVES="&#xe948;",t.SHORTCUT_MENU="&#xe946;",t.PRINT="&#xe944;",t.DEFAULT_ROLES="&#xe945;",t.ACCOUNT_SETTINGS="&#xe943;",t.ONLINE="&#xe941;",t.OFFLINE="&#xe816;",t.UPLOAD="&#xe940;",t.BOOK_PLAIN="&#xe93f;",t.SYNC="&#xe93d;",t.SHARED_PBK="&#xe931;",t.COLLECTIONS="&#xe92a;",t.SEARCH_IN_PUBLICATION="&#xe92f;",t.BOOKS="&#xe806;",t.LOCKER="&#xe93b;",t.ARROW_DOWN="&#xe92b;",t.ARROW_LEFT="&#xe92c;",t.ARROW_RIGHT="&#xe92d;",t.ARROW_UP="&#xe92e;",t.SAVE="&#xe93a;",t.MAILS_AND_NOTIFICATIONS="&#xe939;",t.DOT="&#xe936;",t.MINUS="&#xe937;",t.PLUS="&#xe938;",t.FILTERS="&#xe935;",t.STRIPE_ARROW_RIGHT="&#xe934;",t.STRIPE_ARROW_LEFT="&#xe933;",t.ATTACHMENTS="&#xe932;",t.ADD_BOOKMARK="&#xe804;",t.BOOKMARK="&#xe805;",t.EXPORT="&#xe80f;",t.MENU="&#xe807;",t.TAG="&#xe93e;",t.TAG_PLAIN="&#xe942;",t.COPY_TO_CLIPBOARD="&#xe930;",t.COLUMNS="&#xe928;",t.ARTICLE="&#xe927;",t.CLOSE_PLAIN="&#xe925;",t.CHECK_PLAIN="&#xe926;",t.LOGOUT="&#xe923;",t.SIGN_IN="&#xe922;",t.THIN_ARROW="&#xe921;",t.TRIANGLE_BOTTOM="&#xe91d;",t.TRIANGLE_LEFT="&#xe91e;",t.TRIANGLE_RIGHT="&#xe91f;",t.TRIANGLE_TOP="&#xe920;",t.FACET_HAS_DESCENDANT="&#xe91c;",t.MINUS_PLAIN="&#xe91a;",t.PLUS_PLAIN="&#xe91b;",t.INFO="&#xe919;",t.ICON_EXPAND="&#xe917;",t.ICON_COLLAPSE="&#xe918;",t.ADD_TO_PBK="&#xe800;",t.ALERT="&#xe801;",t.ADD_ALERT="&#xe802;",t.BACK_TO_SEARCH="&#xe803;",t.DOWNLOAD="&#xe808;",t.EDIT="&#xe809;",t.FEEDBACK="&#xe80a;",t.MODIFY_PBK="&#xe80c;",t.SCHEDULED="&#xe80d;",t.SEARCH="&#xe80e;",t.SHARE="&#xe80f1;",t.TOC="&#xe810;",t.WRITE_UGC="&#xe811;",t.TRASH="&#xe812;",t.EXTLINK="&#xe814;",t.CALENDAR="&#xe815;",t.BOOK="&#xe817;",t.DOWNLOAD_PLAIN="&#xe818;",t.CHECK="&#xe819;",t.TOPICS="&#xe900;",t.EYE="\f06e",t.DISC="&#xe901;",t.CIRCLE="&#xe903;",t.SHARED="&#xe904;",t.SORT_UNSORTED="&#xe905;",t.SORT_UP="&#xe906;",t.SORT_DOWN="&#xe907;",t.WORKING="&#xe908;",t.CLOSE="&#xe909;",t.ZOOM_OUT="&#xe90a;",t.ZOOM_IN="&#xe90b;",t.ZOOM_REALSIZE="&#xe90c;",t.ZOOM_FULLSCREEN="&#xe90d;",t.ADMIN_RESTRICTED="&#xe90e;",t.ADMIN_THEME="&#xe911;",t.WARNING="&#xe913;",t.CONTEXT="&#xe914;",t.SEARCH_HOME="&#xe915;",t.STEPS="&#xe916;",t.HOME="&#xe80b;",t.TRANSLATE="&#xe924;",t.USER="&#xe813;",t.ADMIN="&#xe902;",t.ANALYTICS="&#xe929;",t.ADMIN_KHUB="&#xe90f;",t.ADMIN_USERS="&#xe910;",t.ADMIN_INTEGRATION="&#xe93c;",t.ADMIN_PORTAL="&#xe912;"}(Ye||(Ye={})),function(t){t.UNKNOWN="&#xe90a;",t.ABW="&#xe900;",t.AUDIO="&#xe901;",t.AVI="&#xe902;",t.CHM="&#xe904;",t.CODE="&#xe905;",t.CSV="&#xe903;",t.DITA="&#xe906;",t.EPUB="&#xe907;",t.EXCEL="&#xe908;",t.FLAC="&#xe909;",t.GIF="&#xe90b;",t.GZIP="&#xe90c;",t.HTML="&#xe90d;",t.IMAGE="&#xe90e;",t.JPEG="&#xe90f;",t.JSON="&#xe910;",t.M4A="&#xe911;",t.MOV="&#xe912;",t.MP3="&#xe913;",t.MP4="&#xe914;",t.OGG="&#xe915;",t.PDF="&#xe916;",t.PNG="&#xe917;",t.POWERPOINT="&#xe918;",t.RAR="&#xe91a;",t.STP="&#xe91b;",t.TEXT="&#xe91c;",t.VIDEO="&#xe91e;",t.WAV="&#xe91f;",t.WMA="&#xe920;",t.WORD="&#xe921;",t.XML="&#xe922;",t.YAML="&#xe919;",t.ZIP="&#xe923;"}(Ge||(Ge={})),new Map([...["abw"].map((t=>[t,Ge.ABW])),...["3gp","act","aiff","aac","amr","au","awb","dct","dss","dvf","gsm","iklax","ivs","mmf","mpc","msv","opus","ra","rm","raw","sln","tta","vox","wv"].map((t=>[t,Ge.AUDIO])),...["avi"].map((t=>[t,Ge.AVI])),...["chm","xhs"].map((t=>[t,Ge.CHM])),...["java","py","php","php3","php4","php5","js","javascript","rb","rbw","c","cpp","cxx","h","hh","hpp","hxx","sh","bash","zsh","tcsh","ksh","csh","vb","scala","pl","prl","perl","groovy","ceylon","aspx","jsp","scpt","applescript","bas","bat","lua","jsp","mk","cmake","css","sass","less","m","mm","xcodeproj"].map((t=>[t,Ge.CODE])),...["csv"].map((t=>[t,Ge.CSV])),...["dita","ditamap","ditaval"].map((t=>[t,Ge.DITA])),...["epub"].map((t=>[t,Ge.EPUB])),...["xls","xlt","xlm","xlsx","xlsm","xltx","xltm","xlsb","xla","xlam","xll","xlw"].map((t=>[t,Ge.EXCEL])),...["flac"].map((t=>[t,Ge.FLAC])),...["gif"].map((t=>[t,Ge.GIF])),...["gzip","x-gzip","giz","gz","tgz"].map((t=>[t,Ge.GZIP])),...["html","htm","xhtml"].map((t=>[t,Ge.HTML])),...["ai","vml","xps","img","cpt","psd","psp","xcf","svg","svg+xml","bmp","bpg","ppm","pgm","pbm","pnm","rif","tif","tiff","webp","wmf"].map((t=>[t,Ge.IMAGE])),...["jpeg","jpg","jpe"].map((t=>[t,Ge.JPEG])),...["json"].map((t=>[t,Ge.JSON])),...["m4a","m4p"].map((t=>[t,Ge.M4A])),...["mov","qt"].map((t=>[t,Ge.MOV])),...["mp3"].map((t=>[t,Ge.MP3])),...["mp4","m4v"].map((t=>[t,Ge.MP4])),...["ogg","oga"].map((t=>[t,Ge.OGG])),...["pdf","ps"].map((t=>[t,Ge.PDF])),...["png"].map((t=>[t,Ge.PNG])),...["ppt","pot","pps","pptx","pptm","potx","potm","ppam","ppsx","ppsm","sldx","sldm"].map((t=>[t,Ge.POWERPOINT])),...["rar"].map((t=>[t,Ge.RAR])),...["stp"].map((t=>[t,Ge.STP])),...["txt","rtf","md","mdown"].map((t=>[t,Ge.TEXT])),...["webm","mkv","flv","vob","ogv","ogg","drc","mng","wmv","yuv","rm","rmvb","asf","mpg","mp2","mpeg","mpe","mpv","m2v","svi","3gp","3g2","mxf","roq","nsv"].map((t=>[t,Ge.VIDEO])),...["wav"].map((t=>[t,Ge.WAV])),...["wma"].map((t=>[t,Ge.WMA])),...["doc","dot","docx","docm","dotx","dotm","docb"].map((t=>[t,Ge.WORD])),...["xml","xsl","rdf"].map((t=>[t,Ge.XML])),...["yaml","yml","x-yaml"].map((t=>[t,Ge.YAML])),...["zip"].map((t=>[t,Ge.ZIP]))]);var Qe,ti=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};!function(t){t.fluid_topics="fluid-topics",t.file_format="file-format",t.material="material"}(Qe||(Qe={}));const ei={size:dt.create("--ft-icon-font-size","SIZE","24px"),fluidTopicsFontFamily:dt.extend("--ft-icon-fluid-topics-font-family",dt.create("--ft-icon-font-family","UNKNOWN","ft-icons")),fileFormatFontFamily:dt.extend("--ft-icon-file-format-font-family",dt.create("--ft-icon-font-family","UNKNOWN","ft-mime")),materialFontFamily:dt.extend("--ft-icon-material-font-family",dt.create("--ft-icon-font-family","UNKNOWN","Material Icons"))};class ii extends ut{constructor(){super(...arguments),this.variant=Qe.fluid_topics}render(){return H`
416
+ <i class="ft-icon ${"ft-icon--"+this.variant}">
417
+ ${Ut(this.getIcon())}
418
+ <slot @slotchange=${()=>this.requestUpdate()} ?hidden=${"material"!==this.variant}></slot>
419
+ </i>
420
+ `}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:""}getIcon(){var t,e;let i=this.textContent;return this.variant===Qe.file_format?null!==(t=Ge[i.toUpperCase()])&&void 0!==t?t:i:this.variant===Qe.fluid_topics?null!==(e=Ye[i.toUpperCase()])&&void 0!==e?e:i:Z}}ii.elementDefinitions={},ii.styles=u`
421
+ :host, i.ft-icon {
422
+ display: inline-block;
423
+ width: ${ei.size};
424
+ height: ${ei.size};
425
+ text-align: center;
426
+ }
427
+
428
+ i.ft-icon {
429
+ font-size: ${ei.size};
430
+ line-height: 1;
431
+ font-weight: normal;
432
+ text-transform: none;
433
+ font-style: normal;
434
+ font-variant: normal;
435
+ speak: none;
436
+ text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
437
+ text-rendering: auto;
438
+ -webkit-font-smoothing: antialiased;
439
+ -moz-osx-font-smoothing: grayscale;
440
+ }
441
+
442
+ .ft-icon--fluid-topics {
443
+ font-family: ${ei.fluidTopicsFontFamily}, ft-icons, fticons, sans-serif;
444
+ }
445
+
446
+ .ft-icon--file-format {
447
+ font-family: ${ei.fileFormatFontFamily}, ft-mime, sans-serif;
448
+ }
449
+
450
+ .ft-icon--material {
451
+ font-family: ${ei.materialFontFamily}, "Material Icons", sans-serif;
452
+ }
453
+ `,ti([i()],ii.prototype,"variant",void 0),ti([s("slot")],ii.prototype,"slottedContent",void 0),a("ft-icon")(ii);var oi=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};class ni extends ut{constructor(){super(...arguments),this.label="",this.value=null,this.selected=!1}render(){return H``}updated(t){super.updated(t),this.dispatchEvent(new CustomEvent("option-change",{detail:this,bubbles:!0}))}}ni.elementDefinitions={},oi([i({type:String})],ni.prototype,"label",void 0),oi([i({type:Object,converter:t=>t})],ni.prototype,"value",void 0),oi([i({type:Boolean,reflect:!0})],ni.prototype,"selected",void 0);const si={labelSize:dt.create("--ft-select-label-size","SIZE","11px"),selectedOptionSize:dt.create("--ft-select-selected-option-size","SIZE","14px"),verticalSpacing:dt.create("--ft-select-vertical-spacing","SIZE","4px"),selectedOptionColor:dt.extend("--ft-select-selected-option-color",ft.colorOnSurface),helperColor:dt.extend("--ft-select-helper-color",ft.colorOnSurfaceMedium),optionsColor:dt.extend("--ft-select-options-color",ft.colorOnSurface),optionsZIndex:dt.create("--ft-select-options-z-index","NUMBER","2"),colorSurface:dt.external(ft.colorSurface,"Design system"),colorOnSurfaceDisabled:dt.external(ft.colorOnSurfaceDisabled,"Design system"),colorPrimary:dt.external(ft.colorPrimary,"Design system"),borderRadiusS:dt.external(ft.borderRadiusS,"Design system"),elevation02:dt.external(ft.elevation02,"Design system")};class ri extends ut{constructor(){super(...arguments),this.label="",this.helper="",this.outlined=!1,this.disabled=!1,this.options=[],this.optionsDisplayed=!1,this.focusOptions=!1,this.hideOptions=t=>this.optionsDisplayed=this.optionsDisplayed&&t.composedPath().includes(this.container)}render(){var t,e,i,o,n;let s=!this.disabled&&this.optionsDisplayed&&this.hasOptions,r=this.disabled||!this.hasOptions;const l=null!=(null===(t=this.selectedOption)||void 0===t?void 0:t.value)||(null!==(i=null===(e=this.selectedOption)||void 0===e?void 0:e.label)&&void 0!==i?i:"").length>0,a={"ft-select":!0,"ft-select--filled":!this.outlined,"ft-select--outlined":this.outlined,"ft-select--disabled":r,"ft-select--options-displayed":s,"ft-select--has-option-selected":l,"ft-select--no-label":!this.label};return H`
454
+ <div class="${Dt(a)}" part="container">
455
+ <div class="ft-select--main-panel" part="main-panel">
456
+ <ft-input-label text="${this.label}"
457
+ part="label"
458
+ ?disabled=${r}
459
+ ?outlined=${this.outlined}
460
+ ?raised=${l||s}
461
+ ></ft-input-label>
462
+ <div class="ft-select--input-panel"
463
+ part="selected-value"
464
+ tabindex="${r?"-1":"0"}"
465
+ @click=${()=>{this.optionsDisplayed=!this.optionsDisplayed,this.focusOptions=this.optionsDisplayed}}
466
+ @keydown=${this.onMainPanelKeyDown}
467
+ aria-label="${this.label}"
468
+ aria-haspopup="listbox"
469
+ aria-expanded="${s}">
470
+ <ft-ripple ?disabled=${r} ?activated=${!this.outlined}></ft-ripple>
471
+ <ft-typography variant="body1" class="ft-select--selected-option">
472
+ ${null!==(n=null===(o=this.selectedOption)||void 0===o?void 0:o.label)&&void 0!==n?n:""}
473
+ </ft-typography>
474
+ <ft-icon variant="material">${s?"expand_less":"expand_more"}</ft-icon>
475
+ </div>
476
+ <div class="ft-select--options"
477
+ part="options"
478
+ @keydown=${this.onOptionsKeyDown}
479
+ innerrole="listbox">
480
+ ${Ft(this.options,(t=>t.value),(t=>this.renderOption(t)))}
481
+ </div>
482
+ </div>
483
+ ${this.helper?H`
484
+ <ft-typography class="ft-select--helper-text" variant="caption">${this.helper}
485
+ </ft-typography>`:void 0}
486
+ </div>
487
+ <slot @slotchange=${this.updateOptionsFromSlot}
488
+ @option-change=${this.updateOptionsFromSlot}
489
+ ></slot>
490
+ `}renderOption(t){let e=this.selectedOption===t;return H`
491
+ <div class="${Dt({"ft-select--option":!0,"ft-select--option-selected":e,"ft-typography--body2":!0})}"
492
+ part="option"
493
+ tabindex="0"
494
+ @keydown=${e=>this.onOptionKeyDown(e,t)}
495
+ @click=${()=>this.selectOption(t)}>
496
+ <ft-ripple ?primary=${e} ?activated=${e}></ft-ripple>
497
+ ${t.label}
498
+ </div>
499
+ `}updated(t){var e;super.updated(t),t.has("options")&&(this.selectedOption=this.options.filter((t=>t.selected))[0]),t.has("selectedOption")&&(this.optionsDisplayed=!1,this.dispatchEvent(new CustomEvent("change",{detail:null===(e=this.selectedOption)||void 0===e?void 0:e.value})))}contentAvailableCallback(t){var e,i;t.has("focusOptions")&&this.focusOptions&&(null===(i=null!==(e=this.selectedOptionElement)&&void 0!==e?e:this.firstOption)||void 0===i||i.focus(),this.focusOptions=!1)}get hasOptions(){return this.options.length>0}updateOptionsFromSlot(t){var e;t.stopPropagation();let i=null===(e=this.optionsSlot)||void 0===e?void 0:e.assignedElements().map((t=>t));i&&i.length>0&&(this.options=i)}onMainPanelKeyDown(t){switch(t.key){case" ":t.preventDefault(),t.stopPropagation();case"Enter":this.optionsDisplayed=!this.optionsDisplayed,this.focusOptions=!0;break;case"ArrowUp":case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.optionsDisplayed=!0,this.focusOptions=!0}}onOptionsKeyDown(t){var e,i,o,n,s;let r;switch(t.key){case"Escape":this.optionsDisplayed=!1,null===(e=this.mainPanel)||void 0===e||e.focus();break;case"Tab":this.optionsDisplayed=!1;break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),r=null!==(o=null===(i=this.focusedOption)||void 0===i?void 0:i.previousElementSibling)&&void 0!==o?o:this.lastOption;break;case"ArrowDown":t.preventDefault(),t.stopPropagation(),r=null!==(s=null===(n=this.focusedOption)||void 0===n?void 0:n.nextElementSibling)&&void 0!==s?s:this.firstOption}null==r||r.focus()}onOptionKeyDown(t,e){var i;"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),this.selectOption(e),this.optionsDisplayed=!1,null===(i=this.mainPanel)||void 0===i||i.focus())}selectOption(t){this.selectedOption=t;for(let e of this.options)e.selected=e===t}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.hideOptions)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.hideOptions)}}ri.elementDefinitions={"ft-input-label":Ve,"ft-typography":We,"ft-ripple":Je,"ft-icon":ii},ri.styles=[Le,Ie,u`
500
+ *:focus {
501
+ outline: none;
502
+ }
503
+
504
+ .ft-select {
505
+ display: flex;
506
+ flex-direction: column;
507
+ align-items: stretch;
508
+ }
509
+
510
+ .ft-select--main-panel {
511
+ position: relative;
512
+ display: flex;
513
+ height: calc(4 * ${si.verticalSpacing} + ${si.labelSize} + ${si.selectedOptionSize});
514
+ }
515
+
516
+ .ft-select--input-panel {
517
+ flex-grow: 1;
518
+ position: relative;
519
+ display: flex;
520
+ align-items: center;
521
+ overflow: hidden;
522
+ padding-left: 16px;
523
+ padding-right: 8px;
524
+ gap: 8px;
525
+ color: ${si.selectedOptionColor};
526
+ ${ht(Xe.color,si.selectedOptionColor)};
527
+ }
528
+
529
+ .ft-select--input-panel,
530
+ .ft-select--option {
531
+ ${ht(Xe.opacityContentOnSurfaceHover,"0.08")};
532
+ ${ht(Xe.opacityContentOnSurfacePressed,"0.04")};
533
+ }
534
+
535
+ .ft-select--disabled .ft-select--input-panel,
536
+ .ft-select--disabled .ft-select--option {
537
+ color: ${si.colorOnSurfaceDisabled};
538
+ }
539
+
540
+ .ft-select:not(.ft-select--disabled) .ft-select--input-panel,
541
+ .ft-select:not(.ft-select--disabled) .ft-select--option {
542
+ cursor: pointer;
543
+ }
544
+
545
+ ft-input-label {
546
+ ${ht(Ke.fontSize,si.selectedOptionSize)};
547
+ ${ht(Ke.raisedFontSize,si.labelSize)};
548
+ ${ht(Ke.verticalSpacing,si.verticalSpacing)};
549
+ }
550
+
551
+ .ft-select:not(.ft-select--disabled):focus-within ft-icon {
552
+ color: ${si.colorPrimary};
553
+ }
554
+
555
+ .ft-select:not(.ft-select--disabled):focus-within ft-input-label {
556
+ ${ht(Ke.borderColor,si.colorPrimary)};
557
+ ${ht(Ke.textColor,si.colorPrimary)};
558
+ }
559
+
560
+ .ft-select--selected-option {
561
+ display: block;
562
+ flex-grow: 1;
563
+ flex-shrink: 1;
564
+ overflow: hidden;
565
+ white-space: nowrap;
566
+ text-overflow: ellipsis;
567
+ ${ht(fe.fontSize,si.selectedOptionSize)};
568
+ ${ht(fe.lineHeight,si.selectedOptionSize)};
569
+ }
570
+
571
+ ft-icon {
572
+ flex-shrink: 0;
573
+ }
574
+
575
+ slot {
576
+ display: none;
577
+ }
578
+
579
+ .ft-select--filled .ft-select--input-panel {
580
+ border-radius: ${si.borderRadiusS} ${si.borderRadiusS} 0 0;
581
+ }
582
+
583
+ .ft-select--filled:not(.ft-select--no-label) .ft-select--selected-option {
584
+ align-self: stretch;
585
+ padding-top: calc(${si.labelSize} + 2 * ${si.verticalSpacing});
586
+ }
587
+
588
+ .ft-select--outlined .ft-select--input-panel {
589
+ border-radius: ${si.borderRadiusS};
590
+ }
591
+
592
+ .ft-select--options {
593
+ display: none;
594
+ position: absolute;
595
+ top: 100%;
596
+ left: 0;
597
+ right: 0;
598
+ color: ${si.optionsColor};
599
+ background: ${si.colorSurface};
600
+ z-index: ${si.optionsZIndex};
601
+ box-shadow: ${si.elevation02};
602
+ }
603
+
604
+ .ft-select--options-displayed .ft-select--options {
605
+ display: block;
606
+ }
607
+
608
+ .ft-select--option {
609
+ position: relative;
610
+ padding: 4px 16px;
611
+ min-height: 32px;
612
+ display: flex;
613
+ align-items: center;
614
+ }
615
+
616
+ .ft-select--helper-text {
617
+ padding: 0 12px 0 16px;
618
+ color: ${si.helperColor};
619
+ }
620
+ `],oi([i({type:String})],ri.prototype,"label",void 0),oi([i({type:String})],ri.prototype,"helper",void 0),oi([i({type:Boolean})],ri.prototype,"outlined",void 0),oi([i({type:Boolean})],ri.prototype,"disabled",void 0),oi([i({type:Array})],ri.prototype,"options",void 0),oi([o()],ri.prototype,"selectedOption",void 0),oi([o()],ri.prototype,"optionsDisplayed",void 0),oi([o()],ri.prototype,"focusOptions",void 0),oi([s(".ft-select")],ri.prototype,"container",void 0),oi([s(".ft-select--input-panel")],ri.prototype,"mainPanel",void 0),oi([s(".ft-select--option:first-child")],ri.prototype,"firstOption",void 0),oi([s(".ft-select--option:focus")],ri.prototype,"focusedOption",void 0),oi([s(".ft-select--option.ft-select--option-selected")],ri.prototype,"selectedOptionElement",void 0),oi([s(".ft-select--option:last-child")],ri.prototype,"lastOption",void 0),oi([s("slot")],ri.prototype,"optionsSlot",void 0),a("ft-select")(ri),a("ft-select-option")(ni);var li=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};const ai={fontSize:dt.create("--ft-text-field-font-size","SIZE","14px"),labelSize:dt.create("--ft-text-field-label-size","SIZE","11px"),verticalSpacing:dt.create("--ft-text-field-vertical-spacing","SIZE","4px"),horizontalSpacing:dt.create("--ft-text-field-horizontal-spacing","SIZE","16px"),helperColor:dt.extend("--ft-text-field-helper-color",ft.colorOnSurfaceMedium),colorPrimary:dt.external(ft.colorPrimary,"Design system"),colorOnSurface:dt.external(ft.colorOnSurface,"Design system"),colorOnSurfaceDisabled:dt.external(ft.colorOnSurfaceDisabled,"Design system"),borderRadiusS:dt.external(ft.borderRadiusS,"Design system")};class pi extends ut{constructor(){super(...arguments),this.label="",this.value="",this.helper="",this.outlined=!1,this.disabled=!1,this.dataList=[],this.focused=!1}render(){const t={"ft-text-field":!0,"ft-text-field--filled":!this.outlined,"ft-text-field--outlined":this.outlined,"ft-text-field--disabled":this.disabled,"ft-text-field--has-value":!!this.value,"ft-text-field--no-label":!this.label};return H`
621
+ <div class="${Dt(t)}">
622
+ <div class="ft-text-field--main-panel">
623
+ <ft-input-label text="${this.label}"
624
+ ?disabled=${this.disabled}
625
+ ?outlined=${this.outlined}
626
+ ?raised=${this.focused||""!=this.value}
627
+ ></ft-input-label>
628
+ <div class="ft-text-field--input-panel"
629
+ aria-label="${this.label}">
630
+ ${this.outlined?null:H`
631
+ <ft-ripple ?disabled=${this.disabled} activated></ft-ripple>
632
+ `}
633
+ <input type="text"
634
+ class="ft-typography--body1 ft-text-field--input"
635
+ ?disabled=${this.disabled}
636
+ .value=${this.value}
637
+ @change=${this.updateValueFromInputField}
638
+ @keyup=${this.liveUpdateValueFromInputField}
639
+ @focus=${()=>this.focused=!0}
640
+ @focusout=${()=>this.focused=!1}
641
+ list="datalist"
642
+ />
643
+
644
+ <datalist id="datalist">
645
+ ${this.dataList.map((t=>H`
646
+ <option value="${t}"></option>`))}
647
+ </datalist>
648
+
649
+ </div>
650
+ </div>
651
+ ${this.helper?H`
652
+ <ft-typography class="ft-text-field--helper-text" variant="caption">${this.helper}
653
+ </ft-typography>`:void 0}
654
+ </div>
655
+ `}updated(t){super.updated(t),t.has("value")&&this.dispatchEvent(new CustomEvent("live-change",{detail:this.value}))}updateValueFromInputField(){var t;this.value=(null===(t=this.input)||void 0===t?void 0:t.value)||"",this.dispatchEvent(new CustomEvent("change",{detail:this.value}))}liveUpdateValueFromInputField(){var t;this.value=(null===(t=this.input)||void 0===t?void 0:t.value)||""}}pi.elementDefinitions={"ft-input-label":Ve,"ft-ripple":Je,"ft-typography":We},pi.styles=[Ae,u`
656
+ *:focus {
657
+ outline: none;
658
+ }
659
+
660
+ .ft-text-field {
661
+ display: flex;
662
+ flex-direction: column;
663
+ align-items: stretch;
664
+ }
665
+
666
+ ft-input-label {
667
+ ${ht(Ke.fontSize,ai.fontSize)};
668
+ ${ht(Ke.raisedFontSize,ai.labelSize)};
669
+ ${ht(Ke.verticalSpacing,ai.verticalSpacing)};
670
+ ${ht(Ke.horizontalSpacing,u`calc(${ai.horizontalSpacing} - 4px)`)};
671
+ }
672
+
673
+ .ft-text-field--main-panel {
674
+ position: relative;
675
+ display: flex;
676
+ height: calc(4 * ${ai.verticalSpacing} + ${ai.labelSize} + ${ai.fontSize});
677
+ }
678
+
679
+ .ft-text-field--input-panel {
680
+ flex-grow: 1;
681
+ position: relative;
682
+ display: flex;
683
+ align-items: center;
684
+ overflow: hidden;
685
+ gap: 8px;
686
+ }
687
+
688
+ .ft-text-field--input-panel ft-ripple {
689
+ ${ht(Xe.opacityContentOnSurfaceHover,"0.08")};
690
+ ${ht(Xe.opacityContentOnSurfacePressed,"0.04")};
691
+ }
692
+
693
+ .ft-text-field--input {
694
+ display: block;
695
+ flex-grow: 1;
696
+ flex-shrink: 1;
697
+ min-width: 0; /* flex sets this to auto an prevents input from shrinking properly */
698
+
699
+ ${ht(fe.fontSize,ai.fontSize)};
700
+ ${ht(fe.lineHeight,ai.fontSize)};
701
+ color: ${ai.colorOnSurface};
702
+
703
+ padding: 0 ${ai.horizontalSpacing};
704
+
705
+ border: none;
706
+ background: none;
707
+ }
708
+
709
+ .ft-text-field--input::-webkit-calendar-picker-indicator,
710
+ .ft-text-field--input::-webkit-list-button {
711
+ display: none !important;
712
+ }
713
+
714
+ .ft-text-field--disabled .ft-text-field--input {
715
+ color: ${ai.colorOnSurfaceDisabled};
716
+ }
717
+
718
+ .ft-text-field:not(.ft-text-field--disabled) .ft-text-field--input-panel {
719
+ cursor: pointer;
720
+ }
721
+
722
+ .ft-text-field:not(.ft-text-field--disabled):focus-within ft-input-label {
723
+ ${ht(Ke.borderColor,ai.colorPrimary)};
724
+ ${ht(Ke.textColor,ai.colorPrimary)};
725
+ }
726
+
727
+ .ft-text-field--filled .ft-text-field--input-panel {
728
+ border-radius: ${ai.borderRadiusS} ${ai.borderRadiusS} 0 0;
729
+ }
730
+
731
+ .ft-text-field--filled:not(.ft-text-field--no-label) .ft-text-field--input {
732
+ align-self: stretch;
733
+ padding-bottom: ${ai.verticalSpacing};
734
+ padding-top: calc(${ai.labelSize} + 2 * ${ai.verticalSpacing});
735
+ }
736
+
737
+ .ft-text-field--outlined .ft-text-field--input-panel {
738
+ border-radius: ${ai.borderRadiusS};
739
+ }
740
+
741
+ .ft-text-field--helper-text {
742
+ padding: 0 12px 0 ${ai.horizontalSpacing};
743
+ color: ${ai.helperColor};
744
+ }
745
+ `],li([i({type:String})],pi.prototype,"label",void 0),li([i({reflect:!0})],pi.prototype,"value",void 0),li([i({type:String})],pi.prototype,"helper",void 0),li([i({type:Boolean})],pi.prototype,"outlined",void 0),li([i({type:Boolean})],pi.prototype,"disabled",void 0),li([s(".ft-text-field--input")],pi.prototype,"input",void 0),li([i({attribute:!1})],pi.prototype,"dataList",void 0),li([o()],pi.prototype,"focused",void 0),a("ft-text-field")(pi);var ci=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};const di=dt.create("--ft-tooltip-distance","SIZE","4px"),hi=dt.create("--ft-tooltip-color","COLOR","#FFFFFF"),fi=dt.create("--ft-tooltip-background-color","COLOR","#666666"),ui=dt.create("--ft-tooltip-z-index","NUMBER","1"),bi=dt.external(ft.borderRadiusS,"Design system");class vi extends ut{constructor(){super(...arguments),this.text="",this.manual=!1,this.inline=!1,this.delay=500,this.position="bottom",this.visible=!1,this.hideDebounce=new t,this.revealDebouncer=new t}render(){return H`
746
+ <div part="container"
747
+ class="ft-tooltip--container ${this.inline?"ft-tooltip--inline":""}"
748
+ @mouseenter=${this.onHover}
749
+ @mouseleave=${this.onOut}
750
+ @focusin=${this.onHover}
751
+ @focusout=${this.onOut}
752
+ @touchstart=${this.onTouch}>
753
+ <div part="tooltip" class="ft-tooltip ft-tooltip--${this.position}" ?hidden=${!this.visible}>
754
+ <div part="tooltip-content" class="ft-tooltip--content">
755
+ <ft-typography variant="caption">${this.text}</ft-typography>
756
+ </div>
757
+ </div>
758
+ <slot></slot>
759
+ </div>
760
+ `}update(t){t.has("visible")&&!this.visible&&this.resetTooltipContent(),super.update(t)}contentAvailableCallback(t){t.has("visible")&&this.visible&&this.positionTooltip()}show(t){this.visible=!0,null!=t&&this.hideDebounce.run((()=>this.hide()),t)}hide(){this.visible=!1}toggle(){this.visible=!this.visible}get slottedElement(){var t;return(null!==(t=this.slotNodes)&&void 0!==t?t:[]).filter((t=>t.nodeType==Node.ELEMENT_NODE))[0]}resetTooltipContent(){if(this.tooltip&&this.tooltipContent){const t=this.tooltipContent.style;switch(t.transition="none",this.position){case"top":t.top=this.tooltip.clientHeight+"px",t.left="0";break;case"bottom":t.top=-this.tooltip.clientHeight+"px",t.left="0";break;case"left":t.top="0",t.left=this.tooltip.clientWidth+"px";break;case"right":t.top="0",t.left=-this.tooltip.clientWidth+"px"}}}positionTooltip(){this.resetTooltipContent();const t=this.slottedElement;if(this.tooltip&&t){const e=t.getBoundingClientRect(),i=(e.height-this.tooltip.clientHeight)/2,o=(e.width-this.tooltip.clientWidth)/2,n=this.tooltip.style;switch(this.position){case"top":n.top=-this.tooltip.clientHeight+"px",n.left=o+"px";break;case"bottom":n.top=e.height+"px",n.left=o+"px";break;case"left":n.top=i+"px",n.left=-this.tooltip.clientWidth+"px";break;case"right":n.top=i+"px",n.left=e.width+"px"}n.maxWidth=Math.max(e.width,150)+"px"}this.revealDebouncer.run((()=>{this.tooltipContent&&(this.tooltipContent.style.transition="top var(--ft-transition-duration, 250ms), left var(--ft-transition-duration, 250ms)",this.tooltipContent.style.top="0",this.tooltipContent.style.left="0")}),this.manual?0:this.delay)}onTouch(){this.manual||(this.show(),setTimeout((()=>window.addEventListener("touchstart",(t=>{t.composedPath().includes(this.container)||this.onOut()}),{once:!0})),100))}onHover(){this.manual||this.show()}onOut(){this.manual||(this.revealDebouncer.cancel(),this.hide())}}vi.elementDefinitions={"ft-typography":We},vi.styles=u`
761
+ .ft-tooltip--container {
762
+ display: block;
763
+ position: relative;
764
+ }
765
+
766
+ .ft-tooltip--inline {
767
+ display: inline-block;
768
+ max-width: 100%;
769
+ }
770
+
771
+ .ft-tooltip {
772
+ position: absolute;
773
+ box-sizing: border-box;
774
+ overflow: hidden;
775
+ width: max-content;
776
+ max-width: 150px;
777
+ text-align: center;
778
+ padding: ${di};
779
+ z-index: ${ui};
780
+ }
781
+
782
+ .ft-tooltip--content {
783
+ padding: 4px 8px;
784
+ border-radius: ${bi};
785
+ background-color: ${fi};
786
+ color: ${hi};
787
+ top: -500px;
788
+ left: -500px;
789
+ position: relative;
790
+ word-break: break-word;
791
+ }
792
+ `,ci([i()],vi.prototype,"text",void 0),ci([i({type:Boolean})],vi.prototype,"manual",void 0),ci([i({type:Boolean})],vi.prototype,"inline",void 0),ci([i({type:Number})],vi.prototype,"delay",void 0),ci([i()],vi.prototype,"position",void 0),ci([
793
+ /**
794
+ * @license
795
+ * Copyright 2017 Google LLC
796
+ * SPDX-License-Identifier: BSD-3-Clause
797
+ */
798
+ function(t,e,i){let o,s=t;return"object"==typeof t?(s=t.slot,o=t):o={flatten:e},i?function(t){const{slot:e,selector:i}=null!=t?t:{};return n({descriptor:o=>({get(){var o;const n="slot"+(e?`[name=${e}]`:":not([name])"),s=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(n),r=null!=s?l(s,t):[];return i?r.filter((t=>t.matches(i))):r},enumerable:!0,configurable:!0})})}({slot:s,flatten:e,selector:i}):n({descriptor:t=>({get(){var t,e;const i="slot"+(s?`[name=${s}]`:":not([name])"),n=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(i);return null!==(e=null==n?void 0:n.assignedNodes(o))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}("",!0)],vi.prototype,"slotNodes",void 0),ci([s(".ft-tooltip--container")],vi.prototype,"container",void 0),ci([s("slot")],vi.prototype,"target",void 0),ci([s(".ft-tooltip")],vi.prototype,"tooltip",void 0),ci([s(".ft-tooltip--content")],vi.prototype,"tooltipContent",void 0),ci([o()],vi.prototype,"visible",void 0),a("ft-tooltip")(vi);const xi={color:dt.extend("--ft-loader-color",ft.colorPrimary),size:dt.create("--ft-loader-size","SIZE","80px")};class yi extends ut{static get styles(){return u`
799
+ :host {
800
+ line-height: 0;
801
+ }
802
+
803
+ .ft-loader {
804
+ display: inline-block;
805
+ position: relative;
806
+
807
+ width: ${xi.size};
808
+ height: ${xi.size};
809
+ }
810
+
811
+ .ft-loader div {
812
+ position: absolute;
813
+ top: 37.5%;
814
+ width: 25%;
815
+ height: 25%;
816
+ border-radius: 50%;
817
+ background: ${xi.color};
818
+ animation-timing-function: cubic-bezier(0, 1, 1, 0);
819
+ }
820
+
821
+ .ft-loader div:nth-child(1) {
822
+ left: 2.5%;
823
+ animation: appear 0.6s infinite;
824
+ }
825
+
826
+ .ft-loader div:nth-child(2) {
827
+ left: 2.5%;
828
+ animation: move 0.6s infinite;
829
+ }
830
+
831
+ .ft-loader div:nth-child(3) {
832
+ left: 37.5%;
833
+ animation: move 0.6s infinite;
834
+ }
835
+
836
+ .ft-loader div:nth-child(4) {
837
+ left: 72.5%;
838
+ animation: disappear 0.6s infinite;
839
+ }
840
+
841
+ @keyframes appear {
842
+ 0% {
843
+ transform: scale(0);
844
+ }
845
+ 100% {
846
+ transform: scale(1);
847
+ }
848
+ }
849
+
850
+ @keyframes disappear {
851
+ 0% {
852
+ transform: scale(1);
853
+ }
854
+ 100% {
855
+ transform: scale(0);
856
+ }
857
+ }
858
+
859
+ @keyframes move {
860
+ 0% {
861
+ transform: translate(0, 0);
862
+ }
863
+ 100% {
864
+ transform: translate(calc(0.35 * ${xi.size}), 0);
865
+ }
866
+ }
867
+ `}render(){return H`
868
+ <div class="ft-loader">
869
+ <div></div>
870
+ <div></div>
871
+ <div></div>
872
+ <div></div>
873
+ </div>
874
+ `}}a("ft-loader")(yi);var gi=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};const mi=dt.extend("--ft-button-color",ft.colorPrimary),$i={backgroundColor:dt.extend("--ft-button-background-color",ft.colorSurface),borderRadius:dt.extend("--ft-button-border-radius",ft.borderRadiusL),color:mi,fontSize:dt.extend("--ft-button-font-size",Ue.fontSize),iconSize:dt.create("--ft-button-icon-size","SIZE","24px"),rippleColor:dt.extend("--ft-button-ripple-color",mi),opacityDisabled:dt.external(ft.colorOpacityDisabled,"Design system")},wi=dt.extend("--ft-button-primary-color",dt.extend("--ft-button-color",ft.colorOnPrimary)),Oi={backgroundColor:dt.extend("--ft-button-primary-background-color",dt.extend("--ft-button-background-color",ft.colorPrimary)),color:wi,rippleColor:dt.extend("--ft-button-primary-ripple-color",wi)},Si=dt.extend("--ft-button-dense-border-radius",dt.extend("--ft-button-border-radius",ft.borderRadiusM));class ki extends ut{constructor(){super(...arguments),this.primary=!1,this.outlined=!1,this.disabled=!1,this.dense=!1,this.round=!1,this.label="",this.icon=void 0,this.trailingIcon=!1,this.loading=!1,this.tooltipPosition="bottom",this.onclick=t=>{this.isDisabled()&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation())}}static get styles(){return[bt,u`
875
+ :host {
876
+ display: inline-block;
877
+ max-width: 100%;
878
+ pointer-events: none;
879
+ }
880
+
881
+ button {
882
+ box-shadow: 0px 0px 0px transparent;
883
+ border: 0px solid transparent;
884
+ text-shadow: 0px 0px 0px transparent;
885
+ }
886
+
887
+ button:hover {
888
+ box-shadow: 0px 0px 0px transparent;
889
+ border: 0px solid transparent;
890
+ text-shadow: 0px 0px 0px transparent;
891
+ }
892
+
893
+ button:active {
894
+ outline: none;
895
+ border: none;
896
+ }
897
+
898
+ button:focus {
899
+ outline: 0;
900
+ }
901
+
902
+ .ft-button {
903
+ position: relative;
904
+ display: flex;
905
+ justify-content: center;
906
+ align-items: center;
907
+ width: 100%;
908
+ overflow: hidden;
909
+ box-sizing: border-box;
910
+ border: none;
911
+ pointer-events: auto;
912
+
913
+ --ft-button-internal-font-size: ${$i.fontSize};
914
+ --ft-button-internal-line-height: calc(var(--ft-button-internal-font-size) + 2px);
915
+ --ft-button-internal-color: ${$i.color};
916
+ ${ht(ei.size,$i.iconSize)};
917
+ --ft-button-internal-vertical-padding: 6px;
918
+ --ft-button-internal-horizontal-padding: 8px;
919
+ ${ht(Xe.color,$i.rippleColor)};
920
+ --ft-button-internal-content-height: max(var(--ft-button-internal-line-height), ${$i.iconSize});
921
+
922
+ border-radius: ${$i.borderRadius};
923
+ padding: var(--ft-button-internal-vertical-padding) var(--ft-button-internal-horizontal-padding);
924
+ background-color: ${$i.backgroundColor};
925
+ color: var(--ft-button-internal-color);
926
+ -webkit-mask-image: radial-gradient(white, black);
927
+ }
928
+
929
+ .ft-button:not([disabled]):hover {
930
+ cursor: pointer;
931
+ }
932
+
933
+ .ft-button--dense {
934
+ --ft-button-internal-vertical-padding: 2px;
935
+ --ft-button-internal-horizontal-padding: 4px;
936
+ border-radius: ${Si};
937
+ }
938
+
939
+ .ft-button--round {
940
+ border-radius: calc(var(--ft-button-internal-content-height) / 2 + var(--ft-button-internal-vertical-padding));
941
+ }
942
+
943
+ .ft-button[disabled] {
944
+ filter: grayscale(1);
945
+ opacity: ${$i.opacityDisabled};
946
+ }
947
+
948
+ .ft-button.ft-button--primary {
949
+ background-color: ${Oi.backgroundColor};
950
+ --ft-button-internal-color: ${Oi.color};
951
+ ${ht(Xe.color,Oi.rippleColor)};
952
+ }
953
+
954
+ .ft-button.ft-button--outlined {
955
+ border: 1px solid var(--ft-button-internal-color);
956
+ padding: calc(var(--ft-button-internal-vertical-padding) - 1px) calc(var(--ft-button-internal-horizontal-padding) - 1px);
957
+ }
958
+
959
+ .ft-button:focus {
960
+ outline: none;
961
+ }
962
+
963
+ .ft-button--label {
964
+ overflow: hidden;
965
+ white-space: nowrap;
966
+ text-overflow: ellipsis;
967
+ display: block;
968
+ margin: 0 var(--ft-button-internal-horizontal-padding);
969
+ ${ht(Ue.fontSize,"var(--ft-button-internal-font-size)")};
970
+ ${ht(Ue.lineHeight,"var(--ft-button-internal-content-height)")};
971
+ }
972
+
973
+ .ft-button--safari-fix .ft-button--label {
974
+ margin-right: 0;
975
+ }
976
+
977
+ .ft-button--safari-fix .ft-button--label:after {
978
+ content: "\\0000a0";
979
+ display: inline-block;
980
+ width: 0;
981
+ }
982
+
983
+ .ft-button--label[hidden] {
984
+ display: none;
985
+ }
986
+
987
+ ft-icon {
988
+ flex-shrink: 0;
989
+ }
990
+
991
+ .ft-button--label[hidden] + ft-icon {
992
+ margin: 0 calc(var(--ft-button-internal-horizontal-padding) * -1);
993
+ padding: 0 var(--ft-button-internal-vertical-padding);
994
+ }
995
+
996
+ .ft-button:not(.ft-button--trailing-icon) ft-icon,
997
+ .ft-button:not(.ft-button--trailing-icon) ft-loader {
998
+ order: -1;
999
+ }
1000
+
1001
+ ft-loader {
1002
+ ${ht(xi.size,$i.iconSize)};
1003
+ ${ht(xi.color,"var(--ft-button-internal-color)")};
1004
+ }
1005
+ `]}render(){const t={"ft-button":!0,"ft-button--primary":this.primary,"ft-button--outlined":this.outlined,"ft-button--dense":this.dense,"ft-button--round":this.round,"ft-button--trailing-icon":this.trailingIcon,"ft-button--loading":this.trailingIcon,"ft-button--safari-fix":gt,"ft-no-text-select":!0};return this.addTooltip(H`
1006
+ <button part="button"
1007
+ class="${Dt(t)}"
1008
+ aria-label="${this.getLabel()}"
1009
+ ?disabled=${this.isDisabled()}>
1010
+ <ft-ripple part="ripple" ?disabled=${this.isDisabled()}></ft-ripple>
1011
+ <ft-typography part="label"
1012
+ variant="button"
1013
+ class="ft-button--label"
1014
+ ?hidden=${!this.hasTextContent()}>
1015
+ <slot @slotchange=${this.onSlotchange}></slot>
1016
+ </ft-typography>
1017
+ ${this.resolveIcon()}
1018
+ </button>
1019
+ `)}addTooltip(t){return this.hasTextContent()||0===this.getLabel().trim().length?t:H`
1020
+ <ft-tooltip part="tooltip"
1021
+ text="${this.getLabel()}"
1022
+ position="${this.tooltipPosition}">
1023
+ ${t}
1024
+ </ft-tooltip>
1025
+ `}resolveIcon(){return this.loading?H`
1026
+ <ft-loader></ft-loader> `:this.icon?H`
1027
+ <ft-icon variant="material">${this.icon}</ft-icon> `:Z}focus(){var t;null===(t=this.button)||void 0===t||t.focus()}getLabel(){return this.label||this.textContent}get textContent(){return this.unslotText(this.slottedContent).trim()}unslotText(t){return t instanceof HTMLSlotElement?t.assignedNodes().map((t=>this.unslotText(t))).join(""):(null==t?void 0:t.textContent)||""}hasTextContent(){return this.textContent.length>0}onSlotchange(){this.requestUpdate()}isDisabled(){return this.disabled||this.loading}}ki.elementDefinitions={"ft-ripple":Je,"ft-tooltip":vi,"ft-typography":We,"ft-icon":ii,"ft-loader":yi},gi([i({type:Boolean})],ki.prototype,"primary",void 0),gi([i({type:Boolean})],ki.prototype,"outlined",void 0),gi([i({type:Boolean})],ki.prototype,"disabled",void 0),gi([i({type:Boolean})],ki.prototype,"dense",void 0),gi([i({type:Boolean})],ki.prototype,"round",void 0),gi([i({type:String})],ki.prototype,"label",void 0),gi([i({type:String})],ki.prototype,"icon",void 0),gi([i({type:Boolean})],ki.prototype,"trailingIcon",void 0),gi([i({type:Boolean})],ki.prototype,"loading",void 0),gi([i({type:String})],ki.prototype,"tooltipPosition",void 0),gi([s(".ft-button")],ki.prototype,"button",void 0),gi([s(".ft-button--label slot")],ki.prototype,"slottedContent",void 0),a("ft-button")(ki);var Ci=function(t,e,i,o){for(var n,s=arguments.length,r=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(n=t[l])&&(r=(s<3?n(r):s>3?n(e,i,r):n(e,i))||r);return s>3&&r&&Object.defineProperty(e,i,r),r};class Ei extends CustomEvent{constructor(t){super("row-click",{detail:t})}}const Ni={headerBackground:dt.create("--ft-filterable-table-header-background","COLOR","whitesmoke"),oddRowBackground:dt.create("--ft-filterable-table-odd-row-background","COLOR","#FFFFFF"),evenRowBackground:dt.create("--ft-filterable-table-even-row-background","COLOR","#fdfdfd"),rowHoverBackground:dt.create("--ft-filterable-table-row-hover-background","COLOR","#fafafa"),colorOnSurfaceHigh:dt.external(ft.colorOnSurfaceHigh,"Design system"),titleFont:dt.external(ft.titleFont,"Design system"),contentFont:dt.external(ft.contentFont,"Design system")},Ri=t=>H`${t}`,zi=(t,e)=>t-e;class Fi extends ut{constructor(){super(...arguments),this.data=[],this.columns=[],this.filters=[],this.selectData=[]}init(t,e,i){this.data=t,this.columns=e,this.sort=i}render(){let t=this.sortData(this.filterData());return H`
1028
+ <style>
1029
+ .table {
1030
+ grid-template-columns: repeat(${this.columns.length}, minmax(min-content, auto));
1031
+ }
1032
+ </style>
1033
+ <div class="table">
1034
+ <div class="header">
1035
+ ${Ft(this.columns,((t,e)=>"header-cell-"+e),((t,e)=>this.renderHeader(t,e)))}
1036
+ </div>
1037
+ ${Ft(t,((t,e)=>"row-"+e),((t,e)=>H`
1038
+ <div class="row"
1039
+ @click=${()=>this.dispatchEvent(new Ei(t))}>
1040
+ ${Ft(this.columns,((t,i)=>"cell-"+e+" "+i),(i=>this.renderCell(i,t,e)))}
1041
+ </div>
1042
+ `))}
1043
+ </div>
1044
+ `}filterData(){let t=[...this.data];return this.filters.forEach(((e,i)=>{var o;const n=this.columns[i];if(e)switch(null!==(o=n.filter)&&void 0!==o?o:"text"){case"text":e.value&&(t=t.filter((t=>this.getValueAsString(n,t,i).toLowerCase().includes(e.value.toLowerCase()))));break;case"select":e.value&&(t=t.filter((t=>this.getValueAsString(n,t,i)===e.value)))}})),t}sortData(t){var e;if(this.currentSort){const i=this.columns[this.currentSort.column],o=null!==(e=i.comparator)&&void 0!==e?e:zi,n="asc"===this.currentSort.order?o:(t,e)=>-o(t,e);return t.sort(((t,e)=>n(this.getValue(i,t),this.getValue(i,e))))}return t}update(t){super.update(t),t.has("sort")&&(this.currentSort=this.sort),(t.has("data")||t.has("columns"))&&this.updateSelectData()}updateSelectData(){this.selectData=[];const t=this.data,e=this.columns;for(let i in e){const o=e[i];"select"===o.filter&&(this.selectData[i]=[...new Set(t.map(((t,e)=>this.getValueAsString(o,t,e))))].sort(((t,e)=>t.localeCompare(e))))}this.requestUpdate()}renderHeader(t,e){return H`
1045
+ <div class="header-cell">
1046
+ <div class="column-title-container">
1047
+ <span class="column-title">${t.title}</span>
1048
+ ${this.renderColumnSort(t,e)}
1049
+ </div>
1050
+ <div class="column-filter">
1051
+ ${this.renderColumnFilter(t,e)}
1052
+ </div>
1053
+ </div>
1054
+ `}renderColumnSort(t,e){var i;const o=this.currentSort&&this.currentSort.column===e,n=o?"asc"===this.currentSort.order?"expand_more":"expand_less":"unfold_more";return H`
1055
+ <ft-button
1056
+ round
1057
+ dense
1058
+ class="${null===(i=t.sortable)||void 0===i||i?"":"hidden"}"
1059
+ icon="${n}"
1060
+ label="Sort ${t.title}"
1061
+ @click=${()=>{var t;o?"asc"===(null===(t=this.currentSort)||void 0===t?void 0:t.order)?this.currentSort={column:e,order:"desc"}:this.currentSort=void 0:this.currentSort={column:e,order:"asc"}}}
1062
+ ></ft-button>
1063
+ `}renderColumnFilter(t,e){var i,o;const n=t=>{this.filters[e]={value:t.detail},this.requestUpdate()};switch(null!==(i=t.filter)&&void 0!==i?i:"text"){case"text":return H`
1064
+ <ft-text-field
1065
+ label="Search ${t.title}"
1066
+ @live-change="${n}"
1067
+ ></ft-text-field>
1068
+ `;case"select":const i=null!==(o=this.selectData[e])&&void 0!==o?o:[];return i.length?H`
1069
+ <ft-select label="Filter ${t.title}" @change=${n}>
1070
+ <ft-select-option></ft-select-option>
1071
+ ${i.map((t=>H`
1072
+ <ft-select-option value="${t}" label="${t}"></ft-select-option>
1073
+ `))}
1074
+ </ft-select>
1075
+ `:null}return null}renderCell(t,e,i){var o;const n=null!==(o=t.render)&&void 0!==o?o:Ri;return H`
1076
+ <div class="cell">${(t=>{const e=n(t,i);return"string"==typeof e?Ut(e):e})(this.getValue(t,e))}</div>
1077
+ `}getValue(t,e){return"string"==typeof t.getter?e[t.getter]:t.getter(e)}getValueAsString(t,e,i){const o=this.getValue(t,e);return"function"==typeof t.stringify?t.stringify(o,i):(t=>""+t)(o)}}Fi.styles=u`
1078
+ :host {
1079
+ display: block;
1080
+ }
1081
+
1082
+ .table {
1083
+ display: grid;
1084
+ }
1085
+
1086
+ .header, .row {
1087
+ display: contents;
1088
+ }
1089
+
1090
+ .header-cell {
1091
+ display: flex;
1092
+ flex-direction: column;
1093
+ background: ${Ni.headerBackground};
1094
+ color: ${Ni.colorOnSurfaceHigh};
1095
+ padding: .5rem 1rem;
1096
+ font-family: ${Ni.titleFont};
1097
+ }
1098
+
1099
+ .header-cell:first-of-type {
1100
+ border-radius: .5rem 0 0 0;
1101
+ }
1102
+
1103
+ .header-cell:last-of-type {
1104
+ border-radius: 0 .5rem 0 0;
1105
+ }
1106
+
1107
+ .column-title-container {
1108
+ display: flex;
1109
+ align-items: center;
1110
+ }
1111
+
1112
+ .column-title-container ft-button {
1113
+ ${ht($i.backgroundColor,Ni.headerBackground)};
1114
+ ${ht($i.color,Ni.colorOnSurfaceHigh)};
1115
+ }
1116
+
1117
+ .column-title {
1118
+ white-space: nowrap;
1119
+ text-transform: uppercase;
1120
+ margin-right: .5rem;
1121
+ }
1122
+
1123
+ .column-filter {
1124
+ flex-grow: 1;
1125
+ flex-shrink: 0;
1126
+ }
1127
+
1128
+ .column-filter:not(:empty) {
1129
+ padding-top: .5rem;
1130
+ }
1131
+
1132
+ .column-filter ft-text-field,
1133
+ .column-filter ft-select {
1134
+ width: 150px;
1135
+ min-width: 100%;
1136
+ }
1137
+
1138
+ .cell {
1139
+ padding: 1rem;
1140
+ border-left: 1px solid ${Ni.headerBackground};
1141
+ border-bottom: 1px solid ${Ni.headerBackground};
1142
+ overflow-x: auto;
1143
+ display: flex;
1144
+ align-items: center;
1145
+ font-family: ${Ni.contentFont};
1146
+ }
1147
+
1148
+ /* Even is 2n+1 and odd is 2n because of the header */
1149
+ .row:nth-child(2n) > .cell {
1150
+ background: ${Ni.oddRowBackground};
1151
+ }
1152
+
1153
+ .row:nth-child(2n + 1) > .cell {
1154
+ background: ${Ni.evenRowBackground};
1155
+ }
1156
+
1157
+ .row:hover > .cell {
1158
+ background: ${Ni.rowHoverBackground};
1159
+ }
1160
+
1161
+ .cell:last-of-type {
1162
+ border-right: 1px solid ${Ni.headerBackground};
1163
+ }
1164
+
1165
+ .row:last-of-type .cell:first-of-type {
1166
+ border-radius: 0 0 0 .5rem;
1167
+ }
1168
+
1169
+ .row:last-of-type .cell:last-of-type {
1170
+ border-radius: 0 0 .5rem 0;
1171
+ }
1172
+
1173
+ .hidden {
1174
+ visibility: hidden;
1175
+ }
1176
+ `,Ci([i({attribute:!1})],Fi.prototype,"data",void 0),Ci([i({attribute:!1})],Fi.prototype,"columns",void 0),Ci([i({attribute:!1})],Fi.prototype,"sort",void 0),Ci([o()],Fi.prototype,"currentSort",void 0),a("ft-filterable-table")(function t(e){var i;let o;if("elementDefinitions"in e){o={};const i=e.elementDefinitions;for(let e in i)o[e]=t(i[e])}return i=class extends e{constructor(...t){super(t),this._constructor=this.constructor}render(){var t;let i=null!==(t=e.styles)&&void 0!==t?t:[];return Array.isArray(i)||(i=[i]),H`
1177
+ ${i.map((t=>H`
1178
+ <style>${t}</style>
1179
+ `))}
1180
+ ${super.render()}
1181
+ `}},i.styles=void 0,i.elementDefinitions=o,i}(Fi))}();