@fluid-topics/ft-infinite-scroll 1.1.4 → 1.1.5

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.
@@ -13,7 +13,6 @@ export const FtInfiniteScrollCssVariables = {
13
13
  // language=CSS
14
14
  export const styles = css `
15
15
  .items-container {
16
- position: relative;
17
16
  padding: ${FtInfiniteScrollCssVariables.padding};
18
17
  outline: none;
19
18
  }
@@ -23,11 +22,6 @@ export const styles = css `
23
22
  overflow-y: auto;
24
23
  }
25
24
 
26
- .item-container {
27
- height: 100vh;
28
- overflow: hidden;
29
- }
30
-
31
25
  .item-container + .item-container {
32
26
  /*
33
27
  We add a gap between items to be sure to hide the content above the targeted item
@@ -39,15 +33,12 @@ export const styles = css `
39
33
  margin-top: ${FtInfiniteScrollCssVariables.itemsGap};
40
34
  }
41
35
 
42
- .resizable:not(.rendered) {
43
- width: 0;
44
- }
45
-
46
- .item-container, .resizable.rendered {
47
- min-height: ${FtInfiniteScrollCssVariables.itemContainerMinHeight}
36
+ .item-container:not(.rendered) {
37
+ height: 1000px;
48
38
  }
49
39
 
50
- .rendered {
40
+ .item-container.rendered {
51
41
  display: flow-root;
42
+ min-height: ${FtInfiniteScrollCssVariables.itemContainerMinHeight};
52
43
  }
53
44
  `;
@@ -38,7 +38,7 @@ export declare class FtInfiniteScroll<T> extends FtLitElement implements FtInfin
38
38
  private getItem;
39
39
  private scrollToTarget;
40
40
  private getOffset;
41
- private getBottomOffset;
41
+ private getLastKnownHeight;
42
42
  appendItems(...items: Array<T>): void;
43
43
  prependItems(...items: Array<T>): void;
44
44
  private onVisibilityChange;
@@ -48,6 +48,9 @@ export declare class FtInfiniteScroll<T> extends FtLitElement implements FtInfin
48
48
  private triggerFindScrollableParent;
49
49
  private findScrollableParent;
50
50
  private scrollingDebouncer;
51
+ private scrollRestorationItem?;
52
+ private scrollRestorationOffset?;
53
+ private ignoreNextScrollEvent;
51
54
  private scrollListener;
52
55
  private elementCanScroll;
53
56
  private onResize;
@@ -62,4 +65,6 @@ export declare class FtInfiniteScroll<T> extends FtLitElement implements FtInfin
62
65
  private lastNotOkVisibleItems?;
63
66
  private resetVisibleItemsDebouncer;
64
67
  private onVisibleItemsChange;
68
+ private cancelableDispatchEvent?;
69
+ private dispatchVisibleItemsEvent;
65
70
  }
@@ -4,10 +4,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html } from "lit";
7
+ import { html, nothing } from "lit";
8
8
  import { property, query, state } from "lit/decorators.js";
9
9
  import { repeat } from "lit/directives/repeat.js";
10
- import { Debouncer, deepEqual, FtLitElement } from "@fluid-topics/ft-wc-utils";
10
+ import { cancelable, Debouncer, deepEqual, FtLitElement, waitUntil } from "@fluid-topics/ft-wc-utils";
11
11
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
12
12
  import { styles } from "./ft-infinite-scroll.css";
13
13
  export class VisibleItemsChangeEvent extends CustomEvent {
@@ -58,31 +58,32 @@ class FtInfiniteScroll extends FtLitElement {
58
58
  };
59
59
  this.intersectionObserver = new IntersectionObserver(this.onVisibilityChange);
60
60
  this.scrollingDebouncer = new Debouncer(100);
61
+ this.ignoreNextScrollEvent = false;
61
62
  this.scrollListener = () => {
62
- this.scrolling = true;
63
- this.scrollingDebouncer.run(() => {
64
- this.scrolling = false;
65
- });
63
+ if (!this.ignoreNextScrollEvent) {
64
+ this.scrolling = true;
65
+ this.scrollingDebouncer.run(() => this.scrolling = false);
66
+ }
67
+ this.ignoreNextScrollEvent = false;
68
+ this.scrollRestorationItem = this.searchFirstVisibleItem(this.itemsContainer.children);
69
+ this.scrollRestorationOffset = this.scrollable.scrollTop - this.getOffset(this.scrollRestorationItem);
66
70
  };
67
71
  this.onResize = (resizables) => {
68
- this.triggerFindScrollableParent();
69
- let scrollRestorationItem = this.searchFirstVisibleItem([...this.itemsContainer.children]);
70
- let scrollRestorationOffset = this.scrollable.scrollTop - this.getOffset(scrollRestorationItem);
71
72
  for (const resizable of resizables) {
72
- const index = +resizable.target.parentElement.getAttribute("data-item-index");
73
- if (this.alreadyRenderedIndexes.has(index) || resizable.target.classList.contains("rendered")) {
74
- resizable.target.parentElement.style.height = resizable.target.clientHeight + "px";
73
+ if (resizable.contentRect.height > 0) {
74
+ resizable.target.setAttribute("data-last-known-height", "" + resizable.contentRect.height);
75
75
  }
76
76
  }
77
- if (scrollRestorationItem != null && scrollRestorationOffset != null && this.scrolledToTarget) {
78
- this.scrollable.scrollTop = this.getOffset(scrollRestorationItem) + Math.min(scrollRestorationOffset, scrollRestorationItem.clientHeight);
77
+ if (this.scrollRestorationItem != null && this.scrollRestorationOffset != null && this.scrolledToTarget) {
78
+ this.ignoreNextScrollEvent = true;
79
+ this.scrollable.scrollTop = this.getOffset(this.scrollRestorationItem) + Math.min(Math.max(this.scrollRestorationOffset, 0), this.getLastKnownHeight(this.scrollRestorationItem) + 1);
79
80
  }
80
81
  };
81
82
  this.resizeObserver = new ResizeObserver(this.onResize);
82
83
  this.onMutation = () => {
83
84
  [...this.itemsContainer.children].forEach((item) => {
84
- this.resizeObserver.observe(item.children.item(0));
85
85
  this.intersectionObserver.observe(item);
86
+ this.resizeObserver.observe(item);
86
87
  });
87
88
  };
88
89
  this.mutationObserver = new MutationObserver(this.onMutation);
@@ -103,24 +104,20 @@ class FtInfiniteScroll extends FtLitElement {
103
104
  }
104
105
  renderItemContainer(item, index) {
105
106
  const isVisible = !this.scrolling && this.scrolledToTarget && this.visibleItems.includes(index);
106
- const isRendered = this.alreadyRenderedIndexes.has(index) || (this.scrolledToTarget && (index >= this.visibleItems[0] - this.renderBeforeFirst && index <= last(this.visibleItems) + this.renderAfterLast));
107
+ const inRenderRange = index >= this.visibleItems[0] - this.renderBeforeFirst && index <= last(this.visibleItems) + this.renderAfterLast;
108
+ const isRendered = this.alreadyRenderedIndexes.has(index) || (this.scrolledToTarget && !this.scrolling && inRenderRange);
107
109
  if (isRendered) {
108
110
  this.alreadyRenderedIndexes.add(index);
109
111
  }
110
112
  const renderItem = () => {
111
113
  const rendered = this.renderItem(item, index);
112
- if (typeof rendered === "string") {
113
- return html `${unsafeHTML(rendered)}`;
114
- }
115
- return rendered;
114
+ return typeof rendered === "string" ? unsafeHTML(rendered) : rendered;
116
115
  };
117
116
  return html `
118
117
  <div id="item-${index}"
119
- class="item-container ${isVisible ? "visible" : ""}"
118
+ class="item-container ${isRendered ? "rendered" : ""} ${isVisible ? "visible" : ""}"
120
119
  data-item-index="${index}">
121
- <div class="resizable ${isVisible ? "visible" : ""} ${isRendered ? "rendered" : ""}">
122
- ${isRendered ? renderItem() : null}
123
- </div>
120
+ ${isRendered ? renderItem() : nothing}
124
121
  </div>
125
122
  `;
126
123
  }
@@ -136,9 +133,11 @@ class FtInfiniteScroll extends FtLitElement {
136
133
  if (internalScrollToIndex >= this.items.length) {
137
134
  internalScrollToIndex = -1;
138
135
  }
139
- let target = this.getItem(internalScrollToIndex);
136
+ const target = this.getItem(internalScrollToIndex);
140
137
  this.scrollToTarget(target);
141
138
  this.scrollDoneDebouncer.run(() => {
139
+ this.scrollRestorationItem = target;
140
+ this.scrollRestorationOffset = 0;
142
141
  this.onMutation();
143
142
  this.scrolledToTarget = true;
144
143
  });
@@ -170,9 +169,9 @@ class FtInfiniteScroll extends FtLitElement {
170
169
  }
171
170
  return offset + ((_a = el === null || el === void 0 ? void 0 : el.offsetTop) !== null && _a !== void 0 ? _a : 0) - this.scrollable.offsetTop;
172
171
  }
173
- getBottomOffset(target) {
172
+ getLastKnownHeight(target) {
174
173
  var _a;
175
- return this.getOffset(target) + ((_a = target === null || target === void 0 ? void 0 : target.clientHeight) !== null && _a !== void 0 ? _a : 0);
174
+ return +((_a = target === null || target === void 0 ? void 0 : target.getAttribute("data-last-known-height")) !== null && _a !== void 0 ? _a : 1000); // default height is 1000px
176
175
  }
177
176
  appendItems(...items) {
178
177
  this.items = [...this.items, ...items];
@@ -237,17 +236,18 @@ class FtInfiniteScroll extends FtLitElement {
237
236
  searchFirstVisibleItem(items, from, to) {
238
237
  from = from !== null && from !== void 0 ? from : 0;
239
238
  to = to !== null && to !== void 0 ? to : (items.length - 1);
240
- if (to - from <= 0) {
239
+ if (to <= from) {
241
240
  return items[from];
242
241
  }
243
242
  const middle = Math.floor((to - from) / 2) + from;
244
- if (this.getOffset(items[middle]) > this.scrollable.scrollTop) {
243
+ const middleItem = items[middle];
244
+ if (this.getOffset(middleItem) > this.scrollable.scrollTop) {
245
245
  return this.searchFirstVisibleItem(items, from, middle - 1);
246
246
  }
247
- else if (this.getBottomOffset(items[middle]) < this.scrollable.scrollTop) {
247
+ else if (this.getOffset(middleItem) + this.getLastKnownHeight(middleItem) < this.scrollable.scrollTop) {
248
248
  return this.searchFirstVisibleItem(items, middle + 1, to);
249
249
  }
250
- return items[middle];
250
+ return middleItem;
251
251
  }
252
252
  disconnectedCallback() {
253
253
  super.disconnectedCallback();
@@ -281,7 +281,7 @@ class FtInfiniteScroll extends FtLitElement {
281
281
  const isVisibleItemsOk = this.visibleItems.every((v, i) => this.visibleItems[i + 1] == null || v + 1 === this.visibleItems[i + 1]);
282
282
  if (isVisibleItemsOk || deepEqual(this.visibleItems, this.lastNotOkVisibleItems)) {
283
283
  this.resetVisibleItemsDebouncer.cancel();
284
- this.dispatchEvent(new VisibleItemsChangeEvent(this.visibleItems, this.visibleItems.map(index => this.items[index])));
284
+ this.dispatchVisibleItemsEvent();
285
285
  }
286
286
  else {
287
287
  this.resetVisibleItemsDebouncer.run(() => {
@@ -292,6 +292,14 @@ class FtInfiniteScroll extends FtLitElement {
292
292
  });
293
293
  }
294
294
  }
295
+ dispatchVisibleItemsEvent() {
296
+ var _a;
297
+ (_a = this.cancelableDispatchEvent) === null || _a === void 0 ? void 0 : _a.cancel();
298
+ this.cancelableDispatchEvent = cancelable(waitUntil(() => !this.scrolling));
299
+ this.cancelableDispatchEvent
300
+ .then(() => this.dispatchEvent(new VisibleItemsChangeEvent(this.visibleItems, this.visibleItems.map(index => this.items[index]))))
301
+ .catch(() => null);
302
+ }
295
303
  }
296
304
  // language=CSS
297
305
  FtInfiniteScroll.styles = styles;
@@ -1,7 +1,6 @@
1
- !function(t,i,e,s,l,n){const r={padding:i.FtCssVariableFactory.create("--ft-infinite-scroll-padding","","SIZE","0"),itemsGap:i.FtCssVariableFactory.create("--ft-infinite-scroll-items-gap","","SIZE","4px"),itemContainerMinHeight:i.FtCssVariableFactory.create("--ft-infinite-scroll-item-container-min-height","","SIZE",".1px")},h=e.css`
1
+ !function(t,i,e,s,h,n){const l={padding:i.FtCssVariableFactory.create("--ft-infinite-scroll-padding","","SIZE","0"),itemsGap:i.FtCssVariableFactory.create("--ft-infinite-scroll-items-gap","","SIZE","4px"),itemContainerMinHeight:i.FtCssVariableFactory.create("--ft-infinite-scroll-item-container-min-height","","SIZE",".1px")},r=e.css`
2
2
  .items-container {
3
- position: relative;
4
- padding: ${r.padding};
3
+ padding: ${l.padding};
5
4
  outline: none;
6
5
  }
7
6
 
@@ -10,11 +9,6 @@
10
9
  overflow-y: auto;
11
10
  }
12
11
 
13
- .item-container {
14
- height: 100vh;
15
- overflow: hidden;
16
- }
17
-
18
12
  .item-container + .item-container {
19
13
  /*
20
14
  We add a gap between items to be sure to hide the content above the targeted item
@@ -23,32 +17,27 @@
23
17
  By adding this gap we ensure that the previous item will be fully hidden
24
18
  and even if its size changes, it will not impact the scroll offset
25
19
  */
26
- margin-top: ${r.itemsGap};
27
- }
28
-
29
- .resizable:not(.rendered) {
30
- width: 0;
20
+ margin-top: ${l.itemsGap};
31
21
  }
32
22
 
