@fluid-topics/ft-search-bar 0.1.3 → 0.1.7

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,2400 @@
1
+ !function(t,e,i,o,r,a,c,n){var s,l=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};!function(t){t.S="S",t.M="M",t.L="L",t.XL="XL",t.XXL="XXL"}(s||(s={}));class d extends CustomEvent{constructor(t,e){super("change",{detail:{size:t,category:e}})}}let p=class extends a.FtLitElement{constructor(){super(...arguments),this.debounceTimeout=100,this.local=!1,this.size=0,this.category=s.S,this.resizeObserver=new ResizeObserver((()=>this.updateSize())),this.debouncer=new a.Debouncer}getStyles(){return e.css`
2
+ .ft-size-watcher--pixel {
3
+ width: 0;
4
+ height: 0;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .ft-size-watcher--pixel.ft-size-watcher--local {
9
+ width: 100%;
10
+ }
11
+
12
+ .ft-size-watcher--watcher {
13
+ height: 1px;
14
+ width: 100vw;
15
+ }
16
+
17
+ .ft-size-watcher--local .ft-size-watcher--watcher {
18
+ width: 100%;
19
+ }
20
+ `}getTemplate(){return e.html`
21
+ <div class="ft-size-watcher--pixel ${this.local?"ft-size-watcher--local":""}">
22
+ <div class="ft-size-watcher--watcher"></div>
23
+ </div>
24
+ `}contentAvailableCallback(t){super.contentAvailableCallback(t),this.watcher&&this.resizeObserver.observe(this.watcher),this.updateSize()}updateSize(){this.debouncer.run((()=>{this.watcher&&this.size!==this.watcher.clientWidth&&(this.size=this.watcher.clientWidth,this.size<768?this.category=s.S:this.size<976?this.category=s.M:this.size<1024?this.category=s.L:this.size<1440?this.category=s.XL:this.category=s.XXL,this.dispatchEvent(new d(this.size,this.category)))}),this.debounceTimeout)}};
25
+ /**
26
+ * @license
27
+ * Copyright 2017 Google LLC
28
+ * SPDX-License-Identifier: BSD-3-Clause
29
+ */
30
+ var h;p.elementDefinitions={},l([i.property({type:Number})],p.prototype,"debounceTimeout",void 0),l([i.property({type:Boolean})],p.prototype,"local",void 0),l([i.property({type:Number,reflect:!0})],p.prototype,"size",void 0),l([i.property({type:String,reflect:!0})],p.prototype,"category",void 0),l([i.query(".ft-size-watcher--watcher")],p.prototype,"watcher",void 0),p=l([a.customElement("ft-size-watcher")],p);const f=globalThis.trustedTypes,u=f?f.createPolicy("lit-html",{createHTML:t=>t}):void 0,m=`lit$${(Math.random()+"").slice(9)}$`,b="?"+m,g=`<${b}>`,v=document,x=(t="")=>v.createComment(t),y=t=>null===t||"object"!=typeof t&&"function"!=typeof t,k=Array.isArray,$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_=/-->/g,w=/>/g,z=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,S=/'/g,O=/"/g,C=/^(?:script|style|textarea|title)$/i,B=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,F=v.createTreeWalker(v,129,null,!1),I=(t,e)=>{const i=t.length-1,o=[];let r,a=2===e?"<svg>":"",c=$;for(let e=0;e<i;e++){const i=t[e];let n,s,l=-1,d=0;for(;d<i.length&&(c.lastIndex=d,s=c.exec(i),null!==s);)d=c.lastIndex,c===$?"!--"===s[1]?c=_:void 0!==s[1]?c=w:void 0!==s[2]?(C.test(s[2])&&(r=RegExp("</"+s[2],"g")),c=z):void 0!==s[3]&&(c=z):c===z?">"===s[0]?(c=null!=r?r:$,l=-1):void 0===s[1]?l=-2:(l=c.lastIndex-s[2].length,n=s[1],c=void 0===s[3]?z:'"'===s[3]?O:S):c===O||c===S?c=z:c===_||c===w?c=$:(c=z,r=void 0);const p=c===z&&t[e+1].startsWith("/>")?" ":"";a+=c===$?i+g:l>=0?(o.push(n),i.slice(0,l)+"$lit$"+i.slice(l)+m+p):i+m+(-2===l?(o.push(void 0),e):p)}const n=a+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==u?u.createHTML(n):n,o]};class R{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let r=0,a=0;const c=t.length-1,n=this.parts,[s,l]=I(t,e);if(this.el=R.createElement(s,i),F.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=F.nextNode())&&n.length<c;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(m)){const i=l[a++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+"$lit$").split(m),e=/([.?@])?(.*)/.exec(i);n.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?P:"?"===e[1]?H:"@"===e[1]?U:M})}else n.push({type:6,index:r})}for(const e of t)o.removeAttribute(e)}if(C.test(o.tagName)){const t=o.textContent.split(m),e=t.length-1;if(e>0){o.textContent=f?f.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],x()),F.nextNode(),n.push({type:2,index:++r});o.append(t[e],x())}}}else if(8===o.nodeType)if(o.data===b)n.push({type:2,index:r});else{let t=-1;for(;-1!==(t=o.data.indexOf(m,t+1));)n.push({type:7,index:r}),t+=m.length-1}r++}}static createElement(t,e){const i=v.createElement("template");return i.innerHTML=t,i}}function D(t,e,i=t,o){var r,a,c,n;if(e===T)return e;let s=void 0!==o?null===(r=i._$Cl)||void 0===r?void 0:r[o]:i._$Cu;const l=y(e)?void 0:e._$litDirective$;return(null==s?void 0:s.constructor)!==l&&(null===(a=null==s?void 0:s._$AO)||void 0===a||a.call(s,!1),void 0===l?s=void 0:(s=new l(t),s._$AT(t,i,o)),void 0!==o?(null!==(c=(n=i)._$Cl)&&void 0!==c?c:n._$Cl=[])[o]=s:i._$Cu=s),void 0!==s&&(e=D(t,s._$AS(t,e.values),s,o)),e}class L{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:o}=this._$AD,r=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:v).importNode(i,!0);F.currentNode=r;let a=F.nextNode(),c=0,n=0,s=o[0];for(;void 0!==s;){if(c===s.index){let e;2===s.type?e=new j(a,a.nextSibling,this,t):1===s.type?e=new s.ctor(a,s.name,s.strings,this,t):6===s.type&&(e=new V(a,this,t)),this.v.push(e),s=o[++n]}c!==(null==s?void 0:s.index)&&(a=F.nextNode(),c++)}return r}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 j{constructor(t,e,i,o){var r;this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=o,this._$Cg=null===(r=null==o?void 0:o.isConnected)||void 0===r||r}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=D(this,t,e),y(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):(t=>{var e;return k(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.A(t):this.$(t)}M(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==E&&y(this._$AH)?this._$AA.nextSibling.data=t:this.S(v.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:o}=t,r="number"==typeof o?this._$AC(t):(void 0===o.el&&(o.el=R.createElement(o.h,this.options)),o);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.m(i);else{const t=new L(r,this),e=t.p(this.options);t.m(i),this.S(e),this._$AH=t}}_$AC(t){let e=A.get(t.strings);return void 0===e&&A.set(t.strings,e=new R(t)),e}A(t){k(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,o=0;for(const r of t)o===e.length?e.push(i=new j(this.M(x()),this.M(x()),this,this.options)):i=e[o],i._$AI(r),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 M{constructor(t,e,i,o,r){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=E}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,o){const r=this.strings;let a=!1;if(void 0===r)t=D(this,t,e,0),a=!y(t)||t!==this._$AH&&t!==T,a&&(this._$AH=t);else{const o=t;let c,n;for(t=r[0],c=0;c<r.length-1;c++)n=D(this,o[i+c],e,c),n===T&&(n=this._$AH[c]),a||(a=!y(n)||n!==this._$AH[c]),n===E?t=E:t!==E&&(t+=(null!=n?n:"")+r[c+1]),this._$AH[c]=n}a&&!o&&this.k(t)}k(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class P extends M{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===E?void 0:t}}const N=f?f.emptyScript:"";class H extends M{constructor(){super(...arguments),this.type=4}k(t){t&&t!==E?this.element.setAttribute(this.name,N):this.element.removeAttribute(this.name)}}class U extends M{constructor(t,e,i,o,r){super(t,e,i,o,r),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=D(this,t,e,0))&&void 0!==i?i:E)===T)return;const o=this._$AH,r=t===E&&o!==E||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,a=t!==E&&(o===E||r);r&&this.element.removeEventListener(this.name,this,o),a&&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 V{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){D(this,t)}}const Z=window.litHtmlPolyfillSupport;null==Z||Z(R,j),(null!==(h=globalThis.litHtmlVersions)&&void 0!==h?h:globalThis.litHtmlVersions=[]).push("2.1.3");
31
+ /**
32
+ * @license
33
+ * Copyright 2020 Google LLC
34
+ * SPDX-License-Identifier: BSD-3-Clause
35
+ */
36
+ const q=t=>({_$litStatic$:t}),G=new Map,K=(t=>(e,...i)=>{var o;const r=i.length;let a,c;const n=[],s=[];let l,d=0,p=!1;for(;d<r;){for(l=e[d];d<r&&void 0!==(c=i[d],a=null===(o=c)||void 0===o?void 0:o._$litStatic$);)l+=a+e[++d],p=!0;s.push(c),n.push(l),d++}if(d===r&&n.push(e[r]),p){const t=n.join("$$lit$$");void 0===(e=G.get(t))&&(n.raw=n,G.set(t,e=n)),i=s}return t(e,...i)})(B);var W,X=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};!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"}(W||(W={}));const J=a.FtCssVariable.extend("--ft-typography-font-family",a.designSystemVariables.titleFont),Y=a.FtCssVariable.extend("--ft-typography-font-family",a.designSystemVariables.contentFont),Q={fontFamily:Y,fontSize:a.FtCssVariable.create("--ft-typography-font-size","SIZE","16px"),fontWeight:a.FtCssVariable.create("--ft-typography-font-weight","UNKNOWN","normal"),letterSpacing:a.FtCssVariable.create("--ft-typography-letter-spacing","SIZE","0.496px"),lineHeight:a.FtCssVariable.create("--ft-typography-line-height","SIZE","24px"),textTransform:a.FtCssVariable.create("--ft-typography-text-transform","UNKNOWN","inherit")},tt=a.FtCssVariable.extend("--ft-typography-title-font-family",J),et=a.FtCssVariable.extend("--ft-typography-title-font-size",Q.fontSize,"20px"),it=a.FtCssVariable.extend("--ft-typography-title-font-weight",Q.fontWeight,"normal"),ot=a.FtCssVariable.extend("--ft-typography-title-letter-spacing",Q.letterSpacing,"0.15px"),rt=a.FtCssVariable.extend("--ft-typography-title-line-height",Q.lineHeight,"24px"),at=a.FtCssVariable.extend("--ft-typography-title-text-transform",Q.textTransform,"inherit"),ct=a.FtCssVariable.extend("--ft-typography-title-dense-font-family",J),nt=a.FtCssVariable.extend("--ft-typography-title-dense-font-size",Q.fontSize,"14px"),st=a.FtCssVariable.extend("--ft-typography-title-dense-font-weight",Q.fontWeight,"normal"),lt=a.FtCssVariable.extend("--ft-typography-title-dense-letter-spacing",Q.letterSpacing,"0.105px"),dt=a.FtCssVariable.extend("--ft-typography-title-dense-line-height",Q.lineHeight,"24px"),pt=a.FtCssVariable.extend("--ft-typography-title-dense-text-transform",Q.textTransform,"inherit"),ht=a.FtCssVariable.extend("--ft-typography-subtitle1-font-family",Y),ft=a.FtCssVariable.extend("--ft-typography-subtitle1-font-size",Q.fontSize,"16px"),ut=a.FtCssVariable.extend("--ft-typography-subtitle1-font-weight",Q.fontWeight,"600"),mt=a.FtCssVariable.extend("--ft-typography-subtitle1-letter-spacing",Q.letterSpacing,"0.144px"),bt=a.FtCssVariable.extend("--ft-typography-subtitle1-line-height",Q.lineHeight,"24px"),gt=a.FtCssVariable.extend("--ft-typography-subtitle1-text-transform",Q.textTransform,"inherit"),vt=a.FtCssVariable.extend("--ft-typography-subtitle2-font-family",Y),xt=a.FtCssVariable.extend("--ft-typography-subtitle2-font-size",Q.fontSize,"14px"),yt=a.FtCssVariable.extend("--ft-typography-subtitle2-font-weight",Q.fontWeight,"normal"),kt=a.FtCssVariable.extend("--ft-typography-subtitle2-letter-spacing",Q.letterSpacing,"0.098px"),$t=a.FtCssVariable.extend("--ft-typography-subtitle2-line-height",Q.lineHeight,"24px"),_t=a.FtCssVariable.extend("--ft-typography-subtitle2-text-transform",Q.textTransform,"inherit"),wt={fontFamily:a.FtCssVariable.extend("--ft-typography-body1-font-family",Y),fontSize:a.FtCssVariable.extend("--ft-typography-body1-font-size",Q.fontSize,"16px"),fontWeight:a.FtCssVariable.extend("--ft-typography-body1-font-weight",Q.fontWeight,"normal"),letterSpacing:a.FtCssVariable.extend("--ft-typography-body1-letter-spacing",Q.letterSpacing,"0.496px"),lineHeight:a.FtCssVariable.extend("--ft-typography-body1-line-height",Q.lineHeight,"24px"),textTransform:a.FtCssVariable.extend("--ft-typography-body1-text-transform",Q.textTransform,"inherit")},zt={fontFamily:a.FtCssVariable.extend("--ft-typography-body2-font-family",Y),fontSize:a.FtCssVariable.extend("--ft-typography-body2-font-size",Q.fontSize,"14px"),fontWeight:a.FtCssVariable.extend("--ft-typography-body2-font-weight",Q.fontWeight,"normal"),letterSpacing:a.FtCssVariable.extend("--ft-typography-body2-letter-spacing",Q.letterSpacing,"0.252px"),lineHeight:a.FtCssVariable.extend("--ft-typography-body2-line-height",Q.lineHeight,"20px"),textTransform:a.FtCssVariable.extend("--ft-typography-body2-text-transform",Q.textTransform,"inherit")},St={fontFamily:a.FtCssVariable.extend("--ft-typography-caption-font-family",Y),fontSize:a.FtCssVariable.extend("--ft-typography-caption-font-size",Q.fontSize,"12px"),fontWeight:a.FtCssVariable.extend("--ft-typography-caption-font-weight",Q.fontWeight,"normal"),letterSpacing:a.FtCssVariable.extend("--ft-typography-caption-letter-spacing",Q.letterSpacing,"0.396px"),lineHeight:a.FtCssVariable.extend("--ft-typography-caption-line-height",Q.lineHeight,"16px"),textTransform:a.FtCssVariable.extend("--ft-typography-caption-text-transform",Q.textTransform,"inherit")},Ot=a.FtCssVariable.extend("--ft-typography-breadcrumb-font-family",Y),Ct=a.FtCssVariable.extend("--ft-typography-breadcrumb-font-size",Q.fontSize,"10px"),Bt=a.FtCssVariable.extend("--ft-typography-breadcrumb-font-weight",Q.fontWeight,"normal"),Tt=a.FtCssVariable.extend("--ft-typography-breadcrumb-letter-spacing",Q.letterSpacing,"0.33px"),Et=a.FtCssVariable.extend("--ft-typography-breadcrumb-line-height",Q.lineHeight,"16px"),At=a.FtCssVariable.extend("--ft-typography-breadcrumb-text-transform",Q.textTransform,"inherit"),Ft=a.FtCssVariable.extend("--ft-typography-overline-font-family",Y),It=a.FtCssVariable.extend("--ft-typography-overline-font-size",Q.fontSize,"10px"),Rt=a.FtCssVariable.extend("--ft-typography-overline-font-weight",Q.fontWeight,"normal"),Dt=a.FtCssVariable.extend("--ft-typography-overline-letter-spacing",Q.letterSpacing,"1.5px"),Lt=a.FtCssVariable.extend("--ft-typography-overline-line-height",Q.lineHeight,"16px"),jt=a.FtCssVariable.extend("--ft-typography-overline-text-transform",Q.textTransform,"uppercase"),Mt={fontFamily:a.FtCssVariable.extend("--ft-typography-button-font-family",Y),fontSize:a.FtCssVariable.extend("--ft-typography-button-font-size",Q.fontSize,"14px"),fontWeight:a.FtCssVariable.extend("--ft-typography-button-font-weight",Q.fontWeight,"600"),letterSpacing:a.FtCssVariable.extend("--ft-typography-button-letter-spacing",Q.letterSpacing,"1.246px"),lineHeight:a.FtCssVariable.extend("--ft-typography-button-line-height",Q.lineHeight,"16px"),textTransform:a.FtCssVariable.extend("--ft-typography-button-text-transform",Q.textTransform,"uppercase")},Pt=e.css`
37
+ .ft-typography--title {
38
+ font-family: ${tt};
39
+ font-size: ${et};
40
+ font-weight: ${it};
41
+ letter-spacing: ${ot};
42
+ line-height: ${rt};
43
+ text-transform: ${at};
44
+ }
45
+ `,Nt=e.css`
46
+ .ft-typography--title-dense {
47
+ font-family: ${ct};
48
+ font-size: ${nt};
49
+ font-weight: ${st};
50
+ letter-spacing: ${lt};
51
+ line-height: ${dt};
52
+ text-transform: ${pt};
53
+ }
54
+ `,Ht=e.css`
55
+ .ft-typography--subtitle1 {
56
+ font-family: ${ht};
57
+ font-size: ${ft};
58
+ font-weight: ${ut};
59
+ letter-spacing: ${mt};
60
+ line-height: ${bt};
61
+ text-transform: ${gt};
62
+ }
63
+ `,Ut=e.css`
64
+ .ft-typography--subtitle2 {
65
+ font-family: ${vt};
66
+ font-size: ${xt};
67
+ font-weight: ${yt};
68
+ letter-spacing: ${kt};
69
+ line-height: ${$t};
70
+ text-transform: ${_t};
71
+ }
72
+
73
+ `,Vt=e.css`
74
+ .ft-typography--body1 {
75
+ font-family: ${wt.fontFamily};
76
+ font-size: ${wt.fontSize};
77
+ font-weight: ${wt.fontWeight};
78
+ letter-spacing: ${wt.letterSpacing};
79
+ line-height: ${wt.lineHeight};
80
+ text-transform: ${wt.textTransform};
81
+ }
82
+ `,Zt=e.css`
83
+ .ft-typography--body2 {
84
+ font-family: ${zt.fontFamily};
85
+ font-size: ${zt.fontSize};
86
+ font-weight: ${zt.fontWeight};
87
+ letter-spacing: ${zt.letterSpacing};
88
+ line-height: ${zt.lineHeight};
89
+ text-transform: ${zt.textTransform};
90
+ }
91
+ `,qt=e.css`
92
+ .ft-typography--caption {
93
+ font-family: ${St.fontFamily};
94
+ font-size: ${St.fontSize};
95
+ font-weight: ${St.fontWeight};
96
+ letter-spacing: ${St.letterSpacing};
97
+ line-height: ${St.lineHeight};
98
+ text-transform: ${St.textTransform};
99
+ }
100
+ `,Gt=e.css`
101
+ .ft-typography--breadcrumb {
102
+ font-family: ${Ot};
103
+ font-size: ${Ct};
104
+ font-weight: ${Bt};
105
+ letter-spacing: ${Tt};
106
+ line-height: ${Et};
107
+ text-transform: ${At};
108
+ }
109
+ `,Kt=e.css`
110
+ .ft-typography--overline {
111
+ font-family: ${Ft};
112
+ font-size: ${It};
113
+ font-weight: ${Rt};
114
+ letter-spacing: ${Dt};
115
+ line-height: ${Lt};
116
+ text-transform: ${jt};
117
+ }
118
+ `,Wt=e.css`
119
+ .ft-typography--button {
120
+ font-family: ${Mt.fontFamily};
121
+ font-size: ${Mt.fontSize};
122
+ font-weight: ${Mt.fontWeight};
123
+ letter-spacing: ${Mt.letterSpacing};
124
+ line-height: ${Mt.lineHeight};
125
+ text-transform: ${Mt.textTransform};
126
+ }
127
+ `;let Xt=class extends a.FtLitElement{constructor(){super(...arguments),this.variant=W.body1}getStyles(){return[Pt,Nt,Ht,Ut,Vt,Zt,qt,Gt,Kt,Wt]}getTemplate(){return this.element?K`
128
+ <${q(this.element)}
129
+ class="ft-typography ft-typography--${this.variant}">
130
+ <slot></slot>
131
+ </${q(this.element)}>
132
+ `:K`
133
+ <slot class="ft-typography ft-typography--${this.variant}"></slot>
134
+ `}};function Jt(t,e){return t.flatMap((t=>[t,...Jt(e(t),e)]))}function Yt(t){return t.startsWith('"')&&t.endsWith('"')?t.replace(/(^"+)|("+$)/g,""):t}function Qt(t,e){return{label:t.label,selected:!e&&t.selected,subOptions:t.childNodes.map((e=>Qt(e,t.selected))),value:t.value}}function te(t){return{id:t.key,label:t.label,multivalued:t.multiSelectionable,options:t.rootNodes.map((t=>Qt(t,!1)))}}
135
+ /*! *****************************************************************************
136
+ Copyright (c) Microsoft Corporation.
137
+
138
+ Permission to use, copy, modify, and/or distribute this software for any
139
+ purpose with or without fee is hereby granted.
140
+
141
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
142
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
143
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
144
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
145
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
146
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
147
+ PERFORMANCE OF THIS SOFTWARE.
148
+ ***************************************************************************** */X([i.property()],Xt.prototype,"element",void 0),X([i.property()],Xt.prototype,"variant",void 0),Xt=X([a.customElement("ft-typography")],Xt);var ee=function(t,e){return ee=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},ee(t,e)};function ie(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}ee(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var oe=function(){return oe=Object.assign||function(t){for(var e,i=1,o=arguments.length;i<o;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},oe.apply(this,arguments)};function re(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c}function ae(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],o=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}
149
+ /**
150
+ * @license
151
+ * Copyright 2018 Google Inc.
152
+ *
153
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
154
+ * of this software and associated documentation files (the "Software"), to deal
155
+ * in the Software without restriction, including without limitation the rights
156
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
157
+ * copies of the Software, and to permit persons to whom the Software is
158
+ * furnished to do so, subject to the following conditions:
159
+ *
160
+ * The above copyright notice and this permission notice shall be included in
161
+ * all copies or substantial portions of the Software.
162
+ *
163
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
164
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
165
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
166
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
167
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
168
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
169
+ * THE SOFTWARE.
170
+ */const ce=()=>{},ne={get passive(){return!1}};document.addEventListener("x",ce,ne),document.removeEventListener("x",ce);
171
+ /**
172
+ * @license
173
+ * Copyright 2018 Google LLC
174
+ * SPDX-License-Identifier: Apache-2.0
175
+ */
176
+ class se extends e.LitElement{click(){if(this.mdcRoot)return this.mdcRoot.focus(),void this.mdcRoot.click();super.click()}createFoundation(){void 0!==this.mdcFoundation&&this.mdcFoundation.destroy(),this.mdcFoundationClass&&(this.mdcFoundation=new this.mdcFoundationClass(this.createAdapter()),this.mdcFoundation.init())}firstUpdated(){this.createFoundation()}}
177
+ /**
178
+ * @license
179
+ * Copyright 2016 Google Inc.
180
+ *
181
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
182
+ * of this software and associated documentation files (the "Software"), to deal
183
+ * in the Software without restriction, including without limitation the rights
184
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
185
+ * copies of the Software, and to permit persons to whom the Software is
186
+ * furnished to do so, subject to the following conditions:
187
+ *
188
+ * The above copyright notice and this permission notice shall be included in
189
+ * all copies or substantial portions of the Software.
190
+ *
191
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
192
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
193
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
194
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
195
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
196
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
197
+ * THE SOFTWARE.
198
+ */var le=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),de={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},pe={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},he={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};
199
+ /**
200
+ * @license
201
+ * Copyright 2016 Google Inc.
202
+ *
203
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
204
+ * of this software and associated documentation files (the "Software"), to deal
205
+ * in the Software without restriction, including without limitation the rights
206
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
207
+ * copies of the Software, and to permit persons to whom the Software is
208
+ * furnished to do so, subject to the following conditions:
209
+ *
210
+ * The above copyright notice and this permission notice shall be included in
211
+ * all copies or substantial portions of the Software.
212
+ *
213
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
214
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
215
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
216
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
217
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
218
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
219
+ * THE SOFTWARE.
220
+ */
221
+ /**
222
+ * @license
223
+ * Copyright 2016 Google Inc.
224
+ *
225
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
226
+ * of this software and associated documentation files (the "Software"), to deal
227
+ * in the Software without restriction, including without limitation the rights
228
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
229
+ * copies of the Software, and to permit persons to whom the Software is
230
+ * furnished to do so, subject to the following conditions:
231
+ *
232
+ * The above copyright notice and this permission notice shall be included in
233
+ * all copies or substantial portions of the Software.
234
+ *
235
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
236
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
237
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
238
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
239
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
240
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
241
+ * THE SOFTWARE.
242
+ */
243
+ var fe=["touchstart","pointerdown","mousedown","keydown"],ue=["touchend","pointerup","mouseup","contextmenu"],me=[],be=function(t){function e(i){var o=t.call(this,oe(oe({},e.defaultAdapter),i))||this;return o.activationAnimationHasEnded=!1,o.activationTimer=0,o.fgDeactivationRemovalTimer=0,o.fgScale="0",o.frame={width:0,height:0},o.initialSize=0,o.layoutFrame=0,o.maxRadius=0,o.unboundedCoords={left:0,top:0},o.activationState=o.defaultActivationState(),o.activationTimerCallback=function(){o.activationAnimationHasEnded=!0,o.runDeactivationUXLogicIfReady()},o.activateHandler=function(t){o.activateImpl(t)},o.deactivateHandler=function(){o.deactivateImpl()},o.focusHandler=function(){o.handleFocus()},o.blurHandler=function(){o.handleBlur()},o.resizeHandler=function(){o.layout()},o}return ie(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return de},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return pe},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return he},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this,i=this.supportsPressRipple();if(this.registerRootHandlers(i),i){var o=e.cssClasses,r=o.ROOT,a=o.UNBOUNDED;requestAnimationFrame((function(){t.adapter.addClass(r),t.adapter.isUnbounded()&&(t.adapter.addClass(a),t.layoutInternal())}))}},e.prototype.destroy=function(){var t=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(e.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(e.cssClasses.FG_DEACTIVATION));var i=e.cssClasses,o=i.ROOT,r=i.UNBOUNDED;requestAnimationFrame((function(){t.adapter.removeClass(o),t.adapter.removeClass(r),t.removeCssVars()}))}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},e.prototype.activate=function(t){this.activateImpl(t)},e.prototype.deactivate=function(){this.deactivateImpl()},e.prototype.layout=function(){var t=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame((function(){t.layoutInternal(),t.layoutFrame=0}))},e.prototype.setUnbounded=function(t){var i=e.cssClasses.UNBOUNDED;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.handleFocus=function(){var t=this;requestAnimationFrame((function(){return t.adapter.addClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.handleBlur=function(){var t=this;requestAnimationFrame((function(){return t.adapter.removeClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},e.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},e.prototype.registerRootHandlers=function(t){var e,i;if(t){try{for(var o=ae(fe),r=o.next();!r.done;r=o.next()){var a=r.value;this.adapter.registerInteractionHandler(a,this.activateHandler)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(i=o.return)&&i.call(o)}finally{if(e)throw e.error}}this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler)}this.adapter.registerInteractionHandler("focus",this.focusHandler),this.adapter.registerInteractionHandler("blur",this.blurHandler)},e.prototype.registerDeactivationHandlers=function(t){var e,i;if("keydown"===t.type)this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var o=ae(ue),r=o.next();!r.done;r=o.next()){var a=r.value;this.adapter.registerDocumentInteractionHandler(a,this.deactivateHandler)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(i=o.return)&&i.call(o)}finally{if(e)throw e.error}}},e.prototype.deregisterRootHandlers=function(){var t,e;try{for(var i=ae(fe),o=i.next();!o.done;o=i.next()){var r=o.value;this.adapter.deregisterInteractionHandler(r,this.activateHandler)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.adapter.deregisterInteractionHandler("focus",this.focusHandler),this.adapter.deregisterInteractionHandler("blur",this.blurHandler),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler)},e.prototype.deregisterDeactivationHandlers=function(){var t,e;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var i=ae(ue),o=i.next();!o.done;o=i.next()){var r=o.value;this.adapter.deregisterDocumentInteractionHandler(r,this.deactivateHandler)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}},e.prototype.removeCssVars=function(){var t=this,i=e.strings;Object.keys(i).forEach((function(e){0===e.indexOf("VAR_")&&t.adapter.updateCssVariable(i[e],null)}))},e.prototype.activateImpl=function(t){var e=this;if(!this.adapter.isSurfaceDisabled()){var i=this.activationState;if(!i.isActivated){var o=this.previousActivationEvent;if(!(o&&void 0!==t&&o.type!==t.type))i.isActivated=!0,i.isProgrammatic=void 0===t,i.activationEvent=t,i.wasActivatedByPointer=!i.isProgrammatic&&(void 0!==t&&("mousedown"===t.type||"touchstart"===t.type||"pointerdown"===t.type)),void 0!==t&&me.length>0&&me.some((function(t){return e.adapter.containsEventTarget(t)}))?this.resetActivationState():(void 0!==t&&(me.push(t.target),this.registerDeactivationHandlers(t)),i.wasElementMadeActive=this.checkElementMadeActive(t),i.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame((function(){me=[],i.wasElementMadeActive||void 0===t||" "!==t.key&&32!==t.keyCode||(i.wasElementMadeActive=e.checkElementMadeActive(t),i.wasElementMadeActive&&e.animateActivation()),i.wasElementMadeActive||(e.activationState=e.defaultActivationState())})))}}},e.prototype.checkElementMadeActive=function(t){return void 0===t||"keydown"!==t.type||this.adapter.isSurfaceActive()},e.prototype.animateActivation=function(){var t=this,i=e.strings,o=i.VAR_FG_TRANSLATE_START,r=i.VAR_FG_TRANSLATE_END,a=e.cssClasses,c=a.FG_DEACTIVATION,n=a.FG_ACTIVATION,s=e.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var l="",d="";if(!this.adapter.isUnbounded()){var p=this.getFgTranslationCoordinates(),h=p.startPoint,f=p.endPoint;l=h.x+"px, "+h.y+"px",d=f.x+"px, "+f.y+"px"}this.adapter.updateCssVariable(o,l),this.adapter.updateCssVariable(r,d),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(c),this.adapter.computeBoundingRect(),this.adapter.addClass(n),this.activationTimer=setTimeout((function(){t.activationTimerCallback()}),s)},e.prototype.getFgTranslationCoordinates=function(){var t,e=this.activationState,i=e.activationEvent;return{startPoint:t={x:(t=e.wasActivatedByPointer?function(t,e,i){if(!t)return{x:0,y:0};var o,r,a=e.x,c=e.y,n=a+i.left,s=c+i.top;if("touchstart"===t.type){var l=t;o=l.changedTouches[0].pageX-n,r=l.changedTouches[0].pageY-s}else{var d=t;o=d.pageX-n,r=d.pageY-s}return{x:o,y:r}}(i,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect()):{x:this.frame.width/2,y:this.frame.height/2}).x-this.initialSize/2,y:t.y-this.initialSize/2},endPoint:{x:this.frame.width/2-this.initialSize/2,y:this.frame.height/2-this.initialSize/2}}},e.prototype.runDeactivationUXLogicIfReady=function(){var t=this,i=e.cssClasses.FG_DEACTIVATION,o=this.activationState,r=o.hasDeactivationUXRun,a=o.isActivated;(r||!a)&&this.activationAnimationHasEnded&&(this.rmBoundedActivationClasses(),this.adapter.addClass(i),this.fgDeactivationRemovalTimer=setTimeout((function(){t.adapter.removeClass(i)}),he.FG_DEACTIVATION_MS))},e.prototype.rmBoundedActivationClasses=function(){var t=e.cssClasses.FG_ACTIVATION;this.adapter.removeClass(t),this.activationAnimationHasEnded=!1,this.adapter.computeBoundingRect()},e.prototype.resetActivationState=function(){var t=this;this.previousActivationEvent=this.activationState.activationEvent,this.activationState=this.defaultActivationState(),setTimeout((function(){return t.previousActivationEvent=void 0}),e.numbers.TAP_DELAY_MS)},e.prototype.deactivateImpl=function(){var t=this,e=this.activationState;if(e.isActivated){var i=oe({},e);e.isProgrammatic?(requestAnimationFrame((function(){t.animateDeactivation(i)})),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame((function(){t.activationState.hasDeactivationUXRun=!0,t.animateDeactivation(i),t.resetActivationState()})))}},e.prototype.animateDeactivation=function(t){var e=t.wasActivatedByPointer,i=t.wasElementMadeActive;(e||i)&&this.runDeactivationUXLogicIfReady()},e.prototype.layoutInternal=function(){var t=this;this.frame=this.adapter.computeBoundingRect();var i=Math.max(this.frame.height,this.frame.width);this.maxRadius=this.adapter.isUnbounded()?i:Math.sqrt(Math.pow(t.frame.width,2)+Math.pow(t.frame.height,2))+e.numbers.PADDING;var o=Math.floor(i*e.numbers.INITIAL_ORIGIN_SCALE);this.adapter.isUnbounded()&&o%2!=0?this.initialSize=o-1:this.initialSize=o,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},e.prototype.updateLayoutCssVars=function(){var t=e.strings,i=t.VAR_FG_SIZE,o=t.VAR_LEFT,r=t.VAR_TOP,a=t.VAR_FG_SCALE;this.adapter.updateCssVariable(i,this.initialSize+"px"),this.adapter.updateCssVariable(a,this.fgScale),this.adapter.isUnbounded()&&(this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)},this.adapter.updateCssVariable(o,this.unboundedCoords.left+"px"),this.adapter.updateCssVariable(r,this.unboundedCoords.top+"px"))},e}(le),ge=be;
244
+ /**
245
+ * @license
246
+ * Copyright 2018 Google LLC
247
+ * SPDX-License-Identifier: Apache-2.0
248
+ */
249
+ class ve extends se{constructor(){super(...arguments),this.primary=!1,this.accent=!1,this.unbounded=!1,this.disabled=!1,this.activated=!1,this.selected=!1,this.internalUseStateLayerCustomProperties=!1,this.hovering=!1,this.bgFocused=!1,this.fgActivation=!1,this.fgDeactivation=!1,this.fgScale="",this.fgSize="",this.translateStart="",this.translateEnd="",this.leftPos="",this.topPos="",this.mdcFoundationClass=ge}get isActive(){return t=this.parentElement||this,e=":active",(t.matches||t.webkitMatchesSelector||t.msMatchesSelector).call(t,e);var t,e;
250
+ /**
251
+ * @license
252
+ * Copyright 2018 Google LLC
253
+ * SPDX-License-Identifier: Apache-2.0
254
+ */}createAdapter(){return{browserSupportsCssVars:()=>!0,isUnbounded:()=>this.unbounded,isSurfaceActive:()=>this.isActive,isSurfaceDisabled:()=>this.disabled,addClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!0;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!0;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!0}},removeClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!1;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!1;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!1}},containsEventTarget:()=>!0,registerInteractionHandler:()=>{},deregisterInteractionHandler:()=>{},registerDocumentInteractionHandler:()=>{},deregisterDocumentInteractionHandler:()=>{},registerResizeHandler:()=>{},deregisterResizeHandler:()=>{},updateCssVariable:(t,e)=>{switch(t){case"--mdc-ripple-fg-scale":this.fgScale=e;break;case"--mdc-ripple-fg-size":this.fgSize=e;break;case"--mdc-ripple-fg-translate-end":this.translateEnd=e;break;case"--mdc-ripple-fg-translate-start":this.translateStart=e;break;case"--mdc-ripple-left":this.leftPos=e;break;case"--mdc-ripple-top":this.topPos=e}},computeBoundingRect:()=>(this.parentElement||this).getBoundingClientRect(),getWindowPageOffset:()=>({x:window.pageXOffset,y:window.pageYOffset})}}startPress(t){this.waitForFoundation((()=>{this.mdcFoundation.activate(t)}))}endPress(){this.waitForFoundation((()=>{this.mdcFoundation.deactivate()}))}startFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleFocus()}))}endFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleBlur()}))}startHover(){this.hovering=!0}endHover(){this.hovering=!1}waitForFoundation(t){this.mdcFoundation?t():this.updateComplete.then(t)}update(t){t.has("disabled")&&this.disabled&&this.endHover(),super.update(t)}render(){const t=this.activated&&(this.primary||!this.accent),i=this.selected&&(this.primary||!this.accent),o={"mdc-ripple-surface--accent":this.accent,"mdc-ripple-surface--primary--activated":t,"mdc-ripple-surface--accent--activated":this.accent&&this.activated,"mdc-ripple-surface--primary--selected":i,"mdc-ripple-surface--accent--selected":this.accent&&this.selected,"mdc-ripple-surface--disabled":this.disabled,"mdc-ripple-surface--hover":this.hovering,"mdc-ripple-surface--primary":this.primary,"mdc-ripple-surface--selected":this.selected,"mdc-ripple-upgraded--background-focused":this.bgFocused,"mdc-ripple-upgraded--foreground-activation":this.fgActivation,"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation,"mdc-ripple-upgraded--unbounded":this.unbounded,"mdc-ripple-surface--internal-use-state-layer-custom-properties":this.internalUseStateLayerCustomProperties};return e.html`
255
+ <div class="mdc-ripple-surface mdc-ripple-upgraded ${r.classMap(o)}"
256
+ style="${c.styleMap({"--mdc-ripple-fg-scale":this.fgScale,"--mdc-ripple-fg-size":this.fgSize,"--mdc-ripple-fg-translate-end":this.translateEnd,"--mdc-ripple-fg-translate-start":this.translateStart,"--mdc-ripple-left":this.leftPos,"--mdc-ripple-top":this.topPos})}"></div>`}}re([i.query(".mdc-ripple-surface")],ve.prototype,"mdcRoot",void 0),re([i.property({type:Boolean})],ve.prototype,"primary",void 0),re([i.property({type:Boolean})],ve.prototype,"accent",void 0),re([i.property({type:Boolean})],ve.prototype,"unbounded",void 0),re([i.property({type:Boolean})],ve.prototype,"disabled",void 0),re([i.property({type:Boolean})],ve.prototype,"activated",void 0),re([i.property({type:Boolean})],ve.prototype,"selected",void 0),re([i.property({type:Boolean})],ve.prototype,"internalUseStateLayerCustomProperties",void 0),re([i.state()],ve.prototype,"hovering",void 0),re([i.state()],ve.prototype,"bgFocused",void 0),re([i.state()],ve.prototype,"fgActivation",void 0),re([i.state()],ve.prototype,"fgDeactivation",void 0),re([i.state()],ve.prototype,"fgScale",void 0),re([i.state()],ve.prototype,"fgSize",void 0),re([i.state()],ve.prototype,"translateStart",void 0),re([i.state()],ve.prototype,"translateEnd",void 0),re([i.state()],ve.prototype,"leftPos",void 0),re([i.state()],ve.prototype,"topPos",void 0);
257
+ /**
258
+ * @license
259
+ * Copyright 2021 Google LLC
260
+ * SPDX-LIcense-Identifier: Apache-2.0
261
+ */
262
+ const xe=e.css`.mdc-ripple-surface{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}:host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:block}:host .mdc-ripple-surface{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;will-change:unset}.mdc-ripple-surface--primary::before,.mdc-ripple-surface--primary::after{background-color:#6200ee;background-color:var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee))}.mdc-ripple-surface--primary:hover::before,.mdc-ripple-surface--primary.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--primary.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--primary--activated::before{opacity:0.12;opacity:var(--mdc-ripple-activated-opacity, 0.12)}.mdc-ripple-surface--primary--activated::before,.mdc-ripple-surface--primary--activated::after{background-color:#6200ee;background-color:var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee))}.mdc-ripple-surface--primary--activated:hover::before,.mdc-ripple-surface--primary--activated.mdc-ripple-surface--hover::before{opacity:0.16;opacity:var(--mdc-ripple-hover-opacity, 0.16)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-focus-opacity, 0.24)}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--primary--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--primary--selected::before{opacity:0.08;opacity:var(--mdc-ripple-selected-opacity, 0.08)}.mdc-ripple-surface--primary--selected::before,.mdc-ripple-surface--primary--selected::after{background-color:#6200ee;background-color:var(--mdc-ripple-color, var(--mdc-theme-primary, #6200ee))}.mdc-ripple-surface--primary--selected:hover::before,.mdc-ripple-surface--primary--selected.mdc-ripple-surface--hover::before{opacity:0.12;opacity:var(--mdc-ripple-hover-opacity, 0.12)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--primary--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--primary--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--accent::before,.mdc-ripple-surface--accent::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-ripple-surface--accent:hover::before,.mdc-ripple-surface--accent.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--accent.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface--accent--activated::before{opacity:0.12;opacity:var(--mdc-ripple-activated-opacity, 0.12)}.mdc-ripple-surface--accent--activated::before,.mdc-ripple-surface--accent--activated::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-ripple-surface--accent--activated:hover::before,.mdc-ripple-surface--accent--activated.mdc-ripple-surface--hover::before{opacity:0.16;opacity:var(--mdc-ripple-hover-opacity, 0.16)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-focus-opacity, 0.24)}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--activated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.24;opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--accent--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.mdc-ripple-surface--accent--selected::before{opacity:0.08;opacity:var(--mdc-ripple-selected-opacity, 0.08)}.mdc-ripple-surface--accent--selected::before,.mdc-ripple-surface--accent--selected::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-ripple-surface--accent--selected:hover::before,.mdc-ripple-surface--accent--selected.mdc-ripple-surface--hover::before{opacity:0.12;opacity:var(--mdc-ripple-hover-opacity, 0.12)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--accent--selected:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--accent--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.mdc-ripple-surface--disabled{opacity:0}.mdc-ripple-surface--internal-use-state-layer-custom-properties::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties::after{background-color:#000;background-color:var(--mdc-ripple-hover-state-layer-color, #000)}.mdc-ripple-surface--internal-use-state-layer-custom-properties:hover::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-state-layer-opacity, 0.04)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-state-layer-opacity, 0.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface--internal-use-state-layer-custom-properties:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-pressed-state-layer-opacity, 0.12)}.mdc-ripple-surface--internal-use-state-layer-custom-properties.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-pressed-state-layer-opacity, 0.12)}`
263
+ /**
264
+ * @license
265
+ * Copyright 2018 Google LLC
266
+ * SPDX-License-Identifier: Apache-2.0
267
+ */;let ye=class extends ve{};function ke(t,e,i){if(void 0!==e)
268
+ /**
269
+ * @license
270
+ * Copyright 2021 Google LLC
271
+ * SPDX-License-Identifier: Apache-2.0
272
+ */
273
+ return function(t,e,i){const o=t.constructor;if(!i){const t=`__${e}`;if(!(i=o.getPropertyDescriptor(e,t)))throw new Error("@ariaProperty must be used after a @property decorator")}const r=i;let a="";if(!r.set)throw new Error(`@ariaProperty requires a setter for ${e}`);if(t.dispatchWizEvent)return i;const c={configurable:!0,enumerable:!0,set(t){if(""===a){const t=o.getPropertyOptions(e);a="string"==typeof t.attribute?t.attribute:e}this.hasAttribute(a)&&this.removeAttribute(a),r.set.call(this,t)}};return r.get&&(c.get=function(){return r.get.call(this)}),c}(t,e,i);throw new Error("@ariaProperty only supports TypeScript Decorators")}
274
+ /**
275
+ * @license
276
+ * Copyright 2018 Google LLC
277
+ * SPDX-License-Identifier: Apache-2.0
278
+ */var $e,_e;ye.styles=[xe],ye=re([i.customElement("mwc-ripple")],ye);const we=null!==(_e=null===($e=window.ShadyDOM)||void 0===$e?void 0:$e.inUse)&&void 0!==_e&&_e;class ze extends se{constructor(){super(...arguments),this.disabled=!1,this.containingForm=null,this.formDataListener=t=>{this.disabled||this.setFormData(t.formData)}}findFormElement(){if(!this.shadowRoot||we)return null;const t=this.getRootNode().querySelectorAll("form");for(const e of Array.from(t))if(e.contains(this))return e;return null}connectedCallback(){var t;super.connectedCallback(),this.containingForm=this.findFormElement(),null===(t=this.containingForm)||void 0===t||t.addEventListener("formdata",this.formDataListener)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this.containingForm)||void 0===t||t.removeEventListener("formdata",this.formDataListener),this.containingForm=null}click(){this.formElement&&!this.disabled&&(this.formElement.focus(),this.formElement.click())}firstUpdated(){super.firstUpdated(),this.shadowRoot&&this.mdcRoot.addEventListener("change",(t=>{this.dispatchEvent(new Event("change",t))}))}}ze.shadowRootOptions={mode:"open",delegatesFocus:!0},re([i.property({type:Boolean})],ze.prototype,"disabled",void 0);
279
+ /**
280
+ * @license
281
+ * Copyright 2020 Google LLC
282
+ * SPDX-License-Identifier: Apache-2.0
283
+ */
284
+ class Se{constructor(t){this.startPress=e=>{t().then((t=>{t&&t.startPress(e)}))},this.endPress=()=>{t().then((t=>{t&&t.endPress()}))},this.startFocus=()=>{t().then((t=>{t&&t.startFocus()}))},this.endFocus=()=>{t().then((t=>{t&&t.endFocus()}))},this.startHover=()=>{t().then((t=>{t&&t.startHover()}))},this.endHover=()=>{t().then((t=>{t&&t.endHover()}))}}}
285
+ /**
286
+ * @license
287
+ * Copyright 2018 Google LLC
288
+ * SPDX-License-Identifier: BSD-3-Clause
289
+ */const Oe=t=>null!=t?t:E
290
+ /**
291
+ * @license
292
+ * Copyright 2019 Google LLC
293
+ * SPDX-License-Identifier: Apache-2.0
294
+ */;class Ce extends ze{constructor(){super(...arguments),this.checked=!1,this.indeterminate=!1,this.disabled=!1,this.name="",this.value="on",this.reducedTouchTarget=!1,this.animationClass="",this.shouldRenderRipple=!1,this.focused=!1,this.mdcFoundationClass=void 0,this.mdcFoundation=void 0,this.rippleElement=null,this.rippleHandlers=new Se((()=>(this.shouldRenderRipple=!0,this.ripple.then((t=>this.rippleElement=t)),this.ripple)))}createAdapter(){return{}}update(t){const e=t.get("indeterminate"),i=t.get("checked"),o=t.get("disabled");if(void 0!==e||void 0!==i||void 0!==o){const t=this.calculateAnimationStateName(!!i,!!e,!!o),r=this.calculateAnimationStateName(this.checked,this.indeterminate,this.disabled);this.animationClass=`${t}-${r}`}super.update(t)}calculateAnimationStateName(t,e,i){return i?"disabled":e?"indeterminate":t?"checked":"unchecked"}renderRipple(){return this.shouldRenderRipple?this.renderRippleTemplate():""}renderRippleTemplate(){return e.html`<mwc-ripple
295
+ .disabled="${this.disabled}"
296
+ unbounded></mwc-ripple>`}render(){const t=this.indeterminate||this.checked,i={"mdc-checkbox--disabled":this.disabled,"mdc-checkbox--selected":t,"mdc-checkbox--touch":!this.reducedTouchTarget,"mdc-ripple-upgraded--background-focused":this.focused,"mdc-checkbox--anim-checked-indeterminate":"checked-indeterminate"==this.animationClass,"mdc-checkbox--anim-checked-unchecked":"checked-unchecked"==this.animationClass,"mdc-checkbox--anim-indeterminate-checked":"indeterminate-checked"==this.animationClass,"mdc-checkbox--anim-indeterminate-unchecked":"indeterminate-unchecked"==this.animationClass,"mdc-checkbox--anim-unchecked-checked":"unchecked-checked"==this.animationClass,"mdc-checkbox--anim-unchecked-indeterminate":"unchecked-indeterminate"==this.animationClass},o=this.indeterminate?"mixed":void 0;return e.html`
297
+ <div class="mdc-checkbox mdc-checkbox--upgraded ${r.classMap(i)}">
298
+ <input type="checkbox"
299
+ class="mdc-checkbox__native-control"
300
+ name="${Oe(this.name)}"
301
+ aria-checked="${Oe(o)}"
302
+ aria-label="${Oe(this.ariaLabel)}"
303
+ aria-labelledby="${Oe(this.ariaLabelledBy)}"
304
+ aria-describedby="${Oe(this.ariaDescribedBy)}"
305
+ data-indeterminate="${this.indeterminate?"true":"false"}"
306
+ ?disabled="${this.disabled}"
307
+ .indeterminate="${this.indeterminate}"
308
+ .checked="${this.checked}"
309
+ .value="${this.value}"
310
+ @change="${this.handleChange}"
311
+ @focus="${this.handleFocus}"
312
+ @blur="${this.handleBlur}"
313
+ @mousedown="${this.handleRippleMouseDown}"
314
+ @mouseenter="${this.handleRippleMouseEnter}"
315
+ @mouseleave="${this.handleRippleMouseLeave}"
316
+ @touchstart="${this.handleRippleTouchStart}"
317
+ @touchend="${this.handleRippleDeactivate}"
318
+ @touchcancel="${this.handleRippleDeactivate}">
319
+ <div class="mdc-checkbox__background"
320
+ @animationend="${this.resetAnimationClass}">
321
+ <svg class="mdc-checkbox__checkmark"
322
+ viewBox="0 0 24 24">
323
+ <path class="mdc-checkbox__checkmark-path"
324
+ fill="none"
325
+ d="M1.73,12.91 8.1,19.28 22.79,4.59"></path>
326
+ </svg>
327
+ <div class="mdc-checkbox__mixedmark"></div>
328
+ </div>
329
+ ${this.renderRipple()}
330
+ </div>`}setFormData(t){this.name&&this.checked&&t.append(this.name,this.value)}handleFocus(){this.focused=!0,this.handleRippleFocus()}handleBlur(){this.focused=!1,this.handleRippleBlur()}handleRippleMouseDown(t){const e=()=>{window.removeEventListener("mouseup",e),this.handleRippleDeactivate()};window.addEventListener("mouseup",e),this.rippleHandlers.startPress(t)}handleRippleTouchStart(t){this.rippleHandlers.startPress(t)}handleRippleDeactivate(){this.rippleHandlers.endPress()}handleRippleMouseEnter(){this.rippleHandlers.startHover()}handleRippleMouseLeave(){this.rippleHandlers.endHover()}handleRippleFocus(){this.rippleHandlers.startFocus()}handleRippleBlur(){this.rippleHandlers.endFocus()}handleChange(){this.checked=this.formElement.checked,this.indeterminate=this.formElement.indeterminate}resetAnimationClass(){this.animationClass=""}get isRippleActive(){var t;return(null===(t=this.rippleElement)||void 0===t?void 0:t.isActive)||!1}}re([i.query(".mdc-checkbox")],Ce.prototype,"mdcRoot",void 0),re([i.query("input")],Ce.prototype,"formElement",void 0),re([i.property({type:Boolean,reflect:!0})],Ce.prototype,"checked",void 0),re([i.property({type:Boolean})],Ce.prototype,"indeterminate",void 0),re([i.property({type:Boolean,reflect:!0})],Ce.prototype,"disabled",void 0),re([i.property({type:String,reflect:!0})],Ce.prototype,"name",void 0),re([i.property({type:String})],Ce.prototype,"value",void 0),re([ke,i.property({type:String,attribute:"aria-label"})],Ce.prototype,"ariaLabel",void 0),re([ke,i.property({type:String,attribute:"aria-labelledby"})],Ce.prototype,"ariaLabelledBy",void 0),re([ke,i.property({type:String,attribute:"aria-describedby"})],Ce.prototype,"ariaDescribedBy",void 0),re([i.property({type:Boolean})],Ce.prototype,"reducedTouchTarget",void 0),re([i.state()],Ce.prototype,"animationClass",void 0),re([i.state()],Ce.prototype,"shouldRenderRipple",void 0),re([i.state()],Ce.prototype,"focused",void 0),re([i.queryAsync("mwc-ripple")],Ce.prototype,"ripple",void 0),re([i.eventOptions({passive:!0})],Ce.prototype,"handleRippleTouchStart",null);
331
+ /**
332
+ * @license
333
+ * Copyright 2021 Google LLC
334
+ * SPDX-LIcense-Identifier: Apache-2.0
335
+ */
336
+ const Be=e.css`.mdc-checkbox{padding:calc((40px - 18px) / 2);padding:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);margin:calc((40px - 40px) / 2);margin:calc((var(--mdc-checkbox-touch-target-size, 40px) - 40px) / 2)}.mdc-checkbox .mdc-checkbox__ripple::before,.mdc-checkbox .mdc-checkbox__ripple::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-checkbox:hover .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-ripple-surface--hover .mdc-checkbox__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-checkbox:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after{transition:opacity 150ms linear}.mdc-checkbox:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-surface--hover .mdc-checkbox__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after{transition:opacity 150ms linear}.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after{background-color:#018786;background-color:var(--mdc-ripple-color, var(--mdc-theme-secondary, #018786))}.mdc-checkbox .mdc-checkbox__background{top:calc((40px - 18px) / 2);top:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);left:calc((40px - 18px) / 2);left:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2)}.mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - 40px) / 2);top:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);right:calc((40px - 40px) / 2);right:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);left:calc((40px - 40px) / 2);left:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);width:40px;width:var(--mdc-checkbox-touch-target-size, 40px);height:40px;height:var(--mdc-checkbox-touch-target-size, 40px)}.mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}@keyframes mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786{0%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}50%{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786{0%,80%{border-color:#018786;border-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786));background-color:#018786;background-color:var(--mdc-checkbox-checked-color, var(--mdc-theme-secondary, #018786))}100%{border-color:rgba(0, 0, 0, 0.54);border-color:var(--mdc-checkbox-unchecked-color, rgba(0, 0, 0, 0.54));background-color:transparent}}.mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786}.mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786}.mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:rgba(0, 0, 0, 0.38);border-color:var(--mdc-checkbox-disabled-color, rgba(0, 0, 0, 0.38));background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:rgba(0, 0, 0, 0.38);background-color:var(--mdc-checkbox-disabled-color, rgba(0, 0, 0, 0.38))}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-ink-color, #fff)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-ink-color, #fff)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#fff;color:var(--mdc-checkbox-ink-color, #fff)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:#fff;border-color:var(--mdc-checkbox-ink-color, #fff)}.mdc-touch-target-wrapper{display:inline}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:GrayText;border-color:var(--mdc-checkbox-disabled-color, GrayText);background-color:transparent}.mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:GrayText;background-color:transparent;background-color:var(--mdc-checkbox-disabled-color, transparent)}.mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:GrayText;color:var(--mdc-checkbox-ink-color, GrayText)}.mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:GrayText;border-color:var(--mdc-checkbox-ink-color, GrayText)}.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:transparent;pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox--touch{margin:calc((48px - 40px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size, 48px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((40px - 48px) / 2);top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);right:calc((40px - 48px) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);left:calc((40px - 48px) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);width:48px;width:var(--mdc-checkbox-state-layer-size, 48px);height:48px;height:var(--mdc-checkbox-state-layer-size, 48px)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}:host{outline:none;display:inline-flex;-webkit-tap-highlight-color:transparent}:host([checked]),:host([indeterminate]){--mdc-ripple-color:var(--mdc-theme-secondary, #018786)}.mdc-checkbox .mdc-checkbox__background::before{content:none}`
337
+ /**
338
+ * @license
339
+ * Copyright 2018 Google LLC
340
+ * SPDX-License-Identifier: Apache-2.0
341
+ */;let Te=class extends Ce{};Te.styles=[Be],Te=re([i.customElement("mwc-checkbox")],Te);var Ee=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const Ae={color:a.FtCssVariable.extend("--ft-ripple-color",a.designSystemVariables.colorContent),primaryColor:a.FtCssVariable.extend("--ft-ripple-primary-color",a.FtCssVariable.extend("--ft-ripple-color",a.designSystemVariables.colorPrimary)),secondaryColor:a.FtCssVariable.extend("--ft-ripple-secondary-color",a.FtCssVariable.extend("--ft-ripple-color",a.designSystemVariables.colorSecondary)),opacityContentOnSurfacePressed:a.FtCssVariable.external(a.designSystemVariables.opacityContentOnSurfacePressed,"Design system"),opacityContentOnSurfaceHover:a.FtCssVariable.external(a.designSystemVariables.opacityContentOnSurfaceHover,"Design system"),opacityContentOnSurfaceFocused:a.FtCssVariable.external(a.designSystemVariables.opacityContentOnSurfaceFocused,"Design system"),opacityContentOnSurfaceSelected:a.FtCssVariable.external(a.designSystemVariables.opacityContentOnSurfaceSelected,"Design system"),opacityContentOnSurfaceDragged:a.FtCssVariable.external(a.designSystemVariables.opacityContentOnSurfaceDragged,"Design system")};let Fe=class extends a.FtLitElement{constructor(){super(...arguments),this.primary=!1,this.secondary=!1,this.unbounded=!1,this.activated=!1,this.selected=!1,this.disabled=!1}getStyles(){return e.css`
342
+ :host {
343
+ display: contents;
344
+
345
+ --mdc-ripple-color: ${Ae.color};
346
+ --mdc-ripple-press-opacity: ${Ae.opacityContentOnSurfacePressed};
347
+ --mdc-ripple-hover-opacity: ${Ae.opacityContentOnSurfaceHover};
348
+ --mdc-ripple-focus-opacity: ${Ae.opacityContentOnSurfaceFocused};
349
+ --mdc-ripple-selected-opacity: ${Ae.opacityContentOnSurfaceSelected};
350
+ --mdc-ripple-activated-opacity: ${Ae.opacityContentOnSurfaceDragged};
351
+ }
352
+
353
+ mwc-ripple.ft-ripple--secondary {
354
+ --mdc-ripple-color: ${Ae.secondaryColor};
355
+ }
356
+
357
+ mwc-ripple.ft-ripple--primary {
358
+ --mdc-ripple-color: ${Ae.primaryColor};
359
+ }
360
+ `}getTemplate(){return e.html`
361
+ <mwc-ripple
362
+ class="${this.primary?"ft-ripple--primary":this.secondary?"ft-ripple--secondary":""}"
363
+ ?unbounded=${this.unbounded}
364
+ ?activated=${this.activated}
365
+ ?selected=${this.selected}
366
+ ?disabled=${this.disabled}
367
+ ></mwc-ripple>
368
+ `}updated(t){super.updated(t),t.has("disabled")&&this.disabled&&this.endRipple()}endRipple(){var t,e,i;null===(t=this.rippleHandlers)||void 0===t||t.endHover(),null===(e=this.rippleHandlers)||void 0===e||e.endFocus(),null===(i=this.rippleHandlers)||void 0===i||i.endPress()}connectedCallback(){var t;super.connectedCallback();const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.host.parentNode;if(e){const t=new Se((async()=>this.mwcRipple)),i=(...e)=>i=>{e.forEach((e=>window.addEventListener(e,t.endPress,{once:!0}))),t.startPress(i)},o=i("mouseup"),r=i("touchend","touchcancel"),a=t=>{["Enter"," "].includes(t.key)&&i("keyup")()};e.addEventListener("mouseenter",t.startHover),e.addEventListener("mouseleave",t.endHover),e.addEventListener("mousedown",o),e.addEventListener("touchstart",r),e.addEventListener("keydown",a),e.addEventListener("focus",t.startFocus),e.addEventListener("blur",t.endFocus),this.onDisconnect=()=>{e.removeEventListener("mouseenter",t.startHover),e.removeEventListener("mouseleave",t.endHover),e.removeEventListener("mousedown",o),e.removeEventListener("touchstart",r),e.removeEventListener("keydown",a),e.removeEventListener("focus",t.startFocus),e.removeEventListener("blur",t.endFocus)},this.rippleHandlers=t}}disconnectedCallback(){super.disconnectedCallback(),this.onDisconnect&&this.onDisconnect(),this.endRipple()}};Fe.elementDefinitions={"mwc-ripple":ye},Ee([i.property({type:Boolean})],Fe.prototype,"primary",void 0),Ee([i.property({type:Boolean})],Fe.prototype,"secondary",void 0),Ee([i.property({type:Boolean})],Fe.prototype,"unbounded",void 0),Ee([i.property({type:Boolean})],Fe.prototype,"activated",void 0),Ee([i.property({type:Boolean})],Fe.prototype,"selected",void 0),Ee([i.property({type:Boolean})],Fe.prototype,"disabled",void 0),Ee([i.query("mwc-ripple")],Fe.prototype,"mwcRipple",void 0),Fe=Ee([a.customElement("ft-ripple")],Fe);
369
+ /**
370
+ * @license
371
+ * Copyright 2021 Google LLC
372
+ * SPDX-LIcense-Identifier: Apache-2.0
373
+ */
374
+ const Ie=e.css`:host{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}`
375
+ /**
376
+ * @license
377
+ * Copyright 2018 Google LLC
378
+ * SPDX-License-Identifier: Apache-2.0
379
+ */;let Re=class extends e.LitElement{render(){return e.html`<span><slot></slot></span>`}};Re.styles=[Ie],Re=re([i.customElement("mwc-icon")],Re);var De=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const Le=a.FtCssVariable.create("--ft-tooltip-distance","SIZE","4px"),je=a.FtCssVariable.create("--ft-tooltip-color","COLOR","#FFFFFF"),Me=a.FtCssVariable.create("--ft-tooltip-background-color","COLOR","#666666"),Pe=a.FtCssVariable.create("--ft-tooltip-z-index","NUMBER","1"),Ne=a.FtCssVariable.external(a.designSystemVariables.borderRadiusS,"Design system");let He=class extends a.FtLitElement{constructor(){super(...arguments),this.text="",this.manual=!1,this.inline=!1,this.delay=500,this.position="bottom",this.visible=!1,this.hideDebounce=new a.Debouncer,this.revealDebouncer=new a.Debouncer}getStyles(){return e.css`
380
+ .ft-tooltip--container {
381
+ display: block;
382
+ position: relative;
383
+ }
384
+
385
+ .ft-tooltip--inline {
386
+ display: inline-block;
387
+ max-width: 100%;
388
+ }
389
+
390
+ .ft-tooltip {
391
+ position: absolute;
392
+ box-sizing: border-box;
393
+ overflow: hidden;
394
+ width: max-content;
395
+ max-width: 150px;
396
+ text-align: center;
397
+ padding: ${Le};
398
+ z-index: ${Pe};
399
+ }
400
+
401
+ .ft-tooltip--content {
402
+ padding: 4px 8px;
403
+ border-radius: ${Ne};
404
+ background-color: ${Me};
405
+ color: ${je};
406
+ top: -500px;
407
+ left: -500px;
408
+ position: relative;
409
+ word-break: break-word;
410
+ }
411
+ `}getTemplate(){return e.html`
412
+ <div part="container"
413
+ class="ft-tooltip--container ${this.inline?"ft-tooltip--inline":""}"
414
+ @mouseenter=${this.onHover}
415
+ @mouseleave=${this.onOut}
416
+ @focusin=${this.onHover}
417
+ @focusout=${this.onOut}
418
+ @touchstart=${this.onTouch}>
419
+ <div part="tooltip" class="ft-tooltip ft-tooltip--${this.position}" ?hidden=${!this.visible}>
420
+ <div part="tooltip-content" class="ft-tooltip--content">
421
+ <ft-typography variant="caption">${this.text}</ft-typography>
422
+ </div>
423
+ </div>
424
+ <slot></slot>
425
+ </div>
426
+ `}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,r=this.tooltip.style;switch(this.position){case"top":r.top=-this.tooltip.clientHeight+"px",r.left=o+"px";break;case"bottom":r.top=e.height+"px",r.left=o+"px";break;case"left":r.top=i+"px",r.left=-this.tooltip.clientWidth+"px";break;case"right":r.top=i+"px",r.left=e.width+"px"}r.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())}};He.elementDefinitions={"ft-typography":Xt},De([i.property()],He.prototype,"text",void 0),De([i.property({type:Boolean})],He.prototype,"manual",void 0),De([i.property({type:Boolean})],He.prototype,"inline",void 0),De([i.property({type:Number})],He.prototype,"delay",void 0),De([i.property()],He.prototype,"position",void 0),De([i.queryAssignedNodes("",!0)],He.prototype,"slotNodes",void 0),De([i.query(".ft-tooltip--container")],He.prototype,"container",void 0),De([i.query("slot")],He.prototype,"target",void 0),De([i.query(".ft-tooltip")],He.prototype,"tooltip",void 0),De([i.query(".ft-tooltip--content")],He.prototype,"tooltipContent",void 0),De([i.state()],He.prototype,"visible",void 0),He=De([a.customElement("ft-tooltip")],He);var Ue=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const Ve={color:a.FtCssVariable.extend("--ft-loader-color",a.designSystemVariables.colorPrimary),size:a.FtCssVariable.create("--ft-loader-size","SIZE","80px")};let Ze=class extends a.FtLitElement{getStyles(){return e.css`
427
+ :host {
428
+ line-height: 0;
429
+ }
430
+
431
+ .ft-loader {
432
+ display: inline-block;
433
+ position: relative;
434
+
435
+ width: ${Ve.size};
436
+ height: ${Ve.size};
437
+ }
438
+
439
+ .ft-loader div {
440
+ position: absolute;
441
+ top: 37.5%;
442
+ width: 25%;
443
+ height: 25%;
444
+ border-radius: 50%;
445
+ background: ${Ve.color};
446
+ animation-timing-function: cubic-bezier(0, 1, 1, 0);
447
+ }
448
+
449
+ .ft-loader div:nth-child(1) {
450
+ left: 2.5%;
451
+ animation: appear 0.6s infinite;
452
+ }
453
+
454
+ .ft-loader div:nth-child(2) {
455
+ left: 2.5%;
456
+ animation: move 0.6s infinite;
457
+ }
458
+
459
+ .ft-loader div:nth-child(3) {
460
+ left: 37.5%;
461
+ animation: move 0.6s infinite;
462
+ }
463
+
464
+ .ft-loader div:nth-child(4) {
465
+ left: 72.5%;
466
+ animation: disappear 0.6s infinite;
467
+ }
468
+
469
+ @keyframes appear {
470
+ 0% {
471
+ transform: scale(0);
472
+ }
473
+ 100% {
474
+ transform: scale(1);
475
+ }
476
+ }
477
+
478
+ @keyframes disappear {
479
+ 0% {
480
+ transform: scale(1);
481
+ }
482
+ 100% {
483
+ transform: scale(0);
484
+ }
485
+ }
486
+
487
+ @keyframes move {
488
+ 0% {
489
+ transform: translate(0, 0);
490
+ }
491
+ 100% {
492
+ transform: translate(calc(0.35 * ${Ve.size}), 0);
493
+ }
494
+ }
495
+ `}getTemplate(){return e.html`
496
+ <div class="ft-loader">
497
+ <div></div>
498
+ <div></div>
499
+ <div></div>
500
+ <div></div>
501
+ </div>
502
+ `}};Ze=Ue([a.customElement("ft-loader")],Ze);var qe=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const Ge=a.FtCssVariable.extend("--ft-button-color",a.designSystemVariables.colorPrimary),Ke={backgroundColor:a.FtCssVariable.extend("--ft-button-background-color",a.designSystemVariables.colorSurface),borderRadius:a.FtCssVariable.extend("--ft-button-border-radius",a.designSystemVariables.borderRadiusL),color:Ge,fontSize:a.FtCssVariable.extend("--ft-button-font-size",Mt.fontSize),iconSize:a.FtCssVariable.create("--ft-button-icon-size","SIZE","24px"),rippleColor:a.FtCssVariable.extend("--ft-button-ripple-color",Ge),opacityDisabled:a.FtCssVariable.external(a.designSystemVariables.colorOpacityDisabled,"Design system")},We=a.FtCssVariable.extend("--ft-button-primary-color",a.FtCssVariable.extend("--ft-button-color",a.designSystemVariables.colorOnPrimary)),Xe=a.FtCssVariable.extend("--ft-button-primary-background-color",a.FtCssVariable.extend("--ft-button-background-color",a.designSystemVariables.colorPrimary)),Je=We,Ye=(a.FtCssVariable.extend("--ft-button-primary-ripple-color",We),a.FtCssVariable.extend("--ft-button-dense-border-radius",a.FtCssVariable.extend("--ft-button-border-radius",a.designSystemVariables.borderRadiusM)));let Qe=class extends a.FtLitElement{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())}}getStyles(){return[a.noTextSelect,e.css`
503
+ :host {
504
+ display: inline-block;
505
+ max-width: 100%;
506
+ }
507
+
508
+ button {
509
+ box-shadow: 0px 0px 0px transparent;
510
+ border: 0px solid transparent;
511
+ text-shadow: 0px 0px 0px transparent;
512
+ }
513
+
514
+ button:hover {
515
+ box-shadow: 0px 0px 0px transparent;
516
+ border: 0px solid transparent;
517
+ text-shadow: 0px 0px 0px transparent;
518
+ }
519
+
520
+ button:active {
521
+ outline: none;
522
+ border: none;
523
+ }
524
+
525
+ button:focus {
526
+ outline: 0;
527
+ }
528
+
529
+ .ft-button {
530
+ position: relative;
531
+ display: flex;
532
+ justify-content: center;
533
+ align-items: center;
534
+ width: 100%;
535
+ overflow: hidden;
536
+ box-sizing: border-box;
537
+ border: none;
538
+
539
+ --ft-button-internal-font-size: ${Ke.fontSize};
540
+ --ft-button-internal-line-height: calc(var(--ft-button-internal-font-size) + 2px);
541
+ --ft-button-internal-color: ${Ke.color};
542
+ --mdc-icon-size: ${Ke.iconSize};
543
+ --ft-button-internal-vertical-padding: 6px;
544
+ --ft-button-internal-horizontal-padding: 8px;
545
+ ${a.setVariable(Ae.color,Ke.rippleColor)};
546
+ --ft-button-internal-content-height: max(var(--ft-button-internal-line-height), var(--mdc-icon-size));
547
+
548
+ border-radius: ${Ke.borderRadius};
549
+ padding: var(--ft-button-internal-vertical-padding) var(--ft-button-internal-horizontal-padding);
550
+ background-color: ${Ke.backgroundColor};
551
+ color: var(--ft-button-internal-color);
552
+ -webkit-mask-image: radial-gradient(white, black);
553
+ }
554
+
555
+ .ft-button:not([disabled]):hover {
556
+ cursor: pointer;
557
+ }
558
+
559
+ .ft-button--dense {
560
+ --ft-button-internal-vertical-padding: 2px;
561
+ --ft-button-internal-horizontal-padding: 4px;
562
+ border-radius: ${Ye};
563
+ }
564
+
565
+ .ft-button--round {
566
+ border-radius: calc(var(--ft-button-internal-content-height) / 2 + var(--ft-button-internal-vertical-padding));
567
+ }
568
+
569
+ .ft-button[disabled] {
570
+ filter: grayscale(1);
571
+ opacity: ${Ke.opacityDisabled};
572
+ }
573
+
574
+ .ft-button.ft-button--primary {
575
+ background-color: ${Xe};
576
+ --ft-button-internal-color: ${Je};
577
+ }
578
+
579
+ .ft-button.ft-button--outlined {
580
+ border: 1px solid var(--ft-button-internal-color);
581
+ padding: calc(var(--ft-button-internal-vertical-padding) - 1px) calc(var(--ft-button-internal-horizontal-padding) - 1px);
582
+ }
583
+
584
+ .ft-button:focus {
585
+ outline: none;
586
+ }
587
+
588
+ .ft-button--label {
589
+ overflow: hidden;
590
+ white-space: nowrap;
591
+ text-overflow: ellipsis;
592
+ display: block;
593
+ margin: 0 var(--ft-button-internal-horizontal-padding);
594
+ ${a.setVariable(Mt.fontSize,"var(--ft-button-internal-font-size)")};
595
+ ${a.setVariable(Mt.lineHeight,"var(--ft-button-internal-content-height)")};
596
+ }
597
+
598
+ .ft-button--safari-fix .ft-button--label {
599
+ margin-right: 0;
600
+ }
601
+
602
+ .ft-button--safari-fix .ft-button--label:after {
603
+ content: "\\0000a0";
604
+ display: inline-block;
605
+ width: 0;
606
+ }
607
+
608
+ .ft-button--label[hidden] {
609
+ display: none;
610
+ }
611
+
612
+ mwc-icon {
613
+ flex-shrink: 0;
614
+ width: var(--mdc-icon-size);
615
+ }
616
+
617
+ .ft-button--label[hidden] + mwc-icon {
618
+ margin: 0 calc(var(--ft-button-internal-horizontal-padding) * -1);
619
+ padding: 0 var(--ft-button-internal-vertical-padding);
620
+ }
621
+
622
+ .ft-button:not(.ft-button--trailing-icon) mwc-icon,
623
+ .ft-button:not(.ft-button--trailing-icon) ft-loader {
624
+ order: -1;
625
+ }
626
+
627
+ ft-loader {
628
+ ${a.setVariable(Ve.size,Ke.iconSize)};
629
+ ${a.setVariable(Ve.color,"var(--ft-button-internal-color)")};
630
+ }
631
+ `]}getTemplate(){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":a.isSafari,"ft-no-text-select":!0};return this.addTooltip(e.html`
632
+ <button part="button"
633
+ class="${r.classMap(t)}"
634
+ aria-label="${this.getLabel()}"
635
+ ?disabled=${this.isDisabled()}>
636
+ <ft-ripple part="ripple" ?disabled=${this.isDisabled()}></ft-ripple>
637
+ <ft-typography part="label"
638
+ variant="button"
639
+ class="ft-button--label"
640
+ ?hidden=${!this.hasTextContent()}>
641
+ <slot @slotchange=${this.onSlotchange}></slot>
642
+ </ft-typography>
643
+ ${this.resolveIcon()}
644
+ </button>
645
+ `)}addTooltip(t){return this.hasTextContent()||0===this.getLabel().trim().length?t:e.html`
646
+ <ft-tooltip part="tooltip"
647
+ text="${this.getLabel()}"
648
+ position="${this.tooltipPosition}">
649
+ ${t}
650
+ </ft-tooltip>
651
+ `}resolveIcon(){return this.loading?e.html`
652
+ <ft-loader></ft-loader> `:this.icon?e.html`
653
+ <mwc-icon>${this.icon}</mwc-icon> `:e.nothing}focus(){var t;null===(t=this.button)||void 0===t||t.focus()}getLabel(){return this.label||this.textContent}get textContent(){var t,e;return null!==(e=null===(t=this.slottedContent)||void 0===t?void 0:t.assignedNodes().map((t=>t.textContent)).join("").trim())&&void 0!==e?e:""}hasTextContent(){return this.textContent.length>0}onSlotchange(){this.requestUpdate()}isDisabled(){return this.disabled||this.loading}};Qe.elementDefinitions={"ft-ripple":Fe,"ft-tooltip":He,"ft-typography":Xt,"mwc-icon":Re,"ft-loader":Ze},qe([i.property({type:Boolean})],Qe.prototype,"primary",void 0),qe([i.property({type:Boolean})],Qe.prototype,"outlined",void 0),qe([i.property({type:Boolean})],Qe.prototype,"disabled",void 0),qe([i.property({type:Boolean})],Qe.prototype,"dense",void 0),qe([i.property({type:Boolean})],Qe.prototype,"round",void 0),qe([i.property({type:String})],Qe.prototype,"label",void 0),qe([i.property({type:String})],Qe.prototype,"icon",void 0),qe([i.property({type:Boolean})],Qe.prototype,"trailingIcon",void 0),qe([i.property({type:Boolean})],Qe.prototype,"loading",void 0),qe([i.property({type:String})],Qe.prototype,"tooltipPosition",void 0),qe([i.query(".ft-button")],Qe.prototype,"button",void 0),qe([i.query(".ft-button--label slot")],Qe.prototype,"slottedContent",void 0),Qe=qe([a.customElement("ft-button")],Qe);
654
+ /**
655
+ * @license
656
+ * Copyright 2017 Google Inc.
657
+ *
658
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
659
+ * of this software and associated documentation files (the "Software"), to deal
660
+ * in the Software without restriction, including without limitation the rights
661
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
662
+ * copies of the Software, and to permit persons to whom the Software is
663
+ * furnished to do so, subject to the following conditions:
664
+ *
665
+ * The above copyright notice and this permission notice shall be included in
666
+ * all copies or substantial portions of the Software.
667
+ *
668
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
669
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
670
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
671
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
672
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
673
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
674
+ * THE SOFTWARE.
675
+ */
676
+ var ti={ROOT:"mdc-form-field"},ei={LABEL_SELECTOR:".mdc-form-field > label"},ii=function(t){function e(i){var o=t.call(this,oe(oe({},e.defaultAdapter),i))||this;return o.click=function(){o.handleClick()},o}return ie(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return ti},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return ei},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{activateInputRipple:function(){},deactivateInputRipple:function(){},deregisterInteractionHandler:function(){},registerInteractionHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerInteractionHandler("click",this.click)},e.prototype.destroy=function(){this.adapter.deregisterInteractionHandler("click",this.click)},e.prototype.handleClick=function(){var t=this;this.adapter.activateInputRipple(),requestAnimationFrame((function(){t.adapter.deactivateInputRipple()}))},e}(le);
677
+ /**
678
+ * @license
679
+ * Copyright 2018 Google LLC
680
+ * SPDX-License-Identifier: Apache-2.0
681
+ */
682
+ const oi=t=>(e,i)=>{if(e.constructor._observers){if(!e.constructor.hasOwnProperty("_observers")){const t=e.constructor._observers;e.constructor._observers=new Map,t.forEach(((t,i)=>e.constructor._observers.set(i,t)))}}else{e.constructor._observers=new Map;const t=e.updated;e.updated=function(e){t.call(this,e),e.forEach(((t,e)=>{const i=this.constructor._observers.get(e);void 0!==i&&i.call(this,this[e],t)}))}}e.constructor._observers.set(i,t)}
683
+ /**
684
+ * @license
685
+ * Copyright 2018 Google LLC
686
+ * SPDX-License-Identifier: Apache-2.0
687
+ */;class ri extends se{constructor(){super(...arguments),this.alignEnd=!1,this.spaceBetween=!1,this.nowrap=!1,this.label="",this.mdcFoundationClass=ii}createAdapter(){return{registerInteractionHandler:(t,e)=>{this.labelEl.addEventListener(t,e)},deregisterInteractionHandler:(t,e)=>{this.labelEl.removeEventListener(t,e)},activateInputRipple:async()=>{const t=this.input;if(t instanceof ze){const e=await t.ripple;e&&e.startPress()}},deactivateInputRipple:async()=>{const t=this.input;if(t instanceof ze){const e=await t.ripple;e&&e.endPress()}}}}get input(){var t,e;return null!==(e=null===(t=this.slottedInputs)||void 0===t?void 0:t[0])&&void 0!==e?e:null}render(){const t={"mdc-form-field--align-end":this.alignEnd,"mdc-form-field--space-between":this.spaceBetween,"mdc-form-field--nowrap":this.nowrap};return e.html`
688
+ <div class="mdc-form-field ${r.classMap(t)}">
689
+ <slot></slot>
690
+ <label class="mdc-label"
691
+ @click="${this._labelClick}">${this.label}</label>
692
+ </div>`}click(){this._labelClick()}_labelClick(){const t=this.input;t&&(t.focus(),t.click())}}re([i.property({type:Boolean})],ri.prototype,"alignEnd",void 0),re([i.property({type:Boolean})],ri.prototype,"spaceBetween",void 0),re([i.property({type:Boolean})],ri.prototype,"nowrap",void 0),re([i.property({type:String}),oi((async function(t){var e;null===(e=this.input)||void 0===e||e.setAttribute("aria-label",t)}))],ri.prototype,"label",void 0),re([i.query(".mdc-form-field")],ri.prototype,"mdcRoot",void 0),re([i.queryAssignedNodes("",!0,"*")],ri.prototype,"slottedInputs",void 0),re([i.query("label")],ri.prototype,"labelEl",void 0);
693
+ /**
694
+ * @license
695
+ * Copyright 2021 Google LLC
696
+ * SPDX-LIcense-Identifier: Apache-2.0
697
+ */
698
+ const ai=e.css`.mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.875rem;font-size:var(--mdc-typography-body2-font-size, 0.875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:0.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, 0.0178571429em);text-decoration:inherit;text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform, inherit);color:rgba(0, 0, 0, 0.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}:host{display:inline-flex}.mdc-form-field{width:100%}::slotted(*){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.875rem;font-size:var(--mdc-typography-body2-font-size, 0.875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:0.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, 0.0178571429em);text-decoration:inherit;text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform, inherit);color:rgba(0, 0, 0, 0.87);color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87))}::slotted(mwc-switch){margin-right:10px}[dir=rtl] ::slotted(mwc-switch),::slotted(mwc-switch[dir=rtl]){margin-left:10px}`
699
+ /**
700
+ * @license
701
+ * Copyright 2018 Google LLC
702
+ * SPDX-License-Identifier: Apache-2.0
703
+ */;let ci=class extends ri{};ci.styles=[ai],ci=re([i.customElement("mwc-formfield")],ci);
704
+ /**
705
+ * @license
706
+ * Copyright 2020 Google LLC
707
+ * SPDX-License-Identifier: Apache-2.0
708
+ */
709
+ const ni=Symbol("selection controller");class si{constructor(){this.selected=null,this.ordered=null,this.set=new Set}}class li{constructor(t){this.sets={},this.focusedSet=null,this.mouseIsDown=!1,this.updating=!1,t.addEventListener("keydown",(t=>{this.keyDownHandler(t)})),t.addEventListener("mousedown",(()=>{this.mousedownHandler()})),t.addEventListener("mouseup",(()=>{this.mouseupHandler()}))}static getController(t){const e=!("global"in t)||"global"in t&&t.global?document:t.getRootNode();let i=e[ni];return void 0===i&&(i=new li(e),e[ni]=i),i}keyDownHandler(t){const e=t.target;"checked"in e&&this.has(e)&&("ArrowRight"==t.key||"ArrowDown"==t.key?this.selectNext(e):"ArrowLeft"!=t.key&&"ArrowUp"!=t.key||this.selectPrevious(e))}mousedownHandler(){this.mouseIsDown=!0}mouseupHandler(){this.mouseIsDown=!1}has(t){return this.getSet(t.name).set.has(t)}selectPrevious(t){const e=this.getOrdered(t),i=e.indexOf(t),o=e[i-1]||e[e.length-1];return this.select(o),o}selectNext(t){const e=this.getOrdered(t),i=e.indexOf(t),o=e[i+1]||e[0];return this.select(o),o}select(t){t.click()}focus(t){if(this.mouseIsDown)return;const e=this.getSet(t.name),i=this.focusedSet;this.focusedSet=e,i!=e&&e.selected&&e.selected!=t&&e.selected.focus()}isAnySelected(t){const e=this.getSet(t.name);for(const t of e.set)if(t.checked)return!0;return!1}getOrdered(t){const e=this.getSet(t.name);return e.ordered||(e.ordered=Array.from(e.set),e.ordered.sort(((t,e)=>t.compareDocumentPosition(e)==Node.DOCUMENT_POSITION_PRECEDING?1:0))),e.ordered}getSet(t){return this.sets[t]||(this.sets[t]=new si),this.sets[t]}register(t){const e=t.name||t.getAttribute("name")||"",i=this.getSet(e);i.set.add(t),i.ordered=null}unregister(t){const e=this.getSet(t.name);e.set.delete(t),e.ordered=null,e.selected==t&&(e.selected=null)}update(t){if(this.updating)return;this.updating=!0;const e=this.getSet(t.name);if(t.checked){for(const i of e.set)i!=t&&(i.checked=!1);e.selected=t}if(this.isAnySelected(t))for(const t of e.set){if(void 0===t.formElementTabIndex)break;t.formElementTabIndex=t.checked?0:-1}this.updating=!1}}
710
+ /**
711
+ * @license
712
+ * Copyright 2016 Google Inc.
713
+ *
714
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
715
+ * of this software and associated documentation files (the "Software"), to deal
716
+ * in the Software without restriction, including without limitation the rights
717
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
718
+ * copies of the Software, and to permit persons to whom the Software is
719
+ * furnished to do so, subject to the following conditions:
720
+ *
721
+ * The above copyright notice and this permission notice shall be included in
722
+ * all copies or substantial portions of the Software.
723
+ *
724
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
725
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
726
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
727
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
728
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
729
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
730
+ * THE SOFTWARE.
731
+ */var di={NATIVE_CONTROL_SELECTOR:".mdc-radio__native-control"},pi={DISABLED:"mdc-radio--disabled",ROOT:"mdc-radio"},hi=function(t){function e(i){return t.call(this,oe(oe({},e.defaultAdapter),i))||this}return ie(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return pi},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return di},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},setNativeControlDisabled:function(){}}},enumerable:!1,configurable:!0}),e.prototype.setDisabled=function(t){var i=e.cssClasses.DISABLED;this.adapter.setNativeControlDisabled(t),t?this.adapter.addClass(i):this.adapter.removeClass(i)},e}(le);
732
+ /**
733
+ * @license
734
+ * Copyright 2018 Google LLC
735
+ * SPDX-License-Identifier: Apache-2.0
736
+ */
737
+ class fi extends ze{constructor(){super(...arguments),this._checked=!1,this.useStateLayerCustomProperties=!1,this.global=!1,this.disabled=!1,this.value="on",this.name="",this.reducedTouchTarget=!1,this.mdcFoundationClass=hi,this.formElementTabIndex=0,this.focused=!1,this.shouldRenderRipple=!1,this.rippleElement=null,this.rippleHandlers=new Se((()=>(this.shouldRenderRipple=!0,this.ripple.then((t=>{this.rippleElement=t})),this.ripple)))}get checked(){return this._checked}set checked(t){var e,i;const o=this._checked;t!==o&&(this._checked=t,this.formElement&&(this.formElement.checked=t),null===(e=this._selectionController)||void 0===e||e.update(this),!1===t&&(null===(i=this.formElement)||void 0===i||i.blur()),this.requestUpdate("checked",o),this.dispatchEvent(new Event("checked",{bubbles:!0,composed:!0})))}_handleUpdatedValue(t){this.formElement.value=t}renderRipple(){return this.shouldRenderRipple?e.html`<mwc-ripple unbounded accent
738
+ .internalUseStateLayerCustomProperties="${this.useStateLayerCustomProperties}"
739
+ .disabled="${this.disabled}"></mwc-ripple>`:""}get isRippleActive(){var t;return(null===(t=this.rippleElement)||void 0===t?void 0:t.isActive)||!1}connectedCallback(){super.connectedCallback(),this._selectionController=li.getController(this),this._selectionController.register(this),this._selectionController.update(this)}disconnectedCallback(){this._selectionController.unregister(this),this._selectionController=void 0}focus(){this.formElement.focus()}createAdapter(){return Object.assign(Object.assign({},(t=this.mdcRoot,{addClass:e=>{t.classList.add(e)},removeClass:e=>{t.classList.remove(e)},hasClass:e=>t.classList.contains(e)})),{setNativeControlDisabled:t=>{this.formElement.disabled=t}});var t}handleFocus(){this.focused=!0,this.handleRippleFocus()}handleClick(){this.formElement.focus()}handleBlur(){this.focused=!1,this.formElement.blur(),this.rippleHandlers.endFocus()}setFormData(t){this.name&&this.checked&&t.append(this.name,this.value)}render(){const t={"mdc-radio--touch":!this.reducedTouchTarget,"mdc-ripple-upgraded--background-focused":this.focused,"mdc-radio--disabled":this.disabled};return e.html`
740
+ <div class="mdc-radio ${r.classMap(t)}">
741
+ <input
742
+ tabindex="${this.formElementTabIndex}"
743
+ class="mdc-radio__native-control"
744
+ type="radio"
745
+ name="${this.name}"
746
+ aria-label="${Oe(this.ariaLabel)}"
747
+ aria-labelledby="${Oe(this.ariaLabelledBy)}"
748
+ .checked="${this.checked}"
749
+ .value="${this.value}"
750
+ ?disabled="${this.disabled}"
751
+ @change="${this.changeHandler}"
752
+ @focus="${this.handleFocus}"
753
+ @click="${this.handleClick}"
754
+ @blur="${this.handleBlur}"
755
+ @mousedown="${this.handleRippleMouseDown}"
756
+ @mouseenter="${this.handleRippleMouseEnter}"
757
+ @mouseleave="${this.handleRippleMouseLeave}"
758
+ @touchstart="${this.handleRippleTouchStart}"
759
+ @touchend="${this.handleRippleDeactivate}"
760
+ @touchcancel="${this.handleRippleDeactivate}">
761
+ <div class="mdc-radio__background">
762
+ <div class="mdc-radio__outer-circle"></div>
763
+ <div class="mdc-radio__inner-circle"></div>
764
+ </div>
765
+ ${this.renderRipple()}
766
+ </div>`}handleRippleMouseDown(t){const e=()=>{window.removeEventListener("mouseup",e),this.handleRippleDeactivate()};window.addEventListener("mouseup",e),this.rippleHandlers.startPress(t)}handleRippleTouchStart(t){this.rippleHandlers.startPress(t)}handleRippleDeactivate(){this.rippleHandlers.endPress()}handleRippleMouseEnter(){this.rippleHandlers.startHover()}handleRippleMouseLeave(){this.rippleHandlers.endHover()}handleRippleFocus(){this.rippleHandlers.startFocus()}changeHandler(){this.checked=this.formElement.checked}}re([i.query(".mdc-radio")],fi.prototype,"mdcRoot",void 0),re([i.query("input")],fi.prototype,"formElement",void 0),re([i.state()],fi.prototype,"useStateLayerCustomProperties",void 0),re([i.property({type:Boolean})],fi.prototype,"global",void 0),re([i.property({type:Boolean,reflect:!0})],fi.prototype,"checked",null),re([i.property({type:Boolean}),oi((function(t){this.mdcFoundation.setDisabled(t)}))],fi.prototype,"disabled",void 0),re([i.property({type:String}),oi((function(t){this._handleUpdatedValue(t)}))],fi.prototype,"value",void 0),re([i.property({type:String})],fi.prototype,"name",void 0),re([i.property({type:Boolean})],fi.prototype,"reducedTouchTarget",void 0),re([i.property({type:Number})],fi.prototype,"formElementTabIndex",void 0),re([i.state()],fi.prototype,"focused",void 0),re([i.state()],fi.prototype,"shouldRenderRipple",void 0),re([i.queryAsync("mwc-ripple")],fi.prototype,"ripple",void 0),re([ke,i.property({attribute:"aria-label"})],fi.prototype,"ariaLabel",void 0),re([ke,i.property({attribute:"aria-labelledby"})],fi.prototype,"ariaLabelledBy",void 0),re([i.eventOptions({passive:!0})],fi.prototype,"handleRippleTouchStart",null);
767
+ /**
768
+ * @license
769
+ * Copyright 2021 Google LLC
770
+ * SPDX-LIcense-Identifier: Apache-2.0
771
+ */
772
+ const ui=e.css`.mdc-touch-target-wrapper{display:inline}.mdc-radio{padding:calc((40px - 20px) / 2)}.mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0, 0, 0, 0.54)}.mdc-radio .mdc-radio__native-control:enabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:#018786;border-color:var(--mdc-theme-secondary, #018786)}.mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:#018786;border-color:var(--mdc-theme-secondary, #018786)}.mdc-radio [aria-disabled=true] .mdc-radio__native-control:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0, 0, 0, 0.38)}.mdc-radio [aria-disabled=true] .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio .mdc-radio__native-control:disabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:rgba(0, 0, 0, 0.38)}.mdc-radio [aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background .mdc-radio__inner-circle,.mdc-radio .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:rgba(0, 0, 0, 0.38)}.mdc-radio .mdc-radio__background::before{background-color:#018786;background-color:var(--mdc-theme-secondary, #018786)}.mdc-radio .mdc-radio__background::before{top:calc(-1 * (40px - 20px) / 2);left:calc(-1 * (40px - 20px) / 2);width:40px;height:40px}.mdc-radio .mdc-radio__native-control{top:calc((40px - 40px) / 2);right:calc((40px - 40px) / 2);left:calc((40px - 40px) / 2);width:40px;height:40px}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-radio [aria-disabled=true] .mdc-radio__native-control:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:GrayText}.mdc-radio [aria-disabled=true] .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio .mdc-radio__native-control:disabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:GrayText}.mdc-radio [aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background .mdc-radio__inner-circle,.mdc-radio .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:GrayText}}.mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color}.mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";transition:opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0, 0);border-width:10px;border-style:solid;border-radius:50%;transition:transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1}.mdc-radio--touch{margin-top:4px;margin-bottom:4px;margin-right:4px;margin-left:4px}.mdc-radio--touch .mdc-radio__native-control{top:calc((40px - 48px) / 2);right:calc((40px - 48px) / 2);left:calc((40px - 48px) / 2);width:48px;height:48px}.mdc-radio__native-control:checked+.mdc-radio__background,.mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__outer-circle{transition:border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle,.mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{transition:transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio--disabled{cursor:default;pointer-events:none}.mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{transform:scale(0.5);transition:transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1),border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-radio__native-control:disabled+.mdc-radio__background,[aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background{cursor:default}.mdc-radio__native-control:focus+.mdc-radio__background::before{transform:scale(1);opacity:.12;transition:opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1)}:host{display:inline-block;outline:none}.mdc-radio{vertical-align:bottom}.mdc-radio .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-unchecked-color, rgba(0, 0, 0, 0.54))}.mdc-radio [aria-disabled=true] .mdc-radio__native-control:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-color, rgba(0, 0, 0, 0.38))}.mdc-radio [aria-disabled=true] .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__outer-circle,.mdc-radio .mdc-radio__native-control:disabled:checked+.mdc-radio__background .mdc-radio__outer-circle{border-color:var(--mdc-radio-disabled-color, rgba(0, 0, 0, 0.38))}.mdc-radio [aria-disabled=true] .mdc-radio__native-control+.mdc-radio__background .mdc-radio__inner-circle,.mdc-radio .mdc-radio__native-control:disabled+.mdc-radio__background .mdc-radio__inner-circle{border-color:var(--mdc-radio-disabled-color, rgba(0, 0, 0, 0.38))}`
773
+ /**
774
+ * @license
775
+ * Copyright 2018 Google LLC
776
+ * SPDX-License-Identifier: Apache-2.0
777
+ */;let mi=class extends fi{};mi.styles=[ui],mi=re([i.customElement("mwc-radio")],mi);var bi=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const gi={borderRadiusM:a.FtCssVariable.external(a.designSystemVariables.borderRadiusM,"Design system"),colorOutline:a.FtCssVariable.external(a.designSystemVariables.colorOutline,"Design system"),colorOnSurface:a.FtCssVariable.external(a.designSystemVariables.colorOnSurface,"Design system"),colorOnSurfaceMedium:a.FtCssVariable.external(a.designSystemVariables.colorOnSurfaceMedium,"Design system"),colorOnSurfaceDisabled:a.FtCssVariable.external(a.designSystemVariables.colorOnSurfaceDisabled,"Design system"),colorPrimary:a.FtCssVariable.external(a.designSystemVariables.colorPrimary,"Design system"),colorOnPrimary:a.FtCssVariable.external(a.designSystemVariables.colorOnPrimary,"Design system"),fontFamily:a.FtCssVariable.external(zt.fontFamily,"Body2 typography"),fontSize:a.FtCssVariable.external(zt.fontSize,"Body2 typography"),fontWeight:a.FtCssVariable.external(zt.fontWeight,"Body2 typography"),letterSpacing:a.FtCssVariable.external(zt.letterSpacing,"Body2 typography"),lineHeight:a.FtCssVariable.external(zt.lineHeight,"Body2 typography"),textTransform:a.FtCssVariable.external(zt.textTransform,"Body2 typography")};let vi=class extends a.FtLitElement{constructor(){super(...arguments),this.id="",this.options=[],this.multivalued=!1,this.disabled=!1,this.hideSelectedOptions=!1,this.preventNavigation=!1,this.filter="",this.moreValuesButtonLabel="More",this.displayedValuesLimit=0,this.displayedPages=1}getStyles(){return[e.css`
778
+ .ft-filter-level--container {
779
+ display: flex;
780
+ flex-direction: column;
781
+ }
782
+
783
+ .ft-filter-level--container > * {
784
+ padding: 0 10px;
785
+ }
786
+
787
+ .ft-filter-level--go-back {
788
+ flex-shrink: 0;
789
+ text-decoration: none;
790
+ position: relative;
791
+ border-radius: ${gi.borderRadiusM};
792
+ overflow: hidden;
793
+ display: flex;
794
+ align-items: center;
795
+ padding: 4px 4px;
796
+ gap: 4px;
797
+ cursor: pointer;
798
+ color: ${gi.colorOnSurface};
799
+ }
800
+
801
+ .ft-filter-level--go-back:focus {
802
+ outline: none;
803
+ }
804
+
805
+ .ft-filter-level--go-back mwc-icon {
806
+ flex-shrink: 0;
807
+ }
808
+
809
+ .ft-filter-level--go-back ft-typography {
810
+ display: block;
811
+ flex-grow: 1;
812
+ flex-shrink: 0;
813
+ }
814
+
815
+ .ft-filter-level--option {
816
+ display: flex;
817
+ align-items: center;
818
+ max-width: 100%;
819
+ }
820
+
821
+ .ft-filter-level--option ft-button {
822
+ margin-right: -10px;
823
+ flex-shrink: 0;
824
+ }
825
+
826
+ ft-button {
827
+ ${a.setVariable(Ke.color,gi.colorOnSurface)};
828
+ }
829
+
830
+ mwc-formfield {
831
+ flex-shrink: 1;
832
+ flex-grow: 1;
833
+ display: block;
834
+ max-width: calc(100% + 10px);
835
+ margin-left: -10px;
836
+ word-break: break-word;
837
+
838
+ --mdc-theme-secondary: ${gi.colorPrimary};
839
+
840
+ --mdc-radio-unchecked-color: ${gi.colorOnSurfaceMedium};
841
+ --mdc-checkbox-unchecked-color: ${gi.colorOnSurfaceMedium};
842
+ --mdc-checkbox-ink-color: ${gi.colorOnPrimary};
843
+
844
+ --mdc-radio-disabled-color: ${gi.colorOnSurfaceDisabled};
845
+ --mdc-checkbox-disabled-color: ${gi.colorOnSurfaceDisabled};
846
+
847
+ --mdc-theme-on-surface: ${gi.colorPrimary};
848
+
849
+ --mdc-typography-body2-font-family: ${gi.fontFamily};
850
+ --mdc-typography-body2-font-size: ${gi.fontSize};
851
+ --mdc-typography-body2-font-weight: ${gi.fontWeight};
852
+ --mdc-typography-body2-letter-spacing: ${gi.letterSpacing};
853
+ --mdc-typography-body2-line-height: ${gi.lineHeight};
854
+ --mdc-typography-body2-text-transform: ${gi.textTransform};
855
+ --mdc-theme-text-primary-on-background: ${gi.colorOnSurface};
856
+ }
857
+
858
+ .ft-filter--disabled {
859
+ --mdc-theme-text-primary-on-background: ${gi.colorOnSurfaceDisabled};
860
+ }
861
+ `]}get hasHiddenValues(){let t=this.limit;return null!=t&&t<this.options.length}get limit(){return this.displayedValuesLimit>0?this.displayedPages*this.displayedValuesLimit:void 0}get height(){var t,e;return null!==(e=null===(t=this.container)||void 0===t?void 0:t.scrollHeight)&&void 0!==e?e:0}getTemplate(){let t=this.options;this.hideSelectedOptions&&(t=t.filter((t=>!t.selected))),this.filter&&(t=t.filter((t=>t.label.toLowerCase().includes(this.filter.toLowerCase()))));const i=t.slice(0,this.limit);return e.html`
862
+ <div class="ft-filter-level--container ${this.disabled?"ft-filter--disabled":""}">
863
+ ${null==this.parent?null:e.html`
864
+ <div tabindex="0"
865
+ class="ft-filter-level--go-back"
866
+ ?disabled=${this.disabled}
867
+ @keyup=${this.goBackOnKeyPress}
868
+ @click=${this.goBackOnClick}>
869
+ <ft-ripple></ft-ripple>
870
+ <mwc-icon>chevron_left</mwc-icon>
871
+ <ft-typography variant="body2">${this.parent.label}</ft-typography>
872
+ </div>
873
+ `}
874
+ ${o.repeat(i,(t=>t.value),(t=>{var i;return e.html`
875
+ <div class="ft-filter-level--option" part="options">
876
+ ${this.multivalued?this.buildMultiValuedOption(t):this.buildMonoValuedOption(t)}
877
+ ${this.preventNavigation||t.selected||0===(null!==(i=t.subOptions)&&void 0!==i?i:[]).length?e.nothing:e.html`
878
+ <ft-button icon="chevron_right"
879
+ label="${t.label}"
880
+ ?disabled=${this.disabled}
881
+ tooltipPosition="left"
882
+ @click=${()=>this.displayLevel(t)}></ft-button>
883
+ `}
884
+ </div>
885
+ `}))}
886
+ ${i.length<t.length?e.html`
887
+ <ft-button
888
+ class="ft-filter-level--display-more"
889
+ icon="expand_more"
890
+ dense trailingIcon
891
+ @click=${this.displayMore}>
892
+ ${this.moreValuesButtonLabel}
893
+ </ft-button>
894
+ `:e.nothing}
895
+ </div>
896
+ `}goBackOnKeyPress(t){"Enter"!==t.key&&" "!==t.key||this.dispatchEvent(new CustomEvent("go-back",{detail:this.parent}))}goBackOnClick(t){t.stopPropagation(),t.preventDefault(),this.dispatchEvent(new CustomEvent("go-back",{detail:this.parent}))}displayMore(){this.displayedPages++}buildMultiValuedOption(t){var i;return e.html`
897
+ <mwc-formfield label="${t.label}">
898
+ <mwc-checkbox
899
+ reducedTouchTarget
900
+ ?checked=${t.selected}
901
+ ?disabled=${this.disabled}
902
+ ?indeterminate=${Jt(null!==(i=t.subOptions)&&void 0!==i?i:[],(t=>{var e;return null!==(e=t.subOptions)&&void 0!==e?e:[]})).some((t=>t.selected))}
903
+ @change=${e=>this.toggleMultiValuedOption(e,t)}
904
+ ></mwc-checkbox>
905
+ </mwc-formfield>
906
+ `}toggleMultiValuedOption(t,e){var i;Jt(null!==(i=e.subOptions)&&void 0!==i?i:[],(t=>{var e;return null!==(e=t.subOptions)&&void 0!==e?e:[]})).forEach((t=>t.selected=!1)),this.optionsChanged(t,e)}buildMonoValuedOption(t){return e.html`
907
+ <mwc-formfield label="${t.label}">
908
+ <mwc-radio
909
+ reducedTouchTarget
910
+ name="${this.id}"
911
+ ?checked=${t.selected}
912
+ ?disabled=${this.disabled}
913
+ @click=${e=>this.toggleMonoValuedOption(e,t)}
914
+ ></mwc-radio>
915
+ </mwc-formfield>
916
+ `}toggleMonoValuedOption(t,e){this.optionsChanged(t,e)}optionsChanged(t,e){t.stopPropagation(),e.selected=!e.selected,this.dispatchEvent(new CustomEvent("change",{detail:e}))}displayLevel(t){this.dispatchEvent(new CustomEvent("display-level",{detail:t}))}};vi.elementDefinitions={"ft-button":Qe,"ft-ripple":Fe,"ft-typography":Xt,"mwc-checkbox":Te,"mwc-formfield":ci,"mwc-icon":Re,"mwc-radio":mi},bi([i.property({type:String})],vi.prototype,"id",void 0),bi([i.property({type:Object})],vi.prototype,"parent",void 0),bi([i.property({type:Array})],vi.prototype,"options",void 0),bi([i.property({type:Boolean})],vi.prototype,"multivalued",void 0),bi([i.property({type:Boolean})],vi.prototype,"disabled",void 0),bi([i.property({type:Boolean})],vi.prototype,"hideSelectedOptions",void 0),bi([i.property({type:Boolean})],vi.prototype,"preventNavigation",void 0),bi([i.property({type:String})],vi.prototype,"filter",void 0),bi([i.property({type:String})],vi.prototype,"moreValuesButtonLabel",void 0),bi([i.property({type:Number})],vi.prototype,"displayedValuesLimit",void 0),bi([i.query(".ft-filter-level--container")],vi.prototype,"container",void 0),bi([i.state()],vi.prototype,"displayedPages",void 0),vi=bi([a.customElement("ft-filter-level")],vi);var xi=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const yi={buttonsColor:a.FtCssVariable.extend("--ft-snap-scroll-buttons-color",a.designSystemVariables.colorPrimary),buttonsZIndex:a.FtCssVariable.create("--ft-snap-scroll-buttons-z-index","COLOR","1"),gap:a.FtCssVariable.create("--ft-snap-scroll-gap","SIZE","0"),colorSurface:a.FtCssVariable.external(a.designSystemVariables.colorSurface,"Design system")};class ki extends CustomEvent{constructor(t,e){super("current-element-change",{detail:{index:t,element:e}})}}let $i=class extends a.FtLitElement{constructor(){super(...arguments),this.horizontal=!1,this.hideScrollbar=!1,this.controls=!1,this.limitSize=!1,this.elements=[],this.currentElement=0,this.withScroll=!1,this.startReached=!0,this.endReached=!0,this.offsetAttribute="offsetTop",this.scrollAttribute="scrollTop",this.sizeAttribute="clientHeight",this.scrollSizeAttribute="scrollHeight",this.updateScrollCallback=()=>this.onScroll(),this.resizeObserver=new ResizeObserver((()=>this.scheduleUpdateScroll())),this.scrollDebouncer=new a.Debouncer(200),this.updateScrollDebouncer=new a.Debouncer(100)}getStyles(){return e.css`
917
+ .ft-snap-scroll {
918
+ box-sizing: border-box;
919
+ position: relative;
920
+ display: flex;
921
+
922
+ --ft-snap-scroll-transparent-color: transparent;
923
+ }
924
+
925
+ .ft-snap-scroll.ft-snap-scroll--safari-fix {
926
+ /* Safari handles "transparent" as rgba(0,0,0,0) so it's ugly in linear-gradiant with default --ft-color-surface */
927
+ /* this value should be overridden with --ft-color-surface with alpha set to 0 when needed */
928
+ --ft-snap-scroll-transparent-color: rgba(255, 255, 255, 0);
929
+ }
930
+
931
+ .ft-snap-scroll,
932
+ .ft-snap-scroll--content {
933
+ overflow: hidden;
934
+ }
935
+
936
+ .ft-snap-scroll--limit-size,
937
+ .ft-snap-scroll--limit-size .ft-snap-scroll--content {
938
+ width: 100%;
939
+ height: 100%;
940
+ }
941
+
942
+ .ft-snap-scroll--content {
943
+ flex-grow: 1;
944
+ flex-shrink: 1;
945
+ box-sizing: border-box;
946
+ scroll-snap-align: start;
947
+ display: flex;
948
+ flex-wrap: nowrap;
949
+ align-items: flex-start;
950
+ justify-content: flex-start;
951
+ gap: ${yi.gap};
952
+ }
953
+
954
+ .ft-snap-scroll--hide-scrollbar .ft-snap-scroll--content::-webkit-scrollbar {
955
+ display: none;
956
+ }
957
+
958
+ .ft-snap-scroll--hide-scrollbar .ft-snap-scroll--content {
959
+ -ms-overflow-style: none;
960
+ scrollbar-width: none;
961
+ }
962
+
963
+ .ft-snap-scroll--content::slotted(*) {
964
+ flex-shrink: 0;
965
+ flex-grow: 1;
966
+ max-height: 100%;
967
+ max-width: 100%;
968
+ }
969
+
970
+ .ft-snap-scroll--horizontal,
971
+ .ft-snap-scroll--horizontal .ft-snap-scroll--content {
972
+ width: 100%;
973
+ }
974
+
975
+ .ft-snap-scroll--vertical,
976
+ .ft-snap-scroll--vertical .ft-snap-scroll--content {
977
+ height: 100%;
978
+ }
979
+
980
+ .ft-snap-scroll--horizontal .ft-snap-scroll--content {
981
+ flex-direction: row;
982
+ overflow-x: auto;
983
+ }
984
+
985
+ .ft-snap-scroll--vertical .ft-snap-scroll--content {
986
+ flex-direction: column;
987
+ overflow-y: auto;
988
+ }
989
+
990
+ .ft-snap-scroll--previous,
991
+ .ft-snap-scroll--next {
992
+ position: absolute;
993
+ display: flex;
994
+ z-index: ${yi.buttonsZIndex};
995
+ opacity: 1;
996
+ transition: background-color .5s ease-in-out, opacity .5s ease-in-out, z-index .5s ease-in-out;
997
+ ${a.setVariable(Ke.backgroundColor,"transparent")};
998
+ ${a.setVariable(Ke.color,yi.buttonsColor)};
999
+ }
1000
+
1001
+ .ft-snap-scroll--previous[hidden],
1002
+ .ft-snap-scroll--next[hidden] {
1003
+ z-index: -1;
1004
+ opacity: 0;
1005
+ }
1006
+
1007
+ .ft-snap-scroll--horizontal .ft-snap-scroll--previous {
1008
+ top: 0;
1009
+ left: -1px;
1010
+ bottom: 0;
1011
+ background: linear-gradient(to right, ${yi.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
1012
+ }
1013
+
1014
+ .ft-snap-scroll--vertical .ft-snap-scroll--previous {
1015
+ top: -1px;
1016
+ left: 0;
1017
+ right: 0;
1018
+ background: linear-gradient(to bottom, ${yi.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
1019
+ }
1020
+
1021
+ .ft-snap-scroll--horizontal .ft-snap-scroll--next {
1022
+ top: 0;
1023
+ right: -1px;
1024
+ bottom: 0;
1025
+ background: linear-gradient(to left, ${yi.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
1026
+ }
1027
+
1028
+ .ft-snap-scroll--vertical .ft-snap-scroll--next {
1029
+ left: 0;
1030
+ right: 0;
1031
+ bottom: -1px;
1032
+ background: linear-gradient(to top, ${yi.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
1033
+ }
1034
+
1035
+ .ft-snap-scroll--horizontal .ft-snap-scroll--previous:hover,
1036
+ .ft-snap-scroll--horizontal .ft-snap-scroll--next:hover,
1037
+ .ft-snap-scroll--vertical .ft-snap-scroll--previous:hover,
1038
+ .ft-snap-scroll--vertical .ft-snap-scroll--next:hover {
1039
+ background-color: ${yi.colorSurface};
1040
+ }
1041
+ `}scrollToIndex(t){this.scrollToElement(this.elements[t])}scrollIndexIntoView(t){let e=this.elements[t];if(e){const t=this.contentSlot[this.scrollAttribute]+this.contentSlot[this.sizeAttribute]-this.nextSize,i=this.contentSlot[this.scrollAttribute]+this.prevSize;(e[this.offsetAttribute]<i||e[this.offsetAttribute]+e[this.sizeAttribute]>t)&&this.scrollToElement(e)}}previous(){this.scrollToElement(this.elements[Math.max(0,this.closestIndexFromStart()-1)])}next(){this.scrollToElement(this.elements[Math.min(this.closestIndexFromStart()+1,this.elements.length-1)])}getTemplate(){const t=r.classMap({"ft-snap-scroll":!0,"ft-snap-scroll--horizontal":this.horizontal,"ft-snap-scroll--vertical":!this.horizontal,"ft-snap-scroll--hide-scrollbar":this.hideScrollbar,"ft-snap-scroll--limit-size":this.limitSize,"ft-snap-scroll--safari-fix":a.isSafari}),i=this.controls&&this.withScroll;return e.html`
1042
+ <div part="container" class="${t}">
1043
+ <ft-button
1044
+ class="ft-snap-scroll--previous"
1045
+ part="controls"
1046
+ primary
1047
+ icon="${this.horizontal?"arrow_back_ios_new":"expand_less"}"
1048
+ ?hidden=${!i||this.startReached}
1049
+ ?disabled=${!i||this.startReached}
1050
+ @click=${this.previous}
1051
+ ></ft-button>
1052
+ <slot class="ft-snap-scroll--content"
1053
+ part="content"
1054
+ @slotchange=${this.onSlotChange}></slot>
1055
+ <ft-button
1056
+ class="ft-snap-scroll--next"
1057
+ part="controls"
1058
+ primary
1059
+ icon="${this.horizontal?"arrow_forward_ios":"expand_more"}"
1060
+ ?hidden=${!i||this.endReached}
1061
+ ?disabled=${!i||this.endReached}
1062
+ @click=${this.next}
1063
+ ></ft-button>
1064
+ </div>
1065
+ `}updated(t){var e;super.updated(t),this.contentSlot&&(this.resizeObserver.observe(this.contentSlot),this.listenedContainer!==this.contentSlot&&(this.listenedContainer&&this.listenedContainer.removeEventListener("scroll",this.updateScrollCallback),this.listenedContainer=this.contentSlot,null===(e=this.listenedContainer)||void 0===e||e.addEventListener("scroll",this.updateScrollCallback))),t.has("horizontal")&&(this.horizontal?(this.offsetAttribute="offsetLeft",this.scrollAttribute="scrollLeft",this.sizeAttribute="clientWidth",this.scrollSizeAttribute="scrollWidth"):(this.offsetAttribute="offsetTop",this.scrollAttribute="scrollTop",this.sizeAttribute="clientHeight",this.scrollSizeAttribute="scrollHeight")),t.has("currentElement")&&this.dispatchEvent(new ki(this.currentElement,this.elements[this.currentElement]))}onScroll(){this.scrollDebouncer.run((()=>this.snap())),this.scheduleUpdateScroll()}snap(){let t=this.closestElementFromStart();if(null!=t){const e=this.getDistanceFromStart(t);Math.abs(this.contentSlot[this.scrollAttribute]+this.contentSlot[this.sizeAttribute]-this.contentSlot[this.scrollSizeAttribute])<e&&(t=this.lastElement),this.scrollToElement(t)}}scrollToElement(t){var e,i;t&&(this.horizontal?null===(e=this.contentSlot)||void 0===e||e.scrollTo({left:this.getOffset(t)-this.controlsSize,behavior:"smooth"}):null===(i=this.contentSlot)||void 0===i||i.scrollTo({top:this.getOffset(t)-this.controlsSize,behavior:"smooth"}),this.currentElement=this.elements.indexOf(t))}onSlotChange(){var t,e;this.elements=null!==(e=null===(t=this.contentSlot)||void 0===t?void 0:t.assignedElements().map((t=>t)))&&void 0!==e?e:[],this.scheduleUpdateScroll()}closestElementFromStart(){return this.elements[this.closestIndexFromStart()]}closestIndexFromStart(){let t=-1;for(let e=0;e<this.elements.length;e++)(t<0||this.getDistanceFromStart(this.elements[e])<this.getDistanceFromStart(this.elements[t]))&&(t=e);return t}scheduleUpdateScroll(){this.updateScrollDebouncer.run((()=>this.updateScroll()))}updateScroll(){null!=this.contentSlot?(this.withScroll=this.contentSlot[this.scrollSizeAttribute]>this.contentSlot[this.sizeAttribute],this.startReached=0===this.contentSlot[this.scrollAttribute],this.endReached=this.contentSlot[this.scrollAttribute]+this.contentSlot[this.sizeAttribute]+1>=this.contentSlot[this.scrollSizeAttribute]):(this.withScroll=!1,this.startReached=!0,this.endReached=!0)}get lastElement(){return this.elements[this.elements.length-1]}get firstElementOffset(){let t=this.elements[0];return t?t[this.offsetAttribute]:0}get controlsSize(){return this.controls?36:0}get nextSize(){return this.endReached?0:this.controlsSize}get prevSize(){return this.startReached?0:this.controlsSize}getOffset(t){return t[this.offsetAttribute]-this.firstElementOffset}getDistanceFromStart(t){const e=t===this.elements[0]?0:this.controlsSize;return Math.abs(this.getOffset(t)-this.contentSlot[this.scrollAttribute]-e)}};$i.elementDefinitions={"ft-button":Qe},xi([i.property({type:Boolean})],$i.prototype,"horizontal",void 0),xi([i.property({type:Boolean})],$i.prototype,"hideScrollbar",void 0),xi([i.property({type:Boolean})],$i.prototype,"controls",void 0),xi([i.property({type:Boolean})],$i.prototype,"limitSize",void 0),xi([i.state()],$i.prototype,"elements",void 0),xi([i.state()],$i.prototype,"currentElement",void 0),xi([i.state()],$i.prototype,"withScroll",void 0),xi([i.state()],$i.prototype,"startReached",void 0),xi([i.state()],$i.prototype,"endReached",void 0),xi([i.query(".ft-snap-scroll--content")],$i.prototype,"contentSlot",void 0),$i=xi([a.customElement("ft-snap-scroll")],$i);var _i=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};let wi=class extends a.FtLitElement{constructor(){super(...arguments),this.label="",this.value=null,this.selected=!1,this.subOptions=[]}getTemplate(){return e.html`
1066
+ <slot @slotchange=${this.updateSubOptionsFromSlot}></slot>
1067
+ `}updateSubOptionsFromSlot(t){const e=t.composedPath()[0];this.subOptions=e.assignedElements().map((t=>t))}};wi.elementDefinitions={},_i([i.property({type:String})],wi.prototype,"label",void 0),_i([i.property({type:Object,converter:t=>t})],wi.prototype,"value",void 0),_i([i.property({type:Boolean,reflect:!0})],wi.prototype,"selected",void 0),_i([i.property({type:Object})],wi.prototype,"subOptions",void 0),wi=_i([a.customElement("ft-filter-option")],wi);var zi=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const Si=a.FtCssVariable.external(a.designSystemVariables.colorOutline,"Design system"),Oi=a.FtCssVariable.external(a.designSystemVariables.colorOnSurface,"Design system"),Ci=a.FtCssVariable.external(a.designSystemVariables.colorOnSurfaceMedium,"Design system"),Bi=a.FtCssVariable.external(a.designSystemVariables.colorPrimary,"Design system"),Ti=a.FtCssVariable.external(a.designSystemVariables.colorSurface,"Design system"),Ei=a.FtCssVariable.external(a.designSystemVariables.transitionDuration,"Design system"),Ai=a.FtCssVariable.external(a.designSystemVariables.transitionTimingFunction,"Design system");class Fi extends CustomEvent{constructor(t){super("change",{detail:t})}}let Ii=class extends a.FtLitElement{constructor(){super(...arguments),this.id="",this.label="",this.filterPlaceHolder="Filter {0}",this.clearButtonLabel="Clear",this.moreValuesButtonLabel="More",this.options=[],this.multivalued=!1,this.disabled=!1,this.raiseSelectedOptions=!1,this.displayedValuesLimit=0,this.withScroll=!1,this.filter="",this.displayedLevels=[],this.scrollResizeObserver=new ResizeObserver((()=>this.updateScroll())),this.levelsScrollDebouncer=new a.Debouncer(300)}getStyles(){return[qt,e.css`
1068
+ :host {
1069
+ display: flex;
1070
+ max-height: 100%;
1071
+ max-width: 100%;
1072
+ }
1073
+
1074
+ .ft-filter--container {
1075
+ flex-grow: 1;
1076
+ display: flex;
1077
+ flex-direction: column;
1078
+ max-height: 100%;
1079
+ max-width: 100%;
1080
+ color: ${Oi};
1081
+ background: ${Ti};
1082
+ }
1083
+
1084
+ .ft-filter--header {
1085
+ display: flex;
1086
+ flex-wrap: wrap;
1087
+ gap: 4px;
1088
+ flex-shrink: 0;
1089
+ padding: 0 10px;
1090
+ margin-bottom: 8px;
1091
+ ${a.setVariable(Q.fontSize,"14px")};
1092
+ }
1093
+
1094
+ .ft-filter--header ft-button {
1095
+ flex-shrink: 0;
1096
+ margin-left: auto;
1097
+ ${a.setVariable(Ke.iconSize,"18px")};
1098
+ }
1099
+
1100
+ .ft-filter--label {
1101
+ display: block;
1102
+ flex-shrink: 1;
1103
+ flex-grow: 1;
1104
+ word-break: break-word;
1105
+ ${a.setVariable(Q.lineHeight,"22px")};
1106
+ ${a.setVariable(Q.fontWeight,"bold")};
1107
+ }
1108
+
1109
+ .ft-filter--filter {
1110
+ flex-shrink: 0;
1111
+ display: flex;
1112
+ margin: 0;
1113
+ margin-bottom: 8px;
1114
+ padding: 0 10px;
1115
+ overflow: hidden;
1116
+ height: 32px;
1117
+ transition: height ${Ei} ${Ai},
1118
+ margin ${Ei} ${Ai};
1119
+ transition-delay: 500ms;
1120
+ }
1121
+
1122
+ .ft-filter--filter[hidden] {
1123
+ height: 0;
1124
+ margin-bottom: 0;
1125
+ }
1126
+
1127
+ input {
1128
+ display: block;
1129
+ width: 100%;
1130
+ border-radius: 4px;
1131
+ border: 1px solid ${Si};
1132
+ padding: 4px;
1133
+ background-color: ${Ti};
1134
+ color: ${Ci};
1135
+ outline-color: ${Bi};
1136
+ }
1137
+
1138
+ .ft-filter--values {
1139
+ flex-grow: 1;
1140
+ flex-shrink: 1;
1141
+ max-width: 100%;
1142
+ overflow-x: hidden;
1143
+ overflow-y: auto;
1144
+ }
1145
+
1146
+ .ft-filter--separator {
1147
+ border-top: 1px solid ${Si};
1148
+ margin: 4px 10px;
1149
+ }
1150
+
1151
+ .ft-filter--levels-container {
1152
+ position: relative;
1153
+ overflow: hidden;
1154
+ }
1155
+
1156
+ .ft-filter--levels {
1157
+ position: relative;
1158
+ overflow: hidden;
1159
+ }
1160
+
1161
+ ft-filter-level {
1162
+ width: 100%;
1163
+ }
1164
+
1165
+ .ft-filter--level-left {
1166
+ height: 0;
1167
+ }
1168
+
1169
+ slot {
1170
+ display: none;
1171
+ }
1172
+ `]}get flatOptions(){return Jt(this.options,(t=>{var e;return null!==(e=t.subOptions)&&void 0!==e?e:[]}))}getTemplate(){var t,i;const o=this.flatOptions.some((t=>t.selected));let r=this.withScroll||this.filter||null!==(i=null===(t=this.lastLevel)||void 0===t?void 0:t.hasHiddenValues)&&void 0!==i&&i;return e.html`
1173
+ <div class="ft-filter--container ${this.disabled?"ft-filter--disabled":""}"
1174
+ part="container">
1175
+ ${this.label||o?e.html`
1176
+ <div class="ft-filter--header" part="header">
1177
+ <ft-typography class="ft-filter--label" variant="overline" part="label">${this.label}
1178
+ </ft-typography>
1179
+ ${o?e.html`
1180
+ <ft-button icon="close" dense @click=${this.clear} part="clear-button">
1181
+ ${this.clearButtonLabel}
1182
+ </ft-button>
1183
+ `:null}
1184
+ </div>
1185
+ `:null}
1186
+ <div class="ft-filter--filter" ?hidden=${!r}>
1187
+ <input type="search"
1188
+ part="input"
1189
+ class="ft-typography--caption"
1190
+ ?disabled=${!r}
1191
+ placeholder="${this.filterPlaceHolder.replace("{0}",this.label)}"
1192
+ @keyup=${this.onFilterChange}>
1193
+ </div>
1194
+ <div class="ft-filter--values">
1195
+ ${this.renderLevels()}
1196
+ </div>
1197
+ <slot @slotchange=${this.updateOptionsFromSlot}></slot>
1198
+ </div>
1199
+ `}update(t){if(super.update(t),t.has("options")){const t=new Set(this.flatOptions.map((t=>t.value)));this.displayedLevels=this.displayedLevels.filter((e=>t.has(e)))}}contentAvailableCallback(t){var e,i;super.contentAvailableCallback(t),this.valuesContainer&&this.scrollResizeObserver.observe(this.valuesContainer),this.container&&this.scrollResizeObserver.observe(this.container),t.has("options")&&(this.updateScroll(),null===(e=this.levelsContainer)||void 0===e||e.scrollToIndex(this.displayedLevels.length)),t.has("slideIn")&&this.slideIn&&setTimeout((()=>{var t;null===(t=this.levelsContainer)||void 0===t||t.next(),this.slideIn=void 0}),0),t.has("slideOut")&&this.slideOut&&(null===(i=this.levelsContainer)||void 0===i||i.previous(),setTimeout((()=>{this.displayedLevels.pop(),this.slideOut=void 0}),300))}renderLevels(){const t=this.flatOptions,i=t.filter((t=>t.selected)),o=this.slideIn||this.slideOut?this.displayedLevels.length-2:this.displayedLevels.length-1,r=o<0?"ft-filter--level-center":"ft-filter--level-left";return e.html`
1200
+ ${this.raiseSelectedOptions&&i.length>0?e.html`
1201
+ <ft-filter-level
1202
+ id="${this.id}"
1203
+ ?multivalued=${this.multivalued}
1204
+ ?disabled=${this.disabled}
1205
+ preventNavigation
1206
+ .options=${i}
1207
+ @change=${this.onChange}
1208
+ part="selected-values"
1209
+ ></ft-filter-level>
1210
+ <div class="ft-filter--separator">
1211
+ `:null}
1212
+ <ft-snap-scroll horizontal hideScrollbar
1213
+ class="ft-filter--levels"
1214
+ @current-element-change=${t=>this.levelsScrollDebouncer.run((()=>{for(;t.detail.index<this.displayedLevels.length;)this.displayedLevels.pop();this.requestUpdate()}))}>
1215
+ ${this.renderLevel(r,this.options)}
1216
+ ${this.displayedLevels.map((e=>t.find((t=>t.value===e)))).map(((t,e)=>{var i;const r=(null==t?void 0:t.value)===this.slideIn||(null==t?void 0:t.value)===this.slideOut?"ft-filter--level-right":e===o?"ft-filter--level-center":"ft-filter--level-left";return this.renderLevel(r,null!==(i=null==t?void 0:t.subOptions)&&void 0!==i?i:[],t)}))}
1217
+ </ft-snap-scroll>
1218
+ `}renderLevel(t,i,o){return e.html`
1219
+ <ft-filter-level
1220
+ class="${t}"
1221
+ id="${this.id}"
1222
+ filter="${this.filter}"
1223
+ moreValuesButtonLabel="${this.moreValuesButtonLabel}"
1224
+ ?multivalued=${this.multivalued}
1225
+ ?disabled=${this.disabled||"ft-filter--level-center"!==t}
1226
+ ?hideSelectedOptions=${this.raiseSelectedOptions}
1227
+ .parent=${o}
1228
+ .options=${i}
1229
+ .displayedValuesLimit=${this.displayedValuesLimit}
1230
+ @change=${this.onChange}
1231
+ @go-back=${this.goBack}
1232
+ @display-level=${this.onDisplayLevel}
1233
+ part="values"
1234
+ ></ft-filter-level>
1235
+ `}goBack(t){this.slideOut=t.detail.value}onDisplayLevel(t){this.displayedLevels.push(t.detail.value),this.slideIn=t.detail.value}clear(){if(this.flatOptions.forEach((t=>t.selected=!1)),this.displayedLevels.length>0){let t=this.displayedLevels[this.displayedLevels.length-1];this.displayedLevels=[t],this.slideOut=t}this.optionsChanged()}onChange(t){if(t.stopPropagation(),!this.multivalued){const e=i=>{var o;i.value!==t.detail.value&&(i.selected=!1),null===(o=i.subOptions)||void 0===o||o.forEach(e)};this.options.forEach(e)}this.optionsChanged()}optionsChanged(){var t;const e=this.flatOptions.filter((t=>t.selected)).map((t=>t.value));this.dispatchEvent(new Fi(e)),this.requestUpdate(),null===(t=this.levels)||void 0===t||t.forEach((t=>t.requestUpdate()))}updateOptionsFromSlot(t){const e=t.composedPath()[0];this.options=e.assignedElements().map((t=>t))}onFilterChange(t){const e=t.composedPath()[0];this.filter=e.value}updateScroll(){this.valuesContainer&&(this.withScroll=this.valuesContainer.scrollHeight>this.valuesContainer.clientHeight)}};var Ri,Di;Ii.elementDefinitions={"ft-button":Qe,"ft-filter-level":vi,"ft-snap-scroll":$i,"ft-typography":Xt},zi([i.property({type:String})],Ii.prototype,"id",void 0),zi([i.property({type:String})],Ii.prototype,"label",void 0),zi([i.property({type:String})],Ii.prototype,"filterPlaceHolder",void 0),zi([i.property({type:String})],Ii.prototype,"clearButtonLabel",void 0),zi([i.property({type:String})],Ii.prototype,"moreValuesButtonLabel",void 0),zi([i.property({type:Array})],Ii.prototype,"options",void 0),zi([i.property({type:Boolean})],Ii.prototype,"multivalued",void 0),zi([i.property({type:Boolean})],Ii.prototype,"disabled",void 0),zi([i.property({type:Boolean})],Ii.prototype,"raiseSelectedOptions",void 0),zi([i.property({type:Number})],Ii.prototype,"displayedValuesLimit",void 0),zi([i.query(".ft-filter--container")],Ii.prototype,"container",void 0),zi([i.query(".ft-filter--values")],Ii.prototype,"valuesContainer",void 0),zi([i.query(".ft-filter--levels")],Ii.prototype,"levelsContainer",void 0),zi([i.query(".ft-filter--levels ft-filter-level:last-child")],Ii.prototype,"lastLevel",void 0),zi([i.queryAll(".ft-filter--levels ft-filter-level")],Ii.prototype,"levels",void 0),zi([i.state()],Ii.prototype,"withScroll",void 0),zi([i.state()],Ii.prototype,"filter",void 0),zi([i.state()],Ii.prototype,"slideIn",void 0),zi([i.state()],Ii.prototype,"slideOut",void 0),Ii=zi([a.customElement("ft-filter")],Ii),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;"}(Ri||(Ri={})),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;"}(Di||(Di={}));const Li=new Map([...["abw"].map((t=>[t,Di.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,Di.AUDIO])),...["avi"].map((t=>[t,Di.AVI])),...["chm","xhs"].map((t=>[t,Di.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,Di.CODE])),...["csv"].map((t=>[t,Di.CSV])),...["dita","ditamap","ditaval"].map((t=>[t,Di.DITA])),...["epub"].map((t=>[t,Di.EPUB])),...["xls","xlt","xlm","xlsx","xlsm","xltx","xltm","xlsb","xla","xlam","xll","xlw"].map((t=>[t,Di.EXCEL])),...["flac"].map((t=>[t,Di.FLAC])),...["gif"].map((t=>[t,Di.GIF])),...["gzip","x-gzip","giz","gz","tgz"].map((t=>[t,Di.GZIP])),...["html","htm","xhtml"].map((t=>[t,Di.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,Di.IMAGE])),...["jpeg","jpg","jpe"].map((t=>[t,Di.JPEG])),...["json"].map((t=>[t,Di.JSON])),...["m4a","m4p"].map((t=>[t,Di.M4A])),...["mov","qt"].map((t=>[t,Di.MOV])),...["mp3"].map((t=>[t,Di.MP3])),...["mp4","m4v"].map((t=>[t,Di.MP4])),...["ogg","oga"].map((t=>[t,Di.OGG])),...["pdf","ps"].map((t=>[t,Di.PDF])),...["png"].map((t=>[t,Di.PNG])),...["ppt","pot","pps","pptx","pptm","potx","potm","ppam","ppsx","ppsm","sldx","sldm"].map((t=>[t,Di.POWERPOINT])),...["rar"].map((t=>[t,Di.RAR])),...["stp"].map((t=>[t,Di.STP])),...["txt","rtf","md","mdown"].map((t=>[t,Di.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,Di.VIDEO])),...["wav"].map((t=>[t,Di.WAV])),...["wma"].map((t=>[t,Di.WMA])),...["doc","dot","docx","docm","dotx","dotm","docb"].map((t=>[t,Di.WORD])),...["xml","xsl","rdf"].map((t=>[t,Di.XML])),...["yaml","yml","x-yaml"].map((t=>[t,Di.YAML])),...["zip"].map((t=>[t,Di.ZIP]))]),ji=new Map([["application/msword","application/doc"],["application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/docx"],["application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/dotx"],["application/vnd.ms-word.document.macroEnabled.12","application/docm"],["application/vnd.ms-word.template.macroEnabled.12","application/dotm"],["application/vnd.ms-excel","application/xls"],["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/xlsx"],["application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/xltx"],["application/vnd.ms-excel.sheet.macroEnabled.12","application/xlsm"],["application/vnd.ms-excel.template.macroEnabled.12","application/xltm"],["application/vnd.ms-excel.addin.macroEnabled.12","application/xlam"],["application/vnd.ms-excel.sheet.binary.macroEnabled.12","application/xlsb"],["application/vnd.ms-powerpoint","application/ppt"],["application/vnd.openxmlformats-officedocument.presentationml.presentation","application/pptx"],["application/vnd.openxmlformats-officedocument.presentationml.template","application/potx"],["application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/ppsx"],["application/vnd.ms-powerpoint.addin.macroEnabled.12","application/ppam"],["application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/pptm"],["application/vnd.ms-powerpoint.template.macroEnabled.12","application/potm"],["application/vnd.ms-powerpoint.slideshow.macroEnabled.12","application/ppsm"],["application/vnd.ms-access","application/mdb"]]);var Mi,Pi=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};!function(t){t.fluid_topics="fluid-topics",t.file_format="file-format"}(Mi||(Mi={}));const Ni=a.FtCssVariable.create("--ft-icon-font-size","SIZE","24px"),Hi=a.FtCssVariable.extend("--ft-icon-fluid-topics-font-family",a.FtCssVariable.create("--ft-icon-font-family","UNKNOWN","ft-icons")),Ui=a.FtCssVariable.extend("--ft-icon-file-format-font-family",a.FtCssVariable.create("--ft-icon-font-family","UNKNOWN","ft-mime")),Vi=e.css`
1236
+ .ft-icon--fluid-topics {
1237
+ font-family: ${Hi}, ft-icons, fticons, sans-serif;
1238
+ font-size: ${Ni};
1239
+ line-height: 1;
1240
+ font-weight: normal;
1241
+ text-transform: none;
1242
+ font-style: normal;
1243
+ font-variant: normal;
1244
+ speak: none;
1245
+ text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
1246
+ text-rendering: auto;
1247
+ -webkit-font-smoothing: antialiased;
1248
+ -moz-osx-font-smoothing: grayscale;
1249
+ }
1250
+ `,Zi=e.css`
1251
+ .ft-icon--file-format {
1252
+ font-family: ${Ui}, ft-mime, sans-serif;
1253
+ font-size: ${Ni};
1254
+ line-height: 1;
1255
+ font-weight: normal;
1256
+ text-transform: none;
1257
+ font-style: normal;
1258
+ font-variant: normal;
1259
+ speak: none;
1260
+ text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
1261
+ text-rendering: auto;
1262
+ -webkit-font-smoothing: antialiased;
1263
+ -moz-osx-font-smoothing: grayscale;
1264
+ }
1265
+ `;let qi=class extends a.FtLitElement{constructor(){super(...arguments),this.variant=Mi.fluid_topics}getStyles(){return[Vi,Zi,e.css`
1266
+ :host, i.ft-icon {
1267
+ display: inline-block;
1268
+ width: ${Ni};
1269
+ height: ${Ni};
1270
+ text-align: center;
1271
+ }
1272
+ `]}getTemplate(){return e.html`
1273
+ <slot @slotchange=${()=>this.requestUpdate()} hidden></slot>
1274
+ <i class="ft-icon ${"ft-icon--"+this.variant}">${n.unsafeHTML(this.getIcon())}</i>
1275
+ `}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;return this.variant===Mi.file_format?null!==(t=Di[this.textContent.toUpperCase()])&&void 0!==t?t:this.textContent:null!==(e=Ri[this.textContent.toUpperCase()])&&void 0!==e?e:this.textContent}};qi.elementDefinitions={},Pi([i.property()],qi.prototype,"variant",void 0),Pi([i.query("slot")],qi.prototype,"slottedContent",void 0),qi=Pi([a.customElement("ft-icon")],qi);var Gi=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const Ki=a.FtCssVariable.create("--ft-accordion-toggle-horizontal-spacing","SIZE","16px"),Wi=a.FtCssVariable.create("--ft-accordion-toggle-vertical-spacing","SIZE","16px"),Xi=a.FtCssVariable.external(a.designSystemVariables.colorOutline,"Design system");let Ji=class extends a.FtLitElement{constructor(){super(...arguments),this.icon="",this.label="",this.active=!1}getStyles(){return e.css`
1276
+ .ft-accordion-item {
1277
+ display: flex;
1278
+ flex-direction: column;
1279
+ }
1280
+
1281
+ .ft-accordion-item--toggle {
1282
+ flex-shrink: 0;
1283
+ flex-grow: 0;
1284
+ position: relative;
1285
+ display: flex;
1286
+ align-items: center;
1287
+ cursor: pointer;
1288
+ padding: ${Wi} ${Ki};
1289
+ gap: calc(${Ki} / 2);
1290
+ outline: none;
1291
+ }
1292
+
1293
+ .ft-accordion-item--label {
1294
+ flex-grow: 1;
1295
+ flex-shrink: 1;
1296
+ display: block;
1297
+ }
1298
+
1299
+ .ft-accordion-item--content {
1300
+ box-sizing: border-box;
1301
+ flex-shrink: 1;
1302
+ flex-grow: 1;
1303
+ overflow: hidden;
1304
+ height: 0;
1305
+ }
1306
+
1307
+ .ft-accordion-item--active .ft-accordion-item--content {
1308
+ height: initial;
1309
+ overflow: visible;
1310
+ padding: ${Wi} ${Ki};
1311
+ }
1312
+
1313
+ .ft-accordion-item--separator {
1314
+ border-bottom: 1px solid ${Xi};
1315
+ }
1316
+ `}getTemplate(){return e.html`
1317
+ <div class="ft-accordion-item ${this.active?"ft-accordion-item--active":""}">
1318
+ <div class="ft-accordion-item--toggle"
1319
+ part="toggle"
1320
+ @click=${()=>this.active=!this.active}
1321
+ @keydown=${this.onToggleKeyDown}
1322
+ tabindex="0">
1323
+ <ft-ripple part="toggle-ripple"></ft-ripple>
1324
+ ${this.icon?e.html`
1325
+ <mwc-icon>${this.icon}</mwc-icon>
1326
+ `:null}
1327
+ ${this.label?e.html`
1328
+ <ft-typography class="ft-accordion-item--label" variant="body1" part="label">${this.label}
1329
+ </ft-typography>
1330
+ `:e.html`
1331
+ <slot class="ft-accordion-item--label" name="toggle" part="label"></slot>
1332
+ `}
1333
+ <mwc-icon>${this.active?"expand_less":"expand_more"}</mwc-icon>
1334
+ </div>
1335
+ <div class="ft-accordion-item--content" part="content" @focusin=${()=>this.active=!0}>
1336
+ <slot></slot>
1337
+ </div>
1338
+ <div class="ft-accordion-item--separator" part="separator"></div>
1339
+ </div>
1340
+ `}update(t){super.update(t),t.has("active")&&this.active&&this.dispatchEvent(new Event("activated",{composed:!0,bubbles:!0}))}onToggleKeyDown(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.active=!this.active)}};Ji.elementDefinitions={"ft-ripple":Fe,"ft-typography":Xt,"mwc-icon":Re},Gi([i.property({type:String})],Ji.prototype,"icon",void 0),Gi([i.property({type:String})],Ji.prototype,"label",void 0),Gi([i.property({type:Boolean,reflect:!0})],Ji.prototype,"active",void 0),Ji=Gi([a.customElement("ft-accordion-item")],Ji);var Yi=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};let Qi=class extends a.FtLitElement{constructor(){super(...arguments),this.multi=!1}getStyles(){return e.css`
1341
+ .ft-accordion {
1342
+ box-sizing: border-box;
1343
+ }
1344
+ `}getTemplate(){return e.html`
1345
+ <div class="ft-accordion">
1346
+ <slot @activated=${this.onChange}></slot>
1347
+ </div>
1348
+ `}onChange(t){t.stopPropagation(),this.multi||this.content.assignedElements().forEach((e=>e.active=e===t.target))}};Qi.elementDefinitions={},Yi([i.property({type:Boolean})],Qi.prototype,"multi",void 0),Yi([i.query("slot")],Qi.prototype,"content",void 0),Qi=Yi([a.customElement("ft-accordion")],Qi);var to=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const eo=a.FtCssVariable.extend("--ft-chip-color",a.designSystemVariables.colorOnSurface),io={backgroundColor:a.FtCssVariable.extend("--ft-chip-background-color",a.designSystemVariables.colorSurface),color:eo,fontSize:a.FtCssVariable.extend("--ft-chip-font-size",zt.fontSize),iconSize:a.FtCssVariable.create("--ft-chip-icon-size","SIZE","18px"),rippleColor:a.FtCssVariable.extend("--ft-chip-ripple-color",eo),horizontalPadding:a.FtCssVariable.create("--ft-chip-horizontal-padding","SIZE","6px"),verticalPadding:a.FtCssVariable.create("--ft-chip-vertical-padding","SIZE","6px"),colorOutline:a.FtCssVariable.external(a.designSystemVariables.colorOutline,"Design system"),opacityDisabled:a.FtCssVariable.external(a.designSystemVariables.colorOpacityDisabled,"Design system")},oo=a.FtCssVariable.extend("--ft-chip-highlighted-color",a.FtCssVariable.extend("--ft-chip-color",a.designSystemVariables.colorOnPrimary)),ro={backgroundColor:a.FtCssVariable.extend("--ft-chip-highlighted-background-color",a.FtCssVariable.extend("--ft-chip-background-color",a.designSystemVariables.colorPrimary)),color:oo,rippleColor:a.FtCssVariable.extend("--ft-chip-highlighted-ripple-color",oo)},ao=a.FtCssVariable.create("--ft-chip-dense-horizontal-padding","SIZE","4px"),co=a.FtCssVariable.create("--ft-chip-dense-vertical-padding","SIZE","4px");class no extends CustomEvent{constructor(){super("icon-click")}}let so=class extends a.FtLitElement{constructor(){super(...arguments),this.highlighted=!1,this.removable=!1,this.disabled=!1,this.clickable=!1,this.iconClickable=!1,this.dense=!1,this.multiLine=!1,this.label="",this.icon=void 0,this.trailingIcon=!1}getStyles(){return[a.noTextSelect,e.css`
1349
+ :host {
1350
+ display: inline-block;
1351
+ max-width: 100%;
1352
+ }
1353
+
1354
+ .ft-chip {
1355
+ position: relative;
1356
+ display: flex;
1357
+ justify-content: center;
1358
+ align-items: center;
1359
+ width: 100%;
1360
+ overflow: hidden;
1361
+ box-sizing: border-box;
1362
+
1363
+ --ft-chip-internal-font-size: ${io.fontSize};
1364
+ --ft-chip-internal-line-height: max(20px, calc(var(--ft-chip-internal-font-size) + 2px));
1365
+ --mdc-icon-size: ${io.iconSize};
1366
+ --ft-chip-internal-vertical-padding: ${io.verticalPadding};
1367
+ --ft-chip-internal-horizontal-padding: ${io.horizontalPadding};
1368
+ --ft-chip-internal-icon-padding: 3px;
1369
+ --ft-chip-internal-content-height: max(var(--ft-chip-internal-line-height), var(--mdc-icon-size));
1370
+
1371
+ border: 1px solid ${io.colorOutline};
1372
+ color: ${io.color};
1373
+ ${a.setVariable(Ae.color,io.rippleColor)};
1374
+ border-radius: calc(var(--ft-chip-internal-content-height) / 2 + var(--ft-chip-internal-vertical-padding));
1375
+ padding: calc(var(--ft-chip-internal-vertical-padding) - 1px) calc(var(--ft-chip-internal-horizontal-padding) - 1px);
1376
+ background-color: ${io.backgroundColor};
1377
+ line-height: var(--ft-chip-internal-content-height);
1378
+ }
1379
+
1380
+ .ft-chip--dense {
1381
+ --ft-chip-internal-icon-padding: 3px;
1382
+ --ft-chip-internal-vertical-padding: ${co};
1383
+ --ft-chip-internal-horizontal-padding: ${ao};
1384
+ --ft-chip-internal-line-height: max(16px, calc(var(--ft-chip-internal-font-size) + 2px));
1385
+ }
1386
+
1387
+ .ft-chip--no-content {
1388
+ --ft-chip-internal-horizontal-padding: var(--ft-chip-horizontal-padding, var(--ft-chip-internal-vertical-padding));
1389
+ }
1390
+
1391
+ .ft-chip--disabled {
1392
+ cursor: default;
1393
+ pointer-events: none;
1394
+ filter: grayscale(1);
1395
+ opacity: ${io.opacityDisabled};
1396
+ }
1397
+
1398
+ .ft-chip--highlighted {
1399
+ border: none;
1400
+ padding: var(--ft-chip-internal-vertical-padding) var(--ft-chip-internal-horizontal-padding);
1401
+ background-color: ${ro.backgroundColor};
1402
+ ${a.setVariable(Ae.color,ro.rippleColor)};
1403
+ color: ${ro.color};
1404
+ }
1405
+
1406
+ .ft-chip--clickable {
1407
+ cursor: pointer;
1408
+ -webkit-mask-image: radial-gradient(white, black);
1409
+ }
1410
+
1411
+ .ft-chip:focus {
1412
+ outline: none;
1413
+ }
1414
+
1415
+ .ft-chip--icon-container {
1416
+ display: inline-flex;
1417
+ position: relative;
1418
+ overflow: hidden;
1419
+ border-radius: 100%;
1420
+ justify-content: center;
1421
+ align-items: center;
1422
+ flex-shrink: 0;
1423
+
1424
+ padding: var(--ft-chip-internal-icon-padding);
1425
+ margin: calc((-1) * var(--ft-chip-internal-icon-padding));
1426
+ }
1427
+
1428
+ .ft-chip--label {
1429
+ display: block;
1430
+ margin: 0 var(--ft-chip-internal-horizontal-padding);
1431
+ ${a.setVariable(zt.fontSize,"var(--ft-chip-internal-font-size)")};
1432
+ ${a.setVariable(zt.lineHeight,"var(--ft-chip-internal-content-height)")};
1433
+ }
1434
+
1435
+ .ft-chip--safari-fix .ft-chip--label {
1436
+ margin-right: 0;
1437
+ }
1438
+
1439
+ .ft-chip:not(.ft-chip--multi-line) .ft-chip--label {
1440
+ overflow: hidden;
1441
+ white-space: nowrap;
1442
+ text-overflow: ellipsis;
1443
+ }
1444
+
1445
+ .ft-chip--safari-fix:not(.ft-chip--multi-line) .ft-chip--label:after {
1446
+ content: "\\0000a0";
1447
+ display: inline-block;
1448
+ width: 0;
1449
+ }
1450
+
1451
+ .ft-chip--no-content .ft-chip--label {
1452
+ display: none;
1453
+ }
1454
+
1455
+ .ft-chip--no-content .ft-chip--label + .ft-chip--icon-container {
1456
+ width: var(--ft-chip-internal-content-height);
1457
+ height: var(--ft-chip-internal-content-height);
1458
+ }
1459
+
1460
+ .ft-chip--icon-container:focus {
1461
+ outline: none;
1462
+ }
1463
+
1464
+ .ft-chip:not(.ft-chip--trailing-icon) .ft-chip--icon-container {
1465
+ order: -1;
1466
+ }
1467
+ `]}getTemplate(){const t={"ft-chip":!0,"ft-chip--highlighted":this.highlighted,"ft-chip--disabled":this.disabled,"ft-chip--clickable":this.interactionsOnChip,"ft-chip--trailing-icon":this.trailingIcon||this.removable,"ft-chip--no-content":!this.hasTextContent(),"ft-chip--dense":this.dense,"ft-chip--multi-line":this.multiLine,"ft-chip--safari-fix":a.isSafari};return e.html`
1468
+ <div class="${r.classMap(t)}"
1469
+ aria-label="${this.getLabel()}"
1470
+ tabindex="${this.interactionsOnChip?0:-1}"
1471
+ @keyup=${this.onKeyUp}>
1472
+ <ft-ripple ?disabled=${!this.interactionsOnChip}></ft-ripple>
1473
+ <ft-typography variant="body2" element="span" class="ft-chip--label">
1474
+ <slot @slotchange=${this.onSlotchange}></slot>
1475
+ </ft-typography>
1476
+ ${this.internalIcon?this.renderIcon():null}
1477
+ </div>
1478
+ `}get interactionsOnChip(){return this.clickable&&!this.disabled}get interactionsOnIcon(){return(this.iconClickable||this.removable)&&!this.disabled}renderIcon(){return e.html`
1479
+ <div class="ft-chip--icon-container ft-no-text-select ${this.interactionsOnIcon?"ft-chip--clickable":""}"
1480
+ tabindex="${this.interactionsOnIcon?0:-1}"
1481
+ @click=${this.onIconClick}
1482
+ @keyup=${this.onIconKeyUp}>
1483
+ <ft-ripple ?disabled=${!this.interactionsOnIcon}></ft-ripple>
1484
+ <mwc-icon>${this.internalIcon}</mwc-icon>
1485
+ </div>
1486
+ `}onKeyUp(t){this.interactionsOnChip&&["Enter"," "].includes(t.key)&&t.target.click()}onIconKeyUp(t){this.interactionsOnIcon&&["Enter"," "].includes(t.key)&&(t.stopPropagation(),this.dispatchEvent(new no))}onIconClick(t){this.interactionsOnIcon&&(t.stopPropagation(),this.dispatchEvent(new no))}getLabel(){return this.label||this.textContent}get textContent(){var t,e;return null!==(e=null===(t=this.slottedContent)||void 0===t?void 0:t.assignedNodes().map((t=>t.textContent)).join("").trim())&&void 0!==e?e:""}hasTextContent(){return this.textContent.length>0}onSlotchange(){this.requestUpdate()}get internalIcon(){return this.icon||(this.removable?"cancel":void 0)}};so.elementDefinitions={"ft-ripple":Fe,"ft-typography":Xt,"mwc-icon":Re},to([i.property({type:Boolean})],so.prototype,"highlighted",void 0),to([i.property({type:Boolean})],so.prototype,"removable",void 0),to([i.property({type:Boolean})],so.prototype,"disabled",void 0),to([i.property({type:Boolean})],so.prototype,"clickable",void 0),to([i.property({type:Boolean})],so.prototype,"iconClickable",void 0),to([i.property({type:Boolean})],so.prototype,"dense",void 0),to([i.property({type:Boolean})],so.prototype,"multiLine",void 0),to([i.property({type:String})],so.prototype,"label",void 0),to([i.property({type:String})],so.prototype,"icon",void 0),to([i.property({type:Boolean})],so.prototype,"trailingIcon",void 0),to([i.query("ft-typography slot")],so.prototype,"slottedContent",void 0),so=to([a.customElement("ft-chip")],so);var lo=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};const po={fontSize:a.FtCssVariable.create("--ft-input-label-font-size","SIZE","14px"),raisedFontSize:a.FtCssVariable.create("--ft-input-label-raised-font-size","SIZE","11px"),raisedZIndex:a.FtCssVariable.create("--ft-input-label-outlined-raised-z-index","NUMBER","2"),verticalSpacing:a.FtCssVariable.create("--ft-input-label-vertical-spacing","SIZE","4px"),horizontalSpacing:a.FtCssVariable.create("--ft-input-label-horizontal-spacing","SIZE","12px"),borderColor:a.FtCssVariable.extend("--ft-input-label-border-color",a.designSystemVariables.colorOutline),textColor:a.FtCssVariable.extend("--ft-input-label-text-color",a.designSystemVariables.colorOnSurfaceMedium),disabledTextColor:a.FtCssVariable.extend("--ft-input-label-disabled-text-color",a.designSystemVariables.colorOnSurfaceDisabled),colorSurface:a.FtCssVariable.external(a.designSystemVariables.colorSurface,"Design system"),borderRadiusS:a.FtCssVariable.external(a.designSystemVariables.borderRadiusS,"Design system")};let ho=class extends a.FtLitElement{constructor(){super(...arguments),this.text="",this.raised=!1,this.outlined=!1,this.disabled=!1}getStyles(){return[qt,e.css`
1487
+ .ft-input-label {
1488
+ position: absolute;
1489
+ inset: 0;
1490
+ display: flex;
1491
+ }
1492
+
1493
+ .ft-input-label {
1494
+ border-color: ${po.borderColor};
1495
+ }
1496
+
1497
+ .ft-input-label:before,
1498
+ .ft-input-label:after {
1499
+ content: "";
1500
+ display: flex;
1501
+ border-bottom-width: 1px;
1502
+ border-bottom-style: solid;
1503
+ border-color: inherit;
1504
+ }
1505
+
1506
+ .ft-input-label:before {
1507
+ width: ${po.horizontalSpacing};
1508
+ flex-shrink: 0;
1509
+ }
1510
+
1511
+ .ft-input-label:after {
1512
+ flex-grow: 1;
1513
+ flex-shrink: 1;
1514
+ }
1515
+
1516
+ .ft-input-label--text {
1517
+ display: flex;
1518
+ flex-shrink: 1;
1519
+ position: relative;
1520
+ border-bottom-width: 1px;
1521
+ border-bottom-style: solid;
1522
+ border-color: inherit;
1523
+ color: ${po.textColor};
1524
+ transition: font-size 250ms, line-height 250ms, color 250ms;
1525
+ ${a.setVariable(St.fontSize,po.fontSize)};
1526
+ ${a.setVariable(St.lineHeight,po.fontSize)};
1527
+ }
1528
+
1529
+ .ft-input-label--disabled .ft-input-label--text {
1530
+ color: ${po.disabledTextColor};
1531
+ }
1532
+
1533
+ .ft-input-label--hidden-text {
1534
+ padding: 0 4px;
1535
+ opacity: 0;
1536
+ }
1537
+
1538
+ .ft-input-label--floating-text {
1539
+ position: absolute;
1540
+ top: calc(50% - var(--ft-typography-caption-line-height) / 2);
1541
+ transition: top 250ms;
1542
+ width: calc(100% - 8px);
1543
+ overflow: hidden;
1544
+ white-space: nowrap;
1545
+ text-overflow: ellipsis;
1546
+ padding: ${po.verticalSpacing} 4px;
1547
+ margin: calc(${po.verticalSpacing} * -1) 0;
1548
+ }
1549
+
1550
+ .ft-input-label--raised .ft-input-label--text {
1551
+ ${a.setVariable(St.fontSize,po.raisedFontSize)};
1552
+ ${a.setVariable(St.lineHeight,po.raisedFontSize)};
1553
+ }
1554
+
1555
+ .ft-input-label--raised .ft-input-label--floating-text {
1556
+ top: ${po.verticalSpacing};
1557
+ }
1558
+
1559
+ .ft-input-label--outlined .ft-input-label--text,
1560
+ .ft-input-label--outlined:before,
1561
+ .ft-input-label--outlined:after {
1562
+ border-top-width: 1px;
1563
+ border-top-style: solid;
1564
+ }
1565
+
1566
+ .ft-input-label--outlined:before {
1567
+ border-left-width: 1px;
1568
+ border-left-style: solid;
1569
+ border-radius: ${po.borderRadiusS} 0 0 ${po.borderRadiusS};
1570
+ }
1571
+
1572
+ .ft-input-label--outlined:after {
1573
+ border-right-width: 1px;
1574
+ border-right-style: solid;
1575
+ border-radius: 0 ${po.borderRadiusS} ${po.borderRadiusS} 0;
1576
+ }
1577
+
1578
+ .ft-input-label--outlined.ft-input-label--raised .ft-input-label--floating-text {
1579
+ padding: 4px;
1580
+ z-index: ${po.raisedZIndex};
1581
+ background-color: ${po.colorSurface};
1582
+ border-radius: ${po.borderRadiusS};
1583
+ top: calc(var(--ft-typography-caption-line-height) / -2);
1584
+ }
1585
+
1586
+ .ft-input-label--outlined.ft-input-label--raised .ft-input-label--text {
1587
+ border-top: none;
1588
+ }
1589
+ `]}getTemplate(){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 e.html`
1590
+ <div class="${r.classMap(t)}">
1591
+ ${this.text?e.html`
1592
+ <div class="ft-input-label--text ft-typography--caption">
1593
+ <span class="ft-input-label--floating-text">${this.text}</span>
1594
+ <span class="ft-input-label--hidden-text" aria-hidden="true">${this.text}</span>
1595
+ </div>
1596
+ `:null}
1597
+ </div>
1598
+ `}};ho.elementDefinitions={},lo([i.property({type:String})],ho.prototype,"text",void 0),lo([i.property({type:Boolean})],ho.prototype,"raised",void 0),lo([i.property({type:Boolean})],ho.prototype,"outlined",void 0),lo([i.property({type:Boolean})],ho.prototype,"disabled",void 0),ho=lo([a.customElement("ft-input-label")],ho);var fo=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};let uo=class extends a.FtLitElement{constructor(){super(...arguments),this.label="",this.value=null,this.selected=!1}getTemplate(){return e.html``}updated(t){super.updated(t),this.dispatchEvent(new CustomEvent("option-change",{detail:this,bubbles:!0}))}};uo.elementDefinitions={},fo([i.property({type:String})],uo.prototype,"label",void 0),fo([i.property({type:Object,converter:t=>t})],uo.prototype,"value",void 0),fo([i.property({type:Boolean,reflect:!0})],uo.prototype,"selected",void 0),uo=fo([a.customElement("ft-select-option")],uo);const mo={labelSize:a.FtCssVariable.create("--ft-select-label-size","SIZE","11px"),selectedOptionSize:a.FtCssVariable.create("--ft-select-selected-option-size","SIZE","14px"),verticalSpacing:a.FtCssVariable.create("--ft-select-vertical-spacing","SIZE","4px"),selectedOptionColor:a.FtCssVariable.extend("--ft-select-selected-option-color",a.designSystemVariables.colorOnSurface),helperColor:a.FtCssVariable.extend("--ft-select-helper-color",a.designSystemVariables.colorOnSurfaceMedium),optionsColor:a.FtCssVariable.extend("--ft-select-options-color",a.designSystemVariables.colorOnSurface),optionsZIndex:a.FtCssVariable.create("--ft-select-options-z-index","NUMBER","2"),colorSurface:a.FtCssVariable.external(a.designSystemVariables.colorSurface,"Design system"),colorOnSurfaceDisabled:a.FtCssVariable.external(a.designSystemVariables.colorOnSurfaceDisabled,"Design system"),colorPrimary:a.FtCssVariable.external(a.designSystemVariables.colorPrimary,"Design system"),borderRadiusS:a.FtCssVariable.external(a.designSystemVariables.borderRadiusS,"Design system"),elevation02:a.FtCssVariable.external(a.designSystemVariables.elevation02,"Design system")};let bo=class extends a.FtLitElement{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)}getStyles(){return[Zt,qt,e.css`
1599
+ *:focus {
1600
+ outline: none;
1601
+ }
1602
+
1603
+ .ft-select {
1604
+ display: flex;
1605
+ flex-direction: column;
1606
+ align-items: stretch;
1607
+ }
1608
+
1609
+ .ft-select--main-panel {
1610
+ position: relative;
1611
+ display: flex;
1612
+ height: calc(4 * ${mo.verticalSpacing} + ${mo.labelSize} + ${mo.selectedOptionSize});
1613
+ }
1614
+
1615
+ .ft-select--input-panel {
1616
+ flex-grow: 1;
1617
+ position: relative;
1618
+ display: flex;
1619
+ align-items: center;
1620
+ overflow: hidden;
1621
+ padding-left: 16px;
1622
+ padding-right: 8px;
1623
+ gap: 8px;
1624
+ color: ${mo.selectedOptionColor};
1625
+ ${a.setVariable(Ae.color,mo.selectedOptionColor)};
1626
+ }
1627
+
1628
+ .ft-select--input-panel,
1629
+ .ft-select--option {
1630
+ ${a.setVariable(Ae.opacityContentOnSurfaceHover,"0.08")};
1631
+ ${a.setVariable(Ae.opacityContentOnSurfaceDragged,"0.04")};
1632
+ }
1633
+
1634
+ .ft-select--disabled .ft-select--input-panel,
1635
+ .ft-select--disabled .ft-select--option {
1636
+ color: ${mo.colorOnSurfaceDisabled};
1637
+ }
1638
+
1639
+ .ft-select:not(.ft-select--disabled) .ft-select--input-panel {
1640
+ cursor: pointer;
1641
+ }
1642
+
1643
+ ft-input-label {
1644
+ ${a.setVariable(po.fontSize,mo.selectedOptionSize)};
1645
+ ${a.setVariable(po.raisedFontSize,mo.labelSize)};
1646
+ ${a.setVariable(po.verticalSpacing,mo.verticalSpacing)};
1647
+ }
1648
+
1649
+ .ft-select:not(.ft-select--disabled):focus-within mwc-icon {
1650
+ color: ${mo.colorPrimary};
1651
+ }
1652
+
1653
+ .ft-select:not(.ft-select--disabled):focus-within ft-input-label {
1654
+ ${a.setVariable(po.borderColor,mo.colorPrimary)};
1655
+ ${a.setVariable(po.textColor,mo.colorPrimary)};
1656
+ }
1657
+
1658
+ .ft-select--selected-option {
1659
+ display: block;
1660
+ flex-grow: 1;
1661
+ flex-shrink: 1;
1662
+ overflow: hidden;
1663
+ white-space: nowrap;
1664
+ text-overflow: ellipsis;
1665
+ ${a.setVariable(wt.fontSize,mo.selectedOptionSize)};
1666
+ ${a.setVariable(wt.lineHeight,mo.selectedOptionSize)};
1667
+ }
1668
+
1669
+ mwc-icon {
1670
+ flex-shrink: 0;
1671
+ }
1672
+
1673
+ slot {
1674
+ display: none;
1675
+ }
1676
+
1677
+ .ft-select--filled .ft-select--input-panel {
1678
+ border-radius: ${mo.borderRadiusS} ${mo.borderRadiusS} 0 0;
1679
+ }
1680
+
1681
+ .ft-select--filled:not(.ft-select--no-label) .ft-select--selected-option {
1682
+ align-self: stretch;
1683
+ padding-top: calc(${mo.labelSize} + 2 * ${mo.verticalSpacing});
1684
+ }
1685
+
1686
+ .ft-select--outlined .ft-select--input-panel {
1687
+ border-radius: ${mo.borderRadiusS};
1688
+ }
1689
+
1690
+ .ft-select--options {
1691
+ display: none;
1692
+ position: absolute;
1693
+ top: 100%;
1694
+ left: 0;
1695
+ right: 0;
1696
+ color: ${mo.optionsColor};
1697
+ background: ${mo.colorSurface};
1698
+ z-index: ${mo.optionsZIndex};
1699
+ box-shadow: ${mo.elevation02};
1700
+ }
1701
+
1702
+ .ft-select--options-displayed .ft-select--options {
1703
+ display: block;
1704
+ }
1705
+
1706
+ .ft-select--option {
1707
+ position: relative;
1708
+ padding: 4px 16px;
1709
+ min-height: 32px;
1710
+ display: flex;
1711
+ align-items: center;
1712
+ }
1713
+
1714
+ .ft-select--helper-text {
1715
+ padding: 0 12px 0 16px;
1716
+ color: ${mo.helperColor};
1717
+ }
1718
+ `]}getTemplate(){var t,i,a,c,n;let s=!this.disabled&&this.optionsDisplayed&&this.hasOptions,l=this.disabled||!this.hasOptions;const d={"ft-select":!0,"ft-select--filled":!this.outlined,"ft-select--outlined":this.outlined,"ft-select--disabled":l,"ft-select--options-displayed":s,"ft-select--has-value":null!=(null===(t=this.selectedOption)||void 0===t?void 0:t.value),"ft-select--no-label":!this.label};return e.html`
1719
+ <div class="${r.classMap(d)}" part="container">
1720
+ <div class="ft-select--main-panel" part="main-panel">
1721
+ <ft-input-label text="${this.label}"
1722
+ part="label"
1723
+ ?disabled=${l}
1724
+ ?outlined=${this.outlined}
1725
+ ?raised=${null!=(null===(i=this.selectedOption)||void 0===i?void 0:i.value)||s}
1726
+ ></ft-input-label>
1727
+ <div class="ft-select--input-panel"
1728
+ part="selected-value"
1729
+ tabindex="${l?"-1":"0"}"
1730
+ @click=${()=>{this.optionsDisplayed=!this.optionsDisplayed,this.focusOptions=this.optionsDisplayed}}
1731
+ @keydown=${this.onMainPanelKeyDown}
1732
+ aria-label="${this.label}"
1733
+ aria-haspopup="listbox"
1734
+ aria-expanded="${s}">
1735
+ <ft-ripple ?disabled=${l} ?activated=${!this.outlined}></ft-ripple>
1736
+ <ft-typography variant="body1" class="ft-select--selected-option">
1737
+ ${null!=(null===(a=this.selectedOption)||void 0===a?void 0:a.value)&&null!==(n=null===(c=this.selectedOption)||void 0===c?void 0:c.label)&&void 0!==n?n:""}
1738
+ </ft-typography>
1739
+ <mwc-icon>${s?"expand_less":"expand_more"}</mwc-icon>
1740
+ </div>
1741
+ <div class="ft-select--options"
1742
+ part="options"
1743
+ @keydown=${this.onOptionsKeyDown}
1744
+ innerrole="listbox">
1745
+ ${o.repeat(this.options,(t=>t.value),(t=>this.renderOption(t)))}
1746
+ </div>
1747
+ </div>
1748
+ ${this.helper?e.html`
1749
+ <ft-typography class="ft-select--helper-text" variant="caption">${this.helper}
1750
+ </ft-typography>`:void 0}
1751
+ </div>
1752
+ <slot @slotchange=${this.updateOptionsFromSlot}
1753
+ @option-change=${this.updateOptionsFromSlot}
1754
+ ></slot>
1755
+ `}renderOption(t){let i=this.selectedOption===t;const o={"ft-select--option":!0,"ft-select--option-selected":i,"ft-typography--body2":!0};return e.html`
1756
+ <div class="${r.classMap(o)}"
1757
+ part="option"
1758
+ tabindex="0"
1759
+ @keydown=${e=>this.onOptionKeyDown(e,t)}
1760
+ @click=${()=>this.selectOption(t)}>
1761
+ <ft-ripple ?primary=${i} ?activated=${i}></ft-ripple>
1762
+ ${t.label}
1763
+ </div>
1764
+ `}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,r,a;let c;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(),c=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(),c=null!==(a=null===(r=this.focusedOption)||void 0===r?void 0:r.nextElementSibling)&&void 0!==a?a:this.firstOption}null==c||c.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)}};bo.elementDefinitions={"ft-input-label":ho,"ft-typography":Xt,"ft-ripple":Fe,"mwc-icon":Re},fo([i.property({type:String})],bo.prototype,"label",void 0),fo([i.property({type:String})],bo.prototype,"helper",void 0),fo([i.property({type:Boolean})],bo.prototype,"outlined",void 0),fo([i.property({type:Boolean})],bo.prototype,"disabled",void 0),fo([i.property({type:Array})],bo.prototype,"options",void 0),fo([i.state()],bo.prototype,"selectedOption",void 0),fo([i.state()],bo.prototype,"optionsDisplayed",void 0),fo([i.state()],bo.prototype,"focusOptions",void 0),fo([i.query(".ft-select")],bo.prototype,"container",void 0),fo([i.query(".ft-select--input-panel")],bo.prototype,"mainPanel",void 0),fo([i.query(".ft-select--option:first-child")],bo.prototype,"firstOption",void 0),fo([i.query(".ft-select--option:focus")],bo.prototype,"focusedOption",void 0),fo([i.query(".ft-select--option.ft-select--option-selected")],bo.prototype,"selectedOptionElement",void 0),fo([i.query(".ft-select--option:last-child")],bo.prototype,"lastOption",void 0),fo([i.query("slot")],bo.prototype,"optionsSlot",void 0),bo=fo([a.customElement("ft-select")],bo);const go={height:a.FtCssVariable.create("--ft-search-bar-height","SIZE","38px"),borderRadius:a.FtCssVariable.extend("--ft-search-bar-border-radius",a.designSystemVariables.borderRadiusS),mobileOpenPosition:a.FtCssVariable.create("--ft-search-bar-mobile-open-position","POSITION","fixed"),mobileOpenTop:a.FtCssVariable.create("--ft-search-bar-mobile-open-top","SIZE","0"),mobileOpenBottom:a.FtCssVariable.create("--ft-search-bar-mobile-open-bottom","SIZE","0"),mobileOpenLeft:a.FtCssVariable.create("--ft-search-bar-mobile-open-left","SIZE","0"),mobileOpenRight:a.FtCssVariable.create("--ft-search-bar-mobile-open-right","SIZE","0"),floatingZIndex:a.FtCssVariable.create("--ft-search-bar-floating-components-z-index","NUMBER","2"),colorSurface:a.FtCssVariable.external(a.designSystemVariables.colorSurface,"Design system"),colorOnSurface:a.FtCssVariable.external(a.designSystemVariables.colorOnSurface,"Design system"),colorOnSurfaceMedium:a.FtCssVariable.external(a.designSystemVariables.colorOnSurfaceMedium,"Design system"),colorOutline:a.FtCssVariable.external(a.designSystemVariables.colorOutline,"Design system"),colorPrimary:a.FtCssVariable.external(a.designSystemVariables.colorPrimary,"Design system"),elevation02:a.FtCssVariable.external(a.designSystemVariables.elevation02,"Design system"),buttonColor:a.FtCssVariable.external(Ke.color,"Button"),buttonRippleColor:a.FtCssVariable.external(Ke.rippleColor,"Button")},vo=e.css`
1765
+ * {
1766
+ box-sizing: border-box;
1767
+ }
1768
+
1769
+ .ft-search-bar--container {
1770
+ display: flex;
1771
+ flex-direction: column;
1772
+ gap: 8px;
1773
+ color: ${go.colorOnSurface};
1774
+ background: ${go.colorSurface};
1775
+ outline: none;
1776
+ }
1777
+
1778
+ .ft-search-bar--mobile-menu-open {
1779
+ position: ${go.mobileOpenPosition};
1780
+ top: ${go.mobileOpenTop};
1781
+ bottom: ${go.mobileOpenBottom};
1782
+ left: ${go.mobileOpenLeft};
1783
+ right: ${go.mobileOpenRight};
1784
+ z-index: ${go.floatingZIndex};
1785
+ padding: 16px;
1786
+ }
1787
+
1788
+ .ft-search-bar {
1789
+ flex-shrink: 0;
1790
+ position: relative;
1791
+ display: flex;
1792
+ flex-direction: row;
1793
+ align-items: center;
1794
+ height: ${go.height};
1795
+
1796
+ background: ${go.colorSurface};
1797
+ border: 1px solid ${go.colorOutline};
1798
+ border-radius: ${go.borderRadius};
1799
+ }
1800
+
1801
+ .ft-search-bar--floating-panel-open .ft-search-bar {
1802
+ border-radius: ${go.borderRadius} ${go.borderRadius} 0 0;
1803
+ }
1804
+
1805
+ .ft-search-bar--input-container {
1806
+ flex-grow: 1;
1807
+ flex-shrink: 1;
1808
+ position: relative;
1809
+ height: calc(100% - 2px);
1810
+ }
1811
+
1812
+ .ft-search-bar--input-outline {
1813
+ flex-grow: 1;
1814
+ flex-shrink: 1;
1815
+ height: 100%;
1816
+ width: 100%;
1817
+ align-self: stretch;
1818
+ display: grid;
1819
+ padding: 0 8px;
1820
+ border-radius: ${go.borderRadius};
1821
+ }
1822
+
1823
+ .ft-search-bar--dense .ft-search-bar--input-outline {
1824
+ grid-template-columns: auto minmax(200px, 1fr);
1825
+ gap: 8px;
1826
+ }
1827
+
1828
+ .ft-search-bar--input-container:focus-within .ft-search-bar--input-outline {
1829
+ outline: 2px solid ${go.colorPrimary};
1830
+ }
1831
+
1832
+ .ft-search-bar--input {
1833
+ height: 100%;
1834
+ flex-grow: 1;
1835
+ border: none;
1836
+ background-color: transparent;
1837
+ outline: none;
1838
+ }
1839
+
1840
+ .ft-search-bar--desktop .ft-search-bar--input {
1841
+ flex-shrink: 0;
1842
+ min-width: 250px;
1843
+ }
1844
+
1845
+ .ft-search-bar > ft-button {
1846
+ flex-shrink: 0;
1847
+ }
1848
+
1849
+ .ft-search-bar--left-action {
1850
+ ${a.setVariable(Ke.borderRadius,e.css`calc(${go.borderRadius} - 1px) 0 0 calc(${go.borderRadius} - 1px)`)};
1851
+ border-right: 1px solid ${go.colorOutline};
1852
+ height: 100%;
1853
+ }
1854
+
1855
+ .ft-search-bar--left-action::part(button) {
1856
+ height : 100%;
1857
+ }
1858
+
1859
+ .ft-search-bar--floating-panel-open .ft-search-bar--left-action {
1860
+ ${a.setVariable(Ke.borderRadius,e.css`calc(${go.borderRadius} - 1px) 0 0 0`)};
1861
+ }
1862
+
1863
+ .ft-search-bar--launch-search,
1864
+ .ft-search-bar--clear-query {
1865
+ margin: 0 4px;
1866
+ }
1867
+
1868
+ .ft-search-bar--separator {
1869
+ height: 20px;
1870
+ border-right: 1px solid ${go.colorOutline};
1871
+ }
1872
+
1873
+ .ft-search-bar--left-action.ft-search-bar--content-locale {
1874
+ ${a.setVariable(po.borderColor,"transparent")};
1875
+ ${a.setVariable(po.borderRadiusS,e.css`calc(${go.borderRadius} - 1px)`)};
1876
+ ${a.setVariable(mo.selectedOptionColor,go.buttonColor)};
1877
+ }
1878
+
1879
+ .ft-search-bar--left-action.ft-search-bar--content-locale,
1880
+ .ft-search-bar--left-action.ft-search-bar--content-locale::part(container),
1881
+ .ft-search-bar--left-action.ft-search-bar--content-locale::part(main-panel) {
1882
+ height: 100%;
1883
+ }
1884
+
1885
+ .ft-search-bar--left-action.ft-search-bar--content-locale::part(options) {
1886
+ top: calc(100% + 1px);
1887
+ right: unset;
1888
+ width: max-content;
1889
+ min-width: 100%;
1890
+ }
1891
+
1892
+ .ft-search-bar--left-action.ft-search-bar--content-locale::part(selected-value) {
1893
+ border-radius: calc(${go.borderRadius} - 1px) 0 0 calc(${go.borderRadius} - 1px);
1894
+ }
1895
+
1896
+ `,xo=e.css`
1897
+ .ft-search-bar--floating-panel .ft-search-bar--presets {
1898
+ margin-right: auto;
1899
+ }
1900
+
1901
+ .ft-search-bar--floating-panel .ft-search-bar--presets {
1902
+ min-width: 250px;
1903
+ ${a.setVariable(mo.optionsZIndex,"2")};
1904
+ }
1905
+
1906
+ .ft-search-bar--floating-panel {
1907
+ padding: 16px;
1908
+ }
1909
+
1910
+ .ft-search-bar--floating-panel-open .ft-search-bar--floating-panel {
1911
+ display: block;
1912
+ }
1913
+
1914
+ .ft-search-bar--desktop .ft-search-bar--facets-actions {
1915
+ display: flex;
1916
+ align-items: center;
1917
+ justify-content: flex-end;
1918
+ gap: 8px;
1919
+ padding: 0 10px;
1920
+ margin-bottom: 16px;
1921
+ }
1922
+
1923
+ .ft-search-bar--mobile .ft-search-bar--facets-actions {
1924
+ flex-shrink: 0;
1925
+ flex-grow: 0;
1926
+ display: flex;
1927
+ gap: 16px;
1928
+ align-items: center;
1929
+ justify-content: space-evenly;
1930
+ }
1931
+
1932
+ .ft-search-bar--mobile .ft-search-bar--facets-actions > * {
1933
+ flex-grow: 1;
1934
+ flex-basis: 0;
1935
+ }
1936
+
1937
+ .ft-search-bar--content-locale::part(clear-button) {
1938
+ display: none;
1939
+ }
1940
+
1941
+ .ft-search-bar--floating-panel .ft-search-bar--filters-container {
1942
+ display: block;
1943
+ height: 350px;
1944
+ --ft-snap-scroll-gap: 16px;
1945
+ }
1946
+
1947
+ .ft-search-bar--floating-panel ft-filter {
1948
+ display: flex;
1949
+ flex-grow: 0;
1950
+ max-height: 100%;
1951
+ max-width: 250px;
1952
+ }
1953
+
1954
+ .ft-search-bar--hierarchical-filter {
1955
+ width: 250px;
1956
+ }
1957
+
1958
+ .ft-search-bar--mobile .ft-search-bar--filters-container {
1959
+ flex-grow: 1;
1960
+ flex-shrink: 1;
1961
+ overflow-y: auto;
1962
+ margin: 0 -16px;
1963
+ padding: 0 16px;
1964
+ }
1965
+
1966
+ .ft-search-bar--mobile .ft-search-bar--filters-container ft-filter {
1967
+ display: flex;
1968
+ max-height: 60vh;
1969
+ }
1970
+
1971
+ .ft-search-bar--mobile ft-filter::part(container) {
1972
+ flex-grow: 1;
1973
+ }
1974
+
1975
+ .ft-search-bar--filter-label {
1976
+ display: flex;
1977
+ justify-content: space-between;
1978
+ align-items: baseline;
1979
+ gap: 8px;
1980
+ }
1981
+
1982
+ .ft-search-bar--filter-label > * {
1983
+ white-space: nowrap;
1984
+ overflow: hidden;
1985
+ text-overflow: ellipsis;
1986
+ }
1987
+
1988
+ .ft-search-bar--filter-label > :first-child {
1989
+ flex-shrink: 0;
1990
+ }
1991
+
1992
+ .ft-search-bar--filter-label > :last-child {
1993
+ flex-shrink: 1;
1994
+ color: ${go.colorOnSurfaceMedium};
1995
+ }
1996
+
1997
+ ft-accordion-item::part(toggle) {
1998
+ margin-left: -16px;
1999
+ margin-right: -16px;
2000
+ }
2001
+
2002
+ ft-accordion-item::part(label) {
2003
+ overflow: hidden;
2004
+ }
2005
+
2006
+ ft-accordion-item::part(content) {
2007
+ padding-left: 0;
2008
+ padding-right: 0;
2009
+ }
2010
+ `,yo=e.css`
2011
+ .ft-search-bar--selected-filters:not(ft-snap-scroll) {
2012
+ flex-shrink: 0;
2013
+ display: flex;
2014
+ flex-direction: row;
2015
+ flex-wrap: wrap;
2016
+ gap: 8px;
2017
+ }
2018
+
2019
+ ft-snap-scroll.ft-search-bar--selected-filters {
2020
+ overflow: hidden;
2021
+ ${a.setVariable(yi.gap,"4px")};
2022
+ }
2023
+
2024
+ ft-snap-scroll.ft-search-bar--selected-filters::part(content) {
2025
+ align-items: center;
2026
+ }
2027
+
2028
+ .ft-search-bar--desktop ft-snap-scroll.ft-search-bar--selected-filters {
2029
+ ${a.setVariable(io.iconSize,"17px")};
2030
+ ${a.setVariable(io.fontSize,"12px")};
2031
+ }
2032
+
2033
+ .ft-search-bar--selected-filters * {
2034
+ max-width: 100%;
2035
+ }
2036
+
2037
+ .ft-search-bar--selected-filters ft-chip {
2038
+ flex-grow: 0;
2039
+ }
2040
+ `,ko=e.css`
2041
+ .ft-search-bar--mobile .ft-search-bar--suggestions {
2042
+ flex-grow: 1;
2043
+ flex-shrink: 1;
2044
+ overflow-y: auto;
2045
+ height: 0;
2046
+ }
2047
+
2048
+ .ft-search-bar--mobile-menu-open .ft-search-bar--suggestions {
2049
+ border-top: 1px solid ${go.colorOutline};
2050
+ }
2051
+
2052
+ .ft-search-bar--mobile-menu-open .ft-search-bar--suggestions {
2053
+ height: initial;
2054
+ }
2055
+
2056
+ .ft-search-bar--floating-panel,
2057
+ .ft-search-bar--desktop .ft-search-bar--suggestions {
2058
+ position: absolute;
2059
+ z-index: var(--ft-search-bar-floating-components-z-index, 1);
2060
+ top: 100%;
2061
+ left: -1px;
2062
+ right: -1px;
2063
+ display: none;
2064
+ background: ${go.colorSurface};
2065
+ border: 1px solid ${go.colorOutline};
2066
+ border-radius: 0 0 ${go.borderRadius} ${go.borderRadius};
2067
+ box-shadow: ${go.elevation02};
2068
+ outline: none;
2069
+ }
2070
+
2071
+ .ft-search-bar--desktop .ft-search-bar--suggestions {
2072
+ top: calc(100% + 2px);
2073
+ }
2074
+
2075
+ .ft-search-bar--input-container:focus-within .ft-search-bar--suggestions-not-empty {
2076
+ display: block;
2077
+ }
2078
+
2079
+ .ft-search-bar--no-suggestions {
2080
+ text-align: center;
2081
+ padding: 8px;
2082
+ color: ${go.colorOnSurface};
2083
+ }
2084
+
2085
+ .ft-search-bar--suggestion {
2086
+ text-decoration: none;
2087
+ position: relative;
2088
+ display: flex;
2089
+ align-items: center;
2090
+ padding: 8px;
2091
+ gap: 8px;
2092
+ cursor: pointer;
2093
+ color: ${go.colorOnSurface};
2094
+ min-height: 52px;
2095
+ }
2096
+
2097
+ .ft-search-bar--desktop .ft-search-bar--suggestion {
2098
+ min-height: 44px;
2099
+ }
2100
+
2101
+ .ft-search-bar--suggestion:focus {
2102
+ outline: none;
2103
+ }
2104
+
2105
+ .ft-search-bar--recent-search + .ft-search-bar--suggestion:not(.ft-search-bar--recent-search) {
2106
+ border-top: 1px solid ${go.colorOutline};
2107
+ }
2108
+
2109
+ .ft-search-bar--suggestion ft-typography {
2110
+ display: block;
2111
+ flex-grow: 1;
2112
+ flex-shrink: 1;
2113
+ }
2114
+ `;var $o=function(t,e,i,o){for(var r,a=arguments.length,c=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,n=t.length-1;n>=0;n--)(r=t[n])&&(c=(a<3?r(c):a>3?r(e,i,c):r(e,i))||c);return a>3&&c&&Object.defineProperty(e,i,c),c};null==window.fluidtopics&&console.warn("Fluid Topics public API was not found. You can find it here: https://www.npmjs.com/package/@fluid-topics/public-api");const _o={filtersButton:"Filters",inputPlaceHolder:"Search",filterInputPlaceHolder:"Filter {0}",clearInputButton:"Clear",clearFilterButton:"Clear",displayMoreFilterValuesButton:"More",searchButton:"Search",noSuggestions:"No results found…",clearFilters:"Clear filters",contentLocaleSelector:"Lang",presetsSelector:"Preset",removeRecentSearch:"Remove",back:"Back"};class wo extends CustomEvent{constructor(t){super("launch-search",{detail:t})}}class zo extends CustomEvent{constructor(t){super("change",{detail:t})}}t.FtSearchBar=class extends a.FtLitElement{constructor(){super(...arguments),this.dense=!1,this.baseUrl="",this.apiIntegrationIdentifier="ft-search-bar",this.availableContentLocales=[],this.labels={},this.labelResolver=new a.ParametrizedLabelResolver(_o,{}),this.displayedFilters=[],this.presets=[],this.searchRequestSerializer=t=>function(t,e){var i;const o=new URLSearchParams({"content-lang":null!==(i=e.contentLocale)&&void 0!==i?i:"all",query:e.query});if(e.filters.length>0){const t=e.filters.map((t=>{const e=t.values.map((t=>t.replace(/_/g,"\\\\\\\\_").replace(/~/g,"\\\\~").replace(/\*/g,"\\*"))).map((t=>encodeURIComponent(function(t){return`"${t}"`}(t)))).join("_");return`${t.key}~${e}`})).join("*");o.append("filters",t)}return new URL(`${t}/search/all?${o.toString()}`).href}(this.baseUrl,t),this.searchFilters=[],this.sizeCategory=s.S,this.displayFacets=!1,this.mobileMenuOpen=!1,this.facets=[],this.knownFacetLabels={},this.query="",this.suggestions=[],this.suggestionsLoaded=!0,this.recentSearches=[],this.updateFacetsDebouncer=new a.Debouncer(500),this.suggestDebouncer=new a.Debouncer(300),this.facetsLoaded=!1,this.closeFloatingContainer=t=>{this.isMobile||(this.displayFacets=this.displayFacets&&t.composedPath().some((t=>t===this.floatingContainer)))},this.compareFilters=(t,e)=>t.key===e.key&&t.negative==e.negative&&t.values.length===e.values.length&&t.values.every((t=>e.values.includes(t))),this.compareRequests=(t,e)=>(null==t.contentLocale||null==e.contentLocale||t.contentLocale===e.contentLocale)&&t.filters.length===e.filters.length&&t.filters.every((t=>e.filters.some((e=>this.compareFilters(t,e)))))}getStyles(){return[Zt,vo,xo,yo,ko]}get recentSearchesStorageKey(){return this.baseUrl+":ft:recent-search-queries"}get request(){return{uiLocale:this.uiLocale,contentLocale:this.contentLocale,query:this.query,facets:this.facetsRequest,filters:this.searchFilters,paging:{perPage:0,page:1},sort:[]}}get facetsRequest(){const t=this.searchFilters.filter((t=>!this.displayedFilters.includes(t.key))).map((t=>({id:t.key})));return[...this.displayedFilters.map((t=>({id:t}))),...t]}get suggestRequest(){return{contentLocale:this.contentLocale,input:this.query,filters:this.searchFilters,sort:[]}}get isMobile(){return this.sizeCategory===s.S}get hasFacets(){return this.facetsRequest.length>0}get hasPresets(){return this.presets.length>0}get hasLocaleSelector(){return this.availableContentLocales.length>1}focus(){var t;null===(t=this.container)||void 0===t||t.focus()}clear(){this.query="",this.searchFilters=[],this.input&&(this.input.value=""),this.mobileMenuOpen=!1,this.displayFacets=!1}getTemplate(){const t={"ft-search-bar--container":!0,"ft-search-bar--dense":!this.isMobile&&this.dense,"ft-search-bar--mobile":this.isMobile,"ft-search-bar--desktop":!this.isMobile,"ft-search-bar--floating-panel-open":!this.isMobile&&this.displayFacets,"ft-search-bar--mobile-menu-open":this.mobileMenuOpen};return e.html`
2115
+ <ft-size-watcher @change=${this.updateSize}></ft-size-watcher>
2116
+ <div class="${r.classMap(t)}" part="container" tabindex="-1">
2117
+ ${this.isMobile?this.renderMobileSearchBar():this.renderDesktopSearchBar()}
2118
+ </div>
2119
+ `}renderMobileSearchBar(){return e.html`
2120
+ <div class="ft-search-bar">
2121
+ <div class="ft-search-bar--input-container" part="input-container">
2122
+ <div class="ft-search-bar--input-outline" part="input-outline">
2123
+ <input class="ft-search-bar--input ft-typography--body2"
2124
+ part="input"
2125
+ type="text"
2126
+ placeholder="${this.labelResolver.resolve("inputPlaceHolder")}"
2127
+ value="${this.query}"
2128
+ @keyup=${this.onSearchBarKeyUp}
2129
+ @focus=${()=>{this.mobileMenuOpen=!0,this.displayFacets=!1}}>
2130
+ </div>
2131
+ </div>
2132
+ ${this.renderMobileSearchBarButtons()}
2133
+ </div>
2134
+ ${this.displayFacets?this.renderFacetsActions():this.renderSelectedFacets()}
2135
+ ${this.displayFacets?this.renderMobileFacets():this.renderSuggestions()}
2136
+ `}renderMobileSearchBarButtons(){return this.query||this.mobileMenuOpen?e.html`
2137
+ <ft-button class="ft-search-bar--clear-query"
2138
+ part="search-bar-actions"
2139
+ icon="close"
2140
+ round
2141
+ label="${this.labelResolver.resolve("clearInputButton")}"
2142
+ @click=${()=>{this.setQuery(""),this.mobileMenuOpen=!1,this.displayFacets=!1}}
2143
+ ></ft-button>
2144
+ `:e.html`
2145
+ <ft-button class="ft-search-bar--launch-search"
2146
+ part="search-bar-actions"
2147
+ icon="search"
2148
+ round
2149
+ label="${this.labelResolver.resolve("searchButton")}"
2150
+ @click=${()=>{var t;return null===(t=this.input)||void 0===t?void 0:t.focus()}}
2151
+ ></ft-button>
2152
+ `}renderMobileFacets(){var t;const i=this.availableContentLocales.filter((t=>t.lang===this.contentLocale)).pop();return e.html`
2153
+ <ft-accordion class="ft-search-bar--filters-container">
2154
+ ${this.hasLocaleSelector?e.html`
2155
+ <ft-accordion-item data-facet-key="ft:contentLocale">
2156
+ <div class="ft-search-bar--filter-label" slot="toggle">
2157
+ <ft-typography variant="button">${this.labelResolver.resolve("contentLocaleSelector")}
2158
+ </ft-typography>
2159
+ <ft-typography variant="body2">
2160
+ ${null!==(t=null==i?void 0:i.label)&&void 0!==t?t:""}
2161
+ </ft-typography>
2162
+ </div>
2163
+ <ft-filter
2164
+ part="filters"
2165
+ class="ft-search-bar--content-locale"
2166
+ filterPlaceHolder="${this.labelResolver.resolve("filterInputPlaceHolder",this.labelResolver.resolve("contentLocaleSelector"))}"
2167
+ .options=${this.contentLocalesAsFilterOptions()}
2168
+ @change=${t=>this.contentLocale=t.detail[0]}
2169
+ ></ft-filter>
2170
+ </ft-accordion-item>
2171
+ `:null}
2172
+ ${o.repeat(this.facets,(t=>t.key),(t=>{const i=te(t);return e.html`
2173
+ <ft-accordion-item data-facet-key="${t.key}">
2174
+ <div class="ft-search-bar--filter-label" slot="toggle">
2175
+ <ft-typography variant="button">${t.label}</ft-typography>
2176
+ <ft-typography variant="body2">
2177
+ ${function(t){return Jt(t.options,(t=>{var e;return null!==(e=t.subOptions)&&void 0!==e?e:[]})).filter((t=>t.selected)).map((t=>t.label))}(i).join(", ")}
2178
+ </ft-typography>
2179
+ </div>
2180
+ <ft-filter
2181
+ part="filters"
2182
+ id="${i.id}"
2183
+ filterPlaceHolder="${this.labelResolver.resolve("filterInputPlaceHolder",i.label)}"
2184
+ clearButtonLabel="${this.labelResolver.resolve("clearFilterButton")}"
2185
+ moreValuesButtonLabel="${this.labelResolver.resolve("displayMoreFilterValuesButton")}"
2186
+ ?multivalued=${i.multivalued}
2187
+ raiseSelectedOptions
2188
+ .options=${i.options}
2189
+ .displayedValuesLimit=${10}
2190
+ @change=${t=>this.setFilter(i.id,i.label,t.detail)}
2191
+ ></ft-filter>
2192
+ </ft-accordion-item>
2193
+ `}))}
2194
+ </ft-accordion>
2195
+ `}contentLocalesAsFilterOptions(){return this.availableContentLocales.map((t=>({value:t.lang,label:t.label,selected:t.lang==this.contentLocale})))}renderDesktopSearchBar(){return e.html`
2196
+ <div class="ft-search-bar" part="search-bar">
2197
+ ${this.renderSearchBarLeftAction()}
2198
+ <div class="ft-search-bar--input-container" part="input-container">
2199
+ <div class="ft-search-bar--input-outline" part="input-outline">
2200
+ ${this.dense?this.renderSelectedFacets():e.nothing}
2201
+ <input class="ft-search-bar--input ft-typography--body2"
2202
+ part="input"
2203
+ type="text"
2204
+ placeholder="${this.labelResolver.resolve("inputPlaceHolder")}"
2205
+ value="${this.query}"
2206
+ @keydown=${this.onSearchBarKeyDown}
2207
+ @keyup=${this.onSearchBarKeyUp}>
2208
+ </div>
2209
+ ${this.renderSuggestions()}
2210
+ </div>
2211
+ ${this.renderDesktopSearchBarButtons()}
2212
+ <div class="ft-search-bar--floating-panel" @keyup=${this.onFloatingContainerKeyUp} tabindex="-1">
2213
+ ${this.renderFacetsActions()}
2214
+ ${this.renderDesktopFacets()}
2215
+
2216
+ </div>
2217
+ </div>
2218
+ ${this.dense?e.nothing:this.renderSelectedFacets()}
2219
+ `}renderSearchBarLeftAction(){return this.hasFacets?e.html`
2220
+ <ft-button class="ft-search-bar--filters-opener ft-search-bar--left-action"
2221
+ part="filters-opener"
2222
+ trailingIcon
2223
+ icon="${this.displayFacets?"expand_less":"expand_more"}"
2224
+ @click=${t=>{t.stopPropagation(),this.displayFacets=!this.displayFacets}}
2225
+ @focusin=${t=>t.stopPropagation()}>
2226
+ ${this.labelResolver.resolve("filtersButton")}
2227
+ </ft-button>
2228
+ `:this.hasLocaleSelector?e.html`
2229
+ <ft-select outlined
2230
+ class="ft-search-bar--content-locale ft-search-bar--left-action"
2231
+ part="content-locale"
2232
+ @change=${t=>this.contentLocale=t.detail}>
2233
+ ${o.repeat(this.availableContentLocales,(t=>t.lang),(t=>e.html`
2234
+ <ft-select-option value="${t.lang}"
2235
+ label="${t.label}"
2236
+ ?selected=${t.lang===this.contentLocale}>
2237
+ </ft-select-option>
2238
+ `))}
2239
+ </ft-select>
2240
+ `:e.nothing}renderDesktopSearchBarButtons(){return e.html`
2241
+ ${this.query?e.html`
2242
+ <ft-button class="ft-search-bar--clear-query"
2243
+ part="search-bar-actions"
2244
+ icon="close"
2245
+ round dense
2246
+ label="${this.labelResolver.resolve("clearInputButton")}"
2247
+ @click=${()=>this.setQuery("")}
2248
+ ></ft-button>
2249
+ <div class="ft-search-bar--separator"></div>
2250
+ `:null}
2251
+ <ft-button class="ft-search-bar--launch-search"
2252
+ part="search-bar-actions"
2253
+ icon="search"
2254
+ round dense
2255
+ label="${this.labelResolver.resolve("searchButton")}"
2256
+ @click=${this.launchSearch}
2257
+ ></ft-button>
2258
+ `}renderFacetsActions(){return e.html`
2259
+ <div class="ft-search-bar--facets-actions">
2260
+ ${this.hasPresets?e.html`
2261
+ <ft-select
2262
+ class="ft-search-bar--presets"
2263
+ part="presets"
2264
+ label="${this.labelResolver.resolve("presetsSelector")}"
2265
+ outlined
2266
+ @change=${t=>this.selectedPreset=t.detail}>
2267
+ ${o.repeat(this.presets,(t=>t.name),(t=>e.html`
2268
+ <ft-select-option value="${t.name}"
2269
+ label="${t.name}"
2270
+ ?selected=${t.name===this.selectedPreset}>
2271
+ </ft-select-option>
2272
+ `))}
2273
+ </ft-select>
2274
+ `:e.nothing}
2275
+ ${this.searchFilters.length>0?e.html`
2276
+ <ft-button part="facets-actions"
2277
+ @click=${this.clearFilters}>
2278
+ ${this.labelResolver.resolve("clearFilters")}
2279
+ </ft-button>
2280
+ `:e.nothing}
2281
+ <slot name="facets-actions"></slot>
2282
+ </div>
2283
+ `}renderDesktopFacets(){return this.hasFacets?e.html`
2284
+ <ft-snap-scroll horizontal limitSize controls
2285
+ class="ft-search-bar--filters-container"
2286
+ part="filters-container">
2287
+ ${this.hasLocaleSelector?e.html`
2288
+ <ft-filter part="filters"
2289
+ class="ft-search-bar--content-locale"
2290
+ label="${this.labelResolver.resolve("contentLocaleSelector")}"
2291
+ filterPlaceHolder="${this.labelResolver.resolve("filterInputPlaceHolder",this.labelResolver.resolve("contentLocaleSelector"))}"
2292
+ .options=${this.contentLocalesAsFilterOptions()}
2293
+ @change=${t=>this.contentLocale=t.detail[0]}
2294
+ ></ft-filter>
2295
+ `:e.nothing}
2296
+ ${o.repeat(this.facets,(t=>t.key),(t=>{const i=te(t),o=i.options.some((t=>{var e,i;return(null!==(i=null===(e=t.subOptions)||void 0===e?void 0:e.length)&&void 0!==i?i:0)>0}));return e.html`
2297
+ <ft-filter
2298
+ class="${o?"ft-search-bar--hierarchical-filter":""}"
2299
+ part="filters"
2300
+ id="${i.id}"
2301
+ label="${i.label}"
2302
+ filterPlaceHolder="${this.labelResolver.resolve("filterInputPlaceHolder",i.label)}"
2303
+ clearButtonLabel="${this.labelResolver.resolve("clearFilterButton")}"
2304
+ moreValuesButtonLabel="${this.labelResolver.resolve("displayMoreFilterValuesButton")}"
2305
+ ?multivalued=${i.multivalued}
2306
+ raiseSelectedOptions
2307
+ .options=${i.options}
2308
+ .displayedValuesLimit=${10}
2309
+ @change=${t=>this.setFilter(i.id,i.label,t.detail)}
2310
+ ></ft-filter>
2311
+ `}))}
2312
+ </ft-snap-scroll>
2313
+ `:e.nothing}renderSelectedFacets(){if(!this.hasLocaleSelector&&0===this.searchFilters.length)return null;const t=!this.isMobile&&this.dense||this.isMobile&&this.mobileMenuOpen,i=e.html`
2314
+ ${this.hasLocaleSelector&&(this.hasFacets||this.isMobile)?e.html`
2315
+ <ft-chip part="selected-filters"
2316
+ ?dense=${this.dense&&!this.isMobile}
2317
+ ?clickable=${this.isMobile}
2318
+ @click=${()=>this.openMobileFilters("ft:contentLocale")}>
2319
+ ${this.getLocaleLabel(this.contentLocale)}
2320
+ </ft-chip>
2321
+ `:null}
2322
+ ${o.repeat(this.searchFilters,(t=>t.key),(i=>o.repeat(i.values,(o=>{let r=i.label+": "+function(t){return Yt(t).split("|").join(" > ")}(o);const a=e.html`
2323
+ <ft-chip
2324
+ part="selected-filters"
2325
+ ?dense=${this.dense&&!this.isMobile}
2326
+ ?clickable=${this.isMobile}
2327
+ ?removable=${!this.isMobile}
2328
+ icon=${this.isMobile?e.nothing:"close"}
2329
+ label="${r}"
2330
+ title=${t?r:e.nothing}
2331
+ @click=${()=>this.openMobileFilters(i.key)}
2332
+ @icon-click=${()=>this.setFilter(i.key,i.label,i.values.filter((t=>t!==o)))}>
2333
+ ${function(t){return Yt(t).split("|").pop()}(o)}
2334
+ </ft-chip>
2335
+ `;return t?a:e.html`
2336
+ <ft-tooltip inline text="${r}">
2337
+ ${a}
2338
+ </ft-tooltip>
2339
+ `}))))}
2340
+ ${this.isMobile?e.html`
2341
+ <ft-chip part="selected-filters"
2342
+ icon="add"
2343
+ clickable
2344
+ @click=${()=>{this.mobileMenuOpen=!0,this.displayFacets=!0}}>
2345
+ ${this.labelResolver.resolve("filtersButton")}
2346
+ </ft-chip>
2347
+ `:e.nothing}
2348
+ `;return t?e.html`
2349
+ <ft-snap-scroll horizontal controls hideScrollbar limitSize
2350
+ class="ft-search-bar--selected-filters"
2351
+ part="selected-filters-container">
2352
+ ${i}
2353
+ </ft-snap-scroll>
2354
+ `:e.html`
2355
+ <div class="ft-search-bar--selected-filters" part="selected-filters-container">
2356
+ ${i}
2357
+ </div>
2358
+ `}renderSuggestions(){const t=this.recentSearches.filter((t=>t.toLowerCase().includes(this.query.toLowerCase()))),i=this.query.length>2||t.length>0;return e.html`
2359
+ <div class="ft-search-bar--suggestions ${i?"ft-search-bar--suggestions-not-empty":""}"
2360
+ @keydown=${this.onSuggestKeyDown}>
2361
+ ${o.repeat(t.slice(0,5),(t=>t),(t=>e.html`
2362
+ <a href="${this.searchRequestSerializer({...this.request,query:t})}"
2363
+ part="suggestions"
2364
+ class="ft-search-bar--suggestion ft-search-bar--recent-search"
2365
+ @keyup=${e=>this.onSuggestKeyUp(e,t)}
2366
+ @click=${e=>this.onSuggestClick(e,t)}>
2367
+ <ft-ripple></ft-ripple>
2368
+ <mwc-icon part="suggestion-icon">history</mwc-icon>
2369
+ <ft-typography variant="body1">${t}</ft-typography>
2370
+ <ft-button icon="close"
2371
+ round
2372
+ part="remove-suggestion"
2373
+ ?dense=${!this.isMobile}
2374
+ label="${this.labelResolver.resolve("removeRecentSearch")}"
2375
+ @click=${e=>this.removeRecentSearch(e,t)}></ft-button>
2376
+ </a>
2377
+ `))}
2378
+ ${o.repeat(this.suggestions,(t=>t.value),(t=>e.html`
2379
+ <a href="${this.searchRequestSerializer({...this.request,query:t.value})}"
2380
+ part="suggestions"
2381
+ class="ft-search-bar--suggestion"
2382
+ @keyup=${e=>this.onSuggestKeyUp(e,t.value)}
2383
+ @click=${e=>this.onSuggestClick(e,t.value)}>
2384
+ <ft-ripple></ft-ripple>
2385
+ ${this.getIcon(t)}
2386
+ <ft-typography variant="body1">${t.value}</ft-typography>
2387
+ </a>
2388
+ `))}
2389
+ ${0===t.length&&0===this.suggestions.length&&this.query.length>2&&this.suggestionsLoaded?e.html`
2390
+ <ft-typography class="ft-search-bar--no-suggestions" element="p"
2391
+ variant="body2">
2392
+ ${this.labelResolver.resolve("noSuggestions")}
2393
+ </ft-typography>
2394
+ `:null}
2395
+ </div>
2396
+ `}getIcon(t){const i="DOCUMENT"===t.type?Mi.file_format:Mi.fluid_topics;let o;switch(t.type){case"MAP":o="BOOK"===t.editorialType?Ri.BOOK:Ri.ARTICLE;break;case"DOCUMENT":o=function(t,e){var i,o,r,a;t=(null!=t?t:"").toLowerCase(),e=(null!=e?e:"").toLowerCase();const[c,n]=((null!==(i=ji.get(t))&&void 0!==i?i:t)+"/").split("/");return null!==(a=null!==(r=null!==(o=Li.get(n))&&void 0!==o?o:Li.get(e))&&void 0!==r?r:Li.get(c))&&void 0!==a?a:Di.UNKNOWN}(t.mimeType,t.filenameExtension);break;case"TOPIC":o=Ri.TOPICS}return e.html`
2397
+ <ft-icon variant="${i}" part="suggestion-icon">
2398
+ ${o}
2399
+ </ft-icon>
2400
+ `}openMobileFilters(t){this.isMobile&&(this.mobileMenuOpen=!0,this.displayFacets=!0,this.scrollToFacet=t)}async firstUpdated(t){var e,i;super.firstUpdated(t),this.initApi(),this.availableContentLocales=null!==(i=await(null===(e=this.api)||void 0===e?void 0:e.getAvailableSearchLocales().then((t=>t.contentLocales)).catch((()=>[]))))&&void 0!==i?i:[]}update(t){var e,i,o;if(t.has("labels")&&(this.labelResolver=new a.ParametrizedLabelResolver(_o,this.labels)),t.has("sizeCategory")&&(this.mobileMenuOpen=!1,this.displayFacets=this.displayFacets&&!this.isMobile),super.update(t),(t.has("availableContentLocales")||t.has("contentLocale"))&&this.availableContentLocales.length>0){const i=t=>this.availableContentLocales.some((e=>e.lang===t));i(this.contentLocale)||(this.contentLocale=t.has("contentLocale")&&i(t.get("contentLocale"))?t.get("contentLocale"):null===(e=this.availableContentLocales[0])||void 0===e?void 0:e.lang)}if(t.has("baseUrl")&&this.baseUrl&&(this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.replace(/\/$/,"")),this.recentSearches=JSON.parse(null!==(i=window.localStorage.getItem(this.recentSearchesStorageKey))&&void 0!==i?i:"[]")),t.has("selectedPreset")){const t=this.presets.find((t=>t.name===this.selectedPreset));t&&!this.compareRequests(this.request,t)&&this.setFiltersFromPreset(t)}["contentLocale","searchFilters"].some((e=>t.has(e)))&&(this.selectedPreset=null===(o=this.presets.find((t=>this.compareRequests(t,this.request))))||void 0===o?void 0:o.name),["baseUrl","apiIntegrationIdentifier"].some((e=>t.has(e)))&&this.setApi(),["uiLocale","contentLocale","searchFilters","displayedFilters","api"].some((e=>t.has(e)))&&this.updateFacets(),["query","uiLocale","contentLocale","searchFilters","displayedFilters","api"].some((e=>t.has(e)))&&this.updateSuggestions(),["query","uiLocale","contentLocale","searchFilters"].some((e=>t.has(e)))&&this.dispatchEvent(new zo(this.request))}contentAvailableCallback(t){var e,i,o;if(super.contentAvailableCallback(t),t.has("displayFacets")&&this.displayFacets&&(null===(e=this.floatingContainer)||void 0===e||e.focus()),null!=this.scrollToFacet&&this.facetsLoaded){null===(i=this.scrollingFiltersContainer)||void 0===i||i.scrollIndexIntoView(this.facets.findIndex((t=>t.key===this.scrollToFacet)));const t=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelector(`ft-accordion-item[data-facet-key="${this.scrollToFacet}"]`);t&&(t.active=!0),this.scrollToFacet=void 0}}initApi(){null==this.api&&(this.setApi(),setTimeout((()=>this.initApi()),100))}setApi(){this.api=window.fluidtopics?new window.fluidtopics.FluidTopicsApi(this.baseUrl,this.apiIntegrationIdentifier):void 0}updateFacets(){this.facetsRequest.length>0?(this.facetsLoaded=!1,this.updateFacetsDebouncer.run((async()=>{var t,e;this.facets=null!==(e=await(null===(t=this.api)||void 0===t?void 0:t.search({...this.request,query:""}).then((t=>t.facets)).catch((()=>[]))))&&void 0!==e?e:[],this.facets.forEach((t=>this.knownFacetLabels[t.key]=t.label)),this.facetsLoaded=!0}))):this.facets=[]}updateSuggestions(){this.suggestionsLoaded=!1,this.suggestDebouncer.run((async()=>{this.suggestions=this.api&&this.query.length>2?await this.api.getSuggestions(this.suggestRequest).then((t=>t.suggestions)).catch((()=>[])):[],this.suggestionsLoaded=!0}))}onSearchBarKeyUp(t){const e=t.composedPath()[0];this.query=e.value,"Enter"===t.key&&this.launchSearch()}onSearchBarKeyDown(t){var e,i;switch(t.key){case"Escape":this.mobileMenuOpen=!1,null===(e=this.input)||void 0===e||e.blur();break;case"ArrowDown":t.stopPropagation(),t.preventDefault(),null===(i=this.firstSuggestion)||void 0===i||i.focus()}}onFloatingContainerKeyUp(t){var e;"Escape"===t.key&&(this.displayFacets=!1,null===(e=this.filtersOpener)||void 0===e||e.focus())}setQuery(t){this.input&&(this.input.value=t),this.query=t}onSuggestClick(t,e){t.ctrlKey||t.metaKey||this.onSuggestSelected(t,e)}onSuggestKeyUp(t,e){"Enter"!==t.key&&" "!==t.key||this.onSuggestSelected(t,e)}onSuggestSelected(t,e){t.preventDefault(),this.setQuery(e),this.launchSearch()}launchSearch(){if(this.query){let t=this.recentSearches.filter((t=>t.toLowerCase()!==this.query.toLowerCase())).filter(((t,e)=>e<20));this.recentSearches=[this.query,...t],this.saveRecentSearches()}this.dispatchEvent(new wo(this.request)),this.mobileMenuOpen=!1,this.displayFacets=!1,this.focus()}saveRecentSearches(){window.localStorage.setItem(this.recentSearchesStorageKey,JSON.stringify(this.recentSearches))}connectedCallback(){super.connectedCallback(),document.addEventListener("focusin",this.closeFloatingContainer),document.addEventListener("click",this.closeFloatingContainer)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("focusin",this.closeFloatingContainer),document.addEventListener("click",this.closeFloatingContainer)}updateSize(t){this.sizeCategory=t.detail.category}getLocaleLabel(t){var e;return null!==(e=this.availableContentLocales.filter((e=>{var i;return(null!==(i=e.lang)&&void 0!==i?i:"").toLowerCase()===(null!=t?t:"").toLowerCase()})).map((t=>t.label)).pop())&&void 0!==e?e:t}setFilter(t,e,i){let o=this.searchFilters.filter((e=>e.key!==t));this.facets.forEach((e=>{e.key===t&&Jt(e.rootNodes,(t=>t.childNodes)).forEach((t=>t.selected=i.includes(t.value)))})),i.length&&o.push({key:t,label:e,negative:!1,values:i}),this.searchFilters=o,this.scrollToFacet=t}setFiltersFromPreset(t){null!=t&&(null!=t.contentLocale&&(this.contentLocale=t.contentLocale),this.searchFilters=t.filters.map((t=>{var e;return{...t,label:null!==(e=this.knownFacetLabels[t.key])&&void 0!==e?e:t.key}})))}clearFilters(){this.facets.forEach((t=>Jt(t.rootNodes,(t=>t.childNodes)).forEach((t=>t.selected=!1)))),this.searchFilters=[];const t=this.facets[0];this.scrollToFacet=null==t?void 0:t.key}removeRecentSearch(t,e){var i,o,r,a;t.preventDefault(),t.stopPropagation();const c=null!==(a=null!==(o=null===(i=this.focusedSuggestion)||void 0===i?void 0:i.previousElementSibling)&&void 0!==o?o:null===(r=this.focusedSuggestion)||void 0===r?void 0:r.nextElementSibling)&&void 0!==a?a:this.input;null==c||c.focus(),this.recentSearches=this.recentSearches.filter((t=>t.toLowerCase()!==e.toLowerCase())),this.saveRecentSearches()}onSuggestKeyDown(t){var e,i,o,r,a,c;switch(t.key){case"ArrowUp":null===(o=null!==(i=null===(e=this.focusedSuggestion)||void 0===e?void 0:e.previousElementSibling)&&void 0!==i?i:this.lastSuggestion)||void 0===o||o.focus(),t.preventDefault(),t.stopPropagation();break;case"ArrowDown":null===(c=null!==(a=null===(r=this.focusedSuggestion)||void 0===r?void 0:r.nextElementSibling)&&void 0!==a?a:this.firstSuggestion)||void 0===c||c.focus(),t.preventDefault(),t.stopPropagation()}}},t.FtSearchBar.elementDefinitions={"ft-accordion":Qi,"ft-accordion-item":Ji,"ft-button":Qe,"ft-chip":so,"ft-filter":Ii,"ft-filter-option":wi,"ft-icon":qi,"ft-ripple":Fe,"ft-select":bo,"ft-select-option":uo,"ft-size-watcher":p,"ft-snap-scroll":$i,"ft-tooltip":He,"ft-typography":Xt,"mwc-icon":Re},$o([i.property({type:Boolean})],t.FtSearchBar.prototype,"dense",void 0),$o([i.property({type:String})],t.FtSearchBar.prototype,"baseUrl",void 0),$o([i.property({type:String})],t.FtSearchBar.prototype,"apiIntegrationIdentifier",void 0),$o([i.property({type:String})],t.FtSearchBar.prototype,"contentLocale",void 0),$o([i.state()],t.FtSearchBar.prototype,"availableContentLocales",void 0),$o([i.property({type:String})],t.FtSearchBar.prototype,"uiLocale",void 0),$o([a.jsonProperty({})],t.FtSearchBar.prototype,"labels",void 0),$o([a.jsonProperty([])],t.FtSearchBar.prototype,"displayedFilters",void 0),$o([a.jsonProperty([])],t.FtSearchBar.prototype,"presets",void 0),$o([i.property({type:String,reflect:!0})],t.FtSearchBar.prototype,"selectedPreset",void 0),$o([i.property()],t.FtSearchBar.prototype,"searchRequestSerializer",void 0),$o([i.state()],t.FtSearchBar.prototype,"searchFilters",void 0),$o([i.state()],t.FtSearchBar.prototype,"sizeCategory",void 0),$o([i.state()],t.FtSearchBar.prototype,"displayFacets",void 0),$o([i.state()],t.FtSearchBar.prototype,"mobileMenuOpen",void 0),$o([i.state()],t.FtSearchBar.prototype,"facets",void 0),$o([i.query(".ft-search-bar--container")],t.FtSearchBar.prototype,"container",void 0),$o([i.query(".ft-search-bar--filters-opener")],t.FtSearchBar.prototype,"filtersOpener",void 0),$o([i.query(".ft-search-bar--floating-panel")],t.FtSearchBar.prototype,"floatingContainer",void 0),$o([i.query("ft-snap-scroll.ft-search-bar--filters-container")],t.FtSearchBar.prototype,"scrollingFiltersContainer",void 0),$o([i.query(".ft-search-bar--input")],t.FtSearchBar.prototype,"input",void 0),$o([i.state()],t.FtSearchBar.prototype,"query",void 0),$o([i.state()],t.FtSearchBar.prototype,"suggestions",void 0),$o([i.state()],t.FtSearchBar.prototype,"suggestionsLoaded",void 0),$o([i.state()],t.FtSearchBar.prototype,"recentSearches",void 0),$o([i.state()],t.FtSearchBar.prototype,"scrollToFacet",void 0),$o([i.query(".ft-search-bar--suggestion:first-child")],t.FtSearchBar.prototype,"firstSuggestion",void 0),$o([i.query(".ft-search-bar--suggestion:focus-within")],t.FtSearchBar.prototype,"focusedSuggestion",void 0),$o([i.query(".ft-search-bar--suggestion:last-child")],t.FtSearchBar.prototype,"lastSuggestion",void 0),$o([i.state()],t.FtSearchBar.prototype,"api",void 0),t.FtSearchBar=$o([a.customElement("ft-search-bar")],t.FtSearchBar),t.DEFAULT_LABELS=_o,t.FtSearchBarCssVariables=go,t.LaunchSearchEvent=wo,t.SearchStateChangeEvent=zo,Object.defineProperty(t,"t",{value:!0})}({},ftGlobals.lit,ftGlobals.litDecorators,ftGlobals.litRepeat,ftGlobals.litClassMap,ftGlobals.wcUtils,ftGlobals.litStyleMap,ftGlobals.litUnsafeHTML);