@fluid-topics/ft-snap-scroll 0.1.6 → 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,713 @@
1
+ !function(t,e,i,r,o,s){
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */
16
+ var a=function(t,e){return a=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])},a(t,e)};var n=function(){return n=Object.assign||function(t){for(var e,i=1,r=arguments.length;i<r;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},n.apply(this,arguments)};function p(t,e,i,r){for(var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a}function c(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],r=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}
17
+ /**
18
+ * @license
19
+ * Copyright 2018 Google Inc.
20
+ *
21
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
22
+ * of this software and associated documentation files (the "Software"), to deal
23
+ * in the Software without restriction, including without limitation the rights
24
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25
+ * copies of the Software, and to permit persons to whom the Software is
26
+ * furnished to do so, subject to the following conditions:
27
+ *
28
+ * The above copyright notice and this permission notice shall be included in
29
+ * all copies or substantial portions of the Software.
30
+ *
31
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
37
+ * THE SOFTWARE.
38
+ */
39
+ /**
40
+ * @license
41
+ * Copyright 2018 Google LLC
42
+ * SPDX-License-Identifier: Apache-2.0
43
+ */
44
+ const l=()=>{},d={get passive(){return!1}};document.addEventListener("x",l,d),document.removeEventListener("x",l);
45
+ /**
46
+ * @license
47
+ * Copyright 2018 Google LLC
48
+ * SPDX-License-Identifier: Apache-2.0
49
+ */
50
+ class h 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()}}
51
+ /**
52
+ * @license
53
+ * Copyright 2016 Google Inc.
54
+ *
55
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
56
+ * of this software and associated documentation files (the "Software"), to deal
57
+ * in the Software without restriction, including without limitation the rights
58
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
59
+ * copies of the Software, and to permit persons to whom the Software is
60
+ * furnished to do so, subject to the following conditions:
61
+ *
62
+ * The above copyright notice and this permission notice shall be included in
63
+ * all copies or substantial portions of the Software.
64
+ *
65
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
66
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
67
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
68
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
69
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
70
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
71
+ * THE SOFTWARE.
72
+ */var f=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}(),u={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"},m={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"},y={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};
73
+ /**
74
+ * @license
75
+ * Copyright 2016 Google Inc.
76
+ *
77
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
78
+ * of this software and associated documentation files (the "Software"), to deal
79
+ * in the Software without restriction, including without limitation the rights
80
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
81
+ * copies of the Software, and to permit persons to whom the Software is
82
+ * furnished to do so, subject to the following conditions:
83
+ *
84
+ * The above copyright notice and this permission notice shall be included in
85
+ * all copies or substantial portions of the Software.
86
+ *
87
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
89
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
90
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
91
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
92
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
93
+ * THE SOFTWARE.
94
+ */
95
+ /**
96
+ * @license
97
+ * Copyright 2016 Google Inc.
98
+ *
99
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
100
+ * of this software and associated documentation files (the "Software"), to deal
101
+ * in the Software without restriction, including without limitation the rights
102
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
103
+ * copies of the Software, and to permit persons to whom the Software is
104
+ * furnished to do so, subject to the following conditions:
105
+ *
106
+ * The above copyright notice and this permission notice shall be included in
107
+ * all copies or substantial portions of the Software.
108
+ *
109
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
110
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
111
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
112
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
113
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
114
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
115
+ * THE SOFTWARE.
116
+ */
117
+ var g=["touchstart","pointerdown","mousedown","keydown"],v=["touchend","pointerup","mouseup","contextmenu"],b=[],x=function(t){function e(i){var r=t.call(this,n(n({},e.defaultAdapter),i))||this;return r.activationAnimationHasEnded=!1,r.activationTimer=0,r.fgDeactivationRemovalTimer=0,r.fgScale="0",r.frame={width:0,height:0},r.initialSize=0,r.layoutFrame=0,r.maxRadius=0,r.unboundedCoords={left:0,top:0},r.activationState=r.defaultActivationState(),r.activationTimerCallback=function(){r.activationAnimationHasEnded=!0,r.runDeactivationUXLogicIfReady()},r.activateHandler=function(t){r.activateImpl(t)},r.deactivateHandler=function(){r.deactivateImpl()},r.focusHandler=function(){r.handleFocus()},r.blurHandler=function(){r.handleBlur()},r.resizeHandler=function(){r.layout()},r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return u},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return m},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return y},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t=this,i=this.supportsPressRipple();if(this.registerRootHandlers(i),i){var r=e.cssClasses,o=r.ROOT,s=r.UNBOUNDED;requestAnimationFrame((function(){t.adapter.addClass(o),t.adapter.isUnbounded()&&(t.adapter.addClass(s),t.layoutInternal())}))}},e.prototype.destroy=function(){var t=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(e.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(e.cssClasses.FG_DEACTIVATION));var i=e.cssClasses,r=i.ROOT,o=i.UNBOUNDED;requestAnimationFrame((function(){t.adapter.removeClass(r),t.adapter.removeClass(o),t.removeCssVars()}))}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},e.prototype.activate=function(t){this.activateImpl(t)},e.prototype.deactivate=function(){this.deactivateImpl()},e.prototype.layout=function(){var t=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame((function(){t.layoutInternal(),t.layoutFrame=0}))},e.prototype.setUnbounded=function(t){var i=e.cssClasses.UNBOUNDED;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.handleFocus=function(){var t=this;requestAnimationFrame((function(){return t.adapter.addClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.handleBlur=function(){var t=this;requestAnimationFrame((function(){return t.adapter.removeClass(e.cssClasses.BG_FOCUSED)}))},e.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},e.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},e.prototype.registerRootHandlers=function(t){var e,i;if(t){try{for(var r=c(g),o=r.next();!o.done;o=r.next()){var s=o.value;this.adapter.registerInteractionHandler(s,this.activateHandler)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(e)throw e.error}}this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler)}this.adapter.registerInteractionHandler("focus",this.focusHandler),this.adapter.registerInteractionHandler("blur",this.blurHandler)},e.prototype.registerDeactivationHandlers=function(t){var e,i;if("keydown"===t.type)this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var r=c(v),o=r.next();!o.done;o=r.next()){var s=o.value;this.adapter.registerDocumentInteractionHandler(s,this.deactivateHandler)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(e)throw e.error}}},e.prototype.deregisterRootHandlers=function(){var t,e;try{for(var i=c(g),r=i.next();!r.done;r=i.next()){var o=r.value;this.adapter.deregisterInteractionHandler(o,this.activateHandler)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.adapter.deregisterInteractionHandler("focus",this.focusHandler),this.adapter.deregisterInteractionHandler("blur",this.blurHandler),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler)},e.prototype.deregisterDeactivationHandlers=function(){var t,e;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var i=c(v),r=i.next();!r.done;r=i.next()){var o=r.value;this.adapter.deregisterDocumentInteractionHandler(o,this.deactivateHandler)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}},e.prototype.removeCssVars=function(){var t=this,i=e.strings;Object.keys(i).forEach((function(e){0===e.indexOf("VAR_")&&t.adapter.updateCssVariable(i[e],null)}))},e.prototype.activateImpl=function(t){var e=this;if(!this.adapter.isSurfaceDisabled()){var i=this.activationState;if(!i.isActivated){var r=this.previousActivationEvent;if(!(r&&void 0!==t&&r.type!==t.type))i.isActivated=!0,i.isProgrammatic=void 0===t,i.activationEvent=t,i.wasActivatedByPointer=!i.isProgrammatic&&(void 0!==t&&("mousedown"===t.type||"touchstart"===t.type||"pointerdown"===t.type)),void 0!==t&&b.length>0&&b.some((function(t){return e.adapter.containsEventTarget(t)}))?this.resetActivationState():(void 0!==t&&(b.push(t.target),this.registerDeactivationHandlers(t)),i.wasElementMadeActive=this.checkElementMadeActive(t),i.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame((function(){b=[],i.wasElementMadeActive||void 0===t||" "!==t.key&&32!==t.keyCode||(i.wasElementMadeActive=e.checkElementMadeActive(t),i.wasElementMadeActive&&e.animateActivation()),i.wasElementMadeActive||(e.activationState=e.defaultActivationState())})))}}},e.prototype.checkElementMadeActive=function(t){return void 0===t||"keydown"!==t.type||this.adapter.isSurfaceActive()},e.prototype.animateActivation=function(){var t=this,i=e.strings,r=i.VAR_FG_TRANSLATE_START,o=i.VAR_FG_TRANSLATE_END,s=e.cssClasses,a=s.FG_DEACTIVATION,n=s.FG_ACTIVATION,p=e.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var c="",l="";if(!this.adapter.isUnbounded()){var d=this.getFgTranslationCoordinates(),h=d.startPoint,f=d.endPoint;c=h.x+"px, "+h.y+"px",l=f.x+"px, "+f.y+"px"}this.adapter.updateCssVariable(r,c),this.adapter.updateCssVariable(o,l),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(a),this.adapter.computeBoundingRect(),this.adapter.addClass(n),this.activationTimer=setTimeout((function(){t.activationTimerCallback()}),p)},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 r,o,s=e.x,a=e.y,n=s+i.left,p=a+i.top;if("touchstart"===t.type){var c=t;r=c.changedTouches[0].pageX-n,o=c.changedTouches[0].pageY-p}else{var l=t;r=l.pageX-n,o=l.pageY-p}return{x:r,y:o}}(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,r=this.activationState,o=r.hasDeactivationUXRun,s=r.isActivated;(o||!s)&&this.activationAnimationHasEnded&&(this.rmBoundedActivationClasses(),this.adapter.addClass(i),this.fgDeactivationRemovalTimer=setTimeout((function(){t.adapter.removeClass(i)}),y.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=n({},e);e.isProgrammatic?(requestAnimationFrame((function(){t.animateDeactivation(i)})),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame((function(){t.activationState.hasDeactivationUXRun=!0,t.animateDeactivation(i),t.resetActivationState()})))}},e.prototype.animateDeactivation=function(t){var e=t.wasActivatedByPointer,i=t.wasElementMadeActive;(e||i)&&this.runDeactivationUXLogicIfReady()},e.prototype.layoutInternal=function(){var t=this;this.frame=this.adapter.computeBoundingRect();var i=Math.max(this.frame.height,this.frame.width);this.maxRadius=this.adapter.isUnbounded()?i:Math.sqrt(Math.pow(t.frame.width,2)+Math.pow(t.frame.height,2))+e.numbers.PADDING;var r=Math.floor(i*e.numbers.INITIAL_ORIGIN_SCALE);this.adapter.isUnbounded()&&r%2!=0?this.initialSize=r-1:this.initialSize=r,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},e.prototype.updateLayoutCssVars=function(){var t=e.strings,i=t.VAR_FG_SIZE,r=t.VAR_LEFT,o=t.VAR_TOP,s=t.VAR_FG_SCALE;this.adapter.updateCssVariable(i,this.initialSize+"px"),this.adapter.updateCssVariable(s,this.fgScale),this.adapter.isUnbounded()&&(this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)},this.adapter.updateCssVariable(r,this.unboundedCoords.left+"px"),this.adapter.updateCssVariable(o,this.unboundedCoords.top+"px"))},e}(f),$=x;
118
+ /**
119
+ * @license
120
+ * Copyright 2018 Google LLC
121
+ * SPDX-License-Identifier: Apache-2.0
122
+ */
123
+ class w extends h{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=$}get isActive(){return t=this.parentElement||this,e=":active",(t.matches||t.webkitMatchesSelector||t.msMatchesSelector).call(t,e);var t,e}createAdapter(){return{browserSupportsCssVars:()=>!0,isUnbounded:()=>this.unbounded,isSurfaceActive:()=>this.isActive,isSurfaceDisabled:()=>this.disabled,addClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!0;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!0;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!0}},removeClass:t=>{switch(t){case"mdc-ripple-upgraded--background-focused":this.bgFocused=!1;break;case"mdc-ripple-upgraded--foreground-activation":this.fgActivation=!1;break;case"mdc-ripple-upgraded--foreground-deactivation":this.fgDeactivation=!1}},containsEventTarget:()=>!0,registerInteractionHandler:()=>{},deregisterInteractionHandler:()=>{},registerDocumentInteractionHandler:()=>{},deregisterDocumentInteractionHandler:()=>{},registerResizeHandler:()=>{},deregisterResizeHandler:()=>{},updateCssVariable:(t,e)=>{switch(t){case"--mdc-ripple-fg-scale":this.fgScale=e;break;case"--mdc-ripple-fg-size":this.fgSize=e;break;case"--mdc-ripple-fg-translate-end":this.translateEnd=e;break;case"--mdc-ripple-fg-translate-start":this.translateStart=e;break;case"--mdc-ripple-left":this.leftPos=e;break;case"--mdc-ripple-top":this.topPos=e}},computeBoundingRect:()=>(this.parentElement||this).getBoundingClientRect(),getWindowPageOffset:()=>({x:window.pageXOffset,y:window.pageYOffset})}}startPress(t){this.waitForFoundation((()=>{this.mdcFoundation.activate(t)}))}endPress(){this.waitForFoundation((()=>{this.mdcFoundation.deactivate()}))}startFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleFocus()}))}endFocus(){this.waitForFoundation((()=>{this.mdcFoundation.handleBlur()}))}startHover(){this.hovering=!0}endHover(){this.hovering=!1}waitForFoundation(t){this.mdcFoundation?t():this.updateComplete.then(t)}update(t){t.has("disabled")&&this.disabled&&this.endHover(),super.update(t)}render(){const t=this.activated&&(this.primary||!this.accent),i=this.selected&&(this.primary||!this.accent),r={"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`
124
+ <div class="mdc-ripple-surface mdc-ripple-upgraded ${o.classMap(r)}"
125
+ style="${s.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>`}}p([i.query(".mdc-ripple-surface")],w.prototype,"mdcRoot",void 0),p([i.property({type:Boolean})],w.prototype,"primary",void 0),p([i.property({type:Boolean})],w.prototype,"accent",void 0),p([i.property({type:Boolean})],w.prototype,"unbounded",void 0),p([i.property({type:Boolean})],w.prototype,"disabled",void 0),p([i.property({type:Boolean})],w.prototype,"activated",void 0),p([i.property({type:Boolean})],w.prototype,"selected",void 0),p([i.property({type:Boolean})],w.prototype,"internalUseStateLayerCustomProperties",void 0),p([i.state()],w.prototype,"hovering",void 0),p([i.state()],w.prototype,"bgFocused",void 0),p([i.state()],w.prototype,"fgActivation",void 0),p([i.state()],w.prototype,"fgDeactivation",void 0),p([i.state()],w.prototype,"fgScale",void 0),p([i.state()],w.prototype,"fgSize",void 0),p([i.state()],w.prototype,"translateStart",void 0),p([i.state()],w.prototype,"translateEnd",void 0),p([i.state()],w.prototype,"leftPos",void 0),p([i.state()],w.prototype,"topPos",void 0);
126
+ /**
127
+ * @license
128
+ * Copyright 2021 Google LLC
129
+ * SPDX-LIcense-Identifier: Apache-2.0
130
+ */
131
+ const k=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)}`
132
+ /**
133
+ * @license
134
+ * Copyright 2018 Google LLC
135
+ * SPDX-License-Identifier: Apache-2.0
136
+ */;let z=class extends w{};z.styles=[k],z=p([i.customElement("mwc-ripple")],z);
137
+ /**
138
+ * @license
139
+ * Copyright 2020 Google LLC
140
+ * SPDX-License-Identifier: Apache-2.0
141
+ */
142
+ class S{constructor(t){this.startPress=e=>{t().then((t=>{t&&t.startPress(e)}))},this.endPress=()=>{t().then((t=>{t&&t.endPress()}))},this.startFocus=()=>{t().then((t=>{t&&t.startFocus()}))},this.endFocus=()=>{t().then((t=>{t&&t.endFocus()}))},this.startHover=()=>{t().then((t=>{t&&t.startHover()}))},this.endHover=()=>{t().then((t=>{t&&t.endHover()}))}}}var A=function(t,e,i,r){for(var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};const O={color:r.FtCssVariable.extend("--ft-ripple-color",r.designSystemVariables.colorContent),primaryColor:r.FtCssVariable.extend("--ft-ripple-primary-color",r.FtCssVariable.extend("--ft-ripple-color",r.designSystemVariables.colorPrimary)),secondaryColor:r.FtCssVariable.extend("--ft-ripple-secondary-color",r.FtCssVariable.extend("--ft-ripple-color",r.designSystemVariables.colorSecondary)),opacityContentOnSurfacePressed:r.FtCssVariable.external(r.designSystemVariables.opacityContentOnSurfacePressed,"Design system"),opacityContentOnSurfaceHover:r.FtCssVariable.external(r.designSystemVariables.opacityContentOnSurfaceHover,"Design system"),opacityContentOnSurfaceFocused:r.FtCssVariable.external(r.designSystemVariables.opacityContentOnSurfaceFocused,"Design system"),opacityContentOnSurfaceSelected:r.FtCssVariable.external(r.designSystemVariables.opacityContentOnSurfaceSelected,"Design system"),opacityContentOnSurfaceDragged:r.FtCssVariable.external(r.designSystemVariables.opacityContentOnSurfaceDragged,"Design system")};let T=class extends r.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`
143
+ :host {
144
+ display: contents;
145
+
146
+ --mdc-ripple-color: ${O.color};
147
+ --mdc-ripple-press-opacity: ${O.opacityContentOnSurfacePressed};
148
+ --mdc-ripple-hover-opacity: ${O.opacityContentOnSurfaceHover};
149
+ --mdc-ripple-focus-opacity: ${O.opacityContentOnSurfaceFocused};
150
+ --mdc-ripple-selected-opacity: ${O.opacityContentOnSurfaceSelected};
151
+ --mdc-ripple-activated-opacity: ${O.opacityContentOnSurfaceDragged};
152
+ }
153
+
154
+ mwc-ripple.ft-ripple--secondary {
155
+ --mdc-ripple-color: ${O.secondaryColor};
156
+ }
157
+
158
+ mwc-ripple.ft-ripple--primary {
159
+ --mdc-ripple-color: ${O.primaryColor};
160
+ }
161
+ `}getTemplate(){return e.html`
162
+ <mwc-ripple
163
+ class="${this.primary?"ft-ripple--primary":this.secondary?"ft-ripple--secondary":""}"
164
+ ?unbounded=${this.unbounded}
165
+ ?activated=${this.activated}
166
+ ?selected=${this.selected}
167
+ ?disabled=${this.disabled}
168
+ ></mwc-ripple>
169
+ `}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 S((async()=>this.mwcRipple)),i=(...e)=>i=>{e.forEach((e=>window.addEventListener(e,t.endPress,{once:!0}))),t.startPress(i)},r=i("mouseup"),o=i("touchend","touchcancel"),s=t=>{["Enter"," "].includes(t.key)&&i("keyup")()};e.addEventListener("mouseenter",t.startHover),e.addEventListener("mouseleave",t.endHover),e.addEventListener("mousedown",r),e.addEventListener("touchstart",o),e.addEventListener("keydown",s),e.addEventListener("focus",t.startFocus),e.addEventListener("blur",t.endFocus),this.onDisconnect=()=>{e.removeEventListener("mouseenter",t.startHover),e.removeEventListener("mouseleave",t.endHover),e.removeEventListener("mousedown",r),e.removeEventListener("touchstart",o),e.removeEventListener("keydown",s),e.removeEventListener("focus",t.startFocus),e.removeEventListener("blur",t.endFocus)},this.rippleHandlers=t}}disconnectedCallback(){super.disconnectedCallback(),this.onDisconnect&&this.onDisconnect(),this.endRipple()}};
170
+ /**
171
+ * @license
172
+ * Copyright 2017 Google LLC
173
+ * SPDX-License-Identifier: BSD-3-Clause
174
+ */
175
+ var _;T.elementDefinitions={"mwc-ripple":z},A([i.property({type:Boolean})],T.prototype,"primary",void 0),A([i.property({type:Boolean})],T.prototype,"secondary",void 0),A([i.property({type:Boolean})],T.prototype,"unbounded",void 0),A([i.property({type:Boolean})],T.prototype,"activated",void 0),A([i.property({type:Boolean})],T.prototype,"selected",void 0),A([i.property({type:Boolean})],T.prototype,"disabled",void 0),A([i.query("mwc-ripple")],T.prototype,"mwcRipple",void 0),T=A([r.customElement("ft-ripple")],T);const C=globalThis.trustedTypes,I=C?C.createPolicy("lit-html",{createHTML:t=>t}):void 0,E=`lit$${(Math.random()+"").slice(9)}$`,F="?"+E,j=`<${F}>`,B=document,R=(t="")=>B.createComment(t),D=t=>null===t||"object"!=typeof t&&"function"!=typeof t,N=Array.isArray,M=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,H=/-->/g,U=/>/g,L=/>|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,P=/'/g,V=/"/g,G=/^(?:script|style|textarea|title)$/i,Z=(t=>(e,...i)=>({_$litType$:t,strings:e,values:i}))(1),W=Symbol.for("lit-noChange"),q=Symbol.for("lit-nothing"),K=new WeakMap,X=B.createTreeWalker(B,129,null,!1),Y=(t,e)=>{const i=t.length-1,r=[];let o,s=2===e?"<svg>":"",a=M;for(let e=0;e<i;e++){const i=t[e];let n,p,c=-1,l=0;for(;l<i.length&&(a.lastIndex=l,p=a.exec(i),null!==p);)l=a.lastIndex,a===M?"!--"===p[1]?a=H:void 0!==p[1]?a=U:void 0!==p[2]?(G.test(p[2])&&(o=RegExp("</"+p[2],"g")),a=L):void 0!==p[3]&&(a=L):a===L?">"===p[0]?(a=null!=o?o:M,c=-1):void 0===p[1]?c=-2:(c=a.lastIndex-p[2].length,n=p[1],a=void 0===p[3]?L:'"'===p[3]?V:P):a===V||a===P?a=L:a===H||a===U?a=M:(a=L,o=void 0);const d=a===L&&t[e+1].startsWith("/>")?" ":"";s+=a===M?i+j:c>=0?(r.push(n),i.slice(0,c)+"$lit$"+i.slice(c)+E+d):i+E+(-2===c?(r.push(void 0),e):d)}const n=s+(t[i]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==I?I.createHTML(n):n,r]};class J{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let o=0,s=0;const a=t.length-1,n=this.parts,[p,c]=Y(t,e);if(this.el=J.createElement(p,i),X.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(r=X.nextNode())&&n.length<a;){if(1===r.nodeType){if(r.hasAttributes()){const t=[];for(const e of r.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(E)){const i=c[s++];if(t.push(e),void 0!==i){const t=r.getAttribute(i.toLowerCase()+"$lit$").split(E),e=/([.?@])?(.*)/.exec(i);n.push({type:1,index:o,name:e[2],strings:t,ctor:"."===e[1]?rt:"?"===e[1]?st:"@"===e[1]?at:it})}else n.push({type:6,index:o})}for(const e of t)r.removeAttribute(e)}if(G.test(r.tagName)){const t=r.textContent.split(E),e=t.length-1;if(e>0){r.textContent=C?C.emptyScript:"";for(let i=0;i<e;i++)r.append(t[i],R()),X.nextNode(),n.push({type:2,index:++o});r.append(t[e],R())}}}else if(8===r.nodeType)if(r.data===F)n.push({type:2,index:o});else{let t=-1;for(;-1!==(t=r.data.indexOf(E,t+1));)n.push({type:7,index:o}),t+=E.length-1}o++}}static createElement(t,e){const i=B.createElement("template");return i.innerHTML=t,i}}function Q(t,e,i=t,r){var o,s,a,n;if(e===W)return e;let p=void 0!==r?null===(o=i._$Cl)||void 0===o?void 0:o[r]:i._$Cu;const c=D(e)?void 0:e._$litDirective$;return(null==p?void 0:p.constructor)!==c&&(null===(s=null==p?void 0:p._$AO)||void 0===s||s.call(p,!1),void 0===c?p=void 0:(p=new c(t),p._$AT(t,i,r)),void 0!==r?(null!==(a=(n=i)._$Cl)&&void 0!==a?a:n._$Cl=[])[r]=p:i._$Cu=p),void 0!==p&&(e=Q(t,p._$AS(t,e.values),p,r)),e}class tt{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:r}=this._$AD,o=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:B).importNode(i,!0);X.currentNode=o;let s=X.nextNode(),a=0,n=0,p=r[0];for(;void 0!==p;){if(a===p.index){let e;2===p.type?e=new et(s,s.nextSibling,this,t):1===p.type?e=new p.ctor(s,p.name,p.strings,this,t):6===p.type&&(e=new nt(s,this,t)),this.v.push(e),p=r[++n]}a!==(null==p?void 0:p.index)&&(s=X.nextNode(),a++)}return o}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 et{constructor(t,e,i,r){var o;this.type=2,this._$AH=q,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=r,this._$Cg=null===(o=null==r?void 0:r.isConnected)||void 0===o||o}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=Q(this,t,e),D(t)?t===q||null==t||""===t?(this._$AH!==q&&this._$AR(),this._$AH=q):t!==this._$AH&&t!==W&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):(t=>{var e;return N(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!==q&&D(this._$AH)?this._$AA.nextSibling.data=t:this.S(B.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:r}=t,o="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=J.createElement(r.h,this.options)),r);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===o)this._$AH.m(i);else{const t=new tt(o,this),e=t.p(this.options);t.m(i),this.S(e),this._$AH=t}}_$AC(t){let e=K.get(t.strings);return void 0===e&&K.set(t.strings,e=new J(t)),e}A(t){N(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,r=0;for(const o of t)r===e.length?e.push(i=new et(this.M(R()),this.M(R()),this,this.options)):i=e[r],i._$AI(o),r++;r<e.length&&(this._$AR(i&&i._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class it{constructor(t,e,i,r,o){this.type=1,this._$AH=q,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=o,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=q}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,r){const o=this.strings;let s=!1;if(void 0===o)t=Q(this,t,e,0),s=!D(t)||t!==this._$AH&&t!==W,s&&(this._$AH=t);else{const r=t;let a,n;for(t=o[0],a=0;a<o.length-1;a++)n=Q(this,r[i+a],e,a),n===W&&(n=this._$AH[a]),s||(s=!D(n)||n!==this._$AH[a]),n===q?t=q:t!==q&&(t+=(null!=n?n:"")+o[a+1]),this._$AH[a]=n}s&&!r&&this.k(t)}k(t){t===q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class rt extends it{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===q?void 0:t}}const ot=C?C.emptyScript:"";class st extends it{constructor(){super(...arguments),this.type=4}k(t){t&&t!==q?this.element.setAttribute(this.name,ot):this.element.removeAttribute(this.name)}}class at extends it{constructor(t,e,i,r,o){super(t,e,i,r,o),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=Q(this,t,e,0))&&void 0!==i?i:q)===W)return;const r=this._$AH,o=t===q&&r!==q||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,s=t!==q&&(r===q||o);o&&this.element.removeEventListener(this.name,this,r),s&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}}class nt{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){Q(this,t)}}const pt=window.litHtmlPolyfillSupport;null==pt||pt(J,et),(null!==(_=globalThis.litHtmlVersions)&&void 0!==_?_:globalThis.litHtmlVersions=[]).push("2.1.3");
176
+ /**
177
+ * @license
178
+ * Copyright 2020 Google LLC
179
+ * SPDX-License-Identifier: BSD-3-Clause
180
+ */
181
+ const ct=t=>({_$litStatic$:t}),lt=new Map,dt=(t=>(e,...i)=>{var r;const o=i.length;let s,a;const n=[],p=[];let c,l=0,d=!1;for(;l<o;){for(c=e[l];l<o&&void 0!==(a=i[l],s=null===(r=a)||void 0===r?void 0:r._$litStatic$);)c+=s+e[++l],d=!0;p.push(a),n.push(c),l++}if(l===o&&n.push(e[o]),d){const t=n.join("$$lit$$");void 0===(e=lt.get(t))&&(n.raw=n,lt.set(t,e=n)),i=p}return t(e,...i)})(Z);var ht,ft=function(t,e,i,r){for(var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};!function(t){t.title="title",t.title_dense="title-dense",t.subtitle1="subtitle1",t.subtitle2="subtitle2",t.body1="body1",t.body2="body2",t.caption="caption",t.breadcrumb="breadcrumb",t.overline="overline",t.button="button"}(ht||(ht={}));const ut=r.FtCssVariable.extend("--ft-typography-font-family",r.designSystemVariables.titleFont),mt=r.FtCssVariable.extend("--ft-typography-font-family",r.designSystemVariables.contentFont),yt={fontFamily:mt,fontSize:r.FtCssVariable.create("--ft-typography-font-size","SIZE","16px"),fontWeight:r.FtCssVariable.create("--ft-typography-font-weight","UNKNOWN","normal"),letterSpacing:r.FtCssVariable.create("--ft-typography-letter-spacing","SIZE","0.496px"),lineHeight:r.FtCssVariable.create("--ft-typography-line-height","SIZE","24px"),textTransform:r.FtCssVariable.create("--ft-typography-text-transform","UNKNOWN","inherit")},gt=r.FtCssVariable.extend("--ft-typography-title-font-family",ut),vt=r.FtCssVariable.extend("--ft-typography-title-font-size",yt.fontSize,"20px"),bt=r.FtCssVariable.extend("--ft-typography-title-font-weight",yt.fontWeight,"normal"),xt=r.FtCssVariable.extend("--ft-typography-title-letter-spacing",yt.letterSpacing,"0.15px"),$t=r.FtCssVariable.extend("--ft-typography-title-line-height",yt.lineHeight,"24px"),wt=r.FtCssVariable.extend("--ft-typography-title-text-transform",yt.textTransform,"inherit"),kt=r.FtCssVariable.extend("--ft-typography-title-dense-font-family",ut),zt=r.FtCssVariable.extend("--ft-typography-title-dense-font-size",yt.fontSize,"14px"),St=r.FtCssVariable.extend("--ft-typography-title-dense-font-weight",yt.fontWeight,"normal"),At=r.FtCssVariable.extend("--ft-typography-title-dense-letter-spacing",yt.letterSpacing,"0.105px"),Ot=r.FtCssVariable.extend("--ft-typography-title-dense-line-height",yt.lineHeight,"24px"),Tt=r.FtCssVariable.extend("--ft-typography-title-dense-text-transform",yt.textTransform,"inherit"),_t=r.FtCssVariable.extend("--ft-typography-subtitle1-font-family",mt),Ct=r.FtCssVariable.extend("--ft-typography-subtitle1-font-size",yt.fontSize,"16px"),It=r.FtCssVariable.extend("--ft-typography-subtitle1-font-weight",yt.fontWeight,"600"),Et=r.FtCssVariable.extend("--ft-typography-subtitle1-letter-spacing",yt.letterSpacing,"0.144px"),Ft=r.FtCssVariable.extend("--ft-typography-subtitle1-line-height",yt.lineHeight,"24px"),jt=r.FtCssVariable.extend("--ft-typography-subtitle1-text-transform",yt.textTransform,"inherit"),Bt=r.FtCssVariable.extend("--ft-typography-subtitle2-font-family",mt),Rt=r.FtCssVariable.extend("--ft-typography-subtitle2-font-size",yt.fontSize,"14px"),Dt=r.FtCssVariable.extend("--ft-typography-subtitle2-font-weight",yt.fontWeight,"normal"),Nt=r.FtCssVariable.extend("--ft-typography-subtitle2-letter-spacing",yt.letterSpacing,"0.098px"),Mt=r.FtCssVariable.extend("--ft-typography-subtitle2-line-height",yt.lineHeight,"24px"),Ht=r.FtCssVariable.extend("--ft-typography-subtitle2-text-transform",yt.textTransform,"inherit"),Ut=r.FtCssVariable.extend("--ft-typography-body1-font-family",mt),Lt=r.FtCssVariable.extend("--ft-typography-body1-font-size",yt.fontSize,"16px"),Pt=r.FtCssVariable.extend("--ft-typography-body1-font-weight",yt.fontWeight,"normal"),Vt=r.FtCssVariable.extend("--ft-typography-body1-letter-spacing",yt.letterSpacing,"0.496px"),Gt=r.FtCssVariable.extend("--ft-typography-body1-line-height",yt.lineHeight,"24px"),Zt=r.FtCssVariable.extend("--ft-typography-body1-text-transform",yt.textTransform,"inherit"),Wt=r.FtCssVariable.extend("--ft-typography-body2-font-family",mt),qt=r.FtCssVariable.extend("--ft-typography-body2-font-size",yt.fontSize,"14px"),Kt=r.FtCssVariable.extend("--ft-typography-body2-font-weight",yt.fontWeight,"normal"),Xt=r.FtCssVariable.extend("--ft-typography-body2-letter-spacing",yt.letterSpacing,"0.252px"),Yt=r.FtCssVariable.extend("--ft-typography-body2-line-height",yt.lineHeight,"20px"),Jt=r.FtCssVariable.extend("--ft-typography-body2-text-transform",yt.textTransform,"inherit"),Qt=r.FtCssVariable.extend("--ft-typography-caption-font-family",mt),te=r.FtCssVariable.extend("--ft-typography-caption-font-size",yt.fontSize,"12px"),ee=r.FtCssVariable.extend("--ft-typography-caption-font-weight",yt.fontWeight,"normal"),ie=r.FtCssVariable.extend("--ft-typography-caption-letter-spacing",yt.letterSpacing,"0.396px"),re=r.FtCssVariable.extend("--ft-typography-caption-line-height",yt.lineHeight,"16px"),oe=r.FtCssVariable.extend("--ft-typography-caption-text-transform",yt.textTransform,"inherit"),se=r.FtCssVariable.extend("--ft-typography-breadcrumb-font-family",mt),ae=r.FtCssVariable.extend("--ft-typography-breadcrumb-font-size",yt.fontSize,"10px"),ne=r.FtCssVariable.extend("--ft-typography-breadcrumb-font-weight",yt.fontWeight,"normal"),pe=r.FtCssVariable.extend("--ft-typography-breadcrumb-letter-spacing",yt.letterSpacing,"0.33px"),ce=r.FtCssVariable.extend("--ft-typography-breadcrumb-line-height",yt.lineHeight,"16px"),le=r.FtCssVariable.extend("--ft-typography-breadcrumb-text-transform",yt.textTransform,"inherit"),de=r.FtCssVariable.extend("--ft-typography-overline-font-family",mt),he=r.FtCssVariable.extend("--ft-typography-overline-font-size",yt.fontSize,"10px"),fe=r.FtCssVariable.extend("--ft-typography-overline-font-weight",yt.fontWeight,"normal"),ue=r.FtCssVariable.extend("--ft-typography-overline-letter-spacing",yt.letterSpacing,"1.5px"),me=r.FtCssVariable.extend("--ft-typography-overline-line-height",yt.lineHeight,"16px"),ye=r.FtCssVariable.extend("--ft-typography-overline-text-transform",yt.textTransform,"uppercase"),ge={fontFamily:r.FtCssVariable.extend("--ft-typography-button-font-family",mt),fontSize:r.FtCssVariable.extend("--ft-typography-button-font-size",yt.fontSize,"14px"),fontWeight:r.FtCssVariable.extend("--ft-typography-button-font-weight",yt.fontWeight,"600"),letterSpacing:r.FtCssVariable.extend("--ft-typography-button-letter-spacing",yt.letterSpacing,"1.246px"),lineHeight:r.FtCssVariable.extend("--ft-typography-button-line-height",yt.lineHeight,"16px"),textTransform:r.FtCssVariable.extend("--ft-typography-button-text-transform",yt.textTransform,"uppercase")},ve=e.css`
182
+ .ft-typography--title {
183
+ font-family: ${gt};
184
+ font-size: ${vt};
185
+ font-weight: ${bt};
186
+ letter-spacing: ${xt};
187
+ line-height: ${$t};
188
+ text-transform: ${wt};
189
+ }
190
+ `,be=e.css`
191
+ .ft-typography--title-dense {
192
+ font-family: ${kt};
193
+ font-size: ${zt};
194
+ font-weight: ${St};
195
+ letter-spacing: ${At};
196
+ line-height: ${Ot};
197
+ text-transform: ${Tt};
198
+ }
199
+ `,xe=e.css`
200
+ .ft-typography--subtitle1 {
201
+ font-family: ${_t};
202
+ font-size: ${Ct};
203
+ font-weight: ${It};
204
+ letter-spacing: ${Et};
205
+ line-height: ${Ft};
206
+ text-transform: ${jt};
207
+ }
208
+ `,$e=e.css`
209
+ .ft-typography--subtitle2 {
210
+ font-family: ${Bt};
211
+ font-size: ${Rt};
212
+ font-weight: ${Dt};
213
+ letter-spacing: ${Nt};
214
+ line-height: ${Mt};
215
+ text-transform: ${Ht};
216
+ }
217
+
218
+ `,we=e.css`
219
+ .ft-typography--body1 {
220
+ font-family: ${Ut};
221
+ font-size: ${Lt};
222
+ font-weight: ${Pt};
223
+ letter-spacing: ${Vt};
224
+ line-height: ${Gt};
225
+ text-transform: ${Zt};
226
+ }
227
+ `,ke=e.css`
228
+ .ft-typography--body2 {
229
+ font-family: ${Wt};
230
+ font-size: ${qt};
231
+ font-weight: ${Kt};
232
+ letter-spacing: ${Xt};
233
+ line-height: ${Yt};
234
+ text-transform: ${Jt};
235
+ }
236
+ `,ze=e.css`
237
+ .ft-typography--caption {
238
+ font-family: ${Qt};
239
+ font-size: ${te};
240
+ font-weight: ${ee};
241
+ letter-spacing: ${ie};
242
+ line-height: ${re};
243
+ text-transform: ${oe};
244
+ }
245
+ `,Se=e.css`
246
+ .ft-typography--breadcrumb {
247
+ font-family: ${se};
248
+ font-size: ${ae};
249
+ font-weight: ${ne};
250
+ letter-spacing: ${pe};
251
+ line-height: ${ce};
252
+ text-transform: ${le};
253
+ }
254
+ `,Ae=e.css`
255
+ .ft-typography--overline {
256
+ font-family: ${de};
257
+ font-size: ${he};
258
+ font-weight: ${fe};
259
+ letter-spacing: ${ue};
260
+ line-height: ${me};
261
+ text-transform: ${ye};
262
+ }
263
+ `,Oe=e.css`
264
+ .ft-typography--button {
265
+ font-family: ${ge.fontFamily};
266
+ font-size: ${ge.fontSize};
267
+ font-weight: ${ge.fontWeight};
268
+ letter-spacing: ${ge.letterSpacing};
269
+ line-height: ${ge.lineHeight};
270
+ text-transform: ${ge.textTransform};
271
+ }
272
+ `;let Te=class extends r.FtLitElement{constructor(){super(...arguments),this.variant=ht.body1}getStyles(){return[ve,be,xe,$e,we,ke,ze,Se,Ae,Oe]}getTemplate(){return this.element?dt`
273
+ <${ct(this.element)}
274
+ class="ft-typography ft-typography--${this.variant}">
275
+ <slot></slot>
276
+ </${ct(this.element)}>
277
+ `:dt`
278
+ <slot class="ft-typography ft-typography--${this.variant}"></slot>
279
+ `}};ft([i.property()],Te.prototype,"element",void 0),ft([i.property()],Te.prototype,"variant",void 0),Te=ft([r.customElement("ft-typography")],Te);
280
+ /**
281
+ * @license
282
+ * Copyright 2021 Google LLC
283
+ * SPDX-LIcense-Identifier: Apache-2.0
284
+ */
285
+ const _e=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"}`
286
+ /**
287
+ * @license
288
+ * Copyright 2018 Google LLC
289
+ * SPDX-License-Identifier: Apache-2.0
290
+ */;let Ce=class extends e.LitElement{render(){return e.html`<span><slot></slot></span>`}};Ce.styles=[_e],Ce=p([i.customElement("mwc-icon")],Ce);var Ie=function(t,e,i,r){for(var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};const Ee=r.FtCssVariable.create("--ft-tooltip-distance","SIZE","4px"),Fe=r.FtCssVariable.create("--ft-tooltip-color","COLOR","#FFFFFF"),je=r.FtCssVariable.create("--ft-tooltip-background-color","COLOR","#666666"),Be=r.FtCssVariable.create("--ft-tooltip-z-index","NUMBER","1"),Re=r.FtCssVariable.external(r.designSystemVariables.borderRadiusS,"Design system");let De=class extends r.FtLitElement{constructor(){super(...arguments),this.text="",this.manual=!1,this.inline=!1,this.delay=500,this.position="bottom",this.visible=!1,this.hideDebounce=new r.Debouncer,this.revealDebouncer=new r.Debouncer}getStyles(){return e.css`
291
+ .ft-tooltip--container {
292
+ display: block;
293
+ position: relative;
294
+ }
295
+
296
+ .ft-tooltip--inline {
297
+ display: inline-block;
298
+ max-width: 100%;
299
+ }
300
+
301
+ .ft-tooltip {
302
+ position: absolute;
303
+ box-sizing: border-box;
304
+ overflow: hidden;
305
+ width: max-content;
306
+ max-width: 150px;
307
+ text-align: center;
308
+ padding: ${Ee};
309
+ z-index: ${Be};
310
+ }
311
+
312
+ .ft-tooltip--content {
313
+ padding: 4px 8px;
314
+ border-radius: ${Re};
315
+ background-color: ${je};
316
+ color: ${Fe};
317
+ top: -500px;
318
+ left: -500px;
319
+ position: relative;
320
+ word-break: break-word;
321
+ }
322
+ `}getTemplate(){return e.html`
323
+ <div part="container"
324
+ class="ft-tooltip--container ${this.inline?"ft-tooltip--inline":""}"
325
+ @mouseenter=${this.onHover}
326
+ @mouseleave=${this.onOut}
327
+ @focusin=${this.onHover}
328
+ @focusout=${this.onOut}
329
+ @touchstart=${this.onTouch}>
330
+ <div part="tooltip" class="ft-tooltip ft-tooltip--${this.position}" ?hidden=${!this.visible}>
331
+ <div part="tooltip-content" class="ft-tooltip--content">
332
+ <ft-typography variant="caption">${this.text}</ft-typography>
333
+ </div>
334
+ </div>
335
+ <slot></slot>
336
+ </div>
337
+ `}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,r=(e.width-this.tooltip.clientWidth)/2,o=this.tooltip.style;switch(this.position){case"top":o.top=-this.tooltip.clientHeight+"px",o.left=r+"px";break;case"bottom":o.top=e.height+"px",o.left=r+"px";break;case"left":o.top=i+"px",o.left=-this.tooltip.clientWidth+"px";break;case"right":o.top=i+"px",o.left=e.width+"px"}o.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())}};De.elementDefinitions={"ft-typography":Te},Ie([i.property()],De.prototype,"text",void 0),Ie([i.property({type:Boolean})],De.prototype,"manual",void 0),Ie([i.property({type:Boolean})],De.prototype,"inline",void 0),Ie([i.property({type:Number})],De.prototype,"delay",void 0),Ie([i.property()],De.prototype,"position",void 0),Ie([i.queryAssignedNodes("",!0)],De.prototype,"slotNodes",void 0),Ie([i.query(".ft-tooltip--container")],De.prototype,"container",void 0),Ie([i.query("slot")],De.prototype,"target",void 0),Ie([i.query(".ft-tooltip")],De.prototype,"tooltip",void 0),Ie([i.query(".ft-tooltip--content")],De.prototype,"tooltipContent",void 0),Ie([i.state()],De.prototype,"visible",void 0),De=Ie([r.customElement("ft-tooltip")],De);var Ne=function(t,e,i,r){for(var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};const Me={color:r.FtCssVariable.extend("--ft-loader-color",r.designSystemVariables.colorPrimary),size:r.FtCssVariable.create("--ft-loader-size","SIZE","80px")};let He=class extends r.FtLitElement{getStyles(){return e.css`
338
+ :host {
339
+ line-height: 0;
340
+ }
341
+
342
+ .ft-loader {
343
+ display: inline-block;
344
+ position: relative;
345
+
346
+ width: ${Me.size};
347
+ height: ${Me.size};
348
+ }
349
+
350
+ .ft-loader div {
351
+ position: absolute;
352
+ top: 37.5%;
353
+ width: 25%;
354
+ height: 25%;
355
+ border-radius: 50%;
356
+ background: ${Me.color};
357
+ animation-timing-function: cubic-bezier(0, 1, 1, 0);
358
+ }
359
+
360
+ .ft-loader div:nth-child(1) {
361
+ left: 2.5%;
362
+ animation: appear 0.6s infinite;
363
+ }
364
+
365
+ .ft-loader div:nth-child(2) {
366
+ left: 2.5%;
367
+ animation: move 0.6s infinite;
368
+ }
369
+
370
+ .ft-loader div:nth-child(3) {
371
+ left: 37.5%;
372
+ animation: move 0.6s infinite;
373
+ }
374
+
375
+ .ft-loader div:nth-child(4) {
376
+ left: 72.5%;
377
+ animation: disappear 0.6s infinite;
378
+ }
379
+
380
+ @keyframes appear {
381
+ 0% {
382
+ transform: scale(0);
383
+ }
384
+ 100% {
385
+ transform: scale(1);
386
+ }
387
+ }
388
+
389
+ @keyframes disappear {
390
+ 0% {
391
+ transform: scale(1);
392
+ }
393
+ 100% {
394
+ transform: scale(0);
395
+ }
396
+ }
397
+
398
+ @keyframes move {
399
+ 0% {
400
+ transform: translate(0, 0);
401
+ }
402
+ 100% {
403
+ transform: translate(calc(0.35 * ${Me.size}), 0);
404
+ }
405
+ }
406
+ `}getTemplate(){return e.html`
407
+ <div class="ft-loader">
408
+ <div></div>
409
+ <div></div>
410
+ <div></div>
411
+ <div></div>
412
+ </div>
413
+ `}};He=Ne([r.customElement("ft-loader")],He);var Ue=function(t,e,i,r){for(var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};const Le=r.FtCssVariable.extend("--ft-button-color",r.designSystemVariables.colorPrimary),Pe={backgroundColor:r.FtCssVariable.extend("--ft-button-background-color",r.designSystemVariables.colorSurface),borderRadius:r.FtCssVariable.extend("--ft-button-border-radius",r.designSystemVariables.borderRadiusL),color:Le,fontSize:r.FtCssVariable.extend("--ft-button-font-size",ge.fontSize),iconSize:r.FtCssVariable.create("--ft-button-icon-size","SIZE","24px"),rippleColor:r.FtCssVariable.extend("--ft-button-ripple-color",Le),opacityDisabled:r.FtCssVariable.external(r.designSystemVariables.colorOpacityDisabled,"Design system")},Ve=r.FtCssVariable.extend("--ft-button-primary-color",r.FtCssVariable.extend("--ft-button-color",r.designSystemVariables.colorOnPrimary)),Ge=r.FtCssVariable.extend("--ft-button-primary-background-color",r.FtCssVariable.extend("--ft-button-background-color",r.designSystemVariables.colorPrimary)),Ze=Ve,We=(r.FtCssVariable.extend("--ft-button-primary-ripple-color",Ve),r.FtCssVariable.extend("--ft-button-dense-border-radius",r.FtCssVariable.extend("--ft-button-border-radius",r.designSystemVariables.borderRadiusM)));let qe=class extends r.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[r.noTextSelect,e.css`
414
+ :host {
415
+ display: inline-block;
416
+ max-width: 100%;
417
+ }
418
+
419
+ button {
420
+ box-shadow: 0px 0px 0px transparent;
421
+ border: 0px solid transparent;
422
+ text-shadow: 0px 0px 0px transparent;
423
+ }
424
+
425
+ button:hover {
426
+ box-shadow: 0px 0px 0px transparent;
427
+ border: 0px solid transparent;
428
+ text-shadow: 0px 0px 0px transparent;
429
+ }
430
+
431
+ button:active {
432
+ outline: none;
433
+ border: none;
434
+ }
435
+
436
+ button:focus {
437
+ outline: 0;
438
+ }
439
+
440
+ .ft-button {
441
+ position: relative;
442
+ display: flex;
443
+ justify-content: center;
444
+ align-items: center;
445
+ width: 100%;
446
+ overflow: hidden;
447
+ box-sizing: border-box;
448
+ border: none;
449
+
450
+ --ft-button-internal-font-size: ${Pe.fontSize};
451
+ --ft-button-internal-line-height: calc(var(--ft-button-internal-font-size) + 2px);
452
+ --ft-button-internal-color: ${Pe.color};
453
+ --mdc-icon-size: ${Pe.iconSize};
454
+ --ft-button-internal-vertical-padding: 6px;
455
+ --ft-button-internal-horizontal-padding: 8px;
456
+ ${r.setVariable(O.color,Pe.rippleColor)};
457
+ --ft-button-internal-content-height: max(var(--ft-button-internal-line-height), var(--mdc-icon-size));
458
+
459
+ border-radius: ${Pe.borderRadius};
460
+ padding: var(--ft-button-internal-vertical-padding) var(--ft-button-internal-horizontal-padding);
461
+ background-color: ${Pe.backgroundColor};
462
+ color: var(--ft-button-internal-color);
463
+ -webkit-mask-image: radial-gradient(white, black);
464
+ }
465
+
466
+ .ft-button:not([disabled]):hover {
467
+ cursor: pointer;
468
+ }
469
+
470
+ .ft-button--dense {
471
+ --ft-button-internal-vertical-padding: 2px;
472
+ --ft-button-internal-horizontal-padding: 4px;
473
+ border-radius: ${We};
474
+ }
475
+
476
+ .ft-button--round {
477
+ border-radius: calc(var(--ft-button-internal-content-height) / 2 + var(--ft-button-internal-vertical-padding));
478
+ }
479
+
480
+ .ft-button[disabled] {
481
+ filter: grayscale(1);
482
+ opacity: ${Pe.opacityDisabled};
483
+ }
484
+
485
+ .ft-button.ft-button--primary {
486
+ background-color: ${Ge};
487
+ --ft-button-internal-color: ${Ze};
488
+ }
489
+
490
+ .ft-button.ft-button--outlined {
491
+ border: 1px solid var(--ft-button-internal-color);
492
+ padding: calc(var(--ft-button-internal-vertical-padding) - 1px) calc(var(--ft-button-internal-horizontal-padding) - 1px);
493
+ }
494
+
495
+ .ft-button:focus {
496
+ outline: none;
497
+ }
498
+
499
+ .ft-button--label {
500
+ overflow: hidden;
501
+ white-space: nowrap;
502
+ text-overflow: ellipsis;
503
+ display: block;
504
+ margin: 0 var(--ft-button-internal-horizontal-padding);
505
+ ${r.setVariable(ge.fontSize,"var(--ft-button-internal-font-size)")};
506
+ ${r.setVariable(ge.lineHeight,"var(--ft-button-internal-content-height)")};
507
+ }
508
+
509
+ .ft-button--safari-fix .ft-button--label {
510
+ margin-right: 0;
511
+ }
512
+
513
+ .ft-button--safari-fix .ft-button--label:after {
514
+ content: "\\0000a0";
515
+ display: inline-block;
516
+ width: 0;
517
+ }
518
+
519
+ .ft-button--label[hidden] {
520
+ display: none;
521
+ }
522
+
523
+ mwc-icon {
524
+ flex-shrink: 0;
525
+ width: var(--mdc-icon-size);
526
+ }
527
+
528
+ .ft-button--label[hidden] + mwc-icon {
529
+ margin: 0 calc(var(--ft-button-internal-horizontal-padding) * -1);
530
+ padding: 0 var(--ft-button-internal-vertical-padding);
531
+ }
532
+
533
+ .ft-button:not(.ft-button--trailing-icon) mwc-icon,
534
+ .ft-button:not(.ft-button--trailing-icon) ft-loader {
535
+ order: -1;
536
+ }
537
+
538
+ ft-loader {
539
+ ${r.setVariable(Me.size,Pe.iconSize)};
540
+ ${r.setVariable(Me.color,"var(--ft-button-internal-color)")};
541
+ }
542
+ `]}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":r.isSafari,"ft-no-text-select":!0};return this.addTooltip(e.html`
543
+ <button part="button"
544
+ class="${o.classMap(t)}"
545
+ aria-label="${this.getLabel()}"
546
+ ?disabled=${this.isDisabled()}>
547
+ <ft-ripple part="ripple" ?disabled=${this.isDisabled()}></ft-ripple>
548
+ <ft-typography part="label"
549
+ variant="button"
550
+ class="ft-button--label"
551
+ ?hidden=${!this.hasTextContent()}>
552
+ <slot @slotchange=${this.onSlotchange}></slot>
553
+ </ft-typography>
554
+ ${this.resolveIcon()}
555
+ </button>
556
+ `)}addTooltip(t){return this.hasTextContent()||0===this.getLabel().trim().length?t:e.html`
557
+ <ft-tooltip part="tooltip"
558
+ text="${this.getLabel()}"
559
+ position="${this.tooltipPosition}">
560
+ ${t}
561
+ </ft-tooltip>
562
+ `}resolveIcon(){return this.loading?e.html`
563
+ <ft-loader></ft-loader> `:this.icon?e.html`
564
+ <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":T,"ft-tooltip":De,"ft-typography":Te,"mwc-icon":Ce,"ft-loader":He},Ue([i.property({type:Boolean})],qe.prototype,"primary",void 0),Ue([i.property({type:Boolean})],qe.prototype,"outlined",void 0),Ue([i.property({type:Boolean})],qe.prototype,"disabled",void 0),Ue([i.property({type:Boolean})],qe.prototype,"dense",void 0),Ue([i.property({type:Boolean})],qe.prototype,"round",void 0),Ue([i.property({type:String})],qe.prototype,"label",void 0),Ue([i.property({type:String})],qe.prototype,"icon",void 0),Ue([i.property({type:Boolean})],qe.prototype,"trailingIcon",void 0),Ue([i.property({type:Boolean})],qe.prototype,"loading",void 0),Ue([i.property({type:String})],qe.prototype,"tooltipPosition",void 0),Ue([i.query(".ft-button")],qe.prototype,"button",void 0),Ue([i.query(".ft-button--label slot")],qe.prototype,"slottedContent",void 0),qe=Ue([r.customElement("ft-button")],qe);var Ke=function(t,e,i,r){for(var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r,n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a};const Xe={buttonsColor:r.FtCssVariable.extend("--ft-snap-scroll-buttons-color",r.designSystemVariables.colorPrimary),buttonsZIndex:r.FtCssVariable.create("--ft-snap-scroll-buttons-z-index","COLOR","1"),gap:r.FtCssVariable.create("--ft-snap-scroll-gap","SIZE","0"),colorSurface:r.FtCssVariable.external(r.designSystemVariables.colorSurface,"Design system")};class Ye extends CustomEvent{constructor(t,e){super("current-element-change",{detail:{index:t,element:e}})}}t.FtSnapScroll=class extends r.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 r.Debouncer(200),this.updateScrollDebouncer=new r.Debouncer(100)}getStyles(){return e.css`
565
+ .ft-snap-scroll {
566
+ box-sizing: border-box;
567
+ position: relative;
568
+ display: flex;
569
+
570
+ --ft-snap-scroll-transparent-color: transparent;
571
+ }
572
+
573
+ .ft-snap-scroll.ft-snap-scroll--safari-fix {
574
+ /* Safari handles "transparent" as rgba(0,0,0,0) so it's ugly in linear-gradiant with default --ft-color-surface */
575
+ /* this value should be overridden with --ft-color-surface with alpha set to 0 when needed */
576
+ --ft-snap-scroll-transparent-color: rgba(255, 255, 255, 0);
577
+ }
578
+
579
+ .ft-snap-scroll,
580
+ .ft-snap-scroll--content {
581
+ overflow: hidden;
582
+ }
583
+
584
+ .ft-snap-scroll--limit-size,
585
+ .ft-snap-scroll--limit-size .ft-snap-scroll--content {
586
+ width: 100%;
587
+ height: 100%;
588
+ }
589
+
590
+ .ft-snap-scroll--content {
591
+ flex-grow: 1;
592
+ flex-shrink: 1;
593
+ box-sizing: border-box;
594
+ scroll-snap-align: start;
595
+ display: flex;
596
+ flex-wrap: nowrap;
597
+ align-items: flex-start;
598
+ justify-content: flex-start;
599
+ gap: ${Xe.gap};
600
+ }
601
+
602
+ .ft-snap-scroll--hide-scrollbar .ft-snap-scroll--content::-webkit-scrollbar {
603
+ display: none;
604
+ }
605
+
606
+ .ft-snap-scroll--hide-scrollbar .ft-snap-scroll--content {
607
+ -ms-overflow-style: none;
608
+ scrollbar-width: none;
609
+ }
610
+
611
+ .ft-snap-scroll--content::slotted(*) {
612
+ flex-shrink: 0;
613
+ flex-grow: 1;
614
+ max-height: 100%;
615
+ max-width: 100%;
616
+ }
617
+
618
+ .ft-snap-scroll--horizontal,
619
+ .ft-snap-scroll--horizontal .ft-snap-scroll--content {
620
+ width: 100%;
621
+ }
622
+
623
+ .ft-snap-scroll--vertical,
624
+ .ft-snap-scroll--vertical .ft-snap-scroll--content {
625
+ height: 100%;
626
+ }
627
+
628
+ .ft-snap-scroll--horizontal .ft-snap-scroll--content {
629
+ flex-direction: row;
630
+ overflow-x: auto;
631
+ }
632
+
633
+ .ft-snap-scroll--vertical .ft-snap-scroll--content {
634
+ flex-direction: column;
635
+ overflow-y: auto;
636
+ }
637
+
638
+ .ft-snap-scroll--previous,
639
+ .ft-snap-scroll--next {
640
+ position: absolute;
641
+ display: flex;
642
+ z-index: ${Xe.buttonsZIndex};
643
+ opacity: 1;
644
+ transition: background-color .5s ease-in-out, opacity .5s ease-in-out, z-index .5s ease-in-out;
645
+ ${r.setVariable(Pe.backgroundColor,"transparent")};
646
+ ${r.setVariable(Pe.color,Xe.buttonsColor)};
647
+ }
648
+
649
+ .ft-snap-scroll--previous[hidden],
650
+ .ft-snap-scroll--next[hidden] {
651
+ z-index: -1;
652
+ opacity: 0;
653
+ }
654
+
655
+ .ft-snap-scroll--horizontal .ft-snap-scroll--previous {
656
+ top: 0;
657
+ left: -1px;
658
+ bottom: 0;
659
+ background: linear-gradient(to right, ${Xe.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
660
+ }
661
+
662
+ .ft-snap-scroll--vertical .ft-snap-scroll--previous {
663
+ top: -1px;
664
+ left: 0;
665
+ right: 0;
666
+ background: linear-gradient(to bottom, ${Xe.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
667
+ }
668
+
669
+ .ft-snap-scroll--horizontal .ft-snap-scroll--next {
670
+ top: 0;
671
+ right: -1px;
672
+ bottom: 0;
673
+ background: linear-gradient(to left, ${Xe.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
674
+ }
675
+
676
+ .ft-snap-scroll--vertical .ft-snap-scroll--next {
677
+ left: 0;
678
+ right: 0;
679
+ bottom: -1px;
680
+ background: linear-gradient(to top, ${Xe.colorSurface} 50%, var(--ft-snap-scroll-transparent-color));
681
+ }
682
+
683
+ .ft-snap-scroll--horizontal .ft-snap-scroll--previous:hover,
684
+ .ft-snap-scroll--horizontal .ft-snap-scroll--next:hover,
685
+ .ft-snap-scroll--vertical .ft-snap-scroll--previous:hover,
686
+ .ft-snap-scroll--vertical .ft-snap-scroll--next:hover {
687
+ background-color: ${Xe.colorSurface};
688
+ }
689
+ `}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=o.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":r.isSafari}),i=this.controls&&this.withScroll;return e.html`
690
+ <div part="container" class="${t}">
691
+ <ft-button
692
+ class="ft-snap-scroll--previous"
693
+ part="controls"
694
+ primary
695
+ icon="${this.horizontal?"arrow_back_ios_new":"expand_less"}"
696
+ ?hidden=${!i||this.startReached}
697
+ ?disabled=${!i||this.startReached}
698
+ @click=${this.previous}
699
+ ></ft-button>
700
+ <slot class="ft-snap-scroll--content"
701
+ part="content"
702
+ @slotchange=${this.onSlotChange}></slot>
703
+ <ft-button
704
+ class="ft-snap-scroll--next"
705
+ part="controls"
706
+ primary
707
+ icon="${this.horizontal?"arrow_forward_ios":"expand_more"}"
708
+ ?hidden=${!i||this.endReached}
709
+ ?disabled=${!i||this.endReached}
710
+ @click=${this.next}
711
+ ></ft-button>
712
+ </div>
713
+ `}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 Ye(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)}},t.FtSnapScroll.elementDefinitions={"ft-button":qe},Ke([i.property({type:Boolean})],t.FtSnapScroll.prototype,"horizontal",void 0),Ke([i.property({type:Boolean})],t.FtSnapScroll.prototype,"hideScrollbar",void 0),Ke([i.property({type:Boolean})],t.FtSnapScroll.prototype,"controls",void 0),Ke([i.property({type:Boolean})],t.FtSnapScroll.prototype,"limitSize",void 0),Ke([i.state()],t.FtSnapScroll.prototype,"elements",void 0),Ke([i.state()],t.FtSnapScroll.prototype,"currentElement",void 0),Ke([i.state()],t.FtSnapScroll.prototype,"withScroll",void 0),Ke([i.state()],t.FtSnapScroll.prototype,"startReached",void 0),Ke([i.state()],t.FtSnapScroll.prototype,"endReached",void 0),Ke([i.query(".ft-snap-scroll--content")],t.FtSnapScroll.prototype,"contentSlot",void 0),t.FtSnapScroll=Ke([r.customElement("ft-snap-scroll")],t.FtSnapScroll),t.CurrentElementChange=Ye,t.FtSnapScrollCssVariables=Xe,Object.defineProperty(t,"t",{value:!0})}({},ftGlobals.lit,ftGlobals.litDecorators,ftGlobals.wcUtils,ftGlobals.litClassMap,ftGlobals.litStyleMap);