33
- .item-container, .resizable.rendered {
34
- min-height: ${r.itemContainerMinHeight}
23
+ .item-container:not(.rendered) {
24
+ height: 1000px;
35
25
  }
36
26
 
37
- .rendered {
27
+ .item-container.rendered {
38
28
  display: flow-root;
29
+ min-height: ${l.itemContainerMinHeight};
39
30
  }
40
- `;var o=function(t,i,e,s){for(var l,n=arguments.length,r=n<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,h=t.length-1;h>=0;h--)(l=t[h])&&(r=(n<3?l(r):n>3?l(i,e,r):l(i,e))||r);return n>3&&r&&Object.defineProperty(i,e,r),r};class a extends CustomEvent{constructor(t,i){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:i}})}}class d extends Event{constructor(){super("scrolled-to-target")}}class c extends i.FtLitElement{constructor(){super(...arguments),this.items=[],this.renderItem=()=>e.html``,this.getItemKey=(t,i)=>`${i} - ${JSON.stringify(t)}`,this.internalScroll=!1,this.renderBeforeFirst=1,this.renderAfterLast=1,this.visibleItems=[],this.scrolledToTarget=!1,this.scrolling=!1,this.alreadyRenderedIndexes=new Set,this.scrollDebouncer=new i.Debouncer(5),this.scrollDoneDebouncer=new i.Debouncer(10),this.onVisibilityChange=t=>{let i=new Set(this.visibleItems),e=new Set;for(let s of t){let t=+s.target.attributes.getNamedItem("data-item-index").value;s.intersectionRect.height>0?(i.add(t),e.add(t)):e.has(t)||i.delete(t)}this.visibleItems=[...i].sort(((t,i)=>t-i))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.scrollingDebouncer=new i.Debouncer(100),this.scrollListener=()=>{this.scrolling=!0,this.scrollingDebouncer.run((()=>{this.scrolling=!1}))},this.onResize=t=>{this.triggerFindScrollableParent();let i=this.searchFirstVisibleItem([...this.itemsContainer.children]),e=this.scrollable.scrollTop-this.getOffset(i);for(const i of t){const t=+i.target.parentElement.getAttribute("data-item-index");(this.alreadyRenderedIndexes.has(t)||i.target.classList.contains("rendered"))&&(i.target.parentElement.style.height=i.target.clientHeight+"px")}null!=i&&null!=e&&this.scrolledToTarget&&(this.scrollable.scrollTop=this.getOffset(i)+Math.min(e,i.clientHeight))},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.itemsContainer.children].forEach((t=>{this.resizeObserver.observe(t.children.item(0)),this.intersectionObserver.observe(t)}))},this.mutationObserver=new MutationObserver(this.onMutation),this.resetVisibleItemsDebouncer=new i.Debouncer(10)}get scrollable(){var t;return null!==(t=this.internalScroll?this.internalScrollable:this.firstScrollableParent)&&void 0!==t?t:document.body}render(){return e.html`
31
+ `;var o=function(t,i,e,s){for(var h,n=arguments.length,l=n<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s,r=t.length-1;r>=0;r--)(h=t[r])&&(l=(n<3?h(l):n>3?h(i,e,l):h(i,e))||l);return n>3&&l&&Object.defineProperty(i,e,l),l};class a extends CustomEvent{constructor(t,i){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:i}})}}class d extends Event{constructor(){super("scrolled-to-target")}}class c extends i.FtLitElement{constructor(){super(...arguments),this.items=[],this.renderItem=()=>e.html``,this.getItemKey=(t,i)=>`${i} - ${JSON.stringify(t)}`,this.internalScroll=!1,this.renderBeforeFirst=1,this.renderAfterLast=1,this.visibleItems=[],this.scrolledToTarget=!1,this.scrolling=!1,this.alreadyRenderedIndexes=new Set,this.scrollDebouncer=new i.Debouncer(5),this.scrollDoneDebouncer=new i.Debouncer(10),this.onVisibilityChange=t=>{let i=new Set(this.visibleItems),e=new Set;for(let s of t){let t=+s.target.attributes.getNamedItem("data-item-index").value;s.intersectionRect.height>0?(i.add(t),e.add(t)):e.has(t)||i.delete(t)}this.visibleItems=[...i].sort(((t,i)=>t-i))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.scrollingDebouncer=new i.Debouncer(100),this.ignoreNextScrollEvent=!1,this.scrollListener=()=>{this.ignoreNextScrollEvent||(this.scrolling=!0,this.scrollingDebouncer.run((()=>this.scrolling=!1))),this.ignoreNextScrollEvent=!1,this.scrollRestorationItem=this.searchFirstVisibleItem(this.itemsContainer.children),this.scrollRestorationOffset=this.scrollable.scrollTop-this.getOffset(this.scrollRestorationItem)},this.onResize=t=>{for(const i of t)i.contentRect.height>0&&i.target.setAttribute("data-last-known-height",""+i.contentRect.height);null!=this.scrollRestorationItem&&null!=this.scrollRestorationOffset&&this.scrolledToTarget&&(this.ignoreNextScrollEvent=!0,this.scrollable.scrollTop=this.getOffset(this.scrollRestorationItem)+Math.min(Math.max(this.scrollRestorationOffset,0),this.getLastKnownHeight(this.scrollRestorationItem)+1))},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.itemsContainer.children].forEach((t=>{this.intersectionObserver.observe(t),this.resizeObserver.observe(t)}))},this.mutationObserver=new MutationObserver(this.onMutation),this.resetVisibleItemsDebouncer=new i.Debouncer(10)}get scrollable(){var t;return null!==(t=this.internalScroll?this.internalScrollable:this.firstScrollableParent)&&void 0!==t?t:document.body}render(){return e.html`
41
32
  <div class="items-container ${this.internalScroll?"scrollable":""}"
42
33
  tabindex="-1"
43
34
  @find-scrollable-parent=${this.findScrollableParent}>
44
- ${l.repeat(this.items,((t,i)=>this.getItemKey(t,i)),((t,i)=>this.renderItemContainer(t,i)))}
35
+ ${h.repeat(this.items,((t,i)=>this.getItemKey(t,i)),((t,i)=>this.renderItemContainer(t,i)))}
45
36
  </div>
46
- `}renderItemContainer(t,i){const s=!this.scrolling&&this.scrolledToTarget&&this.visibleItems.includes(i),l=this.alreadyRenderedIndexes.has(i)||this.scrolledToTarget&&i>=this.visibleItems[0]-this.renderBeforeFirst&&i<=(null!=(r=this.visibleItems)?r:[])[(null!=r?r:[]).length-1]+this.renderAfterLast;var r;l&&this.alreadyRenderedIndexes.add(i);return e.html`
37
+ `}renderItemContainer(t,i){const s=!this.scrolling&&this.scrolledToTarget&&this.visibleItems.includes(i),h=i>=this.visibleItems[0]-this.renderBeforeFirst&&i<=(null!=(l=this.visibleItems)?l:[])[(null!=l?l:[]).length-1]+this.renderAfterLast;var l;const r=this.alreadyRenderedIndexes.has(i)||this.scrolledToTarget&&!this.scrolling&&h;r&&this.alreadyRenderedIndexes.add(i);return e.html`
47
38
  <div id="item-${i}"
48
- class="item-container ${s?"visible":""}"
39
+ class="item-container ${r?"rendered":""} ${s?"visible":""}"
49
40
  data-item-index="${i}">
50
- <div class="resizable ${s?"visible":""} ${l?"rendered":""}">
51
- ${l?(()=>{const s=this.renderItem(t,i);return"string"==typeof s?e.html`${n.unsafeHTML(s)}`:s})():null}
52
- </div>
41
+ ${r?(()=>{const e=this.renderItem(t,i);return"string"==typeof e?n.unsafeHTML(e):e})():e.nothing}
53
42
  </div>
54
- `}resetScroll(){this.triggerFindScrollableParent(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.scrollDebouncer.run((()=>{var t;let i=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):-1;i>=this.items.length&&(i=-1);let e=this.getItem(i);this.scrollToTarget(e),this.scrollDoneDebouncer.run((()=>{this.onMutation(),this.scrolledToTarget=!0}))}))}getItem(t){var i;return null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector(`#item-${t}`)}scrollToTarget(t){var i;if(t){let e=+(null!==(i=t.getAttribute("data-item-index"))&&void 0!==i?i:"0");this.scrollable&&0===e?this.scrollable.scrollTop=0:this.scrollable.scrollTop=this.getOffset(t)}}getOffset(t){var i;let e=0,s=t;for(;s&&s.offsetParent!==this.scrollable.offsetParent;)e+=s.offsetTop,s=s.offsetParent;return e+(null!==(i=null==s?void 0:s.offsetTop)&&void 0!==i?i:0)-this.scrollable.offsetTop}getBottomOffset(t){var i;return this.getOffset(t)+(null!==(i=null==t?void 0:t.clientHeight)&&void 0!==i?i:0)}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.triggerFindScrollableParent(),this.initIntersectionObserver(),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.itemsContainer,{childList:!0})}),0)}initIntersectionObserver(){this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable,rootMargin:"-8px",threshold:[0,.01,.1,1]})}triggerFindScrollableParent(){var t;null===(t=this.itemsContainer)||void 0===t||t.dispatchEvent(new Event("find-scrollable-parent",{composed:!0}))}findScrollableParent(t){var i;let e,s;t.stopPropagation();for(let i of t.composedPath()){const t=i,l=this.elementCanScroll(t);if(t.clientHeight&&t.clientHeight<t.scrollHeight&&l){e=t;break}l&&(s=t)}let l=e||s;l!==this.firstScrollableParent&&(null===(i=this.firstScrollableParent)||void 0===i||i.removeEventListener("scroll",this.scrollListener),null==l||l.addEventListener("scroll",this.scrollListener),this.firstScrollableParent=l,this.initIntersectionObserver(),this.resetScroll())}elementCanScroll(t){try{return["auto","scroll"].includes(getComputedStyle(t).overflowY)}catch(t){return!1}}searchFirstVisibleItem(t,i,e){if(i=null!=i?i:0,(e=null!=e?e:t.length-1)-i<=0)return t[i];const s=Math.floor((e-i)/2)+i;return this.getOffset(t[s])>this.scrollable.scrollTop?this.searchFirstVisibleItem(t,i,s-1):this.getBottomOffset(t[s])<this.scrollable.scrollTop?this.searchFirstVisibleItem(t,s+1,e):t[s]}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.mutationObserver.disconnect()}firstUpdated(t){super.firstUpdated(t),this.resetScroll()}update(t){super.update(t),t.has("items")&&(this.alreadyRenderedIndexes=new Set),!t.has("scrollToItem")&&!t.has("scrollToIndex")||null==this.scrollToItem&&null==this.scrollToIndex||this.resetScroll()}updated(t){super.updated(t),(t.has("visibleItems")||t.has("items"))&&this.onVisibleItemsChange(),t.has("scrolledToTarget")&&this.scrolledToTarget&&(null!=this.scrollToItem||null!=this.scrollToIndex)&&this.dispatchEvent(new d)}onVisibleItemsChange(){this.visibleItems.every(((t,i)=>null==this.visibleItems[i+1]||t+1===this.visibleItems[i+1]))||i.deepEqual(this.visibleItems,this.lastNotOkVisibleItems)?(this.resetVisibleItemsDebouncer.cancel(),this.dispatchEvent(new a(this.visibleItems,this.visibleItems.map((t=>this.items[t]))))):this.resetVisibleItemsDebouncer.run((()=>{this.lastNotOkVisibleItems=[...this.visibleItems],this.visibleItems=[],this.initIntersectionObserver(),this.onMutation()}))}}c.styles=h,o([s.property({type:Array})],c.prototype,"items",void 0),o([s.property({attribute:!1})],c.prototype,"renderItem",void 0),o([s.property({attribute:!1})],c.prototype,"getItemKey",void 0),o([s.property({type:Object})],c.prototype,"scrollToItem",void 0),o([s.property({type:Number})],c.prototype,"scrollToIndex",void 0),o([s.property({type:Boolean})],c.prototype,"internalScroll",void 0),o([s.property({type:Number})],c.prototype,"renderBeforeFirst",void 0),o([s.property({type:Number})],c.prototype,"renderAfterLast",void 0),o([s.state({hasChanged:(t,i)=>null!=t&&null==i||t.length!==i.length||t[0]!==i[0]})],c.prototype,"visibleItems",void 0),o([s.query(".scrollable")],c.prototype,"internalScrollable",void 0),o([s.query(".items-container")],c.prototype,"itemsContainer",void 0),o([s.state()],c.prototype,"scrolledToTarget",void 0),o([s.state()],c.prototype,"scrolling",void 0),i.customElement("ft-infinite-scroll")(c),t.FtInfiniteScroll=c,t.FtInfiniteScrollCssVariables=r,t.ScrolledToTargetEvent=d,t.VisibleItemsChangeEvent=a,t.styles=h}({},ftGlobals.wcUtils,ftGlobals.lit,ftGlobals.litDecorators,ftGlobals.litRepeat,ftGlobals.litUnsafeHTML);
43
+ `}resetScroll(){this.triggerFindScrollableParent(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.scrollDebouncer.run((()=>{var t;let i=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):-1;i>=this.items.length&&(i=-1);const e=this.getItem(i);this.scrollToTarget(e),this.scrollDoneDebouncer.run((()=>{this.scrollRestorationItem=e,this.scrollRestorationOffset=0,this.onMutation(),this.scrolledToTarget=!0}))}))}getItem(t){var i;return null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector(`#item-${t}`)}scrollToTarget(t){var i;if(t){let e=+(null!==(i=t.getAttribute("data-item-index"))&&void 0!==i?i:"0");this.scrollable&&0===e?this.scrollable.scrollTop=0:this.scrollable.scrollTop=this.getOffset(t)}}getOffset(t){var i;let e=0,s=t;for(;s&&s.offsetParent!==this.scrollable.offsetParent;)e+=s.offsetTop,s=s.offsetParent;return e+(null!==(i=null==s?void 0:s.offsetTop)&&void 0!==i?i:0)-this.scrollable.offsetTop}getLastKnownHeight(t){var i;return+(null!==(i=null==t?void 0:t.getAttribute("data-last-known-height"))&&void 0!==i?i:1e3)}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.triggerFindScrollableParent(),this.initIntersectionObserver(),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.itemsContainer,{childList:!0})}),0)}initIntersectionObserver(){this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable,rootMargin:"-8px",threshold:[0,.01,.1,1]})}triggerFindScrollableParent(){var t;null===(t=this.itemsContainer)||void 0===t||t.dispatchEvent(new Event("find-scrollable-parent",{composed:!0}))}findScrollableParent(t){var i;let e,s;t.stopPropagation();for(let i of t.composedPath()){const t=i,h=this.elementCanScroll(t);if(t.clientHeight&&t.clientHeight<t.scrollHeight&&h){e=t;break}h&&(s=t)}let h=e||s;h!==this.firstScrollableParent&&(null===(i=this.firstScrollableParent)||void 0===i||i.removeEventListener("scroll",this.scrollListener),null==h||h.addEventListener("scroll",this.scrollListener),this.firstScrollableParent=h,this.initIntersectionObserver(),this.resetScroll())}elementCanScroll(t){try{return["auto","scroll"].includes(getComputedStyle(t).overflowY)}catch(t){return!1}}searchFirstVisibleItem(t,i,e){if(i=null!=i?i:0,(e=null!=e?e:t.length-1)<=i)return t[i];const s=Math.floor((e-i)/2)+i,h=t[s];return this.getOffset(h)>this.scrollable.scrollTop?this.searchFirstVisibleItem(t,i,s-1):this.getOffset(h)+this.getLastKnownHeight(h)<this.scrollable.scrollTop?this.searchFirstVisibleItem(t,s+1,e):h}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.mutationObserver.disconnect()}firstUpdated(t){super.firstUpdated(t),this.resetScroll()}update(t){super.update(t),t.has("items")&&(this.alreadyRenderedIndexes=new Set),!t.has("scrollToItem")&&!t.has("scrollToIndex")||null==this.scrollToItem&&null==this.scrollToIndex||this.resetScroll()}updated(t){super.updated(t),(t.has("visibleItems")||t.has("items"))&&this.onVisibleItemsChange(),t.has("scrolledToTarget")&&this.scrolledToTarget&&(null!=this.scrollToItem||null!=this.scrollToIndex)&&this.dispatchEvent(new d)}onVisibleItemsChange(){this.visibleItems.every(((t,i)=>null==this.visibleItems[i+1]||t+1===this.visibleItems[i+1]))||i.deepEqual(this.visibleItems,this.lastNotOkVisibleItems)?(this.resetVisibleItemsDebouncer.cancel(),this.dispatchVisibleItemsEvent()):this.resetVisibleItemsDebouncer.run((()=>{this.lastNotOkVisibleItems=[...this.visibleItems],this.visibleItems=[],this.initIntersectionObserver(),this.onMutation()}))}dispatchVisibleItemsEvent(){var t;null===(t=this.cancelableDispatchEvent)||void 0===t||t.cancel(),this.cancelableDispatchEvent=i.cancelable(i.waitUntil((()=>!this.scrolling))),this.cancelableDispatchEvent.then((()=>this.dispatchEvent(new a(this.visibleItems,this.visibleItems.map((t=>this.items[t])))))).catch((()=>null))}}c.styles=r,o([s.property({type:Array})],c.prototype,"items",void 0),o([s.property({attribute:!1})],c.prototype,"renderItem",void 0),o([s.property({attribute:!1})],c.prototype,"getItemKey",void 0),o([s.property({type:Object})],c.prototype,"scrollToItem",void 0),o([s.property({type:Number})],c.prototype,"scrollToIndex",void 0),o([s.property({type:Boolean})],c.prototype,"internalScroll",void 0),o([s.property({type:Number})],c.prototype,"renderBeforeFirst",void 0),o([s.property({type:Number})],c.prototype,"renderAfterLast",void 0),o([s.state({hasChanged:(t,i)=>null!=t&&null==i||t.length!==i.length||t[0]!==i[0]})],c.prototype,"visibleItems",void 0),o([s.query(".scrollable")],c.prototype,"internalScrollable",void 0),o([s.query(".items-container")],c.prototype,"itemsContainer",void 0),o([s.state()],c.prototype,"scrolledToTarget",void 0),o([s.state()],c.prototype,"scrolling",void 0),i.customElement("ft-infinite-scroll")(c),t.FtInfiniteScroll=c,t.FtInfiniteScrollCssVariables=l,t.ScrolledToTargetEvent=d,t.VisibleItemsChangeEvent=a,t.styles=r}({},ftGlobals.wcUtils,ftGlobals.lit,ftGlobals.litDecorators,ftGlobals.litRepeat,ftGlobals.litUnsafeHTML);
@@ -12,77 +12,77 @@
12
12
  * subject to an additional IP rights grant found at
13
13
  * http://polymer.github.io/PATENTS.txt
14
14
  */
15
- if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,o=window.customElements.define,e=window.customElements.get,r=window.customElements,i=new WeakMap,n=new WeakMap,a=new WeakMap,s=new WeakMap;let c;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,i){if(t=t.toLowerCase(),void 0!==this._getDefinition(t))throw new DOMException(`Failed to execute 'define' on 'CustomElementRegistry': the name "${t}" has already been used with this registry`);if(void 0!==this._definitionsByClass.get(i))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const s=i.prototype.attributeChangedCallback,c=new Set(i.observedAttributes||[]);p(i,c,s);const l={elementClass:i,connectedCallback:i.prototype.connectedCallback,disconnectedCallback:i.prototype.disconnectedCallback,adoptedCallback:i.prototype.adoptedCallback,attributeChangedCallback:s,formAssociated:i.formAssociated,formAssociatedCallback:i.prototype.formAssociatedCallback,formDisabledCallback:i.prototype.formDisabledCallback,formResetCallback:i.prototype.formResetCallback,formStateRestoreCallback:i.prototype.formStateRestoreCallback,observedAttributes:c};this._definitionsByTag.set(t,l),this._definitionsByClass.set(i,l);let h=e.call(r,t);h||(h=f(t),o.call(r,t,h)),this===window.customElements&&(a.set(i,l),l.standInClass=h);const d=this._awaitingUpgrade.get(t);if(d){this._awaitingUpgrade.delete(t);for(const t of d)n.delete(t),y(t,l,!0)}const u=this._whenDefinedPromises.get(t);return void 0!==u&&(u.resolve(i),this._whenDefinedPromises.delete(t)),i}upgrade(){g.push(this),r.upgrade.apply(r,arguments),g.pop()}get(t){const o=this._definitionsByTag.get(t);return o?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const o=this._getDefinition(t);if(void 0!==o)return Promise.resolve(o.elementClass);let e=this._whenDefinedPromises.get(t);return void 0===e&&(e={},e.promise=new Promise((t=>e.resolve=t)),this._whenDefinedPromises.set(t,e)),e.promise}_upgradeWhenDefined(t,o,e){let r=this._awaitingUpgrade.get(o);r||this._awaitingUpgrade.set(o,r=new Set),e?r.add(t):r.delete(t)}},window.HTMLElement=function(){let o=c;if(o)return c=void 0,o;const e=a.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return o=Reflect.construct(t,[],e.standInClass),Object.setPrototypeOf(o,this.constructor.prototype),i.set(o,e),o},window.HTMLElement.prototype=t.prototype;const l=t=>t===document||t instanceof ShadowRoot,h=t=>{let o=t.getRootNode();if(!l(o)){const t=g[g.length-1];if(t instanceof CustomElementRegistry)return t;o=t.getRootNode(),l(o)||(o=s.get(o)?.getRootNode()||document)}return o.customElements},f=o=>class{static get formAssociated(){return!0}constructor(){const e=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);const r=h(e)||window.customElements,i=r._getDefinition(o);return i?y(e,i):n.set(e,r),e}connectedCallback(){const t=i.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!0)}disconnectedCallback(){const t=i.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!1)}adoptedCallback(){const t=i.get(this);t?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=i.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=i.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=i.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=i.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},p=(t,o,e)=>{if(0===o.size||void 0===e)return;const r=t.prototype.setAttribute;r&&(t.prototype.setAttribute=function(t,i){const n=t.toLowerCase();if(o.has(n)){const t=this.getAttribute(n);r.call(this,n,i),e.call(this,n,t,i)}else r.call(this,n,i)});const i=t.prototype.removeAttribute;i&&(t.prototype.removeAttribute=function(t){const r=t.toLowerCase();if(o.has(r)){const t=this.getAttribute(r);i.call(this,r),e.call(this,r,t,null)}else i.call(this,r)});const n=t.prototype.toggleAttribute;n&&(t.prototype.toggleAttribute=function(t,r){const i=t.toLowerCase();if(o.has(i)){const t=this.getAttribute(i);n.call(this,i,r);const o=this.getAttribute(i);e.call(this,i,t,o)}else n.call(this,i,r)})},d=o=>{const e=Object.getPrototypeOf(o);if(e!==window.HTMLElement)return e===t?Object.setPrototypeOf(o,window.HTMLElement):d(e)},y=(t,o,e=!1)=>{Object.setPrototypeOf(t,o.elementClass.prototype),i.set(t,o),c=t;try{new o.elementClass}catch(t){d(o.elementClass),new o.elementClass}o.attributeChangedCallback&&o.observedAttributes.forEach((e=>{t.hasAttribute(e)&&o.attributeChangedCallback.call(t,e,null,t.getAttribute(e))})),e&&o.connectedCallback&&t.isConnected&&o.connectedCallback.call(t)},u=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const o=u.apply(this,arguments);return t.customElements&&(o.customElements=t.customElements),o};let g=[document];const b=(t,o,e=void 0)=>{const r=(e?Object.getPrototypeOf(e):t.prototype)[o];t.prototype[o]=function(){g.push(this);const t=r.apply(e||this,arguments);return void 0!==t&&s.set(t,this),g.pop(),t}};b(ShadowRoot,"createElement",document),b(ShadowRoot,"importNode",document),b(Element,"insertAdjacentHTML");const m=(t,o)=>{const e=Object.getOwnPropertyDescriptor(t.prototype,o);Object.defineProperty(t.prototype,o,{...e,set(t){g.push(this),e.set.call(this,t),g.pop()}})};if(m(Element,"innerHTML"),m(ShadowRoot,"innerHTML"),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){const t=new WeakMap,o=HTMLElement.prototype.attachInternals,e=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...e){const r=o.call(this,...e);return t.set(r,this),r},e.forEach((o=>{const e=window.ElementInternals.prototype,r=e[o];e[o]=function(...o){const e=t.get(this);if(!0===i.get(e).formAssociated)return r?.call(this,...o);throw new DOMException(`Failed to execute ${r} on 'ElementInternals': The target element is not a form-associated custom element.`)}}));class r extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class n{constructor(t){const o=new Map;t.forEach(((t,e)=>{const r=t.getAttribute("name"),i=o.get(r)||[];this[+e]=t,i.push(t),o.set(r,i)})),this.length=t.length,o.forEach(((t,o)=>{t&&(1===t.length?this[o]=t[0]:this[o]=new r(t))}))}namedItem(t){return this[t]}}const a=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){const t=a.get.call(this,[]),o=[];for(const e of t){const t=i.get(e);t&&!0!==t.formAssociated||o.push(e)}return new n(o)}})}}try{window.customElements.define("custom-element",null)}catch(Ho){const t=window.customElements.define;window.customElements.define=(o,e,r)=>{if(null!==e)try{t.bind(window.customElements)(o,e,r)}catch(t){console.info(o,e,r,t)}}}
15
+ if(!ShadowRoot.prototype.createElement){const t=window.HTMLElement,o=window.customElements.define,e=window.customElements.get,r=window.customElements,i=new WeakMap,n=new WeakMap,a=new WeakMap,s=new WeakMap;let c;window.CustomElementRegistry=class{constructor(){this._definitionsByTag=new Map,this._definitionsByClass=new Map,this._whenDefinedPromises=new Map,this._awaitingUpgrade=new Map}define(t,i){if(t=t.toLowerCase(),void 0!==this._getDefinition(t))throw new DOMException(`Failed to execute 'define' on 'CustomElementRegistry': the name "${t}" has already been used with this registry`);if(void 0!==this._definitionsByClass.get(i))throw new DOMException("Failed to execute 'define' on 'CustomElementRegistry': this constructor has already been used with this registry");const s=i.prototype.attributeChangedCallback,c=new Set(i.observedAttributes||[]);p(i,c,s);const l={elementClass:i,connectedCallback:i.prototype.connectedCallback,disconnectedCallback:i.prototype.disconnectedCallback,adoptedCallback:i.prototype.adoptedCallback,attributeChangedCallback:s,formAssociated:i.formAssociated,formAssociatedCallback:i.prototype.formAssociatedCallback,formDisabledCallback:i.prototype.formDisabledCallback,formResetCallback:i.prototype.formResetCallback,formStateRestoreCallback:i.prototype.formStateRestoreCallback,observedAttributes:c};this._definitionsByTag.set(t,l),this._definitionsByClass.set(i,l);let h=e.call(r,t);h||(h=f(t),o.call(r,t,h)),this===window.customElements&&(a.set(i,l),l.standInClass=h);const d=this._awaitingUpgrade.get(t);if(d){this._awaitingUpgrade.delete(t);for(const t of d)n.delete(t),y(t,l,!0)}const u=this._whenDefinedPromises.get(t);return void 0!==u&&(u.resolve(i),this._whenDefinedPromises.delete(t)),i}upgrade(){g.push(this),r.upgrade.apply(r,arguments),g.pop()}get(t){const o=this._definitionsByTag.get(t);return o?.elementClass}_getDefinition(t){return this._definitionsByTag.get(t)}whenDefined(t){const o=this._getDefinition(t);if(void 0!==o)return Promise.resolve(o.elementClass);let e=this._whenDefinedPromises.get(t);return void 0===e&&(e={},e.promise=new Promise((t=>e.resolve=t)),this._whenDefinedPromises.set(t,e)),e.promise}_upgradeWhenDefined(t,o,e){let r=this._awaitingUpgrade.get(o);r||this._awaitingUpgrade.set(o,r=new Set),e?r.add(t):r.delete(t)}},window.HTMLElement=function(){let o=c;if(o)return c=void 0,o;const e=a.get(this.constructor);if(!e)throw new TypeError("Illegal constructor (custom element class must be registered with global customElements registry to be newable)");return o=Reflect.construct(t,[],e.standInClass),Object.setPrototypeOf(o,this.constructor.prototype),i.set(o,e),o},window.HTMLElement.prototype=t.prototype;const l=t=>t===document||t instanceof ShadowRoot,h=t=>{let o=t.getRootNode();if(!l(o)){const t=g[g.length-1];if(t instanceof CustomElementRegistry)return t;o=t.getRootNode(),l(o)||(o=s.get(o)?.getRootNode()||document)}return o.customElements},f=o=>class{static get formAssociated(){return!0}constructor(){const e=Reflect.construct(t,[],this.constructor);Object.setPrototypeOf(e,HTMLElement.prototype);const r=h(e)||window.customElements,i=r._getDefinition(o);return i?y(e,i):n.set(e,r),e}connectedCallback(){const t=i.get(this);t?t.connectedCallback&&t.connectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!0)}disconnectedCallback(){const t=i.get(this);t?t.disconnectedCallback&&t.disconnectedCallback.apply(this,arguments):n.get(this)._upgradeWhenDefined(this,o,!1)}adoptedCallback(){const t=i.get(this);t?.adoptedCallback?.apply(this,arguments)}formAssociatedCallback(){const t=i.get(this);t&&t.formAssociated&&t?.formAssociatedCallback?.apply(this,arguments)}formDisabledCallback(){const t=i.get(this);t?.formAssociated&&t?.formDisabledCallback?.apply(this,arguments)}formResetCallback(){const t=i.get(this);t?.formAssociated&&t?.formResetCallback?.apply(this,arguments)}formStateRestoreCallback(){const t=i.get(this);t?.formAssociated&&t?.formStateRestoreCallback?.apply(this,arguments)}},p=(t,o,e)=>{if(0===o.size||void 0===e)return;const r=t.prototype.setAttribute;r&&(t.prototype.setAttribute=function(t,i){const n=t.toLowerCase();if(o.has(n)){const t=this.getAttribute(n);r.call(this,n,i),e.call(this,n,t,i)}else r.call(this,n,i)});const i=t.prototype.removeAttribute;i&&(t.prototype.removeAttribute=function(t){const r=t.toLowerCase();if(o.has(r)){const t=this.getAttribute(r);i.call(this,r),e.call(this,r,t,null)}else i.call(this,r)});const n=t.prototype.toggleAttribute;n&&(t.prototype.toggleAttribute=function(t,r){const i=t.toLowerCase();if(o.has(i)){const t=this.getAttribute(i);n.call(this,i,r);const o=this.getAttribute(i);e.call(this,i,t,o)}else n.call(this,i,r)})},d=o=>{const e=Object.getPrototypeOf(o);if(e!==window.HTMLElement)return e===t?Object.setPrototypeOf(o,window.HTMLElement):d(e)},y=(t,o,e=!1)=>{Object.setPrototypeOf(t,o.elementClass.prototype),i.set(t,o),c=t;try{new o.elementClass}catch(t){d(o.elementClass),new o.elementClass}o.attributeChangedCallback&&o.observedAttributes.forEach((e=>{t.hasAttribute(e)&&o.attributeChangedCallback.call(t,e,null,t.getAttribute(e))})),e&&o.connectedCallback&&t.isConnected&&o.connectedCallback.call(t)},u=Element.prototype.attachShadow;Element.prototype.attachShadow=function(t){const o=u.apply(this,arguments);return t.customElements&&(o.customElements=t.customElements),o};let g=[document];const b=(t,o,e=void 0)=>{const r=(e?Object.getPrototypeOf(e):t.prototype)[o];t.prototype[o]=function(){g.push(this);const t=r.apply(e||this,arguments);return void 0!==t&&s.set(t,this),g.pop(),t}};b(ShadowRoot,"createElement",document),b(ShadowRoot,"importNode",document),b(Element,"insertAdjacentHTML");const m=(t,o)=>{const e=Object.getOwnPropertyDescriptor(t.prototype,o);Object.defineProperty(t.prototype,o,{...e,set(t){g.push(this),e.set.call(this,t),g.pop()}})};if(m(Element,"innerHTML"),m(ShadowRoot,"innerHTML"),Object.defineProperty(window,"customElements",{value:new CustomElementRegistry,configurable:!0,writable:!0}),window.ElementInternals&&window.ElementInternals.prototype.setFormValue){const t=new WeakMap,o=HTMLElement.prototype.attachInternals,e=["setFormValue","setValidity","checkValidity","reportValidity"];HTMLElement.prototype.attachInternals=function(...e){const r=o.call(this,...e);return t.set(r,this),r},e.forEach((o=>{const e=window.ElementInternals.prototype,r=e[o];e[o]=function(...o){const e=t.get(this);if(!0===i.get(e).formAssociated)return r?.call(this,...o);throw new DOMException(`Failed to execute ${r} on 'ElementInternals': The target element is not a form-associated custom element.`)}}));class r extends Array{constructor(t){super(...t),this._elements=t}get value(){return this._elements.find((t=>!0===t.checked))?.value||""}}class n{constructor(t){const o=new Map;t.forEach(((t,e)=>{const r=t.getAttribute("name"),i=o.get(r)||[];this[+e]=t,i.push(t),o.set(r,i)})),this.length=t.length,o.forEach(((t,o)=>{t&&(1===t.length?this[o]=t[0]:this[o]=new r(t))}))}namedItem(t){return this[t]}}const a=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"elements");Object.defineProperty(HTMLFormElement.prototype,"elements",{get:function(){const t=a.get.call(this,[]),o=[];for(const e of t){const t=i.get(e);t&&!0!==t.formAssociated||o.push(e)}return new n(o)}})}}try{window.customElements.define("custom-element",null)}catch(Vo){const t=window.customElements.define;window.customElements.define=(o,e,r)=>{if(null!==e)try{t.bind(window.customElements)(o,e,r)}catch(t){console.info(o,e,r,t)}}}class o extends Error{constructor(t,o,e){super(t),this.canceledPromiseResult=o,this.canceledPromiseError=e}}class e extends Promise{constructor(t){super(((e,r)=>t((t=>{this.isCanceled?r(new o("Promise has been canceled",t)):e(t)}),(t=>{this.isCanceled?r(new o("Promise has been canceled",void 0,t)):r(t)})))),this.isCanceled=!1}cancel(){this.isCanceled=!0}}const r=globalThis,i=r.ShadowRoot&&(void 0===r.ShadyCSS||r.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n=Symbol(),a=new WeakMap;
16
16
  /**
17
17
  * @license
18
18
  * Copyright 2019 Google LLC
19
19
  * SPDX-License-Identifier: BSD-3-Clause
20
- */const o=globalThis,e=o.ShadowRoot&&(void 0===o.ShadyCSS||o.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),i=new WeakMap;const n=t=>new class{constructor(t,o,e){if(this._$cssResult$=!0,e!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=o}get styleSheet(){let t=this.o;const o=this.t;if(e&&void 0===t){const e=void 0!==o&&1===o.length;e&&(t=i.get(o)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&i.set(o,t))}return t}toString(){return this.cssText}}("string"==typeof t?t:t+"",void 0,r),a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let o="";for(const e of t.cssRules)o+=e.cssText;return n(o)})(t):t
20
+ */const s=t=>new class{constructor(t,o,e){if(this._$cssResult$=!0,e!==n)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=o}get styleSheet(){let t=this.o;const o=this.t;if(i&&void 0===t){const e=void 0!==o&&1===o.length;e&&(t=a.get(o)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&a.set(o,t))}return t}toString(){return this.cssText}}("string"==typeof t?t:t+"",void 0,n),c=i?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let o="";for(const e of t.cssRules)o+=e.cssText;return s(o)})(t):t
21
21
  /**
22
22
  * @license
23
23
  * Copyright 2017 Google LLC
24
24
  * SPDX-License-Identifier: BSD-3-Clause
25
- */,{is:s,defineProperty:c,getOwnPropertyDescriptor:l,getOwnPropertyNames:h,getOwnPropertySymbols:f,getPrototypeOf:p}=Object,d=globalThis,y=d.trustedTypes,u=y?y.emptyScript:"",g=d.reactiveElementPolyfillSupport,b=(t,o)=>t,m={toAttribute(t,o){switch(o){case Boolean:t=t?u:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,o){let e=t;switch(o){case Boolean:e=null!==t;break;case Number:e=null===t?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch(t){e=null}}return e}},O=(t,o)=>!s(t,o),N={attribute:!0,type:String,converter:m,reflect:!1,hasChanged:O};Symbol.metadata??=Symbol("metadata"),d.litPropertyMetadata??=new WeakMap;let v=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,o=N){if(o.state&&(o.attribute=!1),this._$Ei(),this.elementProperties.set(t,o),!o.noAccessor){const e=Symbol(),r=this.getPropertyDescriptor(t,e,o);void 0!==r&&c(this.prototype,t,r)}}static getPropertyDescriptor(t,o,e){const{get:r,set:i}=l(this.prototype,t)??{get(){return this[o]},set(t){this[o]=t}};return{get(){return r?.call(this)},set(o){const n=r?.call(this);i.call(this,o),this.requestUpdate(t,n,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??N}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const t=p(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const t=this.properties,o=[...h(t),...f(t)];for(const e of o)this.createProperty(e,t[e])}const t=this[Symbol.metadata];if(null!==t){const o=litPropertyMetadata.get(t);if(void 0!==o)for(const[t,e]of o)this.elementProperties.set(t,e)}this._$Eh=new Map;for(const[t,o]of this.elementProperties){const e=this._$Eu(t,o);void 0!==e&&this._$Eh.set(e,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const o=[];if(Array.isArray(t)){const e=new Set(t.flat(1/0).reverse());for(const t of e)o.unshift(a(t))}else void 0!==t&&o.push(a(t));return o}static _$Eu(t,o){const e=o.attribute;return!1===e?void 0:"string"==typeof e?e:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$ES(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$E_??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$E_?.delete(t)}_$ES(){const t=new Map,o=this.constructor.elementProperties;for(const e of o.keys())this.hasOwnProperty(e)&&(t.set(e,this[e]),delete this[e]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,r)=>{if(e)t.adoptedStyleSheets=r.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of r){const r=document.createElement("style"),i=o.litNonce;void 0!==i&&r.setAttribute("nonce",i),r.textContent=e.cssText,t.appendChild(r)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$E_?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$E_?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,o,e){this._$AK(t,e)}_$EO(t,o){const e=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,e);if(void 0!==r&&!0===e.reflect){const i=(void 0!==e.converter?.toAttribute?e.converter:m).toAttribute(o,e.type);this._$Em=t,null==i?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(t,o){const e=this.constructor,r=e._$Eh.get(t);if(void 0!==r&&this._$Em!==r){const t=e.getPropertyOptions(r),i="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:m;this._$Em=r,this[r]=i.fromAttribute(o,t.type),this._$Em=null}}requestUpdate(t,o,e,r=!1,i){if(void 0!==t){if(e??=this.constructor.getPropertyOptions(t),!(e.hasChanged??O)(r?i:this[t],o))return;this.C(t,o,e)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,o,e){this._$AL.has(t)||this._$AL.set(t,o),!0===e.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,o]of this._$Ep)this[t]=o;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[o,e]of t)!0!==e.wrapped||this._$AL.has(o)||void 0===this[o]||this.C(o,this[o],e)}let t=!1;const o=this._$AL;try{t=this.shouldUpdate(o),t?(this.willUpdate(o),this._$E_?.forEach((t=>t.hostUpdate?.())),this.update(o)):this._$ET()}catch(o){throw t=!1,this._$ET(),o}t&&this._$AE(o)}willUpdate(t){}_$AE(t){this._$E_?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}};v.elementStyles=[],v.shadowRootOptions={mode:"open"},v[b("elementProperties")]=new Map,v[b("finalized")]=new Map,g?.({ReactiveElement:v}),(d.reactiveElementVersions??=[]).push("2.0.2");
25
+ */,{is:l,defineProperty:h,getOwnPropertyDescriptor:f,getOwnPropertyNames:p,getOwnPropertySymbols:d,getPrototypeOf:y}=Object,u=globalThis,g=u.trustedTypes,b=g?g.emptyScript:"",m=u.reactiveElementPolyfillSupport,O=(t,o)=>t,N={toAttribute(t,o){switch(o){case Boolean:t=t?b:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,o){let e=t;switch(o){case Boolean:e=null!==t;break;case Number:e=null===t?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch(t){e=null}}return e}},v=(t,o)=>!l(t,o),S={attribute:!0,type:String,converter:N,reflect:!1,hasChanged:v};Symbol.metadata??=Symbol("metadata"),u.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,o=S){if(o.state&&(o.attribute=!1),this._$Ei(),this.elementProperties.set(t,o),!o.noAccessor){const e=Symbol(),r=this.getPropertyDescriptor(t,e,o);void 0!==r&&h(this.prototype,t,r)}}static getPropertyDescriptor(t,o,e){const{get:r,set:i}=f(this.prototype,t)??{get(){return this[o]},set(t){this[o]=t}};return{get(){return r?.call(this)},set(o){const n=r?.call(this);i.call(this,o),this.requestUpdate(t,n,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??S}static _$Ei(){if(this.hasOwnProperty(O("elementProperties")))return;const t=y(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(O("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(O("properties"))){const t=this.properties,o=[...p(t),...d(t)];for(const e of o)this.createProperty(e,t[e])}const t=this[Symbol.metadata];if(null!==t){const o=litPropertyMetadata.get(t);if(void 0!==o)for(const[t,e]of o)this.elementProperties.set(t,e)}this._$Eh=new Map;for(const[t,o]of this.elementProperties){const e=this._$Eu(t,o);void 0!==e&&this._$Eh.set(e,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const o=[];if(Array.isArray(t)){const e=new Set(t.flat(1/0).reverse());for(const t of e)o.unshift(c(t))}else void 0!==t&&o.push(c(t));return o}static _$Eu(t,o){const e=o.attribute;return!1===e?void 0:"string"==typeof e?e:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$ES(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$E_??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$E_?.delete(t)}_$ES(){const t=new Map,o=this.constructor.elementProperties;for(const e of o.keys())this.hasOwnProperty(e)&&(t.set(e,this[e]),delete this[e]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,o)=>{if(i)t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),i=r.litNonce;void 0!==i&&o.setAttribute("nonce",i),o.textContent=e.cssText,t.appendChild(o)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$E_?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$E_?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,o,e){this._$AK(t,e)}_$EO(t,o){const e=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,e);if(void 0!==r&&!0===e.reflect){const i=(void 0!==e.converter?.toAttribute?e.converter:N).toAttribute(o,e.type);this._$Em=t,null==i?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(t,o){const e=this.constructor,r=e._$Eh.get(t);if(void 0!==r&&this._$Em!==r){const t=e.getPropertyOptions(r),i="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:N;this._$Em=r,this[r]=i.fromAttribute(o,t.type),this._$Em=null}}requestUpdate(t,o,e,r=!1,i){if(void 0!==t){if(e??=this.constructor.getPropertyOptions(t),!(e.hasChanged??v)(r?i:this[t],o))return;this.C(t,o,e)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,o,e){this._$AL.has(t)||this._$AL.set(t,o),!0===e.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,o]of this._$Ep)this[t]=o;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[o,e]of t)!0!==e.wrapped||this._$AL.has(o)||void 0===this[o]||this.C(o,this[o],e)}let t=!1;const o=this._$AL;try{t=this.shouldUpdate(o),t?(this.willUpdate(o),this._$E_?.forEach((t=>t.hostUpdate?.())),this.update(o)):this._$ET()}catch(o){throw t=!1,this._$ET(),o}t&&this._$AE(o)}willUpdate(t){}_$AE(t){this._$E_?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[O("elementProperties")]=new Map,w[O("finalized")]=new Map,m?.({ReactiveElement:w}),(u.reactiveElementVersions??=[]).push("2.0.2");
26
26
  /**
27
27
  * @license
28
28
  * Copyright 2017 Google LLC
29
29
  * SPDX-License-Identifier: BSD-3-Clause
30
30
  */
31
- const S={attribute:!0,type:String,converter:m,reflect:!1,hasChanged:O},w=(t=S,o,e)=>{const{kind:r,metadata:i}=e;let n=globalThis.litPropertyMetadata.get(i);if(void 0===n&&globalThis.litPropertyMetadata.set(i,n=new Map),n.set(e.name,t),"accessor"===r){const{name:r}=e;return{set(e){const i=o.get.call(this);o.set.call(this,e),this.requestUpdate(r,i,t)},init(o){return void 0!==o&&this.C(r,void 0,t),o}}}if("setter"===r){const{name:r}=e;return function(e){const i=this[r];o.call(this,e),this.requestUpdate(r,i,t)}}throw Error("Unsupported decorator location: "+r)};function C(t){return(o,e)=>"object"==typeof e?w(t,o,e):((t,o,e)=>{const r=o.hasOwnProperty(e);return o.constructor.createProperty(e,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(o,e):void 0})(t,o,e)
31
+ const C={attribute:!0,type:String,converter:N,reflect:!1,hasChanged:v},x=(t=C,o,e)=>{const{kind:r,metadata:i}=e;let n=globalThis.litPropertyMetadata.get(i);if(void 0===n&&globalThis.litPropertyMetadata.set(i,n=new Map),n.set(e.name,t),"accessor"===r){const{name:r}=e;return{set(e){const i=o.get.call(this);o.set.call(this,e),this.requestUpdate(r,i,t)},init(o){return void 0!==o&&this.C(r,void 0,t),o}}}if("setter"===r){const{name:r}=e;return function(e){const i=this[r];o.call(this,e),this.requestUpdate(r,i,t)}}throw Error("Unsupported decorator location: "+r)};function R(t){return(o,e)=>"object"==typeof e?x(t,o,e):((t,o,e)=>{const r=o.hasOwnProperty(e);return o.constructor.createProperty(e,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(o,e):void 0})(t,o,e)
32
32
  /**
33
33
  * @license
34
34
  * Copyright 2017 Google LLC
35
35
  * SPDX-License-Identifier: BSD-3-Clause
36
- */}function x(t){return C({...t,state:!0,attribute:!1})}
36
+ */}function U(t){return R({...t,state:!0,attribute:!1})}
37
37
  /**
38
38
  * @license
39
39
  * Copyright 2017 Google LLC
40
40
  * SPDX-License-Identifier: BSD-3-Clause
41
- */const R=(t,o,e)=>(e.configurable=!0,e.enumerable=!0,e)
41
+ */const E=(t,o,e)=>(e.configurable=!0,e.enumerable=!0,e)
42
42
  /**
43
43
  * @license
44
44
  * Copyright 2017 Google LLC
45
45
  * SPDX-License-Identifier: BSD-3-Clause
46
- */;function U(t,o){return(e,r,i)=>{const n=o=>o.renderRoot?.querySelector(t)??null;if(o){const{get:t,set:o}="object"==typeof r?e:i??(()=>{const t=Symbol();return{get(){return this[t]},set(o){this[t]=o}}})();return R(0,0,{get(){let e=t.call(this);return void 0===e&&(e=n(this),(null!==e||this.hasUpdated)&&o.call(this,e)),e}})}return R(0,0,{get(){return n(this)}})}}class E{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,o){return this.callbacks=[t],this.debounce(o)}queue(t,o){return this.callbacks.push(t),this.debounce(o)}cancel(){this.clearTimeout(),this.resolvePromise&&this.resolvePromise(!1),this.clearPromise()}debounce(t){return null==this.promise&&(this.promise=new Promise(((t,o)=>{this.resolvePromise=t,this.rejectPromise=o}))),this.clearTimeout(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout),this.promise}async runCallbacks(){var t,o;const e=[...this.callbacks];this.callbacks=[];const r=null!==(t=this.rejectPromise)&&void 0!==t?t:()=>null,i=null!==(o=this.resolvePromise)&&void 0!==o?o:()=>null;this.clearPromise();for(let t of e)try{await t()}catch(t){return void r(t)}i(!0)}clearTimeout(){null!=this._debounce&&window.clearTimeout(this._debounce)}clearPromise(){this.promise=void 0,this.resolvePromise=void 0,this.rejectPromise=void 0}}function I(t,o){try{return function(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){if(t.constructor!==o.constructor)return!1;var e,r,i;if(Array.isArray(t)){if((e=t.length)!=o.length)return!1;for(r=e;0!=r--;)if(!I(t[r],o[r]))return!1;return!0}if(t instanceof Map&&o instanceof Map){if(t.size!==o.size)return!1;for(r of t.entries())if(!o.has(r[0]))return!1;for(r of t.entries())if(!I(r[1],o.get(r[0])))return!1;return!0}if(t instanceof Set&&o instanceof Set){if(t.size!==o.size)return!1;for(r of t.entries())if(!o.has(r[0]))return!1;return!0}if(t.constructor===RegExp)return t.source===o.source&&t.flags===o.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===o.valueOf();if((e=(i=Object.keys(t)).length)!==Object.keys(o).length)return!1;for(r=e;0!=r--;)if(!Object.prototype.hasOwnProperty.call(o,i[r]))return!1;for(r=e;0!=r--;){var n=i[r];if(!I(t[n],o[n]))return!1}return!0}return t!=t&&o!=o}(t,o)}catch(t){return!1}}
46
+ */;function I(t,o){return(e,r,i)=>{const n=o=>o.renderRoot?.querySelector(t)??null;if(o){const{get:t,set:o}="object"==typeof r?e:i??(()=>{const t=Symbol();return{get(){return this[t]},set(o){this[t]=o}}})();return E(0,0,{get(){let e=t.call(this);return void 0===e&&(e=n(this),(null!==e||this.hasUpdated)&&o.call(this,e)),e}})}return E(0,0,{get(){return n(this)}})}}class L{constructor(t=0){this.timeout=t,this.callbacks=[]}run(t,o){return this.callbacks=[t],this.debounce(o)}queue(t,o){return this.callbacks.push(t),this.debounce(o)}cancel(){this.clearTimeout(),this.resolvePromise&&this.resolvePromise(!1),this.clearPromise()}debounce(t){return null==this.promise&&(this.promise=new Promise(((t,o)=>{this.resolvePromise=t,this.rejectPromise=o}))),this.clearTimeout(),this._debounce=window.setTimeout((()=>this.runCallbacks()),null!=t?t:this.timeout),this.promise}async runCallbacks(){var t,o;const e=[...this.callbacks];this.callbacks=[];const r=null!==(t=this.rejectPromise)&&void 0!==t?t:()=>null,i=null!==(o=this.resolvePromise)&&void 0!==o?o:()=>null;this.clearPromise();for(let t of e)try{await t()}catch(t){return void r(t)}i(!0)}clearTimeout(){null!=this._debounce&&window.clearTimeout(this._debounce)}clearPromise(){this.promise=void 0,this.resolvePromise=void 0,this.rejectPromise=void 0}}const W=t=>new Promise((o=>setTimeout(o,t)));function k(t,o){try{return function(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){if(t.constructor!==o.constructor)return!1;var e,r,i;if(Array.isArray(t)){if((e=t.length)!=o.length)return!1;for(r=e;0!=r--;)if(!k(t[r],o[r]))return!1;return!0}if(t instanceof Map&&o instanceof Map){if(t.size!==o.size)return!1;for(r of t.entries())if(!o.has(r[0]))return!1;for(r of t.entries())if(!k(r[1],o.get(r[0])))return!1;return!0}if(t instanceof Set&&o instanceof Set){if(t.size!==o.size)return!1;for(r of t.entries())if(!o.has(r[0]))return!1;return!0}if(t.constructor===RegExp)return t.source===o.source&&t.flags===o.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===o.valueOf();if((e=(i=Object.keys(t)).length)!==Object.keys(o).length)return!1;for(r=e;0!=r--;)if(!Object.prototype.hasOwnProperty.call(o,i[r]))return!1;for(r=e;0!=r--;){var n=i[r];if(!k(t[n],o[n]))return!1}return!0}return t!=t&&o!=o}(t,o)}catch(t){return!1}}
47
47
  /**
48
48
  * @license
49
49
  * Copyright 2017 Google LLC
50
50
  * SPDX-License-Identifier: BSD-3-Clause
51
51
  */
52
- const L=globalThis,W=L.trustedTypes,k=W?W.createPolicy("lit-html",{createHTML:t=>t}):void 0,K="$lit$",Z=`lit$${(Math.random()+"").slice(9)}$`,$="?"+Z,A=`<${$}>`,M=document,F=()=>M.createComment(""),B=t=>null===t||"object"!=typeof t&&"function"!=typeof t,z=Array.isArray,D=t=>z(t)||"function"==typeof t?.[Symbol.iterator],P="[ \t\n\f\r]",_=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,T=/-->/g,G=/>/g,j=RegExp(`>|${P}(?:([^\\s"'>=/]+)(${P}*=${P}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,Y=/"/g,J=/^(?:script|style|textarea|title)$/i,V=Symbol.for("lit-noChange"),q=Symbol.for("lit-nothing"),X=new WeakMap,Q=M.createTreeWalker(M,129);function tt(t,o){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==k?k.createHTML(o):o}const ot=(t,o)=>{const e=t.length-1,r=[];let i,n=2===o?"<svg>":"",a=_;for(let o=0;o<e;o++){const e=t[o];let s,c,l=-1,h=0;for(;h<e.length&&(a.lastIndex=h,c=a.exec(e),null!==c);)h=a.lastIndex,a===_?"!--"===c[1]?a=T:void 0!==c[1]?a=G:void 0!==c[2]?(J.test(c[2])&&(i=RegExp("</"+c[2],"g")),a=j):void 0!==c[3]&&(a=j):a===j?">"===c[0]?(a=i??_,l=-1):void 0===c[1]?l=-2:(l=a.lastIndex-c[2].length,s=c[1],a=void 0===c[3]?j:'"'===c[3]?Y:H):a===Y||a===H?a=j:a===T||a===G?a=_:(a=j,i=void 0);const f=a===j&&t[o+1].startsWith("/>")?" ":"";n+=a===_?e+A:l>=0?(r.push(s),e.slice(0,l)+K+e.slice(l)+Z+f):e+Z+(-2===l?o:f)}return[tt(t,n+(t[e]||"<?>")+(2===o?"</svg>":"")),r]};let et=class t{constructor({strings:o,_$litType$:e},r){let i;this.parts=[];let n=0,a=0;const s=o.length-1,c=this.parts,[l,h]=ot(o,e);if(this.el=t.createElement(l,r),Q.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(i=Q.nextNode())&&c.length<s;){if(1===i.nodeType){if(i.hasAttributes())for(const t of i.getAttributeNames())if(t.endsWith(K)){const o=h[a++],e=i.getAttribute(t).split(Z),r=/([.?@])?(.*)/.exec(o);c.push({type:1,index:n,name:r[2],strings:e,ctor:"."===r[1]?st:"?"===r[1]?ct:"@"===r[1]?lt:at}),i.removeAttribute(t)}else t.startsWith(Z)&&(c.push({type:6,index:n}),i.removeAttribute(t));if(J.test(i.tagName)){const t=i.textContent.split(Z),o=t.length-1;if(o>0){i.textContent=W?W.emptyScript:"";for(let e=0;e<o;e++)i.append(t[e],F()),Q.nextNode(),c.push({type:2,index:++n});i.append(t[o],F())}}}else if(8===i.nodeType)if(i.data===$)c.push({type:2,index:n});else{let t=-1;for(;-1!==(t=i.data.indexOf(Z,t+1));)c.push({type:7,index:n}),t+=Z.length-1}n++}}static createElement(t,o){const e=M.createElement("template");return e.innerHTML=t,e}};function rt(t,o,e=t,r){if(o===V)return o;let i=void 0!==r?e._$Co?.[r]:e._$Cl;const n=B(o)?void 0:o._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),void 0===n?i=void 0:(i=new n(t),i._$AT(t,e,r)),void 0!==r?(e._$Co??=[])[r]=i:e._$Cl=i),void 0!==i&&(o=rt(t,i._$AS(t,o.values),i,r)),o}let it=class{constructor(t,o){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=o}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:o},parts:e}=this._$AD,r=(t?.creationScope??M).importNode(o,!0);Q.currentNode=r;let i=Q.nextNode(),n=0,a=0,s=e[0];for(;void 0!==s;){if(n===s.index){let o;2===s.type?o=new nt(i,i.nextSibling,this,t):1===s.type?o=new s.ctor(i,s.name,s.strings,this,t):6===s.type&&(o=new ht(i,this,t)),this._$AV.push(o),s=e[++a]}n!==s?.index&&(i=Q.nextNode(),n++)}return Q.currentNode=M,r}p(t){let o=0;for(const e of this._$AV)void 0!==e&&(void 0!==e.strings?(e._$AI(t,e,o),o+=e.strings.length-2):e._$AI(t[o])),o++}},nt=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,o,e,r){this.type=2,this._$AH=q,this._$AN=void 0,this._$AA=t,this._$AB=o,this._$AM=e,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const o=this._$AM;return void 0!==o&&11===t?.nodeType&&(t=o.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,o=this){t=rt(this,t,o),B(t)?t===q||null==t||""===t?(this._$AH!==q&&this._$AR(),this._$AH=q):t!==this._$AH&&t!==V&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):D(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==q&&B(this._$AH)?this._$AA.nextSibling.data=t:this.$(M.createTextNode(t)),this._$AH=t}g(t){const{values:o,_$litType$:e}=t,r="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=et.createElement(tt(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===r)this._$AH.p(o);else{const t=new it(r,this),e=t.u(this.options);t.p(o),this.$(e),this._$AH=t}}_$AC(t){let o=X.get(t.strings);return void 0===o&&X.set(t.strings,o=new et(t)),o}T(o){z(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,i=0;for(const n of o)i===e.length?e.push(r=new t(this.k(F()),this.k(F()),this,this.options)):r=e[i],r._$AI(n),i++;i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,o){for(this._$AP?.(!1,!0,o);t&&t!==this._$AB;){const o=t.nextSibling;t.remove(),t=o}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}},at=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,o,e,r,i){this.type=1,this._$AH=q,this._$AN=void 0,this.element=t,this.name=o,this._$AM=r,this.options=i,e.length>2||""!==e[0]||""!==e[1]?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=q}_$AI(t,o=this,e,r){const i=this.strings;let n=!1;if(void 0===i)t=rt(this,t,o,0),n=!B(t)||t!==this._$AH&&t!==V,n&&(this._$AH=t);else{const r=t;let a,s;for(t=i[0],a=0;a<i.length-1;a++)s=rt(this,r[e+a],o,a),s===V&&(s=this._$AH[a]),n||=!B(s)||s!==this._$AH[a],s===q?t=q:t!==q&&(t+=(s??"")+i[a+1]),this._$AH[a]=s}n&&!r&&this.O(t)}O(t){t===q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},st=class extends at{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===q?void 0:t}},ct=class extends at{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==q)}},lt=class extends at{constructor(t,o,e,r,i){super(t,o,e,r,i),this.type=5}_$AI(t,o=this){if((t=rt(this,t,o,0)??q)===V)return;const e=this._$AH,r=t===q&&e!==q||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,i=t!==q&&(e===q||r);r&&this.element.removeEventListener(this.name,this,e),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},ht=class{constructor(t,o,e){this.element=t,this.type=6,this._$AN=void 0,this._$AM=o,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(t){rt(this,t)}};const ft={j:K,P:Z,A:$,C:1,M:ot,L:it,R:D,V:rt,D:nt,I:at,H:ct,N:lt,U:st,B:ht},pt=L.litHtmlPolyfillSupport;pt?.(et,nt),(L.litHtmlVersions??=[]).push("3.1.0");
52
+ const K=globalThis,Z=K.trustedTypes,$=Z?Z.createPolicy("lit-html",{createHTML:t=>t}):void 0,A="$lit$",M=`lit$${(Math.random()+"").slice(9)}$`,F="?"+M,B=`<${F}>`,z=document,D=()=>z.createComment(""),P=t=>null===t||"object"!=typeof t&&"function"!=typeof t,_=Array.isArray,T=t=>_(t)||"function"==typeof t?.[Symbol.iterator],G="[ \t\n\f\r]",j=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,H=/-->/g,Y=/>/g,J=RegExp(`>|${G}(?:([^\\s"'>=/]+)(${G}*=${G}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,q=/"/g,X=/^(?:script|style|textarea|title)$/i,Q=Symbol.for("lit-noChange"),tt=Symbol.for("lit-nothing"),ot=new WeakMap,et=z.createTreeWalker(z,129);function rt(t,o){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==$?$.createHTML(o):o}const it=(t,o)=>{const e=t.length-1,r=[];let i,n=2===o?"<svg>":"",a=j;for(let o=0;o<e;o++){const e=t[o];let s,c,l=-1,h=0;for(;h<e.length&&(a.lastIndex=h,c=a.exec(e),null!==c);)h=a.lastIndex,a===j?"!--"===c[1]?a=H:void 0!==c[1]?a=Y:void 0!==c[2]?(X.test(c[2])&&(i=RegExp("</"+c[2],"g")),a=J):void 0!==c[3]&&(a=J):a===J?">"===c[0]?(a=i??j,l=-1):void 0===c[1]?l=-2:(l=a.lastIndex-c[2].length,s=c[1],a=void 0===c[3]?J:'"'===c[3]?q:V):a===q||a===V?a=J:a===H||a===Y?a=j:(a=J,i=void 0);const f=a===J&&t[o+1].startsWith("/>")?" ":"";n+=a===j?e+B:l>=0?(r.push(s),e.slice(0,l)+A+e.slice(l)+M+f):e+M+(-2===l?o:f)}return[rt(t,n+(t[e]||"<?>")+(2===o?"</svg>":"")),r]};let nt=class t{constructor({strings:o,_$litType$:e},r){let i;this.parts=[];let n=0,a=0;const s=o.length-1,c=this.parts,[l,h]=it(o,e);if(this.el=t.createElement(l,r),et.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(i=et.nextNode())&&c.length<s;){if(1===i.nodeType){if(i.hasAttributes())for(const t of i.getAttributeNames())if(t.endsWith(A)){const o=h[a++],e=i.getAttribute(t).split(M),r=/([.?@])?(.*)/.exec(o);c.push({type:1,index:n,name:r[2],strings:e,ctor:"."===r[1]?ht:"?"===r[1]?ft:"@"===r[1]?pt:lt}),i.removeAttribute(t)}else t.startsWith(M)&&(c.push({type:6,index:n}),i.removeAttribute(t));if(X.test(i.tagName)){const t=i.textContent.split(M),o=t.length-1;if(o>0){i.textContent=Z?Z.emptyScript:"";for(let e=0;e<o;e++)i.append(t[e],D()),et.nextNode(),c.push({type:2,index:++n});i.append(t[o],D())}}}else if(8===i.nodeType)if(i.data===F)c.push({type:2,index:n});else{let t=-1;for(;-1!==(t=i.data.indexOf(M,t+1));)c.push({type:7,index:n}),t+=M.length-1}n++}}static createElement(t,o){const e=z.createElement("template");return e.innerHTML=t,e}};function at(t,o,e=t,r){if(o===Q)return o;let i=void 0!==r?e._$Co?.[r]:e._$Cl;const n=P(o)?void 0:o._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),void 0===n?i=void 0:(i=new n(t),i._$AT(t,e,r)),void 0!==r?(e._$Co??=[])[r]=i:e._$Cl=i),void 0!==i&&(o=at(t,i._$AS(t,o.values),i,r)),o}let st=class{constructor(t,o){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=o}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:o},parts:e}=this._$AD,r=(t?.creationScope??z).importNode(o,!0);et.currentNode=r;let i=et.nextNode(),n=0,a=0,s=e[0];for(;void 0!==s;){if(n===s.index){let o;2===s.type?o=new ct(i,i.nextSibling,this,t):1===s.type?o=new s.ctor(i,s.name,s.strings,this,t):6===s.type&&(o=new dt(i,this,t)),this._$AV.push(o),s=e[++a]}n!==s?.index&&(i=et.nextNode(),n++)}return et.currentNode=z,r}p(t){let o=0;for(const e of this._$AV)void 0!==e&&(void 0!==e.strings?(e._$AI(t,e,o),o+=e.strings.length-2):e._$AI(t[o])),o++}},ct=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,o,e,r){this.type=2,this._$AH=tt,this._$AN=void 0,this._$AA=t,this._$AB=o,this._$AM=e,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const o=this._$AM;return void 0!==o&&11===t?.nodeType&&(t=o.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,o=this){t=at(this,t,o),P(t)?t===tt||null==t||""===t?(this._$AH!==tt&&this._$AR(),this._$AH=tt):t!==this._$AH&&t!==Q&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):T(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==tt&&P(this._$AH)?this._$AA.nextSibling.data=t:this.$(z.createTextNode(t)),this._$AH=t}g(t){const{values:o,_$litType$:e}=t,r="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=nt.createElement(rt(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===r)this._$AH.p(o);else{const t=new st(r,this),e=t.u(this.options);t.p(o),this.$(e),this._$AH=t}}_$AC(t){let o=ot.get(t.strings);return void 0===o&&ot.set(t.strings,o=new nt(t)),o}T(o){_(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,i=0;for(const n of o)i===e.length?e.push(r=new t(this.k(D()),this.k(D()),this,this.options)):r=e[i],r._$AI(n),i++;i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,o){for(this._$AP?.(!1,!0,o);t&&t!==this._$AB;){const o=t.nextSibling;t.remove(),t=o}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}},lt=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,o,e,r,i){this.type=1,this._$AH=tt,this._$AN=void 0,this.element=t,this.name=o,this._$AM=r,this.options=i,e.length>2||""!==e[0]||""!==e[1]?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=tt}_$AI(t,o=this,e,r){const i=this.strings;let n=!1;if(void 0===i)t=at(this,t,o,0),n=!P(t)||t!==this._$AH&&t!==Q,n&&(this._$AH=t);else{const r=t;let a,s;for(t=i[0],a=0;a<i.length-1;a++)s=at(this,r[e+a],o,a),s===Q&&(s=this._$AH[a]),n||=!P(s)||s!==this._$AH[a],s===tt?t=tt:t!==tt&&(t+=(s??"")+i[a+1]),this._$AH[a]=s}n&&!r&&this.O(t)}O(t){t===tt?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},ht=class extends lt{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===tt?void 0:t}},ft=class extends lt{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==tt)}},pt=class extends lt{constructor(t,o,e,r,i){super(t,o,e,r,i),this.type=5}_$AI(t,o=this){if((t=at(this,t,o,0)??tt)===Q)return;const e=this._$AH,r=t===tt&&e!==tt||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,i=t!==tt&&(e===tt||r);r&&this.element.removeEventListener(this.name,this,e),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},dt=class{constructor(t,o,e){this.element=t,this.type=6,this._$AN=void 0,this._$AM=o,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(t){at(this,t)}};const yt={j:A,P:M,A:F,C:1,M:it,L:st,R:T,V:at,D:ct,I:lt,H:ft,N:pt,U:ht,B:dt},ut=K.litHtmlPolyfillSupport;ut?.(nt,ct),(K.litHtmlVersions??=[]).push("3.1.0");
53
53
  /**
54
54
  * @license
55
55
  * Copyright 2019 Google LLC
56
56
  * SPDX-License-Identifier: BSD-3-Clause
57
57
  */
58
- const dt=globalThis,yt=dt.ShadowRoot&&(void 0===dt.ShadyCSS||dt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ut=Symbol(),gt=new WeakMap;let bt=class{constructor(t,o,e){if(this._$cssResult$=!0,e!==ut)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=o}get styleSheet(){let t=this.o;const o=this.t;if(yt&&void 0===t){const e=void 0!==o&&1===o.length;e&&(t=gt.get(o)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&gt.set(o,t))}return t}toString(){return this.cssText}};const mt=t=>new bt("string"==typeof t?t:t+"",void 0,ut),Ot=(t,...o)=>{const e=1===t.length?t[0]:o.reduce(((o,e,r)=>o+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(e)+t[r+1]),t[0]);return new bt(e,t,ut)},Nt=yt?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let o="";for(const e of t.cssRules)o+=e.cssText;return mt(o)})(t):t
58
+ const gt=globalThis,bt=gt.ShadowRoot&&(void 0===gt.ShadyCSS||gt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,mt=Symbol(),Ot=new WeakMap;let Nt=class{constructor(t,o,e){if(this._$cssResult$=!0,e!==mt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=o}get styleSheet(){let t=this.o;const o=this.t;if(bt&&void 0===t){const e=void 0!==o&&1===o.length;e&&(t=Ot.get(o)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&Ot.set(o,t))}return t}toString(){return this.cssText}};const vt=t=>new Nt("string"==typeof t?t:t+"",void 0,mt),St=(t,...o)=>{const e=1===t.length?t[0]:o.reduce(((o,e,r)=>o+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(e)+t[r+1]),t[0]);return new Nt(e,t,mt)},wt=bt?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let o="";for(const e of t.cssRules)o+=e.cssText;return vt(o)})(t):t
59
59
  /**
60
60
  * @license
61
61
  * Copyright 2017 Google LLC
62
62
  * SPDX-License-Identifier: BSD-3-Clause
63
- */,{is:vt,defineProperty:St,getOwnPropertyDescriptor:wt,getOwnPropertyNames:Ct,getOwnPropertySymbols:xt,getPrototypeOf:Rt}=Object,Ut=globalThis,Et=Ut.trustedTypes,It=Et?Et.emptyScript:"",Lt=Ut.reactiveElementPolyfillSupport,Wt=(t,o)=>t,kt={toAttribute(t,o){switch(o){case Boolean:t=t?It:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,o){let e=t;switch(o){case Boolean:e=null!==t;break;case Number:e=null===t?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch(t){e=null}}return e}},Kt=(t,o)=>!vt(t,o),Zt={attribute:!0,type:String,converter:kt,reflect:!1,hasChanged:Kt};Symbol.metadata??=Symbol("metadata"),Ut.litPropertyMetadata??=new WeakMap;class $t extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,o=Zt){if(o.state&&(o.attribute=!1),this._$Ei(),this.elementProperties.set(t,o),!o.noAccessor){const e=Symbol(),r=this.getPropertyDescriptor(t,e,o);void 0!==r&&St(this.prototype,t,r)}}static getPropertyDescriptor(t,o,e){const{get:r,set:i}=wt(this.prototype,t)??{get(){return this[o]},set(t){this[o]=t}};return{get(){return r?.call(this)},set(o){const n=r?.call(this);i.call(this,o),this.requestUpdate(t,n,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Zt}static _$Ei(){if(this.hasOwnProperty(Wt("elementProperties")))return;const t=Rt(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Wt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Wt("properties"))){const t=this.properties,o=[...Ct(t),...xt(t)];for(const e of o)this.createProperty(e,t[e])}const t=this[Symbol.metadata];if(null!==t){const o=litPropertyMetadata.get(t);if(void 0!==o)for(const[t,e]of o)this.elementProperties.set(t,e)}this._$Eh=new Map;for(const[t,o]of this.elementProperties){const e=this._$Eu(t,o);void 0!==e&&this._$Eh.set(e,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const o=[];if(Array.isArray(t)){const e=new Set(t.flat(1/0).reverse());for(const t of e)o.unshift(Nt(t))}else void 0!==t&&o.push(Nt(t));return o}static _$Eu(t,o){const e=o.attribute;return!1===e?void 0:"string"==typeof e?e:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$ES(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$E_??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$E_?.delete(t)}_$ES(){const t=new Map,o=this.constructor.elementProperties;for(const e of o.keys())this.hasOwnProperty(e)&&(t.set(e,this[e]),delete this[e]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,o)=>{if(yt)t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),r=dt.litNonce;void 0!==r&&o.setAttribute("nonce",r),o.textContent=e.cssText,t.appendChild(o)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$E_?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$E_?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,o,e){this._$AK(t,e)}_$EO(t,o){const e=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,e);if(void 0!==r&&!0===e.reflect){const i=(void 0!==e.converter?.toAttribute?e.converter:kt).toAttribute(o,e.type);this._$Em=t,null==i?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(t,o){const e=this.constructor,r=e._$Eh.get(t);if(void 0!==r&&this._$Em!==r){const t=e.getPropertyOptions(r),i="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:kt;this._$Em=r,this[r]=i.fromAttribute(o,t.type),this._$Em=null}}requestUpdate(t,o,e,r=!1,i){if(void 0!==t){if(e??=this.constructor.getPropertyOptions(t),!(e.hasChanged??Kt)(r?i:this[t],o))return;this.C(t,o,e)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,o,e){this._$AL.has(t)||this._$AL.set(t,o),!0===e.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,o]of this._$Ep)this[t]=o;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[o,e]of t)!0!==e.wrapped||this._$AL.has(o)||void 0===this[o]||this.C(o,this[o],e)}let t=!1;const o=this._$AL;try{t=this.shouldUpdate(o),t?(this.willUpdate(o),this._$E_?.forEach((t=>t.hostUpdate?.())),this.update(o)):this._$ET()}catch(o){throw t=!1,this._$ET(),o}t&&this._$AE(o)}willUpdate(t){}_$AE(t){this._$E_?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}$t.elementStyles=[],$t.shadowRootOptions={mode:"open"},$t[Wt("elementProperties")]=new Map,$t[Wt("finalized")]=new Map,Lt?.({ReactiveElement:$t}),(Ut.reactiveElementVersions??=[]).push("2.0.2");
63
+ */,{is:Ct,defineProperty:xt,getOwnPropertyDescriptor:Rt,getOwnPropertyNames:Ut,getOwnPropertySymbols:Et,getPrototypeOf:It}=Object,Lt=globalThis,Wt=Lt.trustedTypes,kt=Wt?Wt.emptyScript:"",Kt=Lt.reactiveElementPolyfillSupport,Zt=(t,o)=>t,$t={toAttribute(t,o){switch(o){case Boolean:t=t?kt:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,o){let e=t;switch(o){case Boolean:e=null!==t;break;case Number:e=null===t?null:Number(t);break;case Object:case Array:try{e=JSON.parse(t)}catch(t){e=null}}return e}},At=(t,o)=>!Ct(t,o),Mt={attribute:!0,type:String,converter:$t,reflect:!1,hasChanged:At};Symbol.metadata??=Symbol("metadata"),Lt.litPropertyMetadata??=new WeakMap;class Ft extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,o=Mt){if(o.state&&(o.attribute=!1),this._$Ei(),this.elementProperties.set(t,o),!o.noAccessor){const e=Symbol(),r=this.getPropertyDescriptor(t,e,o);void 0!==r&&xt(this.prototype,t,r)}}static getPropertyDescriptor(t,o,e){const{get:r,set:i}=Rt(this.prototype,t)??{get(){return this[o]},set(t){this[o]=t}};return{get(){return r?.call(this)},set(o){const n=r?.call(this);i.call(this,o),this.requestUpdate(t,n,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Mt}static _$Ei(){if(this.hasOwnProperty(Zt("elementProperties")))return;const t=It(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Zt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Zt("properties"))){const t=this.properties,o=[...Ut(t),...Et(t)];for(const e of o)this.createProperty(e,t[e])}const t=this[Symbol.metadata];if(null!==t){const o=litPropertyMetadata.get(t);if(void 0!==o)for(const[t,e]of o)this.elementProperties.set(t,e)}this._$Eh=new Map;for(const[t,o]of this.elementProperties){const e=this._$Eu(t,o);void 0!==e&&this._$Eh.set(e,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const o=[];if(Array.isArray(t)){const e=new Set(t.flat(1/0).reverse());for(const t of e)o.unshift(wt(t))}else void 0!==t&&o.push(wt(t));return o}static _$Eu(t,o){const e=o.attribute;return!1===e?void 0:"string"==typeof e?e:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$ES(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$E_??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$E_?.delete(t)}_$ES(){const t=new Map,o=this.constructor.elementProperties;for(const e of o.keys())this.hasOwnProperty(e)&&(t.set(e,this[e]),delete this[e]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,o)=>{if(bt)t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),r=gt.litNonce;void 0!==r&&o.setAttribute("nonce",r),o.textContent=e.cssText,t.appendChild(o)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$E_?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$E_?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,o,e){this._$AK(t,e)}_$EO(t,o){const e=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,e);if(void 0!==r&&!0===e.reflect){const i=(void 0!==e.converter?.toAttribute?e.converter:$t).toAttribute(o,e.type);this._$Em=t,null==i?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(t,o){const e=this.constructor,r=e._$Eh.get(t);if(void 0!==r&&this._$Em!==r){const t=e.getPropertyOptions(r),i="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:$t;this._$Em=r,this[r]=i.fromAttribute(o,t.type),this._$Em=null}}requestUpdate(t,o,e,r=!1,i){if(void 0!==t){if(e??=this.constructor.getPropertyOptions(t),!(e.hasChanged??At)(r?i:this[t],o))return;this.C(t,o,e)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,o,e){this._$AL.has(t)||this._$AL.set(t,o),!0===e.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,o]of this._$Ep)this[t]=o;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[o,e]of t)!0!==e.wrapped||this._$AL.has(o)||void 0===this[o]||this.C(o,this[o],e)}let t=!1;const o=this._$AL;try{t=this.shouldUpdate(o),t?(this.willUpdate(o),this._$E_?.forEach((t=>t.hostUpdate?.())),this.update(o)):this._$ET()}catch(o){throw t=!1,this._$ET(),o}t&&this._$AE(o)}willUpdate(t){}_$AE(t){this._$E_?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}Ft.elementStyles=[],Ft.shadowRootOptions={mode:"open"},Ft[Zt("elementProperties")]=new Map,Ft[Zt("finalized")]=new Map,Kt?.({ReactiveElement:Ft}),(Lt.reactiveElementVersions??=[]).push("2.0.2");
64
64
  /**
65
65
  * @license
66
66
  * Copyright 2017 Google LLC
67
67
  * SPDX-License-Identifier: BSD-3-Clause
68
68
  */
69
- const At=globalThis,Mt=At.trustedTypes,Ft=Mt?Mt.createPolicy("lit-html",{createHTML:t=>t}):void 0,Bt="$lit$",zt=`lit$${(Math.random()+"").slice(9)}$`,Dt="?"+zt,Pt=`<${Dt}>`,_t=document,Tt=()=>_t.createComment(""),Gt=t=>null===t||"object"!=typeof t&&"function"!=typeof t,jt=Array.isArray,Ht="[ \t\n\f\r]",Yt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Jt=/-->/g,Vt=/>/g,qt=RegExp(`>|${Ht}(?:([^\\s"'>=/]+)(${Ht}*=${Ht}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),Xt=/'/g,Qt=/"/g,to=/^(?:script|style|textarea|title)$/i,oo=(t=>(o,...e)=>({_$litType$:t,strings:o,values:e}))(1),eo=Symbol.for("lit-noChange"),ro=Symbol.for("lit-nothing"),io=new WeakMap,no=_t.createTreeWalker(_t,129);function ao(t,o){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==Ft?Ft.createHTML(o):o}const so=(t,o)=>{const e=t.length-1,r=[];let i,n=2===o?"<svg>":"",a=Yt;for(let o=0;o<e;o++){const e=t[o];let s,c,l=-1,h=0;for(;h<e.length&&(a.lastIndex=h,c=a.exec(e),null!==c);)h=a.lastIndex,a===Yt?"!--"===c[1]?a=Jt:void 0!==c[1]?a=Vt:void 0!==c[2]?(to.test(c[2])&&(i=RegExp("</"+c[2],"g")),a=qt):void 0!==c[3]&&(a=qt):a===qt?">"===c[0]?(a=i??Yt,l=-1):void 0===c[1]?l=-2:(l=a.lastIndex-c[2].length,s=c[1],a=void 0===c[3]?qt:'"'===c[3]?Qt:Xt):a===Qt||a===Xt?a=qt:a===Jt||a===Vt?a=Yt:(a=qt,i=void 0);const f=a===qt&&t[o+1].startsWith("/>")?" ":"";n+=a===Yt?e+Pt:l>=0?(r.push(s),e.slice(0,l)+Bt+e.slice(l)+zt+f):e+zt+(-2===l?o:f)}return[ao(t,n+(t[e]||"<?>")+(2===o?"</svg>":"")),r]};class co{constructor({strings:t,_$litType$:o},e){let r;this.parts=[];let i=0,n=0;const a=t.length-1,s=this.parts,[c,l]=so(t,o);if(this.el=co.createElement(c,e),no.currentNode=this.el.content,2===o){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=no.nextNode())&&s.length<a;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(Bt)){const o=l[n++],e=r.getAttribute(t).split(zt),a=/([.?@])?(.*)/.exec(o);s.push({type:1,index:i,name:a[2],strings:e,ctor:"."===a[1]?po:"?"===a[1]?yo:"@"===a[1]?uo:fo}),r.removeAttribute(t)}else t.startsWith(zt)&&(s.push({type:6,index:i}),r.removeAttribute(t));if(to.test(r.tagName)){const t=r.textContent.split(zt),o=t.length-1;if(o>0){r.textContent=Mt?Mt.emptyScript:"";for(let e=0;e<o;e++)r.append(t[e],Tt()),no.nextNode(),s.push({type:2,index:++i});r.append(t[o],Tt())}}}else if(8===r.nodeType)if(r.data===Dt)s.push({type:2,index:i});else{let t=-1;for(;-1!==(t=r.data.indexOf(zt,t+1));)s.push({type:7,index:i}),t+=zt.length-1}i++}}static createElement(t,o){const e=_t.createElement("template");return e.innerHTML=t,e}}function lo(t,o,e=t,r){if(o===eo)return o;let i=void 0!==r?e._$Co?.[r]:e._$Cl;const n=Gt(o)?void 0:o._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),void 0===n?i=void 0:(i=new n(t),i._$AT(t,e,r)),void 0!==r?(e._$Co??=[])[r]=i:e._$Cl=i),void 0!==i&&(o=lo(t,i._$AS(t,o.values),i,r)),o}class ho{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,o,e,r){this.type=2,this._$AH=ro,this._$AN=void 0,this._$AA=t,this._$AB=o,this._$AM=e,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const o=this._$AM;return void 0!==o&&11===t?.nodeType&&(t=o.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,o=this){t=lo(this,t,o),Gt(t)?t===ro||null==t||""===t?(this._$AH!==ro&&this._$AR(),this._$AH=ro):t!==this._$AH&&t!==eo&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>jt(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==ro&&Gt(this._$AH)?this._$AA.nextSibling.data=t:this.$(_t.createTextNode(t)),this._$AH=t}g(t){const{values:o,_$litType$:e}=t,r="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=co.createElement(ao(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===r)this._$AH.p(o);else{const t=new class{constructor(t,o){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=o}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:o},parts:e}=this._$AD,r=(t?.creationScope??_t).importNode(o,!0);no.currentNode=r;let i=no.nextNode(),n=0,a=0,s=e[0];for(;void 0!==s;){if(n===s.index){let o;2===s.type?o=new ho(i,i.nextSibling,this,t):1===s.type?o=new s.ctor(i,s.name,s.strings,this,t):6===s.type&&(o=new go(i,this,t)),this._$AV.push(o),s=e[++a]}n!==s?.index&&(i=no.nextNode(),n++)}return no.currentNode=_t,r}p(t){let o=0;for(const e of this._$AV)void 0!==e&&(void 0!==e.strings?(e._$AI(t,e,o),o+=e.strings.length-2):e._$AI(t[o])),o++}}(r,this),e=t.u(this.options);t.p(o),this.$(e),this._$AH=t}}_$AC(t){let o=io.get(t.strings);return void 0===o&&io.set(t.strings,o=new co(t)),o}T(t){jt(this._$AH)||(this._$AH=[],this._$AR());const o=this._$AH;let e,r=0;for(const i of t)r===o.length?o.push(e=new ho(this.k(Tt()),this.k(Tt()),this,this.options)):e=o[r],e._$AI(i),r++;r<o.length&&(this._$AR(e&&e._$AB.nextSibling,r),o.length=r)}_$AR(t=this._$AA.nextSibling,o){for(this._$AP?.(!1,!0,o);t&&t!==this._$AB;){const o=t.nextSibling;t.remove(),t=o}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class fo{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,o,e,r,i){this.type=1,this._$AH=ro,this._$AN=void 0,this.element=t,this.name=o,this._$AM=r,this.options=i,e.length>2||""!==e[0]||""!==e[1]?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=ro}_$AI(t,o=this,e,r){const i=this.strings;let n=!1;if(void 0===i)t=lo(this,t,o,0),n=!Gt(t)||t!==this._$AH&&t!==eo,n&&(this._$AH=t);else{const r=t;let a,s;for(t=i[0],a=0;a<i.length-1;a++)s=lo(this,r[e+a],o,a),s===eo&&(s=this._$AH[a]),n||=!Gt(s)||s!==this._$AH[a],s===ro?t=ro:t!==ro&&(t+=(s??"")+i[a+1]),this._$AH[a]=s}n&&!r&&this.O(t)}O(t){t===ro?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class po extends fo{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===ro?void 0:t}}class yo extends fo{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==ro)}}class uo extends fo{constructor(t,o,e,r,i){super(t,o,e,r,i),this.type=5}_$AI(t,o=this){if((t=lo(this,t,o,0)??ro)===eo)return;const e=this._$AH,r=t===ro&&e!==ro||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,i=t!==ro&&(e===ro||r);r&&this.element.removeEventListener(this.name,this,e),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class go{constructor(t,o,e){this.element=t,this.type=6,this._$AN=void 0,this._$AM=o,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(t){lo(this,t)}}const bo=At.litHtmlPolyfillSupport;bo?.(co,ho),(At.litHtmlVersions??=[]).push("3.1.0");
69
+ const Bt=globalThis,zt=Bt.trustedTypes,Dt=zt?zt.createPolicy("lit-html",{createHTML:t=>t}):void 0,Pt="$lit$",_t=`lit$${(Math.random()+"").slice(9)}$`,Tt="?"+_t,Gt=`<${Tt}>`,jt=document,Ht=()=>jt.createComment(""),Yt=t=>null===t||"object"!=typeof t&&"function"!=typeof t,Jt=Array.isArray,Vt="[ \t\n\f\r]",qt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Xt=/-->/g,Qt=/>/g,to=RegExp(`>|${Vt}(?:([^\\s"'>=/]+)(${Vt}*=${Vt}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),oo=/'/g,eo=/"/g,ro=/^(?:script|style|textarea|title)$/i,io=(t=>(o,...e)=>({_$litType$:t,strings:o,values:e}))(1),no=Symbol.for("lit-noChange"),ao=Symbol.for("lit-nothing"),so=new WeakMap,co=jt.createTreeWalker(jt,129);function lo(t,o){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==Dt?Dt.createHTML(o):o}const ho=(t,o)=>{const e=t.length-1,r=[];let i,n=2===o?"<svg>":"",a=qt;for(let o=0;o<e;o++){const e=t[o];let s,c,l=-1,h=0;for(;h<e.length&&(a.lastIndex=h,c=a.exec(e),null!==c);)h=a.lastIndex,a===qt?"!--"===c[1]?a=Xt:void 0!==c[1]?a=Qt:void 0!==c[2]?(ro.test(c[2])&&(i=RegExp("</"+c[2],"g")),a=to):void 0!==c[3]&&(a=to):a===to?">"===c[0]?(a=i??qt,l=-1):void 0===c[1]?l=-2:(l=a.lastIndex-c[2].length,s=c[1],a=void 0===c[3]?to:'"'===c[3]?eo:oo):a===eo||a===oo?a=to:a===Xt||a===Qt?a=qt:(a=to,i=void 0);const f=a===to&&t[o+1].startsWith("/>")?" ":"";n+=a===qt?e+Gt:l>=0?(r.push(s),e.slice(0,l)+Pt+e.slice(l)+_t+f):e+_t+(-2===l?o:f)}return[lo(t,n+(t[e]||"<?>")+(2===o?"</svg>":"")),r]};class fo{constructor({strings:t,_$litType$:o},e){let r;this.parts=[];let i=0,n=0;const a=t.length-1,s=this.parts,[c,l]=ho(t,o);if(this.el=fo.createElement(c,e),co.currentNode=this.el.content,2===o){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=co.nextNode())&&s.length<a;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(Pt)){const o=l[n++],e=r.getAttribute(t).split(_t),a=/([.?@])?(.*)/.exec(o);s.push({type:1,index:i,name:a[2],strings:e,ctor:"."===a[1]?go:"?"===a[1]?bo:"@"===a[1]?mo:uo}),r.removeAttribute(t)}else t.startsWith(_t)&&(s.push({type:6,index:i}),r.removeAttribute(t));if(ro.test(r.tagName)){const t=r.textContent.split(_t),o=t.length-1;if(o>0){r.textContent=zt?zt.emptyScript:"";for(let e=0;e<o;e++)r.append(t[e],Ht()),co.nextNode(),s.push({type:2,index:++i});r.append(t[o],Ht())}}}else if(8===r.nodeType)if(r.data===Tt)s.push({type:2,index:i});else{let t=-1;for(;-1!==(t=r.data.indexOf(_t,t+1));)s.push({type:7,index:i}),t+=_t.length-1}i++}}static createElement(t,o){const e=jt.createElement("template");return e.innerHTML=t,e}}function po(t,o,e=t,r){if(o===no)return o;let i=void 0!==r?e._$Co?.[r]:e._$Cl;const n=Yt(o)?void 0:o._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),void 0===n?i=void 0:(i=new n(t),i._$AT(t,e,r)),void 0!==r?(e._$Co??=[])[r]=i:e._$Cl=i),void 0!==i&&(o=po(t,i._$AS(t,o.values),i,r)),o}class yo{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,o,e,r){this.type=2,this._$AH=ao,this._$AN=void 0,this._$AA=t,this._$AB=o,this._$AM=e,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const o=this._$AM;return void 0!==o&&11===t?.nodeType&&(t=o.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,o=this){t=po(this,t,o),Yt(t)?t===ao||null==t||""===t?(this._$AH!==ao&&this._$AR(),this._$AH=ao):t!==this._$AH&&t!==no&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>Jt(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==ao&&Yt(this._$AH)?this._$AA.nextSibling.data=t:this.$(jt.createTextNode(t)),this._$AH=t}g(t){const{values:o,_$litType$:e}=t,r="number"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=fo.createElement(lo(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===r)this._$AH.p(o);else{const t=new class{constructor(t,o){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=o}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:o},parts:e}=this._$AD,r=(t?.creationScope??jt).importNode(o,!0);co.currentNode=r;let i=co.nextNode(),n=0,a=0,s=e[0];for(;void 0!==s;){if(n===s.index){let o;2===s.type?o=new yo(i,i.nextSibling,this,t):1===s.type?o=new s.ctor(i,s.name,s.strings,this,t):6===s.type&&(o=new Oo(i,this,t)),this._$AV.push(o),s=e[++a]}n!==s?.index&&(i=co.nextNode(),n++)}return co.currentNode=jt,r}p(t){let o=0;for(const e of this._$AV)void 0!==e&&(void 0!==e.strings?(e._$AI(t,e,o),o+=e.strings.length-2):e._$AI(t[o])),o++}}(r,this),e=t.u(this.options);t.p(o),this.$(e),this._$AH=t}}_$AC(t){let o=so.get(t.strings);return void 0===o&&so.set(t.strings,o=new fo(t)),o}T(t){Jt(this._$AH)||(this._$AH=[],this._$AR());const o=this._$AH;let e,r=0;for(const i of t)r===o.length?o.push(e=new yo(this.k(Ht()),this.k(Ht()),this,this.options)):e=o[r],e._$AI(i),r++;r<o.length&&(this._$AR(e&&e._$AB.nextSibling,r),o.length=r)}_$AR(t=this._$AA.nextSibling,o){for(this._$AP?.(!1,!0,o);t&&t!==this._$AB;){const o=t.nextSibling;t.remove(),t=o}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class uo{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,o,e,r,i){this.type=1,this._$AH=ao,this._$AN=void 0,this.element=t,this.name=o,this._$AM=r,this.options=i,e.length>2||""!==e[0]||""!==e[1]?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=ao}_$AI(t,o=this,e,r){const i=this.strings;let n=!1;if(void 0===i)t=po(this,t,o,0),n=!Yt(t)||t!==this._$AH&&t!==no,n&&(this._$AH=t);else{const r=t;let a,s;for(t=i[0],a=0;a<i.length-1;a++)s=po(this,r[e+a],o,a),s===no&&(s=this._$AH[a]),n||=!Yt(s)||s!==this._$AH[a],s===ao?t=ao:t!==ao&&(t+=(s??"")+i[a+1]),this._$AH[a]=s}n&&!r&&this.O(t)}O(t){t===ao?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class go extends uo{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===ao?void 0:t}}class bo extends uo{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==ao)}}class mo extends uo{constructor(t,o,e,r,i){super(t,o,e,r,i),this.type=5}_$AI(t,o=this){if((t=po(this,t,o,0)??ao)===no)return;const e=this._$AH,r=t===ao&&e!==ao||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,i=t!==ao&&(e===ao||r);r&&this.element.removeEventListener(this.name,this,e),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Oo{constructor(t,o,e){this.element=t,this.type=6,this._$AN=void 0,this._$AM=o,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(t){po(this,t)}}const No=Bt.litHtmlPolyfillSupport;No?.(fo,yo),(Bt.litHtmlVersions??=[]).push("3.1.0");
70
70
  /**
71
71
  * @license
72
72
  * Copyright 2017 Google LLC
73
73
  * SPDX-License-Identifier: BSD-3-Clause
74
74
  */
75
- let mo=class extends $t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const o=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,o,e)=>{const r=e?.renderBefore??o;let i=r._$litPart$;if(void 0===i){const t=e?.renderBefore??null;r._$litPart$=i=new ho(o.insertBefore(Tt(),t),t,void 0,e??{})}return i._$AI(t),i})(o,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return eo}};mo._$litElement$=!0,mo.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:mo});const Oo=globalThis.litElementPolyfillSupport;Oo?.({LitElement:mo}),(globalThis.litElementVersions??=[]).push("4.0.2");const No=t=>"string"==typeof t?mt(t):t;class vo{static create(t,o,e,r){const i=t=>No(null!=t?t:r),n=Ot`var(${No(t)}, ${i(r)})`;return n.name=t,n.description=o,n.category=e,n.defaultValue=r,n.defaultCssValue=i,n.get=o=>Ot`var(${No(t)}, ${i(o)})`,n.breadcrumb=()=>[],n.lastResortDefaultValue=()=>r,n}static extend(t,o,e,r){const i=t=>e.get(null!=t?t:r),n=Ot`var(${No(t)}, ${i(r)})`;return n.name=t,n.description=o,n.category=e.category,n.fallbackVariable=e,n.defaultValue=r,n.defaultCssValue=i,n.get=o=>Ot`var(${No(t)}, ${i(o)})`,n.breadcrumb=()=>[e.name,...e.breadcrumb()],n.lastResortDefaultValue=()=>null!=r?r:e.lastResortDefaultValue(),n}static external(t,o){const e=o=>t.fallbackVariable?t.fallbackVariable.get(null!=o?o:t.defaultValue):No(null!=o?o:t.lastResortDefaultValue()),r=Ot`var(${No(t.name)}, ${e(t.defaultValue)})`;return r.name=t.name,r.category=t.category,r.fallbackVariable=t.fallbackVariable,r.defaultValue=t.defaultValue,r.context=o,r.defaultCssValue=e,r.get=o=>Ot`var(${No(t.name)}, ${e(o)})`,r.breadcrumb=()=>t.fallbackVariable?[t.fallbackVariable.name,...t.fallbackVariable.breadcrumb()]:[],r.lastResortDefaultValue=()=>t.lastResortDefaultValue(),r}}const So={colorWhite:vo.create("--ft-color-white","","COLOR","#ffffff"),colorGray0:vo.create("--ft-color-gray-0","","COLOR","#71718e"),colorGray10:vo.create("--ft-color-gray-10","","COLOR","#fbfbfc"),colorGray20:vo.create("--ft-color-gray-20","","COLOR","#f2f2f5"),colorGray30:vo.create("--ft-color-gray-30","","COLOR","#e9e9ed"),colorGray40:vo.create("--ft-color-gray-40","","COLOR","#e0e0e6"),colorGray50:vo.create("--ft-color-gray-50","","COLOR","#cdcdd7"),colorGray60:vo.create("--ft-color-gray-60","","COLOR","#bbbbc9"),colorGray70:vo.create("--ft-color-gray-70","","COLOR","#a8a8ba"),colorGray80:vo.create("--ft-color-gray-80","","COLOR","#9696ab"),colorGray90:vo.create("--ft-color-gray-90","","COLOR","#83839d"),colorGray100:vo.create("--ft-color-gray-100","","COLOR","#62627c"),colorGray200:vo.create("--ft-color-gray-200","","COLOR","#545469"),colorGray300:vo.create("--ft-color-gray-300","","COLOR","#454557"),colorGray400:vo.create("--ft-color-gray-400","","COLOR","#363644"),colorGray500:vo.create("--ft-color-gray-500","","COLOR","#282832"),colorGray600:vo.create("--ft-color-gray-600","","COLOR","#19191f"),colorGray700:vo.create("--ft-color-gray-700","","COLOR","#0a0a0d"),colorBrand0:vo.create("--ft-color-brand-0","","COLOR","#9d207b"),colorBrand10:vo.create("--ft-color-brand-10","","COLOR","#f7edf4"),colorBrand20:vo.create("--ft-color-brand-20","","COLOR","#ebcfe4"),colorBrand30:vo.create("--ft-color-brand-30","","COLOR","#dfb2d3"),colorBrand40:vo.create("--ft-color-brand-40","","COLOR","#d395c2"),colorBrand50:vo.create("--ft-color-brand-50","","COLOR","#c778b1"),colorBrand60:vo.create("--ft-color-brand-60","","COLOR","#ba5ba1"),colorBrand70:vo.create("--ft-color-brand-70","","COLOR","#ae3e90"),colorBrand100:vo.create("--ft-color-brand-100","","COLOR","#8d1d6e"),colorBrand200:vo.create("--ft-color-brand-200","","COLOR","#78185e"),colorBrand300:vo.create("--ft-color-brand-300","","COLOR","#62144d"),colorBrand400:vo.create("--ft-color-brand-400","","COLOR","#4d103c"),colorBrand500:vo.create("--ft-color-brand-500","","COLOR","#380b2c"),colorBrand600:vo.create("--ft-color-brand-600","","COLOR","#23071b"),colorBrand700:vo.create("--ft-color-brand-700","","COLOR","#0d030b"),colorCyan0:vo.create("--ft-color-cyan-0","","COLOR","#0e98b4"),colorCyan10:vo.create("--ft-color-cyan-10","","COLOR","#ebf6f9"),colorCyan20:vo.create("--ft-color-cyan-20","","COLOR","#cbe9ef"),colorCyan30:vo.create("--ft-color-cyan-30","","COLOR","#acdbe5"),colorCyan40:vo.create("--ft-color-cyan-40","","COLOR","#8ccedb"),colorCyan50:vo.create("--ft-color-cyan-50","","COLOR","#6dc0d1"),colorCyan60:vo.create("--ft-color-cyan-60","","COLOR","#4db3c8"),colorCyan70:vo.create("--ft-color-cyan-70","","COLOR","#2ea5be"),colorCyan100:vo.create("--ft-color-cyan-100","","COLOR","#0c849c"),colorCyan200:vo.create("--ft-color-cyan-200","","COLOR","#0a7085"),colorCyan300:vo.create("--ft-color-cyan-300","","COLOR","#085c6d"),colorCyan400:vo.create("--ft-color-cyan-400","","COLOR","#074856"),colorCyan500:vo.create("--ft-color-cyan-500","","COLOR","#05343e"),colorCyan600:vo.create("--ft-color-cyan-600","","COLOR","#032127"),colorCyan700:vo.create("--ft-color-cyan-700","","COLOR","#010d0f"),colorGreen0:vo.create("--ft-color-green-0","","COLOR","#21a274"),colorGreen10:vo.create("--ft-color-green-10","","COLOR","#edf7f3"),colorGreen20:vo.create("--ft-color-green-20","","COLOR","#cfebe1"),colorGreen30:vo.create("--ft-color-green-30","","COLOR","#b2dfcf"),colorGreen40:vo.create("--ft-color-green-40","","COLOR","#95d3bd"),colorGreen50:vo.create("--ft-color-green-50","","COLOR","#78c7ab"),colorGreen60:vo.create("--ft-color-green-60","","COLOR","#5bba98"),colorGreen70:vo.create("--ft-color-green-70","","COLOR","#3eae86"),colorGreen100:vo.create("--ft-color-green-100","","COLOR","#1d8d65"),colorGreen200:vo.create("--ft-color-green-200","","COLOR","#187856"),colorGreen300:vo.create("--ft-color-green-300","","COLOR","#146246"),colorGreen400:vo.create("--ft-color-green-400","","COLOR","#104d37"),colorGreen500:vo.create("--ft-color-green-500","","COLOR","#0b3828"),colorGreen600:vo.create("--ft-color-green-600","","COLOR","#072319"),colorGreen700:vo.create("--ft-color-green-700","","COLOR","#030d0a"),colorOrange0:vo.create("--ft-color-orange-0","","COLOR","#ee8d17"),colorOrange10:vo.create("--ft-color-orange-10","","COLOR","#fef6ec"),colorOrange20:vo.create("--ft-color-orange-20","","COLOR","#fbe7cd"),colorOrange30:vo.create("--ft-color-orange-30","","COLOR","#f9d8af"),colorOrange40:vo.create("--ft-color-orange-40","","COLOR","#f7c991"),colorOrange50:vo.create("--ft-color-orange-50","","COLOR","#f5ba72"),colorOrange60:vo.create("--ft-color-orange-60","","COLOR","#f2ab54"),colorOrange70:vo.create("--ft-color-orange-70","","COLOR","#f09c35"),colorOrange100:vo.create("--ft-color-orange-100","","COLOR","#cf7b14"),colorOrange200:vo.create("--ft-color-orange-200","","COLOR","#b06811"),colorOrange300:vo.create("--ft-color-orange-300","","COLOR","#90560e"),colorOrange400:vo.create("--ft-color-orange-400","","COLOR","#71430b"),colorOrange500:vo.create("--ft-color-orange-500","","COLOR","#523108"),colorOrange600:vo.create("--ft-color-orange-600","","COLOR","#331e05"),colorOrange700:vo.create("--ft-color-orange-700","","COLOR","#140c02"),colorRed0:vo.create("--ft-color-red-0","","COLOR","#b40e2c"),colorRed10:vo.create("--ft-color-red-10","","COLOR","#f9ebed"),colorRed20:vo.create("--ft-color-red-20","","COLOR","#efcbd2"),colorRed30:vo.create("--ft-color-red-30","","COLOR","#e5acb6"),colorRed40:vo.create("--ft-color-red-40","","COLOR","#db8c9b"),colorRed50:vo.create("--ft-color-red-50","","COLOR","#d16d7f"),colorRed60:vo.create("--ft-color-red-60","","COLOR","#c84d63"),colorRed70:vo.create("--ft-color-red-70","","COLOR","#be2e48"),colorRed100:vo.create("--ft-color-red-100","","COLOR","#9c0c26"),colorRed200:vo.create("--ft-color-red-200","","COLOR","#850a20"),colorRed300:vo.create("--ft-color-red-300","","COLOR","#6d081b"),colorRed400:vo.create("--ft-color-red-400","","COLOR","#560715"),colorRed500:vo.create("--ft-color-red-500","","COLOR","#3e050f"),colorRed600:vo.create("--ft-color-red-600","","COLOR","#270309"),colorRed700:vo.create("--ft-color-red-700","","COLOR","#0f0104"),colorYellow0:vo.create("--ft-color-yellow-0","","COLOR","#E4C00C"),colorYellow10:vo.create("--ft-color-yellow-10","","COLOR","#fefae9"),colorYellow20:vo.create("--ft-color-yellow-20","","COLOR","#fcf4ca"),colorYellow30:vo.create("--ft-color-yellow-30","","COLOR","#faedaa"),colorYellow40:vo.create("--ft-color-yellow-40","","COLOR","#f9e78b"),colorYellow50:vo.create("--ft-color-yellow-50","","COLOR","#f7e06b"),colorYellow60:vo.create("--ft-color-yellow-60","","COLOR","#F4D63E"),colorYellow70:vo.create("--ft-color-yellow-70","","COLOR","#F3CE16"),colorYellow100:vo.create("--ft-color-yellow-100","","COLOR","#d3b10b"),colorYellow200:vo.create("--ft-color-yellow-200","","COLOR","#b3970a"),colorYellow300:vo.create("--ft-color-yellow-300","","COLOR","#947c08"),colorYellow400:vo.create("--ft-color-yellow-400","","COLOR","#746206"),colorYellow500:vo.create("--ft-color-yellow-500","","COLOR","#554705"),colorYellow600:vo.create("--ft-color-yellow-600","","COLOR","#352d03"),colorYellow700:vo.create("--ft-color-yellow-700","","COLOR","#161201"),colorUltramarine0:vo.create("--ft-color-ultramarine-0","","COLOR","#3C19E5"),colorUltramarine10:vo.create("--ft-color-ultramarine-10","","COLOR","#EDEAFD"),colorUltramarine20:vo.create("--ft-color-ultramarine-20","","COLOR","#D4CCF9"),colorUltramarine30:vo.create("--ft-color-ultramarine-30","","COLOR","#BBAFF6"),colorUltramarine40:vo.create("--ft-color-ultramarine-40","","COLOR","#A191F3"),colorUltramarine50:vo.create("--ft-color-ultramarine-50","","COLOR","#8873EF"),colorUltramarine60:vo.create("--ft-color-ultramarine-60","","COLOR","#6F55EC"),colorUltramarine70:vo.create("--ft-color-ultramarine-70","","COLOR","#5537E8"),colorUltramarine100:vo.create("--ft-color-ultramarine-100","","COLOR","#3416C7"),colorUltramarine200:vo.create("--ft-color-ultramarine-200","","COLOR","#2C13A9"),colorUltramarine300:vo.create("--ft-color-ultramarine-300","","COLOR","#250F8C"),colorUltramarine400:vo.create("--ft-color-ultramarine-400","","COLOR","#1D0C6E"),colorUltramarine500:vo.create("--ft-color-ultramarine-500","","COLOR","#150950"),colorUltramarine600:vo.create("--ft-color-ultramarine-600","","COLOR","#0D0532"),colorUltramarine700:vo.create("--ft-color-ultramarine-700","","COLOR","#050215"),colorAvocado0:vo.create("--ft-color-avocado-0","","COLOR","#98BD28"),colorAvocado10:vo.create("--ft-color-avocado-10","","COLOR","#F6F9EC"),colorAvocado20:vo.create("--ft-color-avocado-20","","COLOR","#E8F0D0"),colorAvocado30:vo.create("--ft-color-avocado-30","","COLOR","#DBE8B4"),colorAvocado40:vo.create("--ft-color-avocado-40","","COLOR","#CEDF98"),colorAvocado50:vo.create("--ft-color-avocado-50","","COLOR","#C0D77C"),colorAvocado60:vo.create("--ft-color-avocado-60","","COLOR","#B3CE60"),colorAvocado70:vo.create("--ft-color-avocado-70","","COLOR","#A5C644"),colorAvocado100:vo.create("--ft-color-avocado-100","","COLOR","#84A423"),colorAvocado200:vo.create("--ft-color-avocado-200","","COLOR","#708C1E"),colorAvocado300:vo.create("--ft-color-avocado-300","","COLOR","#5D7318"),colorAvocado400:vo.create("--ft-color-avocado-400","","COLOR","#495B13"),colorAvocado500:vo.create("--ft-color-avocado-500","","COLOR","#35420E"),colorAvocado600:vo.create("--ft-color-avocado-600","","COLOR","#212A09"),colorAvocado700:vo.create("--ft-color-avocado-700","","COLOR","#0E1104"),colorBrown0:vo.create("--ft-color-brown-0","","COLOR","#B26F4D"),colorBrown10:vo.create("--ft-color-brown-10","","COLOR","#F8F2EF"),colorBrown20:vo.create("--ft-color-brown-20","","COLOR","#EEDFD8"),colorBrown30:vo.create("--ft-color-brown-30","","COLOR","#E4CDC1"),colorBrown40:vo.create("--ft-color-brown-40","","COLOR","#DABAAA"),colorBrown50:vo.create("--ft-color-brown-50","","COLOR","#D0A792"),colorBrown60:vo.create("--ft-color-brown-60","","COLOR","#C6947B"),colorBrown70:vo.create("--ft-color-brown-70","","COLOR","#BC8264"),colorBrown100:vo.create("--ft-color-brown-100","","COLOR","#9B6143"),colorBrown200:vo.create("--ft-color-brown-200","","COLOR","#845239"),colorBrown300:vo.create("--ft-color-brown-300","","COLOR","#6D442F"),colorBrown400:vo.create("--ft-color-brown-400","","COLOR","#553525"),colorBrown500:vo.create("--ft-color-brown-500","","COLOR","#3E271B"),colorBrown600:vo.create("--ft-color-brown-600","","COLOR","#271811"),colorBrown700:vo.create("--ft-color-brown-700","","COLOR","#100A07"),spacing1:vo.create("--ft-spacing-1","","SIZE","0.25rem"),spacing2:vo.create("--ft-spacing-2","","SIZE","calc(var(--ft-spacing-2, 0.25rem)*2)"),spacing3:vo.create("--ft-spacing-3","","SIZE","calc(var(--ft-spacing-3, 0.25rem)*3)"),spacing4:vo.create("--ft-spacing-4","","SIZE","calc(var(--ft-spacing-4, 0.25rem)*4)"),spacing5:vo.create("--ft-spacing-5","","SIZE","calc(var(--ft-spacing-5, 0.25rem)*5)"),spacing6:vo.create("--ft-spacing-6","","SIZE","calc(var(--ft-spacing-6, 0.25rem)*6)"),spacing8:vo.create("--ft-spacing-8","","SIZE","calc(var(--ft-spacing-8, 0.25rem)*8)"),spacing10:vo.create("--ft-spacing-10","","SIZE","calc(var(--ft-spacing-10, 0.25rem)*10)"),spacing12:vo.create("--ft-spacing-12","","SIZE","calc(var(--ft-spacing-12, 0.25rem)*12)"),spacing16:vo.create("--ft-spacing-16","","SIZE","calc(var(--ft-spacing-16, 0.25rem)*16)"),spacing20:vo.create("--ft-spacing-20","","SIZE","calc(var(--ft-spacing-20, 0.25rem)*20)"),spacing24:vo.create("--ft-spacing-24","","SIZE","calc(var(--ft-spacing-24, 0.25rem)*24)"),spacing28:vo.create("--ft-spacing-28","","SIZE","calc(var(--ft-spacing-28, 0.25rem)*28)"),spacing32:vo.create("--ft-spacing-32","","SIZE","calc(var(--ft-spacing-32, 0.25rem)*32)"),spacing05:vo.create("--ft-spacing-0-5","","SIZE","calc(var(--ft-spacing-0-5, 0.25rem)*0.5)"),borderRadiusS:vo.create("--ft-border-radius-s","","SIZE","4px"),borderRadiusM:vo.create("--ft-border-radius-m","","SIZE","8px"),borderRadiusL:vo.create("--ft-border-radius-l","","SIZE","12px"),borderRadiusXl:vo.create("--ft-border-radius-xl","","SIZE","16px"),borderRadiusPill:vo.create("--ft-border-radius-pill","","SIZE","999px"),borderRadiusRound:vo.create("--ft-border-radius-round","","SIZE","50%"),iconSize1:vo.create("--ft-icon-size-1","","SIZE","12px"),iconSize2:vo.create("--ft-icon-size-2","","SIZE","16px"),iconSize3:vo.create("--ft-icon-size-3","","SIZE","20px"),iconSize4:vo.create("--ft-icon-size-4","","SIZE","24px"),iconSize5:vo.create("--ft-icon-size-5","","SIZE","32px"),iconSize6:vo.create("--ft-icon-size-6","","SIZE","48px"),opacity0:vo.create("--ft-opacity-0","","NUMBER","0"),opacity8:vo.create("--ft-opacity-8","","NUMBER","0.08"),opacity16:vo.create("--ft-opacity-16","","NUMBER","0.16"),opacity24:vo.create("--ft-opacity-24","","NUMBER","0.24"),opacity40:vo.create("--ft-opacity-40","","NUMBER","0.4"),opacity80:vo.create("--ft-opacity-80","","NUMBER","0.8")};vo.create("--ft-typography-display-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-display-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-display-lineHeight","","SIZE","120%"),vo.create("--ft-typography-display-fontSize","","SIZE","2.5rem"),vo.create("--ft-typography-display-letterSpacing","","SIZE","-0.02em"),vo.create("--ft-typography-display-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-display-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-display-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-display-textCase","","UNKNOWN","none"),vo.create("--ft-typography-title-1-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-title-1-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-title-1-lineHeight","","SIZE","120%"),vo.create("--ft-typography-title-1-fontSize","","SIZE","2rem"),vo.create("--ft-typography-title-1-letterSpacing","","SIZE","-0.02em"),vo.create("--ft-typography-title-1-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-title-1-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-title-1-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-title-1-textCase","","UNKNOWN","none"),vo.create("--ft-typography-title-2-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-title-2-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-title-2-lineHeight","","SIZE","120%"),vo.create("--ft-typography-title-2-fontSize","","SIZE","1.5rem"),vo.create("--ft-typography-title-2-letterSpacing","","SIZE","-0.02em"),vo.create("--ft-typography-title-2-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-title-2-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-title-2-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-title-2-textCase","","UNKNOWN","none"),vo.create("--ft-typography-title-3-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-title-3-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-title-3-lineHeight","","SIZE","120%"),vo.create("--ft-typography-title-3-fontSize","","SIZE","1.25rem"),vo.create("--ft-typography-title-3-letterSpacing","","SIZE","-0.01em"),vo.create("--ft-typography-title-3-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-title-3-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-title-3-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-title-3-textCase","","UNKNOWN","none"),vo.create("--ft-typography-body-1-regular-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-body-1-regular-fontWeight","","UNKNOWN","400"),vo.create("--ft-typography-body-1-regular-lineHeight","","SIZE","135%"),vo.create("--ft-typography-body-1-regular-fontSize","","SIZE","1rem"),vo.create("--ft-typography-body-1-regular-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-body-1-regular-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-body-1-regular-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-body-1-regular-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-body-1-regular-textCase","","UNKNOWN","none"),vo.create("--ft-typography-body-1-medium-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-body-1-medium-fontWeight","","UNKNOWN","500"),vo.create("--ft-typography-body-1-medium-lineHeight","","SIZE","135%"),vo.create("--ft-typography-body-1-medium-fontSize","","SIZE","1rem"),vo.create("--ft-typography-body-1-medium-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-body-1-medium-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-body-1-medium-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-body-1-medium-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-body-1-medium-textCase","","UNKNOWN","none"),vo.create("--ft-typography-body-1-semibold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-body-1-semibold-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-body-1-semibold-lineHeight","","SIZE","135%"),vo.create("--ft-typography-body-1-semibold-fontSize","","SIZE","1rem"),vo.create("--ft-typography-body-1-semibold-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-body-1-semibold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-body-1-semibold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-body-1-semibold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-body-1-semibold-textCase","","UNKNOWN","none"),vo.create("--ft-typography-body-2-regular-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-body-2-regular-fontWeight","","UNKNOWN","400"),vo.create("--ft-typography-body-2-regular-lineHeight","","SIZE","135%"),vo.create("--ft-typography-body-2-regular-fontSize","","SIZE","0.875rem"),vo.create("--ft-typography-body-2-regular-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-body-2-regular-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-body-2-regular-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-body-2-regular-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-body-2-regular-textCase","","UNKNOWN","none"),vo.create("--ft-typography-body-2-medium-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-body-2-medium-fontWeight","","UNKNOWN","500"),vo.create("--ft-typography-body-2-medium-lineHeight","","SIZE","135%"),vo.create("--ft-typography-body-2-medium-fontSize","","SIZE","0.875rem"),vo.create("--ft-typography-body-2-medium-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-body-2-medium-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-body-2-medium-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-body-2-medium-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-body-2-medium-textCase","","UNKNOWN","none"),vo.create("--ft-typography-body-2-semibold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-body-2-semibold-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-body-2-semibold-lineHeight","","SIZE","135%"),vo.create("--ft-typography-body-2-semibold-fontSize","","SIZE","0.875rem"),vo.create("--ft-typography-body-2-semibold-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-body-2-semibold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-body-2-semibold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-body-2-semibold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-body-2-semibold-textCase","","UNKNOWN","none"),vo.create("--ft-typography-label-1-medium-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-label-1-medium-fontWeight","","UNKNOWN","500"),vo.create("--ft-typography-label-1-medium-lineHeight","","SIZE","110%"),vo.create("--ft-typography-label-1-medium-fontSize","","SIZE","0.875rem"),vo.create("--ft-typography-label-1-medium-letterSpacing","","SIZE","0.04em"),vo.create("--ft-typography-label-1-medium-textCase","","UNKNOWN","uppercase"),vo.create("--ft-typography-label-1-medium-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-label-1-medium-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-label-1-medium-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-label-1-semibold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-label-1-semibold-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-label-1-semibold-lineHeight","","SIZE","110%"),vo.create("--ft-typography-label-1-semibold-fontSize","","SIZE","0.875rem"),vo.create("--ft-typography-label-1-semibold-letterSpacing","","SIZE","0.04em"),vo.create("--ft-typography-label-1-semibold-textCase","","UNKNOWN","uppercase"),vo.create("--ft-typography-label-1-semibold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-label-1-semibold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-label-1-semibold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-label-1-bold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-label-1-bold-fontWeight","","UNKNOWN","700"),vo.create("--ft-typography-label-1-bold-lineHeight","","SIZE","110%"),vo.create("--ft-typography-label-1-bold-fontSize","","SIZE","0.875rem"),vo.create("--ft-typography-label-1-bold-letterSpacing","","SIZE","0.04em"),vo.create("--ft-typography-label-1-bold-textCase","","UNKNOWN","uppercase"),vo.create("--ft-typography-label-1-bold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-label-1-bold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-label-1-bold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-label-2-medium-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-label-2-medium-fontWeight","","UNKNOWN","500"),vo.create("--ft-typography-label-2-medium-lineHeight","","SIZE","110%"),vo.create("--ft-typography-label-2-medium-fontSize","","SIZE","0.75rem"),vo.create("--ft-typography-label-2-medium-letterSpacing","","SIZE","0.04em"),vo.create("--ft-typography-label-2-medium-textCase","","UNKNOWN","uppercase"),vo.create("--ft-typography-label-2-medium-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-label-2-medium-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-label-2-medium-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-label-2-semibold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-label-2-semibold-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-label-2-semibold-lineHeight","","SIZE","110%"),vo.create("--ft-typography-label-2-semibold-fontSize","","SIZE","0.75rem"),vo.create("--ft-typography-label-2-semibold-letterSpacing","","SIZE","0.04em"),vo.create("--ft-typography-label-2-semibold-textCase","","UNKNOWN","uppercase"),vo.create("--ft-typography-label-2-semibold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-label-2-semibold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-label-2-semibold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-label-2-bold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-label-2-bold-fontWeight","","UNKNOWN","700"),vo.create("--ft-typography-label-2-bold-lineHeight","","SIZE","110%"),vo.create("--ft-typography-label-2-bold-fontSize","","SIZE","0.75rem"),vo.create("--ft-typography-label-2-bold-letterSpacing","","SIZE","0.04em"),vo.create("--ft-typography-label-2-bold-textCase","","UNKNOWN","uppercase"),vo.create("--ft-typography-label-2-bold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-label-2-bold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-label-2-bold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-caption-1-medium-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-caption-1-medium-fontWeight","","UNKNOWN","500"),vo.create("--ft-typography-caption-1-medium-lineHeight","","SIZE","130%"),vo.create("--ft-typography-caption-1-medium-fontSize","","SIZE","0.75rem"),vo.create("--ft-typography-caption-1-medium-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-caption-1-medium-textCase","","UNKNOWN","none"),vo.create("--ft-typography-caption-1-medium-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-caption-1-medium-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-caption-1-medium-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-caption-1-semibold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-caption-1-semibold-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-caption-1-semibold-lineHeight","","SIZE","130%"),vo.create("--ft-typography-caption-1-semibold-fontSize","","SIZE","0.75rem"),vo.create("--ft-typography-caption-1-semibold-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-caption-1-semibold-textCase","","UNKNOWN","none"),vo.create("--ft-typography-caption-1-semibold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-caption-1-semibold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-caption-1-semibold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-caption-1-bold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-caption-1-bold-fontWeight","","UNKNOWN","700"),vo.create("--ft-typography-caption-1-bold-lineHeight","","SIZE","130%"),vo.create("--ft-typography-caption-1-bold-fontSize","","SIZE","0.75rem"),vo.create("--ft-typography-caption-1-bold-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-caption-1-bold-textCase","","UNKNOWN","none"),vo.create("--ft-typography-caption-1-bold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-caption-1-bold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-caption-1-bold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-caption-2-medium-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-caption-2-medium-fontWeight","","UNKNOWN","500"),vo.create("--ft-typography-caption-2-medium-lineHeight","","SIZE","130%"),vo.create("--ft-typography-caption-2-medium-fontSize","","SIZE","0.6875rem"),vo.create("--ft-typography-caption-2-medium-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-caption-2-medium-textCase","","UNKNOWN","none"),vo.create("--ft-typography-caption-2-medium-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-caption-2-medium-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-caption-2-medium-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-caption-2-semibold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-caption-2-semibold-fontWeight","","UNKNOWN","600"),vo.create("--ft-typography-caption-2-semibold-lineHeight","","SIZE","130%"),vo.create("--ft-typography-caption-2-semibold-fontSize","","SIZE","0.6875rem"),vo.create("--ft-typography-caption-2-semibold-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-caption-2-semibold-textCase","","UNKNOWN","none"),vo.create("--ft-typography-caption-2-semibold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-caption-2-semibold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-caption-2-semibold-textDecoration","","UNKNOWN","none"),vo.create("--ft-typography-caption-2-bold-fontFamily","","UNKNOWN","Inter"),vo.create("--ft-typography-caption-2-bold-fontWeight","","UNKNOWN","700"),vo.create("--ft-typography-caption-2-bold-lineHeight","","SIZE","130%"),vo.create("--ft-typography-caption-2-bold-fontSize","","SIZE","0.6875rem"),vo.create("--ft-typography-caption-2-bold-letterSpacing","","SIZE","normal"),vo.create("--ft-typography-caption-2-bold-textCase","","UNKNOWN","none"),vo.create("--ft-typography-caption-2-bold-paragraphSpacing","","UNKNOWN","normal"),vo.create("--ft-typography-caption-2-bold-paragraphIndent","","UNKNOWN","0"),vo.create("--ft-typography-caption-2-bold-textDecoration","","UNKNOWN","none");const wo={backgroundActionPrimary:vo.extend("--ft-background-action-primary","Used as backgorund of primary action components.",So.colorBrand0),backgroundErrorPrimary:vo.extend("--ft-background-error-primary","Used as background of error components.",So.colorRed0),backgroundErrorSubtle:vo.extend("--ft-background-error-subtle","Used as background of subtle error components.",So.colorRed10),backgroundInfoPrimary:vo.extend("--ft-background-info-primary","Used as background of information components.",So.colorCyan200),backgroundInfoSubtle:vo.extend("--ft-background-info-subtle","Used as background of subtle information components.",So.colorCyan10),backgroundWarningPrimary:vo.extend("--ft-background-warning-primary","Used as background of warning components.",So.colorOrange300),backgroundWarningSubtle:vo.extend("--ft-background-warning-subtle","Used as background of subtle information components.",So.colorOrange10),backgroundSuccessPrimary:vo.extend("--ft-background-success-primary","Used as background of success components.",So.colorGreen200),backgroundSuccessSubtle:vo.extend("--ft-background-success-subtle","Used as background of subtle success components.",So.colorGreen10),backgroundGlobalSurface:vo.extend("--ft-background-global-surface","Used as app background.",So.colorWhite),backgroundGlobalOnSurface:vo.extend("--ft-background-global-on-surface","Used as background on element on the base background, like cards.",So.colorGray10),backgroundGlobalOnSurfaceDark:vo.extend("--ft-background-global-on-surface-dark","Used as background on element that need background separation.",So.colorGray30),contentActionPrimary:vo.extend("--ft-content-action-primary","Used on label of primary action on light surface.",So.colorBrand0),contentWarningPrimary:vo.extend("--ft-content-warning-primary","Used on label of warning messages on light surface.",So.colorOrange300),contentWarningIconOnly:vo.extend("--ft-content-warning-icon-only","Used on warning status icons alone",So.colorOrange0),contentErrorPrimary:vo.extend("--ft-content-error-primary","Used on label of error messages on light surface.",So.colorRed0),contentErrorIconOnly:vo.extend("--ft-content-error-icon-only","Used on error status icons alone",So.colorRed0),contentInfoPrimary:vo.extend("--ft-content-info-primary","Used on label of information messages on light surface.",So.colorCyan200),contentInfoIconOnly:vo.extend("--ft-content-info-icon-only","Used on info status icons alone",So.colorCyan0),contentSuccessIconOnly:vo.extend("--ft-content-success-icon-only","Used on success status icons alone",So.colorGreen0),contentSuccessPrimary:vo.extend("--ft-content-success-primary","Used on label of success messages on light surface.",So.colorGreen200),contentGlobalPrimary:vo.extend("--ft-content-global-primary","Used for main content on the page.",So.colorGray500),contentGlobalSecondary:vo.extend("--ft-content-global-secondary","Used for secondary content, often paired with primary content.\nAlso for action icons.",So.colorGray200),contentGlobalSubtle:vo.extend("--ft-content-global-subtle","Used for placeholder, unselected items in a tab component or breadcrumb.",So.colorGray0),contentGlobalOnColor:vo.extend("--ft-content-global-on-color","Used for content on a dominant color.",So.colorWhite),borderActionPrimary:vo.extend("--ft-border-action-primary","Used as border for primary action components.",So.colorBrand0),borderActionFocusRing:vo.extend("--ft-border-action-focus-ring","Focus ring is an additional border to indicate focus-visible state.",So.colorCyan0),borderWarningPrimary:vo.extend("--ft-border-warning-primary","Used as border for warning components.",So.colorOrange30),borderSuccessPrimary:vo.extend("--ft-border-success-primary","Used as border for success components.",So.colorGreen30),borderErrorPrimary:vo.extend("--ft-border-error-primary","Used as border for error components.",So.colorRed30),borderInfoPrimary:vo.extend("--ft-border-info-primary","Used as border for information components.",So.colorCyan30),borderGlobalSubtle:vo.extend("--ft-border-global-subtle","Used as border to deliminate an area filled with background.on-surface and separators.",So.colorGray30),borderGlobalPrimary:vo.extend("--ft-border-global-primary","Used as border for element like input.",So.colorGray50),borderInputPrimary:vo.extend("--ft-border-input-primary","Used as border for checkboxes and radio buttons",So.colorGray80)};vo.create("--ft-button-large-height","","SIZE","40px"),vo.extend("--ft-button-large-horizontal-padding","",So.spacing4),vo.extend("--ft-button-large-gap","",So.spacing2),vo.extend("--ft-button-large-border-radius","",So.borderRadiusS),vo.extend("--ft-button-large-icon-size","",So.iconSize3),vo.create("--ft-button-large-border-width","","SIZE","1px"),vo.create("--ft-button-large-focus-outline-offset","","SIZE","2px"),vo.create("--ft-button-large-focus-outline-width","","SIZE","2px"),vo.create("--ft-button-large-icon-only-width","","SIZE","40px"),vo.create("--ft-button-small-height","","SIZE","30px"),vo.extend("--ft-button-small-horizontal-padding","",So.spacing3),vo.extend("--ft-button-small-gap","",So.spacing2),vo.extend("--ft-button-small-border-radius","",So.borderRadiusS),vo.extend("--ft-button-small-icon-size","",So.iconSize2),vo.create("--ft-button-small-border-width","","SIZE","1px"),vo.create("--ft-button-small-focus-outline-offset","","SIZE","2px"),vo.create("--ft-button-small-focus-outline-width","","SIZE","2px"),vo.create("--ft-button-small-icon-only-width","","SIZE","30px"),vo.extend("--ft-button-primary-background-color","",wo.backgroundActionPrimary),vo.extend("--ft-button-primary-color","",wo.contentGlobalOnColor),vo.extend("--ft-button-primary-icon-color","",wo.contentGlobalOnColor),vo.extend("--ft-button-primary-state-layer-color","",wo.contentGlobalOnColor),vo.extend("--ft-button-primary-state-layer-opacity-hover","",So.opacity16),vo.extend("--ft-button-primary-state-layer-opacity-focus","",So.opacity16),vo.extend("--ft-button-primary-state-layer-opacity-active","",So.opacity24),vo.extend("--ft-button-primary-component-opacity-disabled","",So.opacity40),vo.extend("--ft-button-focus-focus-ring-color","",wo.borderActionFocusRing),vo.create("--ft-button-tertiary-background-color","","COLOR","rgba(0,0,0,0)"),vo.extend("--ft-button-tertiary-color","",wo.contentActionPrimary),vo.extend("--ft-button-tertiary-icon-color","",wo.contentActionPrimary),vo.extend("--ft-button-tertiary-state-layer-color","",wo.contentActionPrimary),vo.extend("--ft-button-tertiary-state-layer-opacity-hover","",So.opacity8),vo.extend("--ft-button-tertiary-state-layer-opacity-focus","",So.opacity8),vo.extend("--ft-button-tertiary-state-layer-opacity-active","",So.opacity16),vo.extend("--ft-button-tertiary-component-opacity-disabled","",So.opacity40),vo.create("--ft-button-secondary-background-color","","COLOR","rgba(0,0,0,0)"),vo.extend("--ft-button-secondary-color","",wo.contentActionPrimary),vo.extend("--ft-button-secondary-icon-color","",wo.contentActionPrimary),vo.extend("--ft-button-secondary-state-layer-color","",wo.contentActionPrimary),vo.extend("--ft-button-secondary-state-layer-opacity-hover","",So.opacity8),vo.extend("--ft-button-secondary-state-layer-opacity-focus","",So.opacity8),vo.extend("--ft-button-secondary-state-layer-opacity-active","",So.opacity16),vo.extend("--ft-button-secondary-component-opacity-disabled","",So.opacity40),vo.extend("--ft-button-secondary-border-color","",wo.borderActionPrimary),vo.create("--ft-button-neutral-background-color","","COLOR","rgba(0,0,0,0)"),vo.extend("--ft-button-neutral-icon-color","",wo.contentGlobalSecondary),vo.extend("--ft-button-neutral-color","",wo.contentGlobalSecondary),vo.extend("--ft-button-neutral-state-layer-color","",wo.contentGlobalSecondary),vo.extend("--ft-button-neutral-state-layer-opacity-hover","",So.opacity8),vo.extend("--ft-button-neutral-state-layer-opacity-focus","",So.opacity8),vo.extend("--ft-button-neutral-state-layer-opacity-active","",So.opacity16),vo.extend("--ft-button-neutral-component-opacity-disabled","",So.opacity40),vo.extend("--ft-tabs-top-left-border-radius","",So.borderRadiusS),vo.extend("--ft-tabs-top-right-border-radius","",So.borderRadiusS),vo.extend("--ft-tabs-label-horizontal-padding","",So.spacing4),vo.extend("--ft-tabs-label-vertical-padding","",So.spacing3),vo.extend("--ft-tabs-label-gap","",So.spacing1),vo.extend("--ft-switch-group-horizontal-padding","",So.spacing1),vo.extend("--ft-switch-group-vertical-padding","",So.spacing1),vo.extend("--ft-switch-group-gap","",So.spacing1),vo.extend("--ft-switch-group-background-color","",wo.backgroundGlobalSurface),vo.extend("--ft-switch-group-border-color","",wo.borderGlobalSubtle),vo.create("--ft-switch-group-border-radius","","SIZE","6px"),vo.extend("--ft-switch-label-horizontal-padding","",So.spacing2),vo.extend("--ft-switch-label-vertical-padding","",So.spacing1),vo.extend("--ft-switch-icon-horizontal-padding","",So.spacing1),vo.extend("--ft-switch-icon-vertical-padding","",So.spacing1),vo.create("--ft-switch-focus-outline-width","","SIZE","2px"),vo.extend("--ft-switch-focus-focus-ring-color","",wo.borderActionFocusRing),vo.extend("--ft-switch-option-border-radius","",So.borderRadiusS),vo.extend("--ft-switch-off-state-layer-opacity-hover","",So.opacity8),vo.extend("--ft-switch-off-state-layer-opacity-focus","",So.opacity8),vo.extend("--ft-switch-off-state-layer-opacity-active","",So.opacity16),vo.extend("--ft-switch-off-component-opacity-disabled","",So.opacity40),vo.extend("--ft-switch-off-color","",wo.contentGlobalSubtle),vo.extend("--ft-switch-off-state-layer-color","",wo.contentGlobalSubtle),vo.extend("--ft-chart-1-light","for area color charts",So.colorBrand40),vo.extend("--ft-chart-1-base","for line charts",So.colorBrand0),vo.extend("--ft-chart-2-light","for area color charts",So.colorYellow60),vo.extend("--ft-chart-2-base","for line charts",So.colorYellow100),vo.extend("--ft-chart-3-light","",So.colorUltramarine40),vo.extend("--ft-chart-3-base","",So.colorUltramarine70),vo.extend("--ft-chart-4-light","",So.colorCyan50),vo.extend("--ft-chart-4-base","",So.colorCyan100),vo.extend("--ft-chart-5-light","",So.colorRed40),vo.extend("--ft-chart-5-base","",So.colorRed60),vo.extend("--ft-chart-6-light","",So.colorGreen40),vo.extend("--ft-chart-6-base","",So.colorGreen70),vo.extend("--ft-chart-7-light","",So.colorOrange70),vo.extend("--ft-chart-7-base","",So.colorOrange100),vo.extend("--ft-chart-8-light","",So.colorAvocado70),vo.extend("--ft-chart-8-base","",So.colorAvocado200),vo.extend("--ft-chart-9-light","",So.colorBrown50),vo.extend("--ft-chart-9-base","",So.colorBrown200),vo.extend("--ft-chart-10-light","",So.colorGray50),vo.extend("--ft-chart-10-base","",So.colorGray80),vo.extend("--ft-chart-monochrome-10","",So.colorBrand10),vo.extend("--ft-chart-monochrome-20","",So.colorBrand20),vo.extend("--ft-chart-monochrome-30","",So.colorBrand40),vo.extend("--ft-chart-monochrome-40","",So.colorBrand60),vo.extend("--ft-chart-monochrome-50","",So.colorBrand0),vo.extend("--ft-chart-monochrome-60","",So.colorBrand200),vo.extend("--ft-chip-large-horizontal-padding","",So.spacing4),vo.extend("--ft-chip-large-vertical-padding","",So.spacing2),vo.extend("--ft-chip-large-gap","",So.spacing1),vo.create("--ft-chip-large-focus-outline-offset","","SIZE","2px"),vo.create("--ft-chip-large-focus-outline-width","","SIZE","2px"),vo.extend("--ft-chip-large-border-radius","",So.borderRadiusPill),vo.create("--ft-chip-large-border-width","","SIZE","1px"),vo.extend("--ft-chip-large-icon-size","",So.iconSize3),vo.extend("--ft-chip-medium-horizontal-padding","",So.spacing3),vo.extend("--ft-chip-medium-vertical-padding","",So.spacing1),vo.extend("--ft-chip-medium-gap","",So.spacing1),vo.create("--ft-chip-medium-focus-outline-offset","","SIZE","2px"),vo.create("--ft-chip-medium-focus-outline-width","","SIZE","2px"),vo.extend("--ft-chip-medium-border-radius","",So.borderRadiusPill),vo.create("--ft-chip-medium-border-width","","SIZE","1px"),vo.extend("--ft-chip-medium-icon-size","",So.iconSize2),vo.extend("--ft-chip-small-horizontal-padding","",So.spacing2),vo.extend("--ft-chip-small-vertical-padding","",So.spacing05),vo.extend("--ft-chip-small-gap","",So.spacing1),vo.create("--ft-chip-small-focus-outline-offset","","SIZE","2px"),vo.create("--ft-chip-small-focus-outline-width","","SIZE","2px"),vo.extend("--ft-chip-small-border-radius","",So.borderRadiusPill),vo.create("--ft-chip-small-border-width","","SIZE","1px"),vo.extend("--ft-chip-small-icon-size","",So.iconSize1),vo.extend("--ft-chip-neutral-background-color","",wo.backgroundGlobalOnSurface),vo.extend("--ft-chip-neutral-color","",wo.contentGlobalPrimary),vo.extend("--ft-chip-neutral-border-color","",wo.borderGlobalSubtle),vo.extend("--ft-chip-info-background-color","",wo.backgroundInfoSubtle),vo.extend("--ft-chip-info-color","",wo.contentInfoPrimary),vo.extend("--ft-chip-info-border-color","",wo.borderInfoPrimary),vo.extend("--ft-chip-success-background-color","",wo.backgroundSuccessSubtle),vo.extend("--ft-chip-success-color","",wo.contentSuccessPrimary),vo.extend("--ft-chip-success-border-color","",wo.borderSuccessPrimary),vo.extend("--ft-chip-warning-background-color","",wo.backgroundWarningSubtle),vo.extend("--ft-chip-warning-color","",wo.contentWarningPrimary),vo.extend("--ft-chip-warning-border-color","",wo.borderWarningPrimary),vo.extend("--ft-chip-error-background-color","",wo.backgroundErrorSubtle),vo.extend("--ft-chip-error-color","",wo.contentErrorPrimary),vo.extend("--ft-chip-error-border-color","",wo.borderErrorPrimary),vo.create("--ft-notice-border-width","","SIZE","1px"),vo.extend("--ft-notice-horizontal-padding","",So.spacing2),vo.extend("--ft-notice-vertical-padding","",So.spacing1),vo.extend("--ft-notice-border-radius","",So.borderRadiusS),vo.extend("--ft-notice-gap","",So.spacing2),vo.extend("--ft-notice-icon-size","",So.iconSize3),vo.extend("--ft-notice-info-background-color","",wo.backgroundInfoSubtle),vo.extend("--ft-notice-info-border-color","",wo.borderInfoPrimary),vo.extend("--ft-notice-info-color","",wo.contentInfoPrimary),vo.extend("--ft-notice-warning-background-color","",wo.backgroundWarningSubtle),vo.extend("--ft-notice-warning-border-color","",wo.borderWarningPrimary),vo.extend("--ft-notice-warning-color","",wo.contentWarningPrimary),vo.extend("--ft-checkbox-label-color","",wo.contentGlobalPrimary),vo.extend("--ft-checkbox-checked-background-color","",wo.contentActionPrimary),vo.extend("--ft-checkbox-checked-state-layer-color","",wo.contentActionPrimary),vo.extend("--ft-checkbox-checked-color","",wo.contentGlobalOnColor),vo.extend("--ft-checkbox-checked-state-layer-opacity-hover","",So.opacity16),vo.extend("--ft-checkbox-checked-state-layer-opacity-focus","",So.opacity16),vo.extend("--ft-checkbox-checked-state-layer-opacity-active","",So.opacity24),vo.extend("--ft-checkbox-checked-component-opacity-disabled","",So.opacity40),vo.extend("--ft-checkbox-unchecked-border-color","",So.colorGray80),vo.extend("--ft-checkbox-unchecked-state-layer-color","",So.colorGray80),vo.extend("--ft-checkbox-unchecked-state-layer-opacity-hover","",So.opacity16),vo.extend("--ft-checkbox-unchecked-state-layer-opacity-focus","",So.opacity16),vo.extend("--ft-checkbox-unchecked-state-layer-opacity-active","",So.opacity24),vo.extend("--ft-checkbox-unchecked-component-opacity-disabled","",So.opacity40),vo.extend("--ft-checkbox-focus-focus-ring-color","",wo.borderActionFocusRing),vo.create("--ft-checkbox-focus-outline-offset","","SIZE","3px"),vo.create("--ft-checkbox-focus-outline-width","","SIZE","2px"),vo.extend("--ft-checkbox-gap","",So.spacing3),vo.extend("--ft-toggle-off-state-layer-opacity-hover","",So.opacity16),vo.extend("--ft-toggle-off-state-layer-opacity-focus","",So.opacity16),vo.extend("--ft-toggle-off-state-layer-opacity-active","",So.opacity24),vo.extend("--ft-toggle-off-component-opacity-disabled","",So.opacity40),vo.extend("--ft-toggle-off-background-color","",wo.contentGlobalSubtle),vo.extend("--ft-toggle-off-icon-color","",wo.contentGlobalSubtle),vo.extend("--ft-toggle-off-state-layer-color","",wo.contentGlobalSubtle),vo.extend("--ft-toggle-on-state-layer-opacity-hover","",So.opacity16),vo.extend("--ft-toggle-on-state-layer-opacity-focus","",So.opacity16),vo.extend("--ft-toggle-on-state-layer-opacity-active","",So.opacity24),vo.extend("--ft-toggle-on-component-opacity-disabled","",So.opacity40),vo.extend("--ft-toggle-on-background-color","",wo.contentActionPrimary),vo.extend("--ft-toggle-on-icon-color","",wo.contentActionPrimary),vo.extend("--ft-toggle-on-state-layer-color","",wo.contentActionPrimary),vo.extend("--ft-toggle-label-color","",wo.contentGlobalPrimary),vo.extend("--ft-toggle-focus-focus-ring-color","",wo.borderActionFocusRing),vo.extend("--ft-toggle-gap","",So.spacing3),vo.extend("--ft-radio-label-color","",wo.contentGlobalPrimary),vo.extend("--ft-radio-selected-color","",wo.contentActionPrimary),vo.extend("--ft-radio-selected-state-layer-color","",wo.contentActionPrimary),vo.extend("--ft-radio-selected-state-layer-opacity-hover","",So.opacity16),vo.extend("--ft-radio-selected-state-layer-opacity-focus","",So.opacity16),vo.extend("--ft-radio-selected-state-layer-opacity-active","",So.opacity24),vo.extend("--ft-radio-selected-component-opacity-disabled","",So.opacity40),vo.extend("--ft-radio-unselected-state-layer-color","",So.colorGray80),vo.extend("--ft-radio-unselected-state-layer-opacity-hover","",So.opacity16),vo.extend("--ft-radio-unselected-state-layer-opacity-focus","",So.opacity16),vo.extend("--ft-radio-unselected-state-layer-opacity-active","",So.opacity24),vo.extend("--ft-radio-unselected-component-opacity-disabled","",So.opacity40),vo.extend("--ft-radio-focus-focus-ring-color","",wo.borderActionFocusRing),vo.create("--ft-radio-focus-outline-offset","","SIZE","3px"),vo.create("--ft-radio-focus-outline-width","","SIZE","2px"),vo.extend("--ft-radio-gap","",So.spacing3),vo.extend("--ft-notification-icon-size","",So.iconSize4),vo.extend("--ft-notification-horizontal-padding","",So.spacing4),vo.extend("--ft-notification-vertical-padding","",So.spacing4),vo.extend("--ft-notification-info-background-color","",wo.backgroundInfoSubtle),vo.extend("--ft-notification-info-color","",wo.contentInfoPrimary),vo.extend("--ft-notification-info-border-color","",wo.borderInfoPrimary),vo.extend("--ft-notification-success-background-color","",wo.backgroundSuccessSubtle),vo.extend("--ft-notification-success-color","",wo.contentSuccessPrimary),vo.extend("--ft-notification-success-border-color","",wo.borderSuccessPrimary),vo.extend("--ft-notification-warning-background-color","",wo.backgroundWarningSubtle),vo.extend("--ft-notification-warning-color","",wo.contentWarningPrimary),vo.extend("--ft-notification-warning-border-color","",wo.borderWarningPrimary),vo.extend("--ft-notification-error-background-color","",wo.backgroundErrorSubtle),vo.extend("--ft-notification-error-color","",wo.contentErrorPrimary),vo.extend("--ft-notification-error-border-color","",wo.borderErrorPrimary),vo.extend("--ft-notification-border-radius","",So.borderRadiusPill),vo.create("--ft-notification-border-width","","SIZE","1px"),vo.extend("--ft-notification-gap-leading","",So.spacing2),vo.extend("--ft-notification-gap-trailing","",So.spacing8),vo.create("--ft-color-primary","","COLOR","#2196F3"),vo.create("--ft-color-primary-variant","","COLOR","#1976D2"),vo.create("--ft-color-secondary","","COLOR","#FFCC80"),vo.create("--ft-color-secondary-variant","","COLOR","#F57C00"),vo.create("--ft-color-surface","","COLOR","#FFFFFF"),vo.create("--ft-color-content","","COLOR","rgba(0, 0, 0, 0.87)"),vo.create("--ft-color-error","","COLOR","#B00020"),vo.create("--ft-color-outline","","COLOR","rgba(0, 0, 0, 0.14)"),vo.create("--ft-color-opacity-high","","NUMBER","1"),vo.create("--ft-color-opacity-medium","","NUMBER","0.74"),vo.create("--ft-color-opacity-disabled","","NUMBER","0.38"),vo.create("--ft-color-on-primary","","COLOR","#FFFFFF"),vo.create("--ft-color-on-primary-high","","COLOR","#FFFFFF"),vo.create("--ft-color-on-primary-medium","","COLOR","rgba(255, 255, 255, 0.74)"),vo.create("--ft-color-on-primary-disabled","","COLOR","rgba(255, 255, 255, 0.38)"),vo.create("--ft-color-on-secondary","","COLOR","#FFFFFF"),vo.create("--ft-color-on-secondary-high","","COLOR","#FFFFFF"),vo.create("--ft-color-on-secondary-medium","","COLOR","rgba(255, 255, 255, 0.74)"),vo.create("--ft-color-on-secondary-disabled","","COLOR","rgba(255, 255, 255, 0.38)"),vo.create("--ft-color-on-surface","","COLOR","rgba(0, 0, 0, 0.87)"),vo.create("--ft-color-on-surface-high","","COLOR","rgba(0, 0, 0, 0.87)"),vo.create("--ft-color-on-surface-medium","","COLOR","rgba(0, 0, 0, 0.60)"),vo.create("--ft-color-on-surface-disabled","","COLOR","rgba(0, 0, 0, 0.38)"),vo.create("--ft-opacity-content-on-surface-disabled","","NUMBER","0"),vo.create("--ft-opacity-content-on-surface-enable","","NUMBER","0"),vo.create("--ft-opacity-content-on-surface-hover","","NUMBER","0.04"),vo.create("--ft-opacity-content-on-surface-focused","","NUMBER","0.12"),vo.create("--ft-opacity-content-on-surface-pressed","","NUMBER","0.10"),vo.create("--ft-opacity-content-on-surface-selected","","NUMBER","0.08"),vo.create("--ft-opacity-content-on-surface-dragged","","NUMBER","0.08"),vo.create("--ft-opacity-primary-on-surface-disabled","","NUMBER","0"),vo.create("--ft-opacity-primary-on-surface-enable","","NUMBER","0"),vo.create("--ft-opacity-primary-on-surface-hover","","NUMBER","0.04"),vo.create("--ft-opacity-primary-on-surface-focused","","NUMBER","0.12"),vo.create("--ft-opacity-primary-on-surface-pressed","","NUMBER","0.10"),vo.create("--ft-opacity-primary-on-surface-selected","","NUMBER","0.08"),vo.create("--ft-opacity-primary-on-surface-dragged","","NUMBER","0.08"),vo.create("--ft-opacity-surface-on-primary-disabled","","NUMBER","0"),vo.create("--ft-opacity-surface-on-primary-enable","","NUMBER","0"),vo.create("--ft-opacity-surface-on-primary-hover","","NUMBER","0.04"),vo.create("--ft-opacity-surface-on-primary-focused","","NUMBER","0.12"),vo.create("--ft-opacity-surface-on-primary-pressed","","NUMBER","0.10"),vo.create("--ft-opacity-surface-on-primary-selected","","NUMBER","0.08"),vo.create("--ft-opacity-surface-on-primary-dragged","","NUMBER","0.08"),vo.create("--ft-elevation-00","","UNKNOWN","0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0)"),vo.create("--ft-elevation-01","","UNKNOWN","0px 1px 4px 0px rgba(0, 0, 0, 0.06), 0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-02","","UNKNOWN","0px 4px 10px 0px rgba(0, 0, 0, 0.06), 0px 2px 5px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-03","","UNKNOWN","0px 6px 13px 0px rgba(0, 0, 0, 0.06), 0px 3px 7px 0px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-04","","UNKNOWN","0px 8px 16px 0px rgba(0, 0, 0, 0.06), 0px 4px 9px 0px rgba(0, 0, 0, 0.14), 0px 2px 3px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-06","","UNKNOWN","0px 12px 22px 0px rgba(0, 0, 0, 0.06), 0px 6px 13px 0px rgba(0, 0, 0, 0.14), 0px 4px 5px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-08","","UNKNOWN","0px 16px 28px 0px rgba(0, 0, 0, 0.06), 0px 8px 17px 0px rgba(0, 0, 0, 0.14), 0px 6px 7px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-12","","UNKNOWN","0px 22px 40px 0px rgba(0, 0, 0, 0.06), 0px 12px 23px 0px rgba(0, 0, 0, 0.14), 0px 10px 11px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-16","","UNKNOWN","0px 28px 52px 0px rgba(0, 0, 0, 0.06), 0px 16px 29px 0px rgba(0, 0, 0, 0.14), 0px 14px 15px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-elevation-24","","UNKNOWN","0px 40px 76px 0px rgba(0, 0, 0, 0.06), 0px 24px 41px 0px rgba(0, 0, 0, 0.14), 0px 22px 23px 0px rgba(0, 0, 0, 0.06)"),vo.create("--ft-border-radius-S","","SIZE","4px"),vo.create("--ft-border-radius-M","","SIZE","8px"),vo.create("--ft-border-radius-L","","SIZE","12px"),vo.create("--ft-border-radius-XL","","SIZE","16px"),vo.create("--ft-title-font","","UNKNOWN","Ubuntu, system-ui, sans-serif"),vo.create("--ft-content-font","","UNKNOWN","'Open Sans', system-ui, sans-serif"),vo.create("--ft-transition-duration","","UNKNOWN","250ms"),vo.create("--ft-transition-timing-function","","UNKNOWN","ease-in-out");
75
+ let vo=class extends Ft{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const o=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,o,e)=>{const r=e?.renderBefore??o;let i=r._$litPart$;if(void 0===i){const t=e?.renderBefore??null;r._$litPart$=i=new yo(o.insertBefore(Ht(),t),t,void 0,e??{})}return i._$AI(t),i})(o,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return no}};vo._$litElement$=!0,vo.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:vo});const So=globalThis.litElementPolyfillSupport;So?.({LitElement:vo}),(globalThis.litElementVersions??=[]).push("4.0.2");const wo=t=>"string"==typeof t?vt(t):t;class Co{static create(t,o,e,r){const i=t=>wo(null!=t?t:r),n=St`var(${wo(t)}, ${i(r)})`;return n.name=t,n.description=o,n.category=e,n.defaultValue=r,n.defaultCssValue=i,n.get=o=>St`var(${wo(t)}, ${i(o)})`,n.breadcrumb=()=>[],n.lastResortDefaultValue=()=>r,n}static extend(t,o,e,r){const i=t=>e.get(null!=t?t:r),n=St`var(${wo(t)}, ${i(r)})`;return n.name=t,n.description=o,n.category=e.category,n.fallbackVariable=e,n.defaultValue=r,n.defaultCssValue=i,n.get=o=>St`var(${wo(t)}, ${i(o)})`,n.breadcrumb=()=>[e.name,...e.breadcrumb()],n.lastResortDefaultValue=()=>null!=r?r:e.lastResortDefaultValue(),n}static external(t,o){const e=o=>t.fallbackVariable?t.fallbackVariable.get(null!=o?o:t.defaultValue):wo(null!=o?o:t.lastResortDefaultValue()),r=St`var(${wo(t.name)}, ${e(t.defaultValue)})`;return r.name=t.name,r.category=t.category,r.fallbackVariable=t.fallbackVariable,r.defaultValue=t.defaultValue,r.context=o,r.defaultCssValue=e,r.get=o=>St`var(${wo(t.name)}, ${e(o)})`,r.breadcrumb=()=>t.fallbackVariable?[t.fallbackVariable.name,...t.fallbackVariable.breadcrumb()]:[],r.lastResortDefaultValue=()=>t.lastResortDefaultValue(),r}}const xo={colorWhite:Co.create("--ft-color-white","","COLOR","#ffffff"),colorGray0:Co.create("--ft-color-gray-0","","COLOR","#71718e"),colorGray10:Co.create("--ft-color-gray-10","","COLOR","#fbfbfc"),colorGray20:Co.create("--ft-color-gray-20","","COLOR","#f2f2f5"),colorGray30:Co.create("--ft-color-gray-30","","COLOR","#e9e9ed"),colorGray40:Co.create("--ft-color-gray-40","","COLOR","#e0e0e6"),colorGray50:Co.create("--ft-color-gray-50","","COLOR","#cdcdd7"),colorGray60:Co.create("--ft-color-gray-60","","COLOR","#bbbbc9"),colorGray70:Co.create("--ft-color-gray-70","","COLOR","#a8a8ba"),colorGray80:Co.create("--ft-color-gray-80","","COLOR","#9696ab"),colorGray90:Co.create("--ft-color-gray-90","","COLOR","#83839d"),colorGray100:Co.create("--ft-color-gray-100","","COLOR","#62627c"),colorGray200:Co.create("--ft-color-gray-200","","COLOR","#545469"),colorGray300:Co.create("--ft-color-gray-300","","COLOR","#454557"),colorGray400:Co.create("--ft-color-gray-400","","COLOR","#363644"),colorGray500:Co.create("--ft-color-gray-500","","COLOR","#282832"),colorGray600:Co.create("--ft-color-gray-600","","COLOR","#19191f"),colorGray700:Co.create("--ft-color-gray-700","","COLOR","#0a0a0d"),colorBrand0:Co.create("--ft-color-brand-0","","COLOR","#9d207b"),colorBrand10:Co.create("--ft-color-brand-10","","COLOR","#f7edf4"),colorBrand20:Co.create("--ft-color-brand-20","","COLOR","#ebcfe4"),colorBrand30:Co.create("--ft-color-brand-30","","COLOR","#dfb2d3"),colorBrand40:Co.create("--ft-color-brand-40","","COLOR","#d395c2"),colorBrand50:Co.create("--ft-color-brand-50","","COLOR","#c778b1"),colorBrand60:Co.create("--ft-color-brand-60","","COLOR","#ba5ba1"),colorBrand70:Co.create("--ft-color-brand-70","","COLOR","#ae3e90"),colorBrand100:Co.create("--ft-color-brand-100","","COLOR","#8d1d6e"),colorBrand200:Co.create("--ft-color-brand-200","","COLOR","#78185e"),colorBrand300:Co.create("--ft-color-brand-300","","COLOR","#62144d"),colorBrand400:Co.create("--ft-color-brand-400","","COLOR","#4d103c"),colorBrand500:Co.create("--ft-color-brand-500","","COLOR","#380b2c"),colorBrand600:Co.create("--ft-color-brand-600","","COLOR","#23071b"),colorBrand700:Co.create("--ft-color-brand-700","","COLOR","#0d030b"),colorCyan0:Co.create("--ft-color-cyan-0","","COLOR","#0e98b4"),colorCyan10:Co.create("--ft-color-cyan-10","","COLOR","#ebf6f9"),colorCyan20:Co.create("--ft-color-cyan-20","","COLOR","#cbe9ef"),colorCyan30:Co.create("--ft-color-cyan-30","","COLOR","#acdbe5"),colorCyan40:Co.create("--ft-color-cyan-40","","COLOR","#8ccedb"),colorCyan50:Co.create("--ft-color-cyan-50","","COLOR","#6dc0d1"),colorCyan60:Co.create("--ft-color-cyan-60","","COLOR","#4db3c8"),colorCyan70:Co.create("--ft-color-cyan-70","","COLOR","#2ea5be"),colorCyan100:Co.create("--ft-color-cyan-100","","COLOR","#0c849c"),colorCyan200:Co.create("--ft-color-cyan-200","","COLOR","#0a7085"),colorCyan300:Co.create("--ft-color-cyan-300","","COLOR","#085c6d"),colorCyan400:Co.create("--ft-color-cyan-400","","COLOR","#074856"),colorCyan500:Co.create("--ft-color-cyan-500","","COLOR","#05343e"),colorCyan600:Co.create("--ft-color-cyan-600","","COLOR","#032127"),colorCyan700:Co.create("--ft-color-cyan-700","","COLOR","#010d0f"),colorGreen0:Co.create("--ft-color-green-0","","COLOR","#21a274"),colorGreen10:Co.create("--ft-color-green-10","","COLOR","#edf7f3"),colorGreen20:Co.create("--ft-color-green-20","","COLOR","#cfebe1"),colorGreen30:Co.create("--ft-color-green-30","","COLOR","#b2dfcf"),colorGreen40:Co.create("--ft-color-green-40","","COLOR","#95d3bd"),colorGreen50:Co.create("--ft-color-green-50","","COLOR","#78c7ab"),colorGreen60:Co.create("--ft-color-green-60","","COLOR","#5bba98"),colorGreen70:Co.create("--ft-color-green-70","","COLOR","#3eae86"),colorGreen100:Co.create("--ft-color-green-100","","COLOR","#1d8d65"),colorGreen200:Co.create("--ft-color-green-200","","COLOR","#187856"),colorGreen300:Co.create("--ft-color-green-300","","COLOR","#146246"),colorGreen400:Co.create("--ft-color-green-400","","COLOR","#104d37"),colorGreen500:Co.create("--ft-color-green-500","","COLOR","#0b3828"),colorGreen600:Co.create("--ft-color-green-600","","COLOR","#072319"),colorGreen700:Co.create("--ft-color-green-700","","COLOR","#030d0a"),colorOrange0:Co.create("--ft-color-orange-0","","COLOR","#ee8d17"),colorOrange10:Co.create("--ft-color-orange-10","","COLOR","#fef6ec"),colorOrange20:Co.create("--ft-color-orange-20","","COLOR","#fbe7cd"),colorOrange30:Co.create("--ft-color-orange-30","","COLOR","#f9d8af"),colorOrange40:Co.create("--ft-color-orange-40","","COLOR","#f7c991"),colorOrange50:Co.create("--ft-color-orange-50","","COLOR","#f5ba72"),colorOrange60:Co.create("--ft-color-orange-60","","COLOR","#f2ab54"),colorOrange70:Co.create("--ft-color-orange-70","","COLOR","#f09c35"),colorOrange100:Co.create("--ft-color-orange-100","","COLOR","#cf7b14"),colorOrange200:Co.create("--ft-color-orange-200","","COLOR","#b06811"),colorOrange300:Co.create("--ft-color-orange-300","","COLOR","#90560e"),colorOrange400:Co.create("--ft-color-orange-400","","COLOR","#71430b"),colorOrange500:Co.create("--ft-color-orange-500","","COLOR","#523108"),colorOrange600:Co.create("--ft-color-orange-600","","COLOR","#331e05"),colorOrange700:Co.create("--ft-color-orange-700","","COLOR","#140c02"),colorRed0:Co.create("--ft-color-red-0","","COLOR","#b40e2c"),colorRed10:Co.create("--ft-color-red-10","","COLOR","#f9ebed"),colorRed20:Co.create("--ft-color-red-20","","COLOR","#efcbd2"),colorRed30:Co.create("--ft-color-red-30","","COLOR","#e5acb6"),colorRed40:Co.create("--ft-color-red-40","","COLOR","#db8c9b"),colorRed50:Co.create("--ft-color-red-50","","COLOR","#d16d7f"),colorRed60:Co.create("--ft-color-red-60","","COLOR","#c84d63"),colorRed70:Co.create("--ft-color-red-70","","COLOR","#be2e48"),colorRed100:Co.create("--ft-color-red-100","","COLOR","#9c0c26"),colorRed200:Co.create("--ft-color-red-200","","COLOR","#850a20"),colorRed300:Co.create("--ft-color-red-300","","COLOR","#6d081b"),colorRed400:Co.create("--ft-color-red-400","","COLOR","#560715"),colorRed500:Co.create("--ft-color-red-500","","COLOR","#3e050f"),colorRed600:Co.create("--ft-color-red-600","","COLOR","#270309"),colorRed700:Co.create("--ft-color-red-700","","COLOR","#0f0104"),colorYellow0:Co.create("--ft-color-yellow-0","","COLOR","#E4C00C"),colorYellow10:Co.create("--ft-color-yellow-10","","COLOR","#fefae9"),colorYellow20:Co.create("--ft-color-yellow-20","","COLOR","#fcf4ca"),colorYellow30:Co.create("--ft-color-yellow-30","","COLOR","#faedaa"),colorYellow40:Co.create("--ft-color-yellow-40","","COLOR","#f9e78b"),colorYellow50:Co.create("--ft-color-yellow-50","","COLOR","#f7e06b"),colorYellow60:Co.create("--ft-color-yellow-60","","COLOR","#F4D63E"),colorYellow70:Co.create("--ft-color-yellow-70","","COLOR","#F3CE16"),colorYellow100:Co.create("--ft-color-yellow-100","","COLOR","#d3b10b"),colorYellow200:Co.create("--ft-color-yellow-200","","COLOR","#b3970a"),colorYellow300:Co.create("--ft-color-yellow-300","","COLOR","#947c08"),colorYellow400:Co.create("--ft-color-yellow-400","","COLOR","#746206"),colorYellow500:Co.create("--ft-color-yellow-500","","COLOR","#554705"),colorYellow600:Co.create("--ft-color-yellow-600","","COLOR","#352d03"),colorYellow700:Co.create("--ft-color-yellow-700","","COLOR","#161201"),colorUltramarine0:Co.create("--ft-color-ultramarine-0","","COLOR","#3C19E5"),colorUltramarine10:Co.create("--ft-color-ultramarine-10","","COLOR","#EDEAFD"),colorUltramarine20:Co.create("--ft-color-ultramarine-20","","COLOR","#D4CCF9"),colorUltramarine30:Co.create("--ft-color-ultramarine-30","","COLOR","#BBAFF6"),colorUltramarine40:Co.create("--ft-color-ultramarine-40","","COLOR","#A191F3"),colorUltramarine50:Co.create("--ft-color-ultramarine-50","","COLOR","#8873EF"),colorUltramarine60:Co.create("--ft-color-ultramarine-60","","COLOR","#6F55EC"),colorUltramarine70:Co.create("--ft-color-ultramarine-70","","COLOR","#5537E8"),colorUltramarine100:Co.create("--ft-color-ultramarine-100","","COLOR","#3416C7"),colorUltramarine200:Co.create("--ft-color-ultramarine-200","","COLOR","#2C13A9"),colorUltramarine300:Co.create("--ft-color-ultramarine-300","","COLOR","#250F8C"),colorUltramarine400:Co.create("--ft-color-ultramarine-400","","COLOR","#1D0C6E"),colorUltramarine500:Co.create("--ft-color-ultramarine-500","","COLOR","#150950"),colorUltramarine600:Co.create("--ft-color-ultramarine-600","","COLOR","#0D0532"),colorUltramarine700:Co.create("--ft-color-ultramarine-700","","COLOR","#050215"),colorAvocado0:Co.create("--ft-color-avocado-0","","COLOR","#98BD28"),colorAvocado10:Co.create("--ft-color-avocado-10","","COLOR","#F6F9EC"),colorAvocado20:Co.create("--ft-color-avocado-20","","COLOR","#E8F0D0"),colorAvocado30:Co.create("--ft-color-avocado-30","","COLOR","#DBE8B4"),colorAvocado40:Co.create("--ft-color-avocado-40","","COLOR","#CEDF98"),colorAvocado50:Co.create("--ft-color-avocado-50","","COLOR","#C0D77C"),colorAvocado60:Co.create("--ft-color-avocado-60","","COLOR","#B3CE60"),colorAvocado70:Co.create("--ft-color-avocado-70","","COLOR","#A5C644"),colorAvocado100:Co.create("--ft-color-avocado-100","","COLOR","#84A423"),colorAvocado200:Co.create("--ft-color-avocado-200","","COLOR","#708C1E"),colorAvocado300:Co.create("--ft-color-avocado-300","","COLOR","#5D7318"),colorAvocado400:Co.create("--ft-color-avocado-400","","COLOR","#495B13"),colorAvocado500:Co.create("--ft-color-avocado-500","","COLOR","#35420E"),colorAvocado600:Co.create("--ft-color-avocado-600","","COLOR","#212A09"),colorAvocado700:Co.create("--ft-color-avocado-700","","COLOR","#0E1104"),colorBrown0:Co.create("--ft-color-brown-0","","COLOR","#B26F4D"),colorBrown10:Co.create("--ft-color-brown-10","","COLOR","#F8F2EF"),colorBrown20:Co.create("--ft-color-brown-20","","COLOR","#EEDFD8"),colorBrown30:Co.create("--ft-color-brown-30","","COLOR","#E4CDC1"),colorBrown40:Co.create("--ft-color-brown-40","","COLOR","#DABAAA"),colorBrown50:Co.create("--ft-color-brown-50","","COLOR","#D0A792"),colorBrown60:Co.create("--ft-color-brown-60","","COLOR","#C6947B"),colorBrown70:Co.create("--ft-color-brown-70","","COLOR","#BC8264"),colorBrown100:Co.create("--ft-color-brown-100","","COLOR","#9B6143"),colorBrown200:Co.create("--ft-color-brown-200","","COLOR","#845239"),colorBrown300:Co.create("--ft-color-brown-300","","COLOR","#6D442F"),colorBrown400:Co.create("--ft-color-brown-400","","COLOR","#553525"),colorBrown500:Co.create("--ft-color-brown-500","","COLOR","#3E271B"),colorBrown600:Co.create("--ft-color-brown-600","","COLOR","#271811"),colorBrown700:Co.create("--ft-color-brown-700","","COLOR","#100A07"),spacing1:Co.create("--ft-spacing-1","","SIZE","0.25rem"),spacing2:Co.create("--ft-spacing-2","","SIZE","calc(var(--ft-spacing-2, 0.25rem)*2)"),spacing3:Co.create("--ft-spacing-3","","SIZE","calc(var(--ft-spacing-3, 0.25rem)*3)"),spacing4:Co.create("--ft-spacing-4","","SIZE","calc(var(--ft-spacing-4, 0.25rem)*4)"),spacing5:Co.create("--ft-spacing-5","","SIZE","calc(var(--ft-spacing-5, 0.25rem)*5)"),spacing6:Co.create("--ft-spacing-6","","SIZE","calc(var(--ft-spacing-6, 0.25rem)*6)"),spacing8:Co.create("--ft-spacing-8","","SIZE","calc(var(--ft-spacing-8, 0.25rem)*8)"),spacing10:Co.create("--ft-spacing-10","","SIZE","calc(var(--ft-spacing-10, 0.25rem)*10)"),spacing12:Co.create("--ft-spacing-12","","SIZE","calc(var(--ft-spacing-12, 0.25rem)*12)"),spacing16:Co.create("--ft-spacing-16","","SIZE","calc(var(--ft-spacing-16, 0.25rem)*16)"),spacing20:Co.create("--ft-spacing-20","","SIZE","calc(var(--ft-spacing-20, 0.25rem)*20)"),spacing24:Co.create("--ft-spacing-24","","SIZE","calc(var(--ft-spacing-24, 0.25rem)*24)"),spacing28:Co.create("--ft-spacing-28","","SIZE","calc(var(--ft-spacing-28, 0.25rem)*28)"),spacing32:Co.create("--ft-spacing-32","","SIZE","calc(var(--ft-spacing-32, 0.25rem)*32)"),spacing05:Co.create("--ft-spacing-0-5","","SIZE","calc(var(--ft-spacing-0-5, 0.25rem)*0.5)"),borderRadiusS:Co.create("--ft-border-radius-s","","SIZE","4px"),borderRadiusM:Co.create("--ft-border-radius-m","","SIZE","8px"),borderRadiusL:Co.create("--ft-border-radius-l","","SIZE","12px"),borderRadiusXl:Co.create("--ft-border-radius-xl","","SIZE","16px"),borderRadiusPill:Co.create("--ft-border-radius-pill","","SIZE","999px"),borderRadiusRound:Co.create("--ft-border-radius-round","","SIZE","50%"),iconSize1:Co.create("--ft-icon-size-1","","SIZE","12px"),iconSize2:Co.create("--ft-icon-size-2","","SIZE","16px"),iconSize3:Co.create("--ft-icon-size-3","","SIZE","20px"),iconSize4:Co.create("--ft-icon-size-4","","SIZE","24px"),iconSize5:Co.create("--ft-icon-size-5","","SIZE","32px"),iconSize6:Co.create("--ft-icon-size-6","","SIZE","48px"),opacity0:Co.create("--ft-opacity-0","","NUMBER","0"),opacity8:Co.create("--ft-opacity-8","","NUMBER","0.08"),opacity16:Co.create("--ft-opacity-16","","NUMBER","0.16"),opacity24:Co.create("--ft-opacity-24","","NUMBER","0.24"),opacity40:Co.create("--ft-opacity-40","","NUMBER","0.4"),opacity80:Co.create("--ft-opacity-80","","NUMBER","0.8")};Co.create("--ft-typography-display-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-display-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-display-lineHeight","","SIZE","120%"),Co.create("--ft-typography-display-fontSize","","SIZE","2.5rem"),Co.create("--ft-typography-display-letterSpacing","","SIZE","-0.02em"),Co.create("--ft-typography-display-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-display-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-display-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-display-textCase","","UNKNOWN","none"),Co.create("--ft-typography-title-1-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-title-1-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-title-1-lineHeight","","SIZE","120%"),Co.create("--ft-typography-title-1-fontSize","","SIZE","2rem"),Co.create("--ft-typography-title-1-letterSpacing","","SIZE","-0.02em"),Co.create("--ft-typography-title-1-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-title-1-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-title-1-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-title-1-textCase","","UNKNOWN","none"),Co.create("--ft-typography-title-2-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-title-2-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-title-2-lineHeight","","SIZE","120%"),Co.create("--ft-typography-title-2-fontSize","","SIZE","1.5rem"),Co.create("--ft-typography-title-2-letterSpacing","","SIZE","-0.02em"),Co.create("--ft-typography-title-2-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-title-2-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-title-2-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-title-2-textCase","","UNKNOWN","none"),Co.create("--ft-typography-title-3-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-title-3-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-title-3-lineHeight","","SIZE","120%"),Co.create("--ft-typography-title-3-fontSize","","SIZE","1.25rem"),Co.create("--ft-typography-title-3-letterSpacing","","SIZE","-0.01em"),Co.create("--ft-typography-title-3-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-title-3-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-title-3-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-title-3-textCase","","UNKNOWN","none"),Co.create("--ft-typography-body-1-regular-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-body-1-regular-fontWeight","","UNKNOWN","400"),Co.create("--ft-typography-body-1-regular-lineHeight","","SIZE","135%"),Co.create("--ft-typography-body-1-regular-fontSize","","SIZE","1rem"),Co.create("--ft-typography-body-1-regular-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-body-1-regular-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-body-1-regular-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-body-1-regular-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-body-1-regular-textCase","","UNKNOWN","none"),Co.create("--ft-typography-body-1-medium-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-body-1-medium-fontWeight","","UNKNOWN","500"),Co.create("--ft-typography-body-1-medium-lineHeight","","SIZE","135%"),Co.create("--ft-typography-body-1-medium-fontSize","","SIZE","1rem"),Co.create("--ft-typography-body-1-medium-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-body-1-medium-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-body-1-medium-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-body-1-medium-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-body-1-medium-textCase","","UNKNOWN","none"),Co.create("--ft-typography-body-1-semibold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-body-1-semibold-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-body-1-semibold-lineHeight","","SIZE","135%"),Co.create("--ft-typography-body-1-semibold-fontSize","","SIZE","1rem"),Co.create("--ft-typography-body-1-semibold-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-body-1-semibold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-body-1-semibold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-body-1-semibold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-body-1-semibold-textCase","","UNKNOWN","none"),Co.create("--ft-typography-body-2-regular-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-body-2-regular-fontWeight","","UNKNOWN","400"),Co.create("--ft-typography-body-2-regular-lineHeight","","SIZE","135%"),Co.create("--ft-typography-body-2-regular-fontSize","","SIZE","0.875rem"),Co.create("--ft-typography-body-2-regular-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-body-2-regular-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-body-2-regular-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-body-2-regular-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-body-2-regular-textCase","","UNKNOWN","none"),Co.create("--ft-typography-body-2-medium-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-body-2-medium-fontWeight","","UNKNOWN","500"),Co.create("--ft-typography-body-2-medium-lineHeight","","SIZE","135%"),Co.create("--ft-typography-body-2-medium-fontSize","","SIZE","0.875rem"),Co.create("--ft-typography-body-2-medium-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-body-2-medium-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-body-2-medium-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-body-2-medium-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-body-2-medium-textCase","","UNKNOWN","none"),Co.create("--ft-typography-body-2-semibold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-body-2-semibold-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-body-2-semibold-lineHeight","","SIZE","135%"),Co.create("--ft-typography-body-2-semibold-fontSize","","SIZE","0.875rem"),Co.create("--ft-typography-body-2-semibold-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-body-2-semibold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-body-2-semibold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-body-2-semibold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-body-2-semibold-textCase","","UNKNOWN","none"),Co.create("--ft-typography-label-1-medium-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-label-1-medium-fontWeight","","UNKNOWN","500"),Co.create("--ft-typography-label-1-medium-lineHeight","","SIZE","110%"),Co.create("--ft-typography-label-1-medium-fontSize","","SIZE","0.875rem"),Co.create("--ft-typography-label-1-medium-letterSpacing","","SIZE","0.04em"),Co.create("--ft-typography-label-1-medium-textCase","","UNKNOWN","uppercase"),Co.create("--ft-typography-label-1-medium-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-label-1-medium-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-label-1-medium-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-label-1-semibold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-label-1-semibold-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-label-1-semibold-lineHeight","","SIZE","110%"),Co.create("--ft-typography-label-1-semibold-fontSize","","SIZE","0.875rem"),Co.create("--ft-typography-label-1-semibold-letterSpacing","","SIZE","0.04em"),Co.create("--ft-typography-label-1-semibold-textCase","","UNKNOWN","uppercase"),Co.create("--ft-typography-label-1-semibold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-label-1-semibold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-label-1-semibold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-label-1-bold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-label-1-bold-fontWeight","","UNKNOWN","700"),Co.create("--ft-typography-label-1-bold-lineHeight","","SIZE","110%"),Co.create("--ft-typography-label-1-bold-fontSize","","SIZE","0.875rem"),Co.create("--ft-typography-label-1-bold-letterSpacing","","SIZE","0.04em"),Co.create("--ft-typography-label-1-bold-textCase","","UNKNOWN","uppercase"),Co.create("--ft-typography-label-1-bold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-label-1-bold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-label-1-bold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-label-2-medium-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-label-2-medium-fontWeight","","UNKNOWN","500"),Co.create("--ft-typography-label-2-medium-lineHeight","","SIZE","110%"),Co.create("--ft-typography-label-2-medium-fontSize","","SIZE","0.75rem"),Co.create("--ft-typography-label-2-medium-letterSpacing","","SIZE","0.04em"),Co.create("--ft-typography-label-2-medium-textCase","","UNKNOWN","uppercase"),Co.create("--ft-typography-label-2-medium-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-label-2-medium-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-label-2-medium-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-label-2-semibold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-label-2-semibold-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-label-2-semibold-lineHeight","","SIZE","110%"),Co.create("--ft-typography-label-2-semibold-fontSize","","SIZE","0.75rem"),Co.create("--ft-typography-label-2-semibold-letterSpacing","","SIZE","0.04em"),Co.create("--ft-typography-label-2-semibold-textCase","","UNKNOWN","uppercase"),Co.create("--ft-typography-label-2-semibold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-label-2-semibold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-label-2-semibold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-label-2-bold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-label-2-bold-fontWeight","","UNKNOWN","700"),Co.create("--ft-typography-label-2-bold-lineHeight","","SIZE","110%"),Co.create("--ft-typography-label-2-bold-fontSize","","SIZE","0.75rem"),Co.create("--ft-typography-label-2-bold-letterSpacing","","SIZE","0.04em"),Co.create("--ft-typography-label-2-bold-textCase","","UNKNOWN","uppercase"),Co.create("--ft-typography-label-2-bold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-label-2-bold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-label-2-bold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-caption-1-medium-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-caption-1-medium-fontWeight","","UNKNOWN","500"),Co.create("--ft-typography-caption-1-medium-lineHeight","","SIZE","130%"),Co.create("--ft-typography-caption-1-medium-fontSize","","SIZE","0.75rem"),Co.create("--ft-typography-caption-1-medium-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-caption-1-medium-textCase","","UNKNOWN","none"),Co.create("--ft-typography-caption-1-medium-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-caption-1-medium-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-caption-1-medium-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-caption-1-semibold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-caption-1-semibold-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-caption-1-semibold-lineHeight","","SIZE","130%"),Co.create("--ft-typography-caption-1-semibold-fontSize","","SIZE","0.75rem"),Co.create("--ft-typography-caption-1-semibold-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-caption-1-semibold-textCase","","UNKNOWN","none"),Co.create("--ft-typography-caption-1-semibold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-caption-1-semibold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-caption-1-semibold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-caption-1-bold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-caption-1-bold-fontWeight","","UNKNOWN","700"),Co.create("--ft-typography-caption-1-bold-lineHeight","","SIZE","130%"),Co.create("--ft-typography-caption-1-bold-fontSize","","SIZE","0.75rem"),Co.create("--ft-typography-caption-1-bold-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-caption-1-bold-textCase","","UNKNOWN","none"),Co.create("--ft-typography-caption-1-bold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-caption-1-bold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-caption-1-bold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-caption-2-medium-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-caption-2-medium-fontWeight","","UNKNOWN","500"),Co.create("--ft-typography-caption-2-medium-lineHeight","","SIZE","130%"),Co.create("--ft-typography-caption-2-medium-fontSize","","SIZE","0.6875rem"),Co.create("--ft-typography-caption-2-medium-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-caption-2-medium-textCase","","UNKNOWN","none"),Co.create("--ft-typography-caption-2-medium-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-caption-2-medium-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-caption-2-medium-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-caption-2-semibold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-caption-2-semibold-fontWeight","","UNKNOWN","600"),Co.create("--ft-typography-caption-2-semibold-lineHeight","","SIZE","130%"),Co.create("--ft-typography-caption-2-semibold-fontSize","","SIZE","0.6875rem"),Co.create("--ft-typography-caption-2-semibold-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-caption-2-semibold-textCase","","UNKNOWN","none"),Co.create("--ft-typography-caption-2-semibold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-caption-2-semibold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-caption-2-semibold-textDecoration","","UNKNOWN","none"),Co.create("--ft-typography-caption-2-bold-fontFamily","","UNKNOWN","Inter"),Co.create("--ft-typography-caption-2-bold-fontWeight","","UNKNOWN","700"),Co.create("--ft-typography-caption-2-bold-lineHeight","","SIZE","130%"),Co.create("--ft-typography-caption-2-bold-fontSize","","SIZE","0.6875rem"),Co.create("--ft-typography-caption-2-bold-letterSpacing","","SIZE","normal"),Co.create("--ft-typography-caption-2-bold-textCase","","UNKNOWN","none"),Co.create("--ft-typography-caption-2-bold-paragraphSpacing","","UNKNOWN","normal"),Co.create("--ft-typography-caption-2-bold-paragraphIndent","","UNKNOWN","0"),Co.create("--ft-typography-caption-2-bold-textDecoration","","UNKNOWN","none");const Ro={backgroundActionPrimary:Co.extend("--ft-background-action-primary","Used as backgorund of primary action components.",xo.colorBrand0),backgroundErrorPrimary:Co.extend("--ft-background-error-primary","Used as background of error components.",xo.colorRed0),backgroundErrorSubtle:Co.extend("--ft-background-error-subtle","Used as background of subtle error components.",xo.colorRed10),backgroundInfoPrimary:Co.extend("--ft-background-info-primary","Used as background of information components.",xo.colorCyan200),backgroundInfoSubtle:Co.extend("--ft-background-info-subtle","Used as background of subtle information components.",xo.colorCyan10),backgroundWarningPrimary:Co.extend("--ft-background-warning-primary","Used as background of warning components.",xo.colorOrange300),backgroundWarningSubtle:Co.extend("--ft-background-warning-subtle","Used as background of subtle information components.",xo.colorOrange10),backgroundSuccessPrimary:Co.extend("--ft-background-success-primary","Used as background of success components.",xo.colorGreen200),backgroundSuccessSubtle:Co.extend("--ft-background-success-subtle","Used as background of subtle success components.",xo.colorGreen10),backgroundGlobalSurface:Co.extend("--ft-background-global-surface","Used as app background.",xo.colorWhite),backgroundGlobalOnSurface:Co.extend("--ft-background-global-on-surface","Used as background on element on the base background, like cards.",xo.colorGray10),backgroundGlobalOnSurfaceDark:Co.extend("--ft-background-global-on-surface-dark","Used as background on element that need background separation.",xo.colorGray30),contentActionPrimary:Co.extend("--ft-content-action-primary","Used on label of primary action on light surface.",xo.colorBrand0),contentWarningPrimary:Co.extend("--ft-content-warning-primary","Used on label of warning messages on light surface.",xo.colorOrange300),contentWarningIconOnly:Co.extend("--ft-content-warning-icon-only","Used on warning status icons alone",xo.colorOrange0),contentErrorPrimary:Co.extend("--ft-content-error-primary","Used on label of error messages on light surface.",xo.colorRed0),contentErrorIconOnly:Co.extend("--ft-content-error-icon-only","Used on error status icons alone",xo.colorRed0),contentInfoPrimary:Co.extend("--ft-content-info-primary","Used on label of information messages on light surface.",xo.colorCyan200),contentInfoIconOnly:Co.extend("--ft-content-info-icon-only","Used on info status icons alone",xo.colorCyan0),contentSuccessIconOnly:Co.extend("--ft-content-success-icon-only","Used on success status icons alone",xo.colorGreen0),contentSuccessPrimary:Co.extend("--ft-content-success-primary","Used on label of success messages on light surface.",xo.colorGreen200),contentGlobalPrimary:Co.extend("--ft-content-global-primary","Used for main content on the page.",xo.colorGray500),contentGlobalSecondary:Co.extend("--ft-content-global-secondary","Used for secondary content, often paired with primary content.\nAlso for action icons.",xo.colorGray200),contentGlobalSubtle:Co.extend("--ft-content-global-subtle","Used for placeholder, unselected items in a tab component or breadcrumb.",xo.colorGray0),contentGlobalOnColor:Co.extend("--ft-content-global-on-color","Used for content on a dominant color.",xo.colorWhite),borderActionPrimary:Co.extend("--ft-border-action-primary","Used as border for primary action components.",xo.colorBrand0),borderActionFocusRing:Co.extend("--ft-border-action-focus-ring","Focus ring is an additional border to indicate focus-visible state.",xo.colorCyan0),borderWarningPrimary:Co.extend("--ft-border-warning-primary","Used as border for warning components.",xo.colorOrange30),borderSuccessPrimary:Co.extend("--ft-border-success-primary","Used as border for success components.",xo.colorGreen30),borderErrorPrimary:Co.extend("--ft-border-error-primary","Used as border for error components.",xo.colorRed30),borderInfoPrimary:Co.extend("--ft-border-info-primary","Used as border for information components.",xo.colorCyan30),borderGlobalSubtle:Co.extend("--ft-border-global-subtle","Used as border to deliminate an area filled with background.on-surface and separators.",xo.colorGray30),borderGlobalPrimary:Co.extend("--ft-border-global-primary","Used as border for element like input.",xo.colorGray50),borderInputPrimary:Co.extend("--ft-border-input-primary","Used as border for checkboxes and radio buttons",xo.colorGray80)};Co.create("--ft-button-large-height","","SIZE","40px"),Co.extend("--ft-button-large-horizontal-padding","",xo.spacing4),Co.extend("--ft-button-large-gap","",xo.spacing2),Co.extend("--ft-button-large-border-radius","",xo.borderRadiusS),Co.extend("--ft-button-large-icon-size","",xo.iconSize3),Co.create("--ft-button-large-border-width","","SIZE","1px"),Co.create("--ft-button-large-focus-outline-offset","","SIZE","2px"),Co.create("--ft-button-large-focus-outline-width","","SIZE","2px"),Co.create("--ft-button-large-icon-only-width","","SIZE","40px"),Co.create("--ft-button-small-height","","SIZE","30px"),Co.extend("--ft-button-small-horizontal-padding","",xo.spacing3),Co.extend("--ft-button-small-gap","",xo.spacing2),Co.extend("--ft-button-small-border-radius","",xo.borderRadiusS),Co.extend("--ft-button-small-icon-size","",xo.iconSize2),Co.create("--ft-button-small-border-width","","SIZE","1px"),Co.create("--ft-button-small-focus-outline-offset","","SIZE","2px"),Co.create("--ft-button-small-focus-outline-width","","SIZE","2px"),Co.create("--ft-button-small-icon-only-width","","SIZE","30px"),Co.extend("--ft-button-primary-background-color","",Ro.backgroundActionPrimary),Co.extend("--ft-button-primary-color","",Ro.contentGlobalOnColor),Co.extend("--ft-button-primary-icon-color","",Ro.contentGlobalOnColor),Co.extend("--ft-button-primary-state-layer-color","",Ro.contentGlobalOnColor),Co.extend("--ft-button-primary-state-layer-opacity-hover","",xo.opacity16),Co.extend("--ft-button-primary-state-layer-opacity-focus","",xo.opacity16),Co.extend("--ft-button-primary-state-layer-opacity-active","",xo.opacity24),Co.extend("--ft-button-primary-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-button-focus-focus-ring-color","",Ro.borderActionFocusRing),Co.create("--ft-button-tertiary-background-color","","COLOR","rgba(0,0,0,0)"),Co.extend("--ft-button-tertiary-color","",Ro.contentActionPrimary),Co.extend("--ft-button-tertiary-icon-color","",Ro.contentActionPrimary),Co.extend("--ft-button-tertiary-state-layer-color","",Ro.contentActionPrimary),Co.extend("--ft-button-tertiary-state-layer-opacity-hover","",xo.opacity8),Co.extend("--ft-button-tertiary-state-layer-opacity-focus","",xo.opacity8),Co.extend("--ft-button-tertiary-state-layer-opacity-active","",xo.opacity16),Co.extend("--ft-button-tertiary-component-opacity-disabled","",xo.opacity40),Co.create("--ft-button-secondary-background-color","","COLOR","rgba(0,0,0,0)"),Co.extend("--ft-button-secondary-color","",Ro.contentActionPrimary),Co.extend("--ft-button-secondary-icon-color","",Ro.contentActionPrimary),Co.extend("--ft-button-secondary-state-layer-color","",Ro.contentActionPrimary),Co.extend("--ft-button-secondary-state-layer-opacity-hover","",xo.opacity8),Co.extend("--ft-button-secondary-state-layer-opacity-focus","",xo.opacity8),Co.extend("--ft-button-secondary-state-layer-opacity-active","",xo.opacity16),Co.extend("--ft-button-secondary-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-button-secondary-border-color","",Ro.borderActionPrimary),Co.create("--ft-button-neutral-background-color","","COLOR","rgba(0,0,0,0)"),Co.extend("--ft-button-neutral-icon-color","",Ro.contentGlobalSecondary),Co.extend("--ft-button-neutral-color","",Ro.contentGlobalSecondary),Co.extend("--ft-button-neutral-state-layer-color","",Ro.contentGlobalSecondary),Co.extend("--ft-button-neutral-state-layer-opacity-hover","",xo.opacity8),Co.extend("--ft-button-neutral-state-layer-opacity-focus","",xo.opacity8),Co.extend("--ft-button-neutral-state-layer-opacity-active","",xo.opacity16),Co.extend("--ft-button-neutral-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-tabs-top-left-border-radius","",xo.borderRadiusS),Co.extend("--ft-tabs-top-right-border-radius","",xo.borderRadiusS),Co.extend("--ft-tabs-label-horizontal-padding","",xo.spacing4),Co.extend("--ft-tabs-label-vertical-padding","",xo.spacing3),Co.extend("--ft-tabs-label-gap","",xo.spacing1),Co.extend("--ft-switch-group-horizontal-padding","",xo.spacing1),Co.extend("--ft-switch-group-vertical-padding","",xo.spacing1),Co.extend("--ft-switch-group-gap","",xo.spacing1),Co.extend("--ft-switch-group-background-color","",Ro.backgroundGlobalSurface),Co.extend("--ft-switch-group-border-color","",Ro.borderGlobalSubtle),Co.create("--ft-switch-group-border-radius","","SIZE","6px"),Co.extend("--ft-switch-label-horizontal-padding","",xo.spacing2),Co.extend("--ft-switch-label-vertical-padding","",xo.spacing1),Co.extend("--ft-switch-icon-horizontal-padding","",xo.spacing1),Co.extend("--ft-switch-icon-vertical-padding","",xo.spacing1),Co.create("--ft-switch-focus-outline-width","","SIZE","2px"),Co.extend("--ft-switch-focus-focus-ring-color","",Ro.borderActionFocusRing),Co.extend("--ft-switch-option-border-radius","",xo.borderRadiusS),Co.extend("--ft-switch-off-state-layer-opacity-hover","",xo.opacity8),Co.extend("--ft-switch-off-state-layer-opacity-focus","",xo.opacity8),Co.extend("--ft-switch-off-state-layer-opacity-active","",xo.opacity16),Co.extend("--ft-switch-off-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-switch-off-color","",Ro.contentGlobalSubtle),Co.extend("--ft-switch-off-state-layer-color","",Ro.contentGlobalSubtle),Co.extend("--ft-chart-1-light","for area color charts",xo.colorBrand40),Co.extend("--ft-chart-1-base","for line charts",xo.colorBrand0),Co.extend("--ft-chart-2-light","for area color charts",xo.colorYellow60),Co.extend("--ft-chart-2-base","for line charts",xo.colorYellow100),Co.extend("--ft-chart-3-light","",xo.colorUltramarine40),Co.extend("--ft-chart-3-base","",xo.colorUltramarine70),Co.extend("--ft-chart-4-light","",xo.colorCyan50),Co.extend("--ft-chart-4-base","",xo.colorCyan100),Co.extend("--ft-chart-5-light","",xo.colorRed40),Co.extend("--ft-chart-5-base","",xo.colorRed60),Co.extend("--ft-chart-6-light","",xo.colorGreen40),Co.extend("--ft-chart-6-base","",xo.colorGreen70),Co.extend("--ft-chart-7-light","",xo.colorOrange70),Co.extend("--ft-chart-7-base","",xo.colorOrange100),Co.extend("--ft-chart-8-light","",xo.colorAvocado70),Co.extend("--ft-chart-8-base","",xo.colorAvocado200),Co.extend("--ft-chart-9-light","",xo.colorBrown50),Co.extend("--ft-chart-9-base","",xo.colorBrown200),Co.extend("--ft-chart-10-light","",xo.colorGray50),Co.extend("--ft-chart-10-base","",xo.colorGray80),Co.extend("--ft-chart-monochrome-10","",xo.colorBrand10),Co.extend("--ft-chart-monochrome-20","",xo.colorBrand20),Co.extend("--ft-chart-monochrome-30","",xo.colorBrand40),Co.extend("--ft-chart-monochrome-40","",xo.colorBrand60),Co.extend("--ft-chart-monochrome-50","",xo.colorBrand0),Co.extend("--ft-chart-monochrome-60","",xo.colorBrand200),Co.extend("--ft-chip-large-horizontal-padding","",xo.spacing4),Co.extend("--ft-chip-large-vertical-padding","",xo.spacing2),Co.extend("--ft-chip-large-gap","",xo.spacing1),Co.create("--ft-chip-large-focus-outline-offset","","SIZE","2px"),Co.create("--ft-chip-large-focus-outline-width","","SIZE","2px"),Co.extend("--ft-chip-large-border-radius","",xo.borderRadiusPill),Co.create("--ft-chip-large-border-width","","SIZE","1px"),Co.extend("--ft-chip-large-icon-size","",xo.iconSize3),Co.extend("--ft-chip-medium-horizontal-padding","",xo.spacing3),Co.extend("--ft-chip-medium-vertical-padding","",xo.spacing1),Co.extend("--ft-chip-medium-gap","",xo.spacing1),Co.create("--ft-chip-medium-focus-outline-offset","","SIZE","2px"),Co.create("--ft-chip-medium-focus-outline-width","","SIZE","2px"),Co.extend("--ft-chip-medium-border-radius","",xo.borderRadiusPill),Co.create("--ft-chip-medium-border-width","","SIZE","1px"),Co.extend("--ft-chip-medium-icon-size","",xo.iconSize2),Co.extend("--ft-chip-small-horizontal-padding","",xo.spacing2),Co.extend("--ft-chip-small-vertical-padding","",xo.spacing05),Co.extend("--ft-chip-small-gap","",xo.spacing1),Co.create("--ft-chip-small-focus-outline-offset","","SIZE","2px"),Co.create("--ft-chip-small-focus-outline-width","","SIZE","2px"),Co.extend("--ft-chip-small-border-radius","",xo.borderRadiusPill),Co.create("--ft-chip-small-border-width","","SIZE","1px"),Co.extend("--ft-chip-small-icon-size","",xo.iconSize1),Co.extend("--ft-chip-neutral-background-color","",Ro.backgroundGlobalOnSurface),Co.extend("--ft-chip-neutral-color","",Ro.contentGlobalPrimary),Co.extend("--ft-chip-neutral-border-color","",Ro.borderGlobalSubtle),Co.extend("--ft-chip-info-background-color","",Ro.backgroundInfoSubtle),Co.extend("--ft-chip-info-color","",Ro.contentInfoPrimary),Co.extend("--ft-chip-info-border-color","",Ro.borderInfoPrimary),Co.extend("--ft-chip-success-background-color","",Ro.backgroundSuccessSubtle),Co.extend("--ft-chip-success-color","",Ro.contentSuccessPrimary),Co.extend("--ft-chip-success-border-color","",Ro.borderSuccessPrimary),Co.extend("--ft-chip-warning-background-color","",Ro.backgroundWarningSubtle),Co.extend("--ft-chip-warning-color","",Ro.contentWarningPrimary),Co.extend("--ft-chip-warning-border-color","",Ro.borderWarningPrimary),Co.extend("--ft-chip-error-background-color","",Ro.backgroundErrorSubtle),Co.extend("--ft-chip-error-color","",Ro.contentErrorPrimary),Co.extend("--ft-chip-error-border-color","",Ro.borderErrorPrimary),Co.create("--ft-notice-border-width","","SIZE","1px"),Co.extend("--ft-notice-horizontal-padding","",xo.spacing2),Co.extend("--ft-notice-vertical-padding","",xo.spacing1),Co.extend("--ft-notice-border-radius","",xo.borderRadiusS),Co.extend("--ft-notice-gap","",xo.spacing2),Co.extend("--ft-notice-icon-size","",xo.iconSize3),Co.extend("--ft-notice-info-background-color","",Ro.backgroundInfoSubtle),Co.extend("--ft-notice-info-border-color","",Ro.borderInfoPrimary),Co.extend("--ft-notice-info-color","",Ro.contentInfoPrimary),Co.extend("--ft-notice-warning-background-color","",Ro.backgroundWarningSubtle),Co.extend("--ft-notice-warning-border-color","",Ro.borderWarningPrimary),Co.extend("--ft-notice-warning-color","",Ro.contentWarningPrimary),Co.extend("--ft-checkbox-label-color","",Ro.contentGlobalPrimary),Co.extend("--ft-checkbox-checked-background-color","",Ro.contentActionPrimary),Co.extend("--ft-checkbox-checked-state-layer-color","",Ro.contentActionPrimary),Co.extend("--ft-checkbox-checked-color","",Ro.contentGlobalOnColor),Co.extend("--ft-checkbox-checked-state-layer-opacity-hover","",xo.opacity16),Co.extend("--ft-checkbox-checked-state-layer-opacity-focus","",xo.opacity16),Co.extend("--ft-checkbox-checked-state-layer-opacity-active","",xo.opacity24),Co.extend("--ft-checkbox-checked-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-checkbox-unchecked-border-color","",xo.colorGray80),Co.extend("--ft-checkbox-unchecked-state-layer-color","",xo.colorGray80),Co.extend("--ft-checkbox-unchecked-state-layer-opacity-hover","",xo.opacity16),Co.extend("--ft-checkbox-unchecked-state-layer-opacity-focus","",xo.opacity16),Co.extend("--ft-checkbox-unchecked-state-layer-opacity-active","",xo.opacity24),Co.extend("--ft-checkbox-unchecked-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-checkbox-focus-focus-ring-color","",Ro.borderActionFocusRing),Co.create("--ft-checkbox-focus-outline-offset","","SIZE","3px"),Co.create("--ft-checkbox-focus-outline-width","","SIZE","2px"),Co.extend("--ft-checkbox-gap","",xo.spacing3),Co.extend("--ft-toggle-off-state-layer-opacity-hover","",xo.opacity16),Co.extend("--ft-toggle-off-state-layer-opacity-focus","",xo.opacity16),Co.extend("--ft-toggle-off-state-layer-opacity-active","",xo.opacity24),Co.extend("--ft-toggle-off-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-toggle-off-background-color","",Ro.contentGlobalSubtle),Co.extend("--ft-toggle-off-icon-color","",Ro.contentGlobalSubtle),Co.extend("--ft-toggle-off-state-layer-color","",Ro.contentGlobalSubtle),Co.extend("--ft-toggle-on-state-layer-opacity-hover","",xo.opacity16),Co.extend("--ft-toggle-on-state-layer-opacity-focus","",xo.opacity16),Co.extend("--ft-toggle-on-state-layer-opacity-active","",xo.opacity24),Co.extend("--ft-toggle-on-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-toggle-on-background-color","",Ro.contentActionPrimary),Co.extend("--ft-toggle-on-icon-color","",Ro.contentActionPrimary),Co.extend("--ft-toggle-on-state-layer-color","",Ro.contentActionPrimary),Co.extend("--ft-toggle-label-color","",Ro.contentGlobalPrimary),Co.extend("--ft-toggle-focus-focus-ring-color","",Ro.borderActionFocusRing),Co.extend("--ft-toggle-gap","",xo.spacing3),Co.extend("--ft-radio-label-color","",Ro.contentGlobalPrimary),Co.extend("--ft-radio-selected-color","",Ro.contentActionPrimary),Co.extend("--ft-radio-selected-state-layer-color","",Ro.contentActionPrimary),Co.extend("--ft-radio-selected-state-layer-opacity-hover","",xo.opacity16),Co.extend("--ft-radio-selected-state-layer-opacity-focus","",xo.opacity16),Co.extend("--ft-radio-selected-state-layer-opacity-active","",xo.opacity24),Co.extend("--ft-radio-selected-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-radio-unselected-state-layer-color","",xo.colorGray80),Co.extend("--ft-radio-unselected-state-layer-opacity-hover","",xo.opacity16),Co.extend("--ft-radio-unselected-state-layer-opacity-focus","",xo.opacity16),Co.extend("--ft-radio-unselected-state-layer-opacity-active","",xo.opacity24),Co.extend("--ft-radio-unselected-component-opacity-disabled","",xo.opacity40),Co.extend("--ft-radio-focus-focus-ring-color","",Ro.borderActionFocusRing),Co.create("--ft-radio-focus-outline-offset","","SIZE","3px"),Co.create("--ft-radio-focus-outline-width","","SIZE","2px"),Co.extend("--ft-radio-gap","",xo.spacing3),Co.extend("--ft-notification-icon-size","",xo.iconSize4),Co.extend("--ft-notification-horizontal-padding","",xo.spacing4),Co.extend("--ft-notification-vertical-padding","",xo.spacing4),Co.extend("--ft-notification-info-background-color","",Ro.backgroundInfoSubtle),Co.extend("--ft-notification-info-color","",Ro.contentInfoPrimary),Co.extend("--ft-notification-info-border-color","",Ro.borderInfoPrimary),Co.extend("--ft-notification-success-background-color","",Ro.backgroundSuccessSubtle),Co.extend("--ft-notification-success-color","",Ro.contentSuccessPrimary),Co.extend("--ft-notification-success-border-color","",Ro.borderSuccessPrimary),Co.extend("--ft-notification-warning-background-color","",Ro.backgroundWarningSubtle),Co.extend("--ft-notification-warning-color","",Ro.contentWarningPrimary),Co.extend("--ft-notification-warning-border-color","",Ro.borderWarningPrimary),Co.extend("--ft-notification-error-background-color","",Ro.backgroundErrorSubtle),Co.extend("--ft-notification-error-color","",Ro.contentErrorPrimary),Co.extend("--ft-notification-error-border-color","",Ro.borderErrorPrimary),Co.extend("--ft-notification-border-radius","",xo.borderRadiusPill),Co.create("--ft-notification-border-width","","SIZE","1px"),Co.extend("--ft-notification-gap-leading","",xo.spacing2),Co.extend("--ft-notification-gap-trailing","",xo.spacing8),Co.create("--ft-color-primary","","COLOR","#2196F3"),Co.create("--ft-color-primary-variant","","COLOR","#1976D2"),Co.create("--ft-color-secondary","","COLOR","#FFCC80"),Co.create("--ft-color-secondary-variant","","COLOR","#F57C00"),Co.create("--ft-color-surface","","COLOR","#FFFFFF"),Co.create("--ft-color-content","","COLOR","rgba(0, 0, 0, 0.87)"),Co.create("--ft-color-error","","COLOR","#B00020"),Co.create("--ft-color-outline","","COLOR","rgba(0, 0, 0, 0.14)"),Co.create("--ft-color-opacity-high","","NUMBER","1"),Co.create("--ft-color-opacity-medium","","NUMBER","0.74"),Co.create("--ft-color-opacity-disabled","","NUMBER","0.38"),Co.create("--ft-color-on-primary","","COLOR","#FFFFFF"),Co.create("--ft-color-on-primary-high","","COLOR","#FFFFFF"),Co.create("--ft-color-on-primary-medium","","COLOR","rgba(255, 255, 255, 0.74)"),Co.create("--ft-color-on-primary-disabled","","COLOR","rgba(255, 255, 255, 0.38)"),Co.create("--ft-color-on-secondary","","COLOR","#FFFFFF"),Co.create("--ft-color-on-secondary-high","","COLOR","#FFFFFF"),Co.create("--ft-color-on-secondary-medium","","COLOR","rgba(255, 255, 255, 0.74)"),Co.create("--ft-color-on-secondary-disabled","","COLOR","rgba(255, 255, 255, 0.38)"),Co.create("--ft-color-on-surface","","COLOR","rgba(0, 0, 0, 0.87)"),Co.create("--ft-color-on-surface-high","","COLOR","rgba(0, 0, 0, 0.87)"),Co.create("--ft-color-on-surface-medium","","COLOR","rgba(0, 0, 0, 0.60)"),Co.create("--ft-color-on-surface-disabled","","COLOR","rgba(0, 0, 0, 0.38)"),Co.create("--ft-opacity-content-on-surface-disabled","","NUMBER","0"),Co.create("--ft-opacity-content-on-surface-enable","","NUMBER","0"),Co.create("--ft-opacity-content-on-surface-hover","","NUMBER","0.04"),Co.create("--ft-opacity-content-on-surface-focused","","NUMBER","0.12"),Co.create("--ft-opacity-content-on-surface-pressed","","NUMBER","0.10"),Co.create("--ft-opacity-content-on-surface-selected","","NUMBER","0.08"),Co.create("--ft-opacity-content-on-surface-dragged","","NUMBER","0.08"),Co.create("--ft-opacity-primary-on-surface-disabled","","NUMBER","0"),Co.create("--ft-opacity-primary-on-surface-enable","","NUMBER","0"),Co.create("--ft-opacity-primary-on-surface-hover","","NUMBER","0.04"),Co.create("--ft-opacity-primary-on-surface-focused","","NUMBER","0.12"),Co.create("--ft-opacity-primary-on-surface-pressed","","NUMBER","0.10"),Co.create("--ft-opacity-primary-on-surface-selected","","NUMBER","0.08"),Co.create("--ft-opacity-primary-on-surface-dragged","","NUMBER","0.08"),Co.create("--ft-opacity-surface-on-primary-disabled","","NUMBER","0"),Co.create("--ft-opacity-surface-on-primary-enable","","NUMBER","0"),Co.create("--ft-opacity-surface-on-primary-hover","","NUMBER","0.04"),Co.create("--ft-opacity-surface-on-primary-focused","","NUMBER","0.12"),Co.create("--ft-opacity-surface-on-primary-pressed","","NUMBER","0.10"),Co.create("--ft-opacity-surface-on-primary-selected","","NUMBER","0.08"),Co.create("--ft-opacity-surface-on-primary-dragged","","NUMBER","0.08"),Co.create("--ft-elevation-00","","UNKNOWN","0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0), 0px 0px 0px 0px rgba(0, 0, 0, 0)"),Co.create("--ft-elevation-01","","UNKNOWN","0px 1px 4px 0px rgba(0, 0, 0, 0.06), 0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-02","","UNKNOWN","0px 4px 10px 0px rgba(0, 0, 0, 0.06), 0px 2px 5px 0px rgba(0, 0, 0, 0.14), 0px 0px 1px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-03","","UNKNOWN","0px 6px 13px 0px rgba(0, 0, 0, 0.06), 0px 3px 7px 0px rgba(0, 0, 0, 0.14), 0px 1px 2px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-04","","UNKNOWN","0px 8px 16px 0px rgba(0, 0, 0, 0.06), 0px 4px 9px 0px rgba(0, 0, 0, 0.14), 0px 2px 3px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-06","","UNKNOWN","0px 12px 22px 0px rgba(0, 0, 0, 0.06), 0px 6px 13px 0px rgba(0, 0, 0, 0.14), 0px 4px 5px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-08","","UNKNOWN","0px 16px 28px 0px rgba(0, 0, 0, 0.06), 0px 8px 17px 0px rgba(0, 0, 0, 0.14), 0px 6px 7px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-12","","UNKNOWN","0px 22px 40px 0px rgba(0, 0, 0, 0.06), 0px 12px 23px 0px rgba(0, 0, 0, 0.14), 0px 10px 11px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-16","","UNKNOWN","0px 28px 52px 0px rgba(0, 0, 0, 0.06), 0px 16px 29px 0px rgba(0, 0, 0, 0.14), 0px 14px 15px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-elevation-24","","UNKNOWN","0px 40px 76px 0px rgba(0, 0, 0, 0.06), 0px 24px 41px 0px rgba(0, 0, 0, 0.14), 0px 22px 23px 0px rgba(0, 0, 0, 0.06)"),Co.create("--ft-border-radius-S","","SIZE","4px"),Co.create("--ft-border-radius-M","","SIZE","8px"),Co.create("--ft-border-radius-L","","SIZE","12px"),Co.create("--ft-border-radius-XL","","SIZE","16px"),Co.create("--ft-title-font","","UNKNOWN","Ubuntu, system-ui, sans-serif"),Co.create("--ft-content-font","","UNKNOWN","'Open Sans', system-ui, sans-serif"),Co.create("--ft-transition-duration","","UNKNOWN","250ms"),Co.create("--ft-transition-timing-function","","UNKNOWN","ease-in-out");
76
76
  /**
77
77
  * @license
78
78
  * Copyright 2019 Google LLC
79
79
  * SPDX-License-Identifier: BSD-3-Clause
80
80
  */
81
- const Co=window,xo=Co.ShadowRoot&&(void 0===Co.ShadyCSS||Co.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype;class Ro extends mo{createRenderRoot(){const t=this.constructor;t.elementDefinitions&&!t.registry&&(t.registry=new CustomElementRegistry,Object.entries(t.elementDefinitions).forEach((([o,e])=>t.registry.define(o,e))));const o={...t.shadowRootOptions,customElements:t.registry},e=this.renderOptions.creationScope=this.attachShadow(o);return((t,o)=>{xo?t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):o.forEach((o=>{const e=document.createElement("style"),r=Co.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=o.cssText,t.appendChild(e)}))})(e,t.elementStyles),e}}var Uo,Eo=function(t,o,e,r){for(var i,n=arguments.length,a=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,s=t.length-1;s>=0;s--)(i=t[s])&&(a=(n<3?i(a):n>3?i(o,e,a):i(o,e))||a);return n>3&&a&&Object.defineProperty(o,e,a),a};const Io=Symbol("constructorPrototype"),Lo=Symbol("constructorName"),Wo=Symbol("exportpartsDebouncer");class ko extends Ro{constructor(){super(),this[Uo]=new E(5),this[Lo]=this.constructor.name,this[Io]=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this[Lo]&&Object.setPrototypeOf(this,this[Io])}updated(t){super.updated(t),setTimeout((()=>{this.contentAvailableCallback(t),this.scheduleExportpartsUpdate()}),0)}contentAvailableCallback(t){var o,e;if((null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll(".ft-lit-element--custom-stylesheet"))&&void 0!==e?e:[]).forEach((t=>t.remove())),this.customStylesheet){const t=document.createElement("style");t.classList.add("ft-lit-element--custom-stylesheet"),t.innerHTML=this.customStylesheet,this.shadowRoot.append(t)}}scheduleExportpartsUpdate(){this[Wo].run((()=>{var t;(null===(t=this.exportpartsPrefix)||void 0===t?void 0:t.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}))}setExportpartsAttribute(t){var o,e,r,i,n,a;const s=t=>null!=t&&t.trim().length>0,c=t.filter(s).map((t=>t.trim()));if(0===c.length)return void this.removeAttribute("exportparts");const l=new Set;for(let t of null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll("[part],[exportparts]"))&&void 0!==e?e:[]){const o=null!==(i=null===(r=t.getAttribute("part"))||void 0===r?void 0:r.split(" "))&&void 0!==i?i:[],e=null!==(a=null===(n=t.getAttribute("exportparts"))||void 0===n?void 0:n.split(",").map((t=>t.split(":")[1])))&&void 0!==a?a:[];new Array(...o,...e).filter(s).map((t=>t.trim())).forEach((t=>l.add(t)))}if(0===l.size)return void this.removeAttribute("exportparts");const h=[...l.values()].flatMap((t=>c.map((o=>`${t}:${o}--${t}`))));this.setAttribute("exportparts",[...this.part,...h].join(", "))}}Uo=Wo,Eo([C()],ko.prototype,"exportpartsPrefix",void 0),Eo([function(t,o){const e=()=>JSON.parse(JSON.stringify(t));return C({type:Object,converter:{fromAttribute:t=>{if(null==t)return e();try{return JSON.parse(t)}catch{return e()}},toAttribute:t=>JSON.stringify(t)},hasChanged:(t,o)=>!I(t,o),...null!=o?o:{}})}([])],ko.prototype,"exportpartsPrefixes",void 0),Eo([C()],ko.prototype,"customStylesheet",void 0);const Ko=vo.create("--ft-utils-highlight-html-background-color","","COLOR","#FFF26E");var Zo,$o;Ot`
81
+ const Uo=window,Eo=Uo.ShadowRoot&&(void 0===Uo.ShadyCSS||Uo.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype;class Io extends vo{createRenderRoot(){const t=this.constructor;t.elementDefinitions&&!t.registry&&(t.registry=new CustomElementRegistry,Object.entries(t.elementDefinitions).forEach((([o,e])=>t.registry.define(o,e))));const o={...t.shadowRootOptions,customElements:t.registry},e=this.renderOptions.creationScope=this.attachShadow(o);return((t,o)=>{Eo?t.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):o.forEach((o=>{const e=document.createElement("style"),r=Uo.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=o.cssText,t.appendChild(e)}))})(e,t.elementStyles),e}}var Lo,Wo=function(t,o,e,r){for(var i,n=arguments.length,a=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,s=t.length-1;s>=0;s--)(i=t[s])&&(a=(n<3?i(a):n>3?i(o,e,a):i(o,e))||a);return n>3&&a&&Object.defineProperty(o,e,a),a};const ko=Symbol("constructorPrototype"),Ko=Symbol("constructorName"),Zo=Symbol("exportpartsDebouncer");class $o extends Io{constructor(){super(),this[Lo]=new L(5),this[Ko]=this.constructor.name,this[ko]=this.constructor.prototype}adoptedCallback(){this.constructor.name!==this[Ko]&&Object.setPrototypeOf(this,this[ko])}updated(t){super.updated(t),setTimeout((()=>{this.contentAvailableCallback(t),this.scheduleExportpartsUpdate()}),0)}contentAvailableCallback(t){var o,e;if((null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll(".ft-lit-element--custom-stylesheet"))&&void 0!==e?e:[]).forEach((t=>t.remove())),this.customStylesheet){const t=document.createElement("style");t.classList.add("ft-lit-element--custom-stylesheet"),t.innerHTML=this.customStylesheet,this.shadowRoot.append(t)}}scheduleExportpartsUpdate(){this[Zo].run((()=>{var t;(null===(t=this.exportpartsPrefix)||void 0===t?void 0:t.trim())?this.setExportpartsAttribute([this.exportpartsPrefix]):null!=this.exportpartsPrefixes&&this.exportpartsPrefixes.length>0&&this.setExportpartsAttribute(this.exportpartsPrefixes)}))}setExportpartsAttribute(t){var o,e,r,i,n,a;const s=t=>null!=t&&t.trim().length>0,c=t.filter(s).map((t=>t.trim()));if(0===c.length)return void this.removeAttribute("exportparts");const l=new Set;for(let t of null!==(e=null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelectorAll("[part],[exportparts]"))&&void 0!==e?e:[]){const o=null!==(i=null===(r=t.getAttribute("part"))||void 0===r?void 0:r.split(" "))&&void 0!==i?i:[],e=null!==(a=null===(n=t.getAttribute("exportparts"))||void 0===n?void 0:n.split(",").map((t=>t.split(":")[1])))&&void 0!==a?a:[];new Array(...o,...e).filter(s).map((t=>t.trim())).forEach((t=>l.add(t)))}if(0===l.size)return void this.removeAttribute("exportparts");const h=[...l.values()].flatMap((t=>c.map((o=>`${t}:${o}--${t}`))));this.setAttribute("exportparts",[...this.part,...h].join(", "))}}Lo=Zo,Wo([R()],$o.prototype,"exportpartsPrefix",void 0),Wo([function(t,o){const e=()=>JSON.parse(JSON.stringify(t));return R({type:Object,converter:{fromAttribute:t=>{if(null==t)return e();try{return JSON.parse(t)}catch{return e()}},toAttribute:t=>JSON.stringify(t)},hasChanged:(t,o)=>!k(t,o),...null!=o?o:{}})}([])],$o.prototype,"exportpartsPrefixes",void 0),Wo([R()],$o.prototype,"customStylesheet",void 0);const Ao=Co.create("--ft-utils-highlight-html-background-color","","COLOR","#FFF26E");var Mo,Fo;St`
82
82
  .highlight-html-match {
83
- background: ${Ko};
83
+ background: ${Ao};
84
84
  }
85
- `,Ot`
85
+ `,St`
86
86
  .ft-no-text-select {
87
87
  -webkit-touch-callout: none;
88
88
  -webkit-user-select: none;
@@ -91,7 +91,7 @@ const Co=window,xo=Co.ShadowRoot&&(void 0===Co.ShadyCSS||Co.ShadyCSS.nativeShado
91
91
  -ms-user-select: none;
92
92
  user-select: none;
93
93
  }
94
- `,Ot`
94
+ `,St`
95
95
  .ft-word-wrap {
96
96
  white-space: normal;
97
97
  word-wrap: break-word;
@@ -103,7 +103,7 @@ const Co=window,xo=Co.ShadowRoot&&(void 0===Co.ShadyCSS||Co.ShadyCSS.nativeShado
103
103
  -webkit-hyphens: auto;
104
104
  hyphens: auto
105
105
  }
106
- `,Ot`
106
+ `,St`
107
107
  .ft-safari-ellipsis-fix {
108
108
  margin-right: 0;
109
109
 
@@ -114,18 +114,18 @@ const Co=window,xo=Co.ShadowRoot&&(void 0===Co.ShadyCSS||Co.ShadyCSS.nativeShado
114
114
  display: inline-block;
115
115
  width: 0;
116
116
  }
117
- `,window.ftReduxStores||(window.ftReduxStores={}),navigator.vendor&&navigator.vendor.match(/apple/i)||(null===($o=null===(Zo=window.safari)||void 0===Zo?void 0:Zo.pushNotification)||void 0===$o||$o.toString());
117
+ `,window.ftReduxStores||(window.ftReduxStores={}),navigator.vendor&&navigator.vendor.match(/apple/i)||(null===(Fo=null===(Mo=window.safari)||void 0===Mo?void 0:Mo.pushNotification)||void 0===Fo||Fo.toString());
118
118
  /**
119
119
  * @license
120
120
  * Copyright 2017 Google LLC
121
121
  * SPDX-License-Identifier: BSD-3-Clause
122
122
  */
123
- const Ao=2,Mo=t=>(...o)=>({_$litDirective$:t,values:o});class Fo{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,o,e){this._$Ct=t,this._$AM=o,this._$Ci=e}_$AS(t,o){return this.update(t,o)}update(t,o){return this.render(...o)}}
123
+ const Bo=2,zo=t=>(...o)=>({_$litDirective$:t,values:o});class Do{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,o,e){this._$Ct=t,this._$AM=o,this._$Ci=e}_$AS(t,o){return this.update(t,o)}update(t,o){return this.render(...o)}}
124
124
  /**
125
125
  * @license
126
126
  * Copyright 2020 Google LLC
127
127
  * SPDX-License-Identifier: BSD-3-Clause
128
- */const{D:Bo}=ft,zo=()=>document.createComment(""),Do=(t,o,e)=>{const r=t._$AA.parentNode,i=void 0===o?t._$AB:o._$AA;if(void 0===e){const o=r.insertBefore(zo(),i),n=r.insertBefore(zo(),i);e=new Bo(o,n,t,t.options)}else{const o=e._$AB.nextSibling,n=e._$AM,a=n!==t;if(a){let o;e._$AQ?.(t),e._$AM=t,void 0!==e._$AP&&(o=t._$AU)!==n._$AU&&e._$AP(o)}if(o!==i||a){let t=e._$AA;for(;t!==o;){const o=t.nextSibling;r.insertBefore(t,i),t=o}}}return e},Po=(t,o,e=t)=>(t._$AI(o,e),t),_o={},To=t=>{t._$AP?.(!1,!0);let o=t._$AA;const e=t._$AB.nextSibling;for(;o!==e;){const t=o.nextSibling;o.remove(),o=t}},Go=(t,o,e)=>{const r=new Map;for(let i=o;i<=e;i++)r.set(t[i],i);return r},jo=Mo(class extends Fo{constructor(t){if(super(t),t.type!==Ao)throw Error("repeat() can only be used in text expressions")}ht(t,o,e){let r;void 0===e?e=o:void 0!==o&&(r=o);const i=[],n=[];let a=0;for(const o of t)i[a]=r?r(o,a):a,n[a]=e(o,a),a++;return{values:n,keys:i}}render(t,o,e){return this.ht(t,o,e).values}update(t,[o,e,r]){const i=(t=>t._$AH)(t),{values:n,keys:a}=this.ht(o,e,r);if(!Array.isArray(i))return this.dt=a,n;const s=this.dt??=[],c=[];let l,h,f=0,p=i.length-1,d=0,y=n.length-1;for(;f<=p&&d<=y;)if(null===i[f])f++;else if(null===i[p])p--;else if(s[f]===a[d])c[d]=Po(i[f],n[d]),f++,d++;else if(s[p]===a[y])c[y]=Po(i[p],n[y]),p--,y--;else if(s[f]===a[y])c[y]=Po(i[f],n[y]),Do(t,c[y+1],i[f]),f++,y--;else if(s[p]===a[d])c[d]=Po(i[p],n[d]),Do(t,i[f],i[p]),p--,d++;else if(void 0===l&&(l=Go(a,d,y),h=Go(s,f,p)),l.has(s[f]))if(l.has(s[p])){const o=h.get(a[d]),e=void 0!==o?i[o]:null;if(null===e){const o=Do(t,i[f]);Po(o,n[d]),c[d]=o}else c[d]=Po(e,n[d]),Do(t,i[f],e),i[o]=null;d++}else To(i[p]),p--;else To(i[f]),f++;for(;d<=y;){const o=Do(t,c[y+1]);Po(o,n[d]),c[d++]=o}for(;f<=p;){const t=i[f++];null!==t&&To(t)}return this.dt=a,((t,o=_o)=>{t._$AH=o})(t,c),V}});
128
+ */const{D:Po}=yt,_o=()=>document.createComment(""),To=(t,o,e)=>{const r=t._$AA.parentNode,i=void 0===o?t._$AB:o._$AA;if(void 0===e){const o=r.insertBefore(_o(),i),n=r.insertBefore(_o(),i);e=new Po(o,n,t,t.options)}else{const o=e._$AB.nextSibling,n=e._$AM,a=n!==t;if(a){let o;e._$AQ?.(t),e._$AM=t,void 0!==e._$AP&&(o=t._$AU)!==n._$AU&&e._$AP(o)}if(o!==i||a){let t=e._$AA;for(;t!==o;){const o=t.nextSibling;r.insertBefore(t,i),t=o}}}return e},Go=(t,o,e=t)=>(t._$AI(o,e),t),jo={},Ho=t=>{t._$AP?.(!1,!0);let o=t._$AA;const e=t._$AB.nextSibling;for(;o!==e;){const t=o.nextSibling;o.remove(),o=t}},Yo=(t,o,e)=>{const r=new Map;for(let i=o;i<=e;i++)r.set(t[i],i);return r},Jo=zo(class extends Do{constructor(t){if(super(t),t.type!==Bo)throw Error("repeat() can only be used in text expressions")}ht(t,o,e){let r;void 0===e?e=o:void 0!==o&&(r=o);const i=[],n=[];let a=0;for(const o of t)i[a]=r?r(o,a):a,n[a]=e(o,a),a++;return{values:n,keys:i}}render(t,o,e){return this.ht(t,o,e).values}update(t,[o,e,r]){const i=(t=>t._$AH)(t),{values:n,keys:a}=this.ht(o,e,r);if(!Array.isArray(i))return this.dt=a,n;const s=this.dt??=[],c=[];let l,h,f=0,p=i.length-1,d=0,y=n.length-1;for(;f<=p&&d<=y;)if(null===i[f])f++;else if(null===i[p])p--;else if(s[f]===a[d])c[d]=Go(i[f],n[d]),f++,d++;else if(s[p]===a[y])c[y]=Go(i[p],n[y]),p--,y--;else if(s[f]===a[y])c[y]=Go(i[f],n[y]),To(t,c[y+1],i[f]),f++,y--;else if(s[p]===a[d])c[d]=Go(i[p],n[d]),To(t,i[f],i[p]),p--,d++;else if(void 0===l&&(l=Yo(a,d,y),h=Yo(s,f,p)),l.has(s[f]))if(l.has(s[p])){const o=h.get(a[d]),e=void 0!==o?i[o]:null;if(null===e){const o=To(t,i[f]);Go(o,n[d]),c[d]=o}else c[d]=Go(e,n[d]),To(t,i[f],e),i[o]=null;d++}else Ho(i[p]),p--;else Ho(i[f]),f++;for(;d<=y;){const o=To(t,c[y+1]);Go(o,n[d]),c[d++]=o}for(;f<=p;){const t=i[f++];null!==t&&Ho(t)}return this.dt=a,((t,o=jo)=>{t._$AH=o})(t,c),Q}});
129
129
  /**
130
130
  * @license
131
131
  * Copyright 2017 Google LLC
@@ -136,10 +136,9 @@ const Ao=2,Mo=t=>(...o)=>({_$litDirective$:t,values:o});class Fo{constructor(t){
136
136
  * Copyright 2017 Google LLC
137
137
  * SPDX-License-Identifier: BSD-3-Clause
138
138
  */
139
- class Ho extends Fo{constructor(t){if(super(t),this.et=q,t.type!==Ao)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===q||null==t)return this.vt=void 0,this.et=t;if(t===V)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.vt;this.et=t;const o=[t];return o.raw=o,this.vt={_$litType$:this.constructor.resultType,strings:o,values:[]}}}Ho.directiveName="unsafeHTML",Ho.resultType=1;const Yo=Mo(Ho),Jo={padding:vo.create("--ft-infinite-scroll-padding","","SIZE","0"),itemsGap:vo.create("--ft-infinite-scroll-items-gap","","SIZE","4px"),itemContainerMinHeight:vo.create("--ft-infinite-scroll-item-container-min-height","","SIZE",".1px")},Vo=Ot`
139
+ class Vo extends Do{constructor(t){if(super(t),this.et=tt,t.type!==Bo)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===tt||null==t)return this.vt=void 0,this.et=t;if(t===Q)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.vt;this.et=t;const o=[t];return o.raw=o,this.vt={_$litType$:this.constructor.resultType,strings:o,values:[]}}}Vo.directiveName="unsafeHTML",Vo.resultType=1;const qo=zo(Vo),Xo={padding:Co.create("--ft-infinite-scroll-padding","","SIZE","0"),itemsGap:Co.create("--ft-infinite-scroll-items-gap","","SIZE","4px"),itemContainerMinHeight:Co.create("--ft-infinite-scroll-item-container-min-height","","SIZE",".1px")},Qo=St`
140
140
  .items-container {
141
- position: relative;
142
- padding: ${Jo.padding};
141
+ padding: ${Xo.padding};
143
142
  outline: none;
144
143
  }
145
144
 
@@ -148,11 +147,6 @@ class Ho extends Fo{constructor(t){if(super(t),this.et=q,t.type!==Ao)throw Error
148
147
  overflow-y: auto;
149
148
  }
150
149
 
151
- .item-container {
152
- height: 100vh;
153
- overflow: hidden;
154
- }
155
-
156
150
  .item-container + .item-container {
157
151
  /*
158
152
  We add a gap between items to be sure to hide the content above the targeted item
@@ -161,32 +155,27 @@ class Ho extends Fo{constructor(t){if(super(t),this.et=q,t.type!==Ao)throw Error
161
155
  By adding this gap we ensure that the previous item will be fully hidden
162
156
  and even if its size changes, it will not impact the scroll offset
163
157
  */
164
- margin-top: ${Jo.itemsGap};
165
- }
166
-
167
- .resizable:not(.rendered) {
168
- width: 0;
158
+ margin-top: ${Xo.itemsGap};
169
159
  }
170
160
 
171
- .item-container, .resizable.rendered {
172
- min-height: ${Jo.itemContainerMinHeight}
161
+ .item-container:not(.rendered) {
162
+ height: 1000px;
173
163
  }
174
164
 
175
- .rendered {
165
+ .item-container.rendered {
176
166
  display: flow-root;
167
+ min-height: ${Xo.itemContainerMinHeight};
177
168
  }
178
- `;var qo=function(t,o,e,r){for(var i,n=arguments.length,a=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,s=t.length-1;s>=0;s--)(i=t[s])&&(a=(n<3?i(a):n>3?i(o,e,a):i(o,e))||a);return n>3&&a&&Object.defineProperty(o,e,a),a};class Xo extends CustomEvent{constructor(t,o){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:o}})}}class Qo extends Event{constructor(){super("scrolled-to-target")}}class te extends ko{constructor(){super(...arguments),this.items=[],this.renderItem=()=>oo``,this.getItemKey=(t,o)=>`${o} - ${JSON.stringify(t)}`,this.internalScroll=!1,this.renderBeforeFirst=1,this.renderAfterLast=1,this.visibleItems=[],this.scrolledToTarget=!1,this.scrolling=!1,this.alreadyRenderedIndexes=new Set,this.scrollDebouncer=new E(5),this.scrollDoneDebouncer=new E(10),this.onVisibilityChange=t=>{let o=new Set(this.visibleItems),e=new Set;for(let r of t){let t=+r.target.attributes.getNamedItem("data-item-index").value;r.intersectionRect.height>0?(o.add(t),e.add(t)):e.has(t)||o.delete(t)}this.visibleItems=[...o].sort(((t,o)=>t-o))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.scrollingDebouncer=new E(100),this.scrollListener=()=>{this.scrolling=!0,this.scrollingDebouncer.run((()=>{this.scrolling=!1}))},this.onResize=t=>{this.triggerFindScrollableParent();let o=this.searchFirstVisibleItem([...this.itemsContainer.children]),e=this.scrollable.scrollTop-this.getOffset(o);for(const o of t){const t=+o.target.parentElement.getAttribute("data-item-index");(this.alreadyRenderedIndexes.has(t)||o.target.classList.contains("rendered"))&&(o.target.parentElement.style.height=o.target.clientHeight+"px")}null!=o&&null!=e&&this.scrolledToTarget&&(this.scrollable.scrollTop=this.getOffset(o)+Math.min(e,o.clientHeight))},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.itemsContainer.children].forEach((t=>{this.resizeObserver.observe(t.children.item(0)),this.intersectionObserver.observe(t)}))},this.mutationObserver=new MutationObserver(this.onMutation),this.resetVisibleItemsDebouncer=new E(10)}get scrollable(){var t;return null!==(t=this.internalScroll?this.internalScrollable:this.firstScrollableParent)&&void 0!==t?t:document.body}render(){return oo`
169
+ `;var te=function(t,o,e,r){for(var i,n=arguments.length,a=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,e):r,s=t.length-1;s>=0;s--)(i=t[s])&&(a=(n<3?i(a):n>3?i(o,e,a):i(o,e))||a);return n>3&&a&&Object.defineProperty(o,e,a),a};class oe extends CustomEvent{constructor(t,o){super("visible-items-change",{detail:{visibleIndexes:t,visibleItems:o}})}}class ee extends Event{constructor(){super("scrolled-to-target")}}class re extends $o{constructor(){super(...arguments),this.items=[],this.renderItem=()=>io``,this.getItemKey=(t,o)=>`${o} - ${JSON.stringify(t)}`,this.internalScroll=!1,this.renderBeforeFirst=1,this.renderAfterLast=1,this.visibleItems=[],this.scrolledToTarget=!1,this.scrolling=!1,this.alreadyRenderedIndexes=new Set,this.scrollDebouncer=new L(5),this.scrollDoneDebouncer=new L(10),this.onVisibilityChange=t=>{let o=new Set(this.visibleItems),e=new Set;for(let r of t){let t=+r.target.attributes.getNamedItem("data-item-index").value;r.intersectionRect.height>0?(o.add(t),e.add(t)):e.has(t)||o.delete(t)}this.visibleItems=[...o].sort(((t,o)=>t-o))},this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange),this.scrollingDebouncer=new L(100),this.ignoreNextScrollEvent=!1,this.scrollListener=()=>{this.ignoreNextScrollEvent||(this.scrolling=!0,this.scrollingDebouncer.run((()=>this.scrolling=!1))),this.ignoreNextScrollEvent=!1,this.scrollRestorationItem=this.searchFirstVisibleItem(this.itemsContainer.children),this.scrollRestorationOffset=this.scrollable.scrollTop-this.getOffset(this.scrollRestorationItem)},this.onResize=t=>{for(const o of t)o.contentRect.height>0&&o.target.setAttribute("data-last-known-height",""+o.contentRect.height);null!=this.scrollRestorationItem&&null!=this.scrollRestorationOffset&&this.scrolledToTarget&&(this.ignoreNextScrollEvent=!0,this.scrollable.scrollTop=this.getOffset(this.scrollRestorationItem)+Math.min(Math.max(this.scrollRestorationOffset,0),this.getLastKnownHeight(this.scrollRestorationItem)+1))},this.resizeObserver=new ResizeObserver(this.onResize),this.onMutation=()=>{[...this.itemsContainer.children].forEach((t=>{this.intersectionObserver.observe(t),this.resizeObserver.observe(t)}))},this.mutationObserver=new MutationObserver(this.onMutation),this.resetVisibleItemsDebouncer=new L(10)}get scrollable(){var t;return null!==(t=this.internalScroll?this.internalScrollable:this.firstScrollableParent)&&void 0!==t?t:document.body}render(){return io`
179
170
  <div class="items-container ${this.internalScroll?"scrollable":""}"
180
171
  tabindex="-1"
181
172
  @find-scrollable-parent=${this.findScrollableParent}>
182
- ${jo(this.items,((t,o)=>this.getItemKey(t,o)),((t,o)=>this.renderItemContainer(t,o)))}
173
+ ${Jo(this.items,((t,o)=>this.getItemKey(t,o)),((t,o)=>this.renderItemContainer(t,o)))}
183
174
  </div>
184
- `}renderItemContainer(t,o){const e=!this.scrolling&&this.scrolledToTarget&&this.visibleItems.includes(o),r=this.alreadyRenderedIndexes.has(o)||this.scrolledToTarget&&o>=this.visibleItems[0]-this.renderBeforeFirst&&o<=(null!=(i=this.visibleItems)?i:[])[(null!=i?i:[]).length-1]+this.renderAfterLast;var i;r&&this.alreadyRenderedIndexes.add(o);return oo`
175
+ `}renderItemContainer(t,o){const e=!this.scrolling&&this.scrolledToTarget&&this.visibleItems.includes(o),r=o>=this.visibleItems[0]-this.renderBeforeFirst&&o<=(null!=(i=this.visibleItems)?i:[])[(null!=i?i:[]).length-1]+this.renderAfterLast;var i;const n=this.alreadyRenderedIndexes.has(o)||this.scrolledToTarget&&!this.scrolling&&r;n&&this.alreadyRenderedIndexes.add(o);return io`
185
176
  <div id="item-${o}"
186
- class="item-container ${e?"visible":""}"
177
+ class="item-container ${n?"rendered":""} ${e?"visible":""}"
187
178
  data-item-index="${o}">
188
- <div class="resizable ${e?"visible":""} ${r?"rendered":""}">
189
- ${r?(()=>{const e=this.renderItem(t,o);return"string"==typeof e?oo`${Yo(e)}`:e})():null}
190
- </div>
179
+ ${n?(()=>{const e=this.renderItem(t,o);return"string"==typeof e?qo(e):e})():ao}
191
180
  </div>
192
- `}resetScroll(){this.triggerFindScrollableParent(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.scrollDebouncer.run((()=>{var t;let o=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):-1;o>=this.items.length&&(o=-1);let e=this.getItem(o);this.scrollToTarget(e),this.scrollDoneDebouncer.run((()=>{this.onMutation(),this.scrolledToTarget=!0}))}))}getItem(t){var o;return null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelector(`#item-${t}`)}scrollToTarget(t){var o;if(t){let e=+(null!==(o=t.getAttribute("data-item-index"))&&void 0!==o?o:"0");this.scrollable&&0===e?this.scrollable.scrollTop=0:this.scrollable.scrollTop=this.getOffset(t)}}getOffset(t){var o;let e=0,r=t;for(;r&&r.offsetParent!==this.scrollable.offsetParent;)e+=r.offsetTop,r=r.offsetParent;return e+(null!==(o=null==r?void 0:r.offsetTop)&&void 0!==o?o:0)-this.scrollable.offsetTop}getBottomOffset(t){var o;return this.getOffset(t)+(null!==(o=null==t?void 0:t.clientHeight)&&void 0!==o?o:0)}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.triggerFindScrollableParent(),this.initIntersectionObserver(),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.itemsContainer,{childList:!0})}),0)}initIntersectionObserver(){this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable,rootMargin:"-8px",threshold:[0,.01,.1,1]})}triggerFindScrollableParent(){var t;null===(t=this.itemsContainer)||void 0===t||t.dispatchEvent(new Event("find-scrollable-parent",{composed:!0}))}findScrollableParent(t){var o;let e,r;t.stopPropagation();for(let o of t.composedPath()){const t=o,i=this.elementCanScroll(t);if(t.clientHeight&&t.clientHeight<t.scrollHeight&&i){e=t;break}i&&(r=t)}let i=e||r;i!==this.firstScrollableParent&&(null===(o=this.firstScrollableParent)||void 0===o||o.removeEventListener("scroll",this.scrollListener),null==i||i.addEventListener("scroll",this.scrollListener),this.firstScrollableParent=i,this.initIntersectionObserver(),this.resetScroll())}elementCanScroll(t){try{return["auto","scroll"].includes(getComputedStyle(t).overflowY)}catch(t){return!1}}searchFirstVisibleItem(t,o,e){if(o=null!=o?o:0,(e=null!=e?e:t.length-1)-o<=0)return t[o];const r=Math.floor((e-o)/2)+o;return this.getOffset(t[r])>this.scrollable.scrollTop?this.searchFirstVisibleItem(t,o,r-1):this.getBottomOffset(t[r])<this.scrollable.scrollTop?this.searchFirstVisibleItem(t,r+1,e):t[r]}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.mutationObserver.disconnect()}firstUpdated(t){super.firstUpdated(t),this.resetScroll()}update(t){super.update(t),t.has("items")&&(this.alreadyRenderedIndexes=new Set),!t.has("scrollToItem")&&!t.has("scrollToIndex")||null==this.scrollToItem&&null==this.scrollToIndex||this.resetScroll()}updated(t){super.updated(t),(t.has("visibleItems")||t.has("items"))&&this.onVisibleItemsChange(),t.has("scrolledToTarget")&&this.scrolledToTarget&&(null!=this.scrollToItem||null!=this.scrollToIndex)&&this.dispatchEvent(new Qo)}onVisibleItemsChange(){const t=this.visibleItems.every(((t,o)=>null==this.visibleItems[o+1]||t+1===this.visibleItems[o+1]));t||I(this.visibleItems,this.lastNotOkVisibleItems)?(this.resetVisibleItemsDebouncer.cancel(),this.dispatchEvent(new Xo(this.visibleItems,this.visibleItems.map((t=>this.items[t]))))):this.resetVisibleItemsDebouncer.run((()=>{this.lastNotOkVisibleItems=[...this.visibleItems],this.visibleItems=[],this.initIntersectionObserver(),this.onMutation()}))}}var oe;te.styles=Vo,qo([C({type:Array})],te.prototype,"items",void 0),qo([C({attribute:!1})],te.prototype,"renderItem",void 0),qo([C({attribute:!1})],te.prototype,"getItemKey",void 0),qo([C({type:Object})],te.prototype,"scrollToItem",void 0),qo([C({type:Number})],te.prototype,"scrollToIndex",void 0),qo([C({type:Boolean})],te.prototype,"internalScroll",void 0),qo([C({type:Number})],te.prototype,"renderBeforeFirst",void 0),qo([C({type:Number})],te.prototype,"renderAfterLast",void 0),qo([x({hasChanged:(t,o)=>null!=t&&null==o||t.length!==o.length||t[0]!==o[0]})],te.prototype,"visibleItems",void 0),qo([U(".scrollable")],te.prototype,"internalScrollable",void 0),qo([U(".items-container")],te.prototype,"itemsContainer",void 0),qo([x()],te.prototype,"scrolledToTarget",void 0),qo([x()],te.prototype,"scrolling",void 0),(oe="ft-infinite-scroll",t=>{window.customElements.get(oe)||window.customElements.define(oe,t)})(te),t.FtInfiniteScroll=te,t.FtInfiniteScrollCssVariables=Jo,t.ScrolledToTargetEvent=Qo,t.VisibleItemsChangeEvent=Xo,t.styles=Vo}({});
181
+ `}resetScroll(){this.triggerFindScrollableParent(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.visibleItems=[],this.scrolledToTarget=!1,this.scrollDebouncer.run((()=>{var t;let o=null!==(t=this.scrollToIndex)&&void 0!==t?t:this.scrollToItem?this.items.indexOf(this.scrollToItem):-1;o>=this.items.length&&(o=-1);const e=this.getItem(o);this.scrollToTarget(e),this.scrollDoneDebouncer.run((()=>{this.scrollRestorationItem=e,this.scrollRestorationOffset=0,this.onMutation(),this.scrolledToTarget=!0}))}))}getItem(t){var o;return null===(o=this.shadowRoot)||void 0===o?void 0:o.querySelector(`#item-${t}`)}scrollToTarget(t){var o;if(t){let e=+(null!==(o=t.getAttribute("data-item-index"))&&void 0!==o?o:"0");this.scrollable&&0===e?this.scrollable.scrollTop=0:this.scrollable.scrollTop=this.getOffset(t)}}getOffset(t){var o;let e=0,r=t;for(;r&&r.offsetParent!==this.scrollable.offsetParent;)e+=r.offsetTop,r=r.offsetParent;return e+(null!==(o=null==r?void 0:r.offsetTop)&&void 0!==o?o:0)-this.scrollable.offsetTop}getLastKnownHeight(t){var o;return+(null!==(o=null==t?void 0:t.getAttribute("data-last-known-height"))&&void 0!==o?o:1e3)}appendItems(...t){this.items=[...this.items,...t]}prependItems(...t){this.items=[...t,...this.items]}connectedCallback(){super.connectedCallback(),setTimeout((()=>{this.triggerFindScrollableParent(),this.initIntersectionObserver(),this.mutationObserver.disconnect(),this.mutationObserver.observe(this.itemsContainer,{childList:!0})}),0)}initIntersectionObserver(){this.intersectionObserver.disconnect(),this.intersectionObserver=new IntersectionObserver(this.onVisibilityChange,{root:this.scrollable,rootMargin:"-8px",threshold:[0,.01,.1,1]})}triggerFindScrollableParent(){var t;null===(t=this.itemsContainer)||void 0===t||t.dispatchEvent(new Event("find-scrollable-parent",{composed:!0}))}findScrollableParent(t){var o;let e,r;t.stopPropagation();for(let o of t.composedPath()){const t=o,i=this.elementCanScroll(t);if(t.clientHeight&&t.clientHeight<t.scrollHeight&&i){e=t;break}i&&(r=t)}let i=e||r;i!==this.firstScrollableParent&&(null===(o=this.firstScrollableParent)||void 0===o||o.removeEventListener("scroll",this.scrollListener),null==i||i.addEventListener("scroll",this.scrollListener),this.firstScrollableParent=i,this.initIntersectionObserver(),this.resetScroll())}elementCanScroll(t){try{return["auto","scroll"].includes(getComputedStyle(t).overflowY)}catch(t){return!1}}searchFirstVisibleItem(t,o,e){if(o=null!=o?o:0,(e=null!=e?e:t.length-1)<=o)return t[o];const r=Math.floor((e-o)/2)+o,i=t[r];return this.getOffset(i)>this.scrollable.scrollTop?this.searchFirstVisibleItem(t,o,r-1):this.getOffset(i)+this.getLastKnownHeight(i)<this.scrollable.scrollTop?this.searchFirstVisibleItem(t,r+1,e):i}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver.disconnect(),this.resizeObserver.disconnect(),this.mutationObserver.disconnect()}firstUpdated(t){super.firstUpdated(t),this.resetScroll()}update(t){super.update(t),t.has("items")&&(this.alreadyRenderedIndexes=new Set),!t.has("scrollToItem")&&!t.has("scrollToIndex")||null==this.scrollToItem&&null==this.scrollToIndex||this.resetScroll()}updated(t){super.updated(t),(t.has("visibleItems")||t.has("items"))&&this.onVisibleItemsChange(),t.has("scrolledToTarget")&&this.scrolledToTarget&&(null!=this.scrollToItem||null!=this.scrollToIndex)&&this.dispatchEvent(new ee)}onVisibleItemsChange(){const t=this.visibleItems.every(((t,o)=>null==this.visibleItems[o+1]||t+1===this.visibleItems[o+1]));t||k(this.visibleItems,this.lastNotOkVisibleItems)?(this.resetVisibleItemsDebouncer.cancel(),this.dispatchVisibleItemsEvent()):this.resetVisibleItemsDebouncer.run((()=>{this.lastNotOkVisibleItems=[...this.visibleItems],this.visibleItems=[],this.initIntersectionObserver(),this.onMutation()}))}dispatchVisibleItemsEvent(){var t,o;null===(t=this.cancelableDispatchEvent)||void 0===t||t.cancel(),this.cancelableDispatchEvent=(o=async function(t,o=5){let e=await t();for(;!e;)await W(o),e=await t()}((()=>!this.scrolling)),new e(((t,e)=>o.then(t).catch(e)))),this.cancelableDispatchEvent.then((()=>this.dispatchEvent(new oe(this.visibleItems,this.visibleItems.map((t=>this.items[t])))))).catch((()=>null))}}var ie;re.styles=Qo,te([R({type:Array})],re.prototype,"items",void 0),te([R({attribute:!1})],re.prototype,"renderItem",void 0),te([R({attribute:!1})],re.prototype,"getItemKey",void 0),te([R({type:Object})],re.prototype,"scrollToItem",void 0),te([R({type:Number})],re.prototype,"scrollToIndex",void 0),te([R({type:Boolean})],re.prototype,"internalScroll",void 0),te([R({type:Number})],re.prototype,"renderBeforeFirst",void 0),te([R({type:Number})],re.prototype,"renderAfterLast",void 0),te([U({hasChanged:(t,o)=>null!=t&&null==o||t.length!==o.length||t[0]!==o[0]})],re.prototype,"visibleItems",void 0),te([I(".scrollable")],re.prototype,"internalScrollable",void 0),te([I(".items-container")],re.prototype,"itemsContainer",void 0),te([U()],re.prototype,"scrolledToTarget",void 0),te([U()],re.prototype,"scrolling",void 0),(ie="ft-infinite-scroll",t=>{window.customElements.get(ie)||window.customElements.define(ie,t)})(re),t.FtInfiniteScroll=re,t.FtInfiniteScrollCssVariables=Xo,t.ScrolledToTargetEvent=ee,t.VisibleItemsChangeEvent=oe,t.styles=Qo}({});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/ft-infinite-scroll",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "An infinite scroller.",
5
5
  "keywords": [
6
6
  "Lit"
@@ -19,8 +19,8 @@
19
19
  "url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
20
20
  },
21
21
  "dependencies": {
22
- "@fluid-topics/ft-wc-utils": "1.1.4",
22
+ "@fluid-topics/ft-wc-utils": "1.1.5",
23
23
  "lit": "3.1.0"
24
24
  },
25
- "gitHead": "b13ddd3359734158be660854f9ffe5fc5880c430"
25
+ "gitHead": "334ea71061e13d064f1f59b0f75d84c46d32d860"
26
26
  }