Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@microsoft/fast-element

Package Overview
Dependencies
Maintainers
12
Versions
84
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@microsoft/fast-element - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

11

CHANGELOG.md

@@ -6,2 +6,13 @@ # Change Log

## [1.0.2](https://github.com/Microsoft/fast/compare/@microsoft/fast-element@1.0.1...@microsoft/fast-element@1.0.2) (2021-04-06)
### Bug Fixes
* ensures proper re-observation and notification of a disconnected BindingObserver ([#4477](https://github.com/Microsoft/fast/issues/4477)) ([e315a69](https://github.com/Microsoft/fast/commit/e315a69ac7cf22bd9e0c50eb0458f5b23dae2aee))
## [1.0.1](https://github.com/Microsoft/fast/compare/@microsoft/fast-element@1.0.0...@microsoft/fast-element@1.0.1) (2021-03-16)

@@ -8,0 +19,0 @@

10

dist/dts/components/controller.d.ts

@@ -0,7 +1,7 @@

import type { Behavior } from "../observation/behavior";
import { PropertyChangeNotifier } from "../observation/notifier";
import type { ElementStyles } from "../styles/element-styles";
import type { ElementViewTemplate } from "../templating/template";
import type { ElementView } from "../templating/view";
import { FASTElementDefinition } from "./fast-definitions";
import { ElementView } from "../templating/view";
import { PropertyChangeNotifier } from "../observation/notifier";
import { Behavior } from "../observation/behavior";
import { ElementStyles } from "../styles/element-styles";
import { ElementViewTemplate } from "../templating/template";
/**

@@ -8,0 +8,0 @@ * Controls the lifecycle and rendering of a `FASTElement`.

@@ -1,3 +0,3 @@

import { ElementViewTemplate } from "../templating/template";
import { ElementStyles, ComposableStyles } from "../styles/element-styles";
import { ComposableStyles, ElementStyles } from "../styles/element-styles";
import type { ElementViewTemplate } from "../templating/template";
import { AttributeConfiguration, AttributeDefinition } from "./attributes";

@@ -4,0 +4,0 @@ /**

@@ -1,2 +0,2 @@

import { Callable } from "./interfaces";
import type { Callable } from "./interfaces";
import { TrustedTypesPolicy } from "./platform";

@@ -3,0 +3,0 @@ /** @internal */

@@ -26,2 +26,2 @@ export * from "./platform";

export * from "./templating/children";
export { elements, NodeBehaviorOptions } from "./templating/node-observation";
export { elements, ElementsFilter, NodeBehaviorOptions, } from "./templating/node-observation";

@@ -1,2 +0,2 @@

import { ExecutionContext } from "./observable";
import type { ExecutionContext } from "./observable";
/**

@@ -3,0 +3,0 @@ * Represents and object that can contribute behavior to a view or

@@ -1,2 +0,2 @@

import { Notifier, Subscriber } from "./notifier";
import type { Notifier, Subscriber } from "./notifier";
/**

@@ -97,3 +97,3 @@ * Represents a getter/setter property accessor on an object.

*/
export declare function volatile(target: {}, name: any, descriptor: any): any;
export declare function volatile(target: {}, name: string | Accessor, descriptor: PropertyDescriptor): PropertyDescriptor;
/**

@@ -100,0 +100,0 @@ * @param event - The event to set as current for the context.

@@ -1,3 +0,3 @@

import { Behavior } from "../observation/behavior";
import { ComposableStyles } from "./element-styles";
import type { Behavior } from "../observation/behavior";
import type { ComposableStyles } from "./element-styles";
/**

@@ -4,0 +4,0 @@ * Directive for use in {@link css}.

@@ -1,2 +0,2 @@

import { Behavior } from "../observation/behavior";
import type { Behavior } from "../observation/behavior";
/**

@@ -3,0 +3,0 @@ * A node that can be targeted by styles.

@@ -1,3 +0,3 @@

import { ExecutionContext, Binding, BindingObserver } from "../observation/observable";
import { Behavior } from "../observation/behavior";
import type { Behavior } from "../observation/behavior";
import { Binding, BindingObserver, ExecutionContext } from "../observation/observable";
import { TargetedHTMLDirective } from "./html-directive";

@@ -4,0 +4,0 @@ declare function normalBind(this: BindingBehavior, source: unknown, context: ExecutionContext): void;

@@ -1,3 +0,3 @@

import { CaptureType } from "./template";
import { NodeBehaviorOptions, NodeObservationBehavior } from "./node-observation";
import type { CaptureType } from "./template";
/**

@@ -4,0 +4,0 @@ * The options used to configure child list observation.

@@ -1,2 +0,2 @@

import { HTMLDirective, NodeBehaviorFactory } from "./html-directive";
import type { HTMLDirective, NodeBehaviorFactory } from "./html-directive";
/**

@@ -3,0 +3,0 @@ * The result of compiling a template and its directives.

@@ -1,2 +0,2 @@

import { Behavior } from "../observation/behavior";
import type { Behavior } from "../observation/behavior";
/**

@@ -3,0 +3,0 @@ * A factory that can create a {@link Behavior} associated with a particular

@@ -1,2 +0,2 @@

import { Behavior } from "../observation/behavior";
import type { Behavior } from "../observation/behavior";
/**

@@ -18,5 +18,11 @@ * Options for configuring node observation behavior.

*/
filter?(value: Node, index: number, array: Node[]): boolean;
filter?: ElementsFilter;
}
/**
* Elements filter function type.
*
* @public
*/
export declare type ElementsFilter = (value: Node, index: number, array: Node[]) => boolean;
/**
* Creates a function that can be used to filter a Node array, selecting only elements.

@@ -26,3 +32,3 @@ * @param selector - An optional selector to restrict the filter to.

*/
export declare function elements(selector?: string): (value: Node, index: number, array: Node[]) => boolean;
export declare function elements(selector?: string): ElementsFilter;
/**

@@ -29,0 +35,0 @@ * A base class for node observation.

@@ -1,3 +0,3 @@

import { CaptureType } from "./template";
import { Behavior } from "../observation/behavior";
import type { Behavior } from "../observation/behavior";
import type { CaptureType } from "./template";
/**

@@ -4,0 +4,0 @@ * The runtime behavior for template references.

@@ -1,7 +0,7 @@

import { CaptureType, SyntheticViewTemplate } from "./template";
import { ExecutionContext, Binding } from "../observation/observable";
import { Subscriber } from "../observation/notifier";
import { Splice } from "../observation/array-change-records";
import { Behavior } from "../observation/behavior";
import { Binding, ExecutionContext } from "../observation/observable";
import type { Subscriber } from "../observation/notifier";
import type { Splice } from "../observation/array-change-records";
import type { Behavior } from "../observation/behavior";
import { HTMLDirective } from "./html-directive";
import type { CaptureType, SyntheticViewTemplate } from "./template";
/**

@@ -8,0 +8,0 @@ * Options for configuring repeat behavior.

@@ -1,3 +0,3 @@

import { CaptureType } from "./template";
import { NodeBehaviorOptions, NodeObservationBehavior } from "./node-observation";
import type { CaptureType } from "./template";
/**

@@ -4,0 +4,0 @@ * The options used to configure slotted node observation.

@@ -0,4 +1,4 @@

import { Binding } from "../observation/observable";
import { ElementView, HTMLView, SyntheticView } from "./view";
import { HTMLDirective } from "./html-directive";
import { Binding } from "../observation/observable";
/**

@@ -5,0 +5,0 @@ * A template capable of creating views specifically for rendering custom elements.

@@ -1,3 +0,3 @@

import { Behavior } from "../observation/behavior";
import { ExecutionContext } from "../observation/observable";
import type { Behavior } from "../observation/behavior";
import type { ExecutionContext } from "../observation/observable";
/**

@@ -4,0 +4,0 @@ * Represents a collection of DOM nodes which can be bound to a data source.

@@ -1,3 +0,3 @@

import { CaptureType, SyntheticViewTemplate } from "./template";
import { Binding } from "../observation/observable";
import type { Binding } from "../observation/observable";
import type { CaptureType, SyntheticViewTemplate } from "./template";
/**

@@ -4,0 +4,0 @@ * A directive that enables basic conditional rendering in a template.

@@ -7,6 +7,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {

};
import { FASTElementDefinition } from "./fast-definitions";
import { DOM } from "../dom";
import { PropertyChangeNotifier } from "../observation/notifier";
import { defaultExecutionContext, Observable, observable, } from "../observation/observable";
import { DOM } from "../dom";
import { FASTElementDefinition } from "./fast-definitions";
const shadowRoots = new WeakMap();

@@ -218,3 +218,3 @@ const defaultEventOptions = {

if (behaviors !== null) {
for (let [behavior] of behaviors) {
for (const [behavior] of behaviors) {
behavior.bind(element, defaultExecutionContext);

@@ -240,3 +240,3 @@ }

const element = this.element;
for (let [behavior] of behaviors) {
for (const [behavior] of behaviors) {
behavior.unbind(element);

@@ -243,0 +243,0 @@ }

@@ -0,4 +1,4 @@

import { Observable } from "../observation/observable";
import { ElementStyles } from "../styles/element-styles";
import { AttributeDefinition } from "./attributes";
import { Observable } from "../observation/observable";
const defaultShadowOptions = { mode: "open" };

@@ -5,0 +5,0 @@ const defaultElementOptions = {};

@@ -25,2 +25,2 @@ export * from "./platform";

export * from "./templating/children";
export { elements } from "./templating/node-observation";
export { elements, } from "./templating/node-observation";
import { DOM } from "../dom";
import { calcSplices, newSplice, projectArraySplices } from "./array-change-records";
import { SubscriberSet } from "./notifier";
import { Observable } from "./observable";
import { SubscriberSet } from "./notifier";
import { calcSplices, newSplice, projectArraySplices, } from "./array-change-records";
let arrayObservationEnabled = false;

@@ -6,0 +6,0 @@ function adjustIndex(changeRecord, array) {

import { DOM } from "../dom";
import { PropertyChangeNotifier, SubscriberSet } from "./notifier";
const volatileRegex = /(\:|\&\&|\|\||if)/;
const volatileRegex = /(:|&&|\|\||if)/;
const notifierLookup = new WeakMap();

@@ -144,2 +144,3 @@ const accessorLookup = new WeakMap();

binding(binding, initialSubscriber, isVolatileBinding = this.isVolatileBinding(binding)) {
/* eslint-disable-next-line @typescript-eslint/no-use-before-define */
return new BindingObserverImplementation(binding, initialSubscriber, isVolatileBinding);

@@ -296,3 +297,3 @@ },

this.last = null;
this.needsRefresh = true;
this.needsRefresh = this.needsQueue = true;
}

@@ -299,0 +300,0 @@ }

@@ -12,3 +12,2 @@ import { DOM } from "../dom";

this.behaviors = null;
/* eslint-enable @typescript-eslint/explicit-function-return-type */
}

@@ -52,3 +51,2 @@ /** @internal */

}
/* eslint-disable @typescript-eslint/explicit-function-return-type */
/**

@@ -60,4 +58,7 @@ * Create ElementStyles from ComposableStyles.

const styleSheetCache = new Map();
return (styles) => new AdoptedStyleSheetsStyles(styles, styleSheetCache);
return (styles) =>
// eslint-disable-next-line @typescript-eslint/no-use-before-define
new AdoptedStyleSheetsStyles(styles, styleSheetCache);
}
// eslint-disable-next-line @typescript-eslint/no-use-before-define
return (styles) => new StyleElementStyles(styles);

@@ -64,0 +65,0 @@ })();

@@ -1,4 +0,3 @@

import { setCurrentEvent, } from "../observation/observable";
import { Observable } from "../observation/observable";
import { DOM } from "../dom";
import { Observable, setCurrentEvent, } from "../observation/observable";
import { TargetedHTMLDirective } from "./html-directive";

@@ -5,0 +4,0 @@ function normalBind(source, context) {

@@ -1,3 +0,4 @@

import { DOM, _interpolationEnd, _interpolationStart } from "../dom";
import { _interpolationEnd, _interpolationStart, DOM } from "../dom";
import { HTMLBindingDirective } from "./binding";
let sharedContext = null;
class CompilationContext {

@@ -27,3 +28,2 @@ addFactory(factory) {

}
let sharedContext = null;
function createAggregateBinding(parts) {

@@ -30,0 +30,0 @@ if (parts.length === 1) {

@@ -24,3 +24,2 @@ import { AttachedBehaviorHTMLDirective } from "./html-directive";

}
/* eslint-disable-next-line @typescript-eslint/no-empty-function */
/**

@@ -30,2 +29,3 @@ * Unbinds this behavior from the source.

*/
/* eslint-disable-next-line @typescript-eslint/no-empty-function */
unbind() { }

@@ -32,0 +32,0 @@ }

import { DOM } from "../dom";
import { Observable, } from "../observation/observable";
import { HTMLView } from "./view";
import { enableArrayObservation } from "../observation/array-observer";
import { emptyArray } from "../platform";
import { HTMLDirective } from "./html-directive";
import { emptyArray } from "../platform";
import { HTMLView } from "./view";
const defaultRepeatOptions = Object.freeze({

@@ -8,0 +8,0 @@ positioning: false,

@@ -0,7 +1,7 @@

import { DOM } from "../dom";
import { defaultExecutionContext } from "../observation/observable";
import { compileTemplate } from "./compiler";
import { HTMLView } from "./view";
import { DOM } from "../dom";
import { HTMLDirective, TargetedHTMLDirective, } from "./html-directive";
import { HTMLBindingDirective } from "./binding";
import { defaultExecutionContext } from "../observation/observable";
/**

@@ -8,0 +8,0 @@ * A template capable of creating HTMLView instances or rendering directly to DOM.

@@ -1,2 +0,2 @@

const t=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof global)return global;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;try{return new Function("return this")()}catch(t){return{}}}();void 0===t.trustedTypes&&(t.trustedTypes={createPolicy:(t,e)=>e});const e=Object.freeze([]),s=[],i=t.trustedTypes.createPolicy("fast-html",{createHTML:t=>t});let n=i;function o(){let t=0;for(;t<s.length;){if(s[t].call(),t++,t>1024){for(let e=0,i=s.length-t;e<i;e++)s[e]=s[e+t];s.length-=t,t=0}}s.length=0}const r="fast-"+Math.random().toString(36).substring(2,8),l=r+"{",h="}"+r,a=Object.freeze({supportsAdoptedStyleSheets:Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype,setHTMLPolicy(t){if(n!==i)throw new Error("The HTML policy can only be set once.");n=t},createHTML:t=>n.createHTML(t),isMarker:t=>t&&8===t.nodeType&&t.data.startsWith(r),extractDirectiveIndexFromMarker:t=>parseInt(t.data.replace(r+":","")),createInterpolationPlaceholder:t=>`${l}${t}${h}`,createCustomAttributePlaceholder(t,e){return`${t}="${this.createInterpolationPlaceholder(e)}"`},createBlockPlaceholder:t=>`\x3c!--${r}:${t}--\x3e`,queueUpdate(t){s.length<1&&window.requestAnimationFrame(o),s.push(t)},nextUpdate:()=>new Promise(t=>{a.queueUpdate(t)}),setAttribute(t,e,s){null==s?t.removeAttribute(e):t.setAttribute(e,s)},setBooleanAttribute(t,e,s){s?t.setAttribute(e,""):t.removeAttribute(e)},removeChildNodes(t){for(let e=t.firstChild;null!==e;e=t.firstChild)t.removeChild(e)},createTemplateWalker:t=>document.createTreeWalker(t,133,null,!1)});function c(t){const e=this.spillover;-1===e.indexOf(t)&&e.push(t)}function d(t){const e=this.spillover,s=e.indexOf(t);-1!==s&&e.splice(s,1)}function u(t){const e=this.spillover,s=this.source;for(let i=0,n=e.length;i<n;++i)e[i].handleChange(s,t)}function f(t){return-1!==this.spillover.indexOf(t)}class p{constructor(t,e){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.source=t,this.sub1=e}has(t){return this.sub1===t||this.sub2===t}subscribe(t){this.has(t)||(void 0!==this.sub1?void 0!==this.sub2?(this.spillover=[this.sub1,this.sub2,t],this.subscribe=c,this.unsubscribe=d,this.notify=u,this.has=f,this.sub1=void 0,this.sub2=void 0):this.sub2=t:this.sub1=t)}unsubscribe(t){this.sub1===t?this.sub1=void 0:this.sub2===t&&(this.sub2=void 0)}notify(t){const e=this.sub1,s=this.sub2,i=this.source;void 0!==e&&e.handleChange(i,t),void 0!==s&&s.handleChange(i,t)}}class g{constructor(t){this.subscribers={},this.source=t}notify(t){const e=this.subscribers[t];void 0!==e&&e.notify(t)}subscribe(t,e){let s=this.subscribers[e];void 0===s&&(this.subscribers[e]=s=new p(this.source)),s.subscribe(t)}unsubscribe(t,e){const s=this.subscribers[e];void 0!==s&&s.unsubscribe(t)}}const b=/(\:|\&\&|\|\||if)/,v=new WeakMap,m=new WeakMap;let y=void 0,C=t=>{throw new Error("Must call enableArrayObservation before observing arrays.")};class x{constructor(t){this.name=t,this.field="_"+t,this.callback=t+"Changed"}getValue(t){return void 0!==y&&y.watch(t,this.name),t[this.field]}setValue(t,e){const s=this.field,i=t[s];if(i!==e){t[s]=e;const n=t[this.callback];"function"==typeof n&&n.call(t,i,e),B(t).notify(this.name)}}}const w=Object.freeze({setArrayObserverFactory(t){C=t},getNotifier(t){let e=t.$fastController||v.get(t);return void 0===e&&(Array.isArray(t)?e=C(t):v.set(t,e=new g(t))),e},track(t,e){void 0!==y&&y.watch(t,e)},trackVolatile(){void 0!==y&&(y.needsRefresh=!0)},notify(t,e){B(t).notify(e)},defineProperty(t,e){"string"==typeof e&&(e=new x(e)),this.getAccessors(t).push(e),Reflect.defineProperty(t,e.name,{enumerable:!0,get:function(){return e.getValue(this)},set:function(t){e.setValue(this,t)}})},getAccessors(t){let e=m.get(t);if(void 0===e){let s=Reflect.getPrototypeOf(t);for(;void 0===e&&null!==s;)e=m.get(s),s=Reflect.getPrototypeOf(s);e=void 0===e?[]:e.slice(0),m.set(t,e)}return e},binding(t,e,s=this.isVolatileBinding(t)){return new M(t,e,s)},isVolatileBinding:t=>b.test(t.toString())}),B=w.getNotifier,S=w.trackVolatile,T=a.queueUpdate;function O(t,e){w.defineProperty(t,e)}function N(t,e,s){return Object.assign({},s,{get:function(){return S(),s.get.apply(this)}})}let A=null;function k(t){A=t}class V{constructor(){this.index=0,this.length=0,this.parent=null,this.parentContext=null}get event(){return A}get isEven(){return this.index%2==0}get isOdd(){return this.index%2!=0}get isFirst(){return 0===this.index}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}}w.defineProperty(V.prototype,"index"),w.defineProperty(V.prototype,"length");const F=Object.seal(new V);class M extends p{constructor(t,e,s=!1){super(t,e),this.binding=t,this.isVolatileBinding=s,this.needsRefresh=!0,this.needsQueue=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}observe(t,e){this.needsRefresh&&null!==this.last&&this.disconnect();const s=y;y=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;const i=this.binding(t,e);return y=s,i}disconnect(){if(null!==this.last){let t=this.first;for(;void 0!==t;)t.notifier.unsubscribe(this,t.propertyName),t=t.next;this.last=null,this.needsRefresh=!0}}watch(t,e){const s=this.last,i=B(t),n=null===s?this.first:{};if(n.propertySource=t,n.propertyName=e,n.notifier=i,i.subscribe(this,e),null!==s){if(!this.needsRefresh){y=void 0;const e=s.propertySource[s.propertyName];y=this,t===e&&(this.needsRefresh=!0)}s.next=n}this.last=n}handleChange(){this.needsQueue&&(this.needsQueue=!1,T(this))}call(){null!==this.last&&(this.needsQueue=!0,this.notify(this))}}class ${constructor(){this.targetIndex=0}}class I extends ${constructor(){super(...arguments),this.createPlaceholder=a.createInterpolationPlaceholder}}class E extends ${constructor(t,e,s){super(),this.name=t,this.behavior=e,this.options=s}createPlaceholder(t){return a.createCustomAttributePlaceholder(this.name,t)}createBehavior(t){return new this.behavior(t,this.options)}}function L(t,e){this.source=t,this.context=e,null===this.bindingObserver&&(this.bindingObserver=w.binding(this.binding,this,this.isBindingVolatile)),this.updateTarget(this.bindingObserver.observe(t,e))}function P(t,e){this.source=t,this.context=e,this.target.addEventListener(this.targetName,this)}function _(){this.bindingObserver.disconnect(),this.source=null,this.context=null}function j(){this.bindingObserver.disconnect(),this.source=null,this.context=null;const t=this.target.$fastView;void 0!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}function R(){this.target.removeEventListener(this.targetName,this),this.source=null,this.context=null}function z(t){a.setAttribute(this.target,this.targetName,t)}function H(t){a.setBooleanAttribute(this.target,this.targetName,t)}function Q(t){if(null==t&&(t=""),t.create){this.target.textContent="";let e=this.target.$fastView;void 0===e?e=t.create():this.target.$fastTemplate!==t&&(e.isComposed&&(e.remove(),e.unbind()),e=t.create()),e.isComposed?e.needsBindOnly&&(e.needsBindOnly=!1,e.bind(this.source,this.context)):(e.isComposed=!0,e.bind(this.source,this.context),e.insertBefore(this.target),this.target.$fastView=e,this.target.$fastTemplate=t)}else{const e=this.target.$fastView;void 0!==e&&e.isComposed&&(e.isComposed=!1,e.remove(),e.needsBindOnly?e.needsBindOnly=!1:e.unbind()),this.target.textContent=t}}function U(t){this.target[this.targetName]=t}function q(t){const e=this.classVersions||Object.create(null),s=this.target;let i=this.version||0;if(null!=t&&t.length){const n=t.split(/\s+/);for(let t=0,o=n.length;t<o;++t){const o=n[t];""!==o&&(e[o]=i,s.classList.add(o))}}if(this.classVersions=e,this.version=i+1,0!==i){i-=1;for(const t in e)e[t]===i&&s.classList.remove(t)}}class W extends I{constructor(t){super(),this.binding=t,this.bind=L,this.unbind=_,this.updateTarget=z,this.isBindingVolatile=w.isVolatileBinding(this.binding)}get targetName(){return this.originalTargetName}set targetName(t){if(this.originalTargetName=t,void 0!==t)switch(t[0]){case":":if(this.cleanedTargetName=t.substr(1),this.updateTarget=U,"innerHTML"===this.cleanedTargetName){const t=this.binding;this.binding=(e,s)=>a.createHTML(t(e,s))}break;case"?":this.cleanedTargetName=t.substr(1),this.updateTarget=H;break;case"@":this.cleanedTargetName=t.substr(1),this.bind=P,this.unbind=R;break;default:this.cleanedTargetName=t,"class"===t&&(this.updateTarget=q)}}targetAtContent(){this.updateTarget=Q,this.unbind=j}createBehavior(t){return new D(t,this.binding,this.isBindingVolatile,this.bind,this.unbind,this.updateTarget,this.cleanedTargetName)}}class D{constructor(t,e,s,i,n,o,r){this.source=null,this.context=null,this.bindingObserver=null,this.target=t,this.binding=e,this.isBindingVolatile=s,this.bind=i,this.unbind=n,this.updateTarget=o,this.targetName=r}handleChange(){this.updateTarget(this.bindingObserver.observe(this.source,this.context))}handleEvent(t){k(t);const e=this.binding(this.source,this.context);k(null),!0!==e&&t.preventDefault()}}class K{addFactory(t){t.targetIndex=this.targetIndex,this.behaviorFactories.push(t)}captureContentBinding(t){t.targetAtContent(),this.addFactory(t)}reset(){this.behaviorFactories=[],this.targetIndex=-1}release(){G=this}static borrow(t){const e=G||new K;return e.directives=t,e.reset(),G=null,e}}let G=null;function J(t){if(1===t.length)return t[0];let e;const s=t.length,i=t.map(t=>"string"==typeof t?()=>t:(e=t.targetName||e,t.binding)),n=new W((t,e)=>{let n="";for(let o=0;o<s;++o)n+=i[o](t,e);return n});return n.targetName=e,n}const X=h.length;function Y(t,e){const s=e.split(l);if(1===s.length)return null;const i=[];for(let e=0,n=s.length;e<n;++e){const n=s[e],o=n.indexOf(h);let r;if(-1===o)r=n;else{const e=parseInt(n.substring(0,o));i.push(t.directives[e]),r=n.substring(o+X)}""!==r&&i.push(r)}return i}function Z(t,e,s=!1){const i=e.attributes;for(let n=0,o=i.length;n<o;++n){const r=i[n],l=r.value,h=Y(t,l);let a=null;null===h?s&&(a=new W(()=>l),a.targetName=r.name):a=J(h),null!==a&&(e.removeAttributeNode(r),n--,o--,t.addFactory(a))}}function tt(t,e,s){const i=Y(t,e.textContent);if(null!==i){let n=e;for(let o=0,r=i.length;o<r;++o){const r=i[o],l=0===o?e:n.parentNode.insertBefore(document.createTextNode(""),n.nextSibling);"string"==typeof r?l.textContent=r:(l.textContent=" ",t.captureContentBinding(r)),n=l,t.targetIndex++,l!==e&&s.nextNode()}t.targetIndex--}}function et(t,e){const s=t.content;document.adoptNode(s);const i=K.borrow(e);Z(i,t,!0);const n=i.behaviorFactories;i.reset();const o=a.createTemplateWalker(s);let r;for(;r=o.nextNode();)switch(i.targetIndex++,r.nodeType){case 1:Z(i,r);break;case 3:tt(i,r,o);break;case 8:a.isMarker(r)&&i.addFactory(e[a.extractDirectiveIndexFromMarker(r)])}let l=0;(a.isMarker(s.firstChild)||1===s.childNodes.length&&e.length)&&(s.insertBefore(document.createComment(""),s.firstChild),l=-1);const h=i.behaviorFactories;return i.release(),{fragment:s,viewBehaviorFactories:h,hostBehaviorFactories:n,targetOffset:l}}const st=document.createRange();class it{constructor(t,e){this.fragment=t,this.behaviors=e,this.source=null,this.context=null,this.firstChild=t.firstChild,this.lastChild=t.lastChild}appendTo(t){t.appendChild(this.fragment)}insertBefore(t){if(this.fragment.hasChildNodes())t.parentNode.insertBefore(this.fragment,t);else{const e=t.parentNode,s=this.lastChild;let i,n=this.firstChild;for(;n!==s;)i=n.nextSibling,e.insertBefore(n,t),n=i;e.insertBefore(s,t)}}remove(){const t=this.fragment,e=this.lastChild;let s,i=this.firstChild;for(;i!==e;)s=i.nextSibling,t.appendChild(i),i=s;t.appendChild(e)}dispose(){const t=this.firstChild.parentNode,e=this.lastChild;let s,i=this.firstChild;for(;i!==e;)s=i.nextSibling,t.removeChild(i),i=s;t.removeChild(e);const n=this.behaviors,o=this.source;for(let t=0,e=n.length;t<e;++t)n[t].unbind(o)}bind(t,e){const s=this.behaviors;if(this.source!==t)if(null!==this.source){const i=this.source;this.source=t,this.context=e;for(let n=0,o=s.length;n<o;++n){const o=s[n];o.unbind(i),o.bind(t,e)}}else{this.source=t,this.context=e;for(let i=0,n=s.length;i<n;++i)s[i].bind(t,e)}}unbind(){if(null===this.source)return;const t=this.behaviors,e=this.source;for(let s=0,i=t.length;s<i;++s)t[s].unbind(e);this.source=null}static disposeContiguousBatch(t){if(0!==t.length){st.setStartBefore(t[0].firstChild),st.setEndAfter(t[t.length-1].lastChild),st.deleteContents();for(let e=0,s=t.length;e<s;++e){const s=t[e],i=s.behaviors,n=s.source;for(let t=0,e=i.length;t<e;++t)i[t].unbind(n)}}}}class nt{constructor(t,e){this.behaviorCount=0,this.hasHostBehaviors=!1,this.fragment=null,this.targetOffset=0,this.viewBehaviorFactories=null,this.hostBehaviorFactories=null,this.html=t,this.directives=e}create(t){if(null===this.fragment){let t;const e=this.html;if("string"==typeof e){t=document.createElement("template"),t.innerHTML=a.createHTML(e);const s=t.content.firstElementChild;null!==s&&"TEMPLATE"===s.tagName&&(t=s)}else t=e;const s=et(t,this.directives);this.fragment=s.fragment,this.viewBehaviorFactories=s.viewBehaviorFactories,this.hostBehaviorFactories=s.hostBehaviorFactories,this.targetOffset=s.targetOffset,this.behaviorCount=this.viewBehaviorFactories.length+this.hostBehaviorFactories.length,this.hasHostBehaviors=this.hostBehaviorFactories.length>0}const e=this.fragment.cloneNode(!0),s=this.viewBehaviorFactories,i=new Array(this.behaviorCount),n=a.createTemplateWalker(e);let o=0,r=this.targetOffset,l=n.nextNode();for(let t=s.length;o<t;++o){const t=s[o],e=t.targetIndex;for(;null!==l;){if(r===e){i[o]=t.createBehavior(l);break}l=n.nextNode(),r++}}if(this.hasHostBehaviors){const e=this.hostBehaviorFactories;for(let s=0,n=e.length;s<n;++s,++o)i[o]=e[s].createBehavior(t)}return new it(e,i)}render(t,e,s){"string"==typeof e&&(e=document.getElementById(e)),void 0===s&&(s=e);const i=this.create(s);return i.bind(t,F),i.appendTo(e),i}}const ot=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;function rt(t,...e){const s=[];let i="";for(let n=0,o=t.length-1;n<o;++n){const o=t[n];let r=e[n];if(i+=o,r instanceof nt){const t=r;r=()=>t}if("function"==typeof r&&(r=new W(r)),r instanceof I){const t=ot.exec(o);null!==t&&(r.targetName=t[2])}r instanceof $?(i+=r.createPlaceholder(s.length),s.push(r)):i+=r}return i+=t[t.length-1],new nt(i,s)}
const t=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof global)return global;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;try{return new Function("return this")()}catch(t){return{}}}();void 0===t.trustedTypes&&(t.trustedTypes={createPolicy:(t,e)=>e});const e=Object.freeze([]),s=[],i=t.trustedTypes.createPolicy("fast-html",{createHTML:t=>t});let n=i;function o(){let t=0;for(;t<s.length;){if(s[t].call(),t++,t>1024){for(let e=0,i=s.length-t;e<i;e++)s[e]=s[e+t];s.length-=t,t=0}}s.length=0}const r="fast-"+Math.random().toString(36).substring(2,8),l=r+"{",h="}"+r,a=Object.freeze({supportsAdoptedStyleSheets:Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype,setHTMLPolicy(t){if(n!==i)throw new Error("The HTML policy can only be set once.");n=t},createHTML:t=>n.createHTML(t),isMarker:t=>t&&8===t.nodeType&&t.data.startsWith(r),extractDirectiveIndexFromMarker:t=>parseInt(t.data.replace(r+":","")),createInterpolationPlaceholder:t=>`${l}${t}${h}`,createCustomAttributePlaceholder(t,e){return`${t}="${this.createInterpolationPlaceholder(e)}"`},createBlockPlaceholder:t=>`\x3c!--${r}:${t}--\x3e`,queueUpdate(t){s.length<1&&window.requestAnimationFrame(o),s.push(t)},nextUpdate:()=>new Promise(t=>{a.queueUpdate(t)}),setAttribute(t,e,s){null==s?t.removeAttribute(e):t.setAttribute(e,s)},setBooleanAttribute(t,e,s){s?t.setAttribute(e,""):t.removeAttribute(e)},removeChildNodes(t){for(let e=t.firstChild;null!==e;e=t.firstChild)t.removeChild(e)},createTemplateWalker:t=>document.createTreeWalker(t,133,null,!1)});function c(t){const e=this.spillover;-1===e.indexOf(t)&&e.push(t)}function d(t){const e=this.spillover,s=e.indexOf(t);-1!==s&&e.splice(s,1)}function u(t){const e=this.spillover,s=this.source;for(let i=0,n=e.length;i<n;++i)e[i].handleChange(s,t)}function f(t){return-1!==this.spillover.indexOf(t)}class p{constructor(t,e){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.source=t,this.sub1=e}has(t){return this.sub1===t||this.sub2===t}subscribe(t){this.has(t)||(void 0!==this.sub1?void 0!==this.sub2?(this.spillover=[this.sub1,this.sub2,t],this.subscribe=c,this.unsubscribe=d,this.notify=u,this.has=f,this.sub1=void 0,this.sub2=void 0):this.sub2=t:this.sub1=t)}unsubscribe(t){this.sub1===t?this.sub1=void 0:this.sub2===t&&(this.sub2=void 0)}notify(t){const e=this.sub1,s=this.sub2,i=this.source;void 0!==e&&e.handleChange(i,t),void 0!==s&&s.handleChange(i,t)}}class g{constructor(t){this.subscribers={},this.source=t}notify(t){const e=this.subscribers[t];void 0!==e&&e.notify(t)}subscribe(t,e){let s=this.subscribers[e];void 0===s&&(this.subscribers[e]=s=new p(this.source)),s.subscribe(t)}unsubscribe(t,e){const s=this.subscribers[e];void 0!==s&&s.unsubscribe(t)}}const b=/(:|&&|\|\||if)/,v=new WeakMap,m=new WeakMap;let y=void 0,C=t=>{throw new Error("Must call enableArrayObservation before observing arrays.")};class x{constructor(t){this.name=t,this.field="_"+t,this.callback=t+"Changed"}getValue(t){return void 0!==y&&y.watch(t,this.name),t[this.field]}setValue(t,e){const s=this.field,i=t[s];if(i!==e){t[s]=e;const n=t[this.callback];"function"==typeof n&&n.call(t,i,e),B(t).notify(this.name)}}}const w=Object.freeze({setArrayObserverFactory(t){C=t},getNotifier(t){let e=t.$fastController||v.get(t);return void 0===e&&(Array.isArray(t)?e=C(t):v.set(t,e=new g(t))),e},track(t,e){void 0!==y&&y.watch(t,e)},trackVolatile(){void 0!==y&&(y.needsRefresh=!0)},notify(t,e){B(t).notify(e)},defineProperty(t,e){"string"==typeof e&&(e=new x(e)),this.getAccessors(t).push(e),Reflect.defineProperty(t,e.name,{enumerable:!0,get:function(){return e.getValue(this)},set:function(t){e.setValue(this,t)}})},getAccessors(t){let e=m.get(t);if(void 0===e){let s=Reflect.getPrototypeOf(t);for(;void 0===e&&null!==s;)e=m.get(s),s=Reflect.getPrototypeOf(s);e=void 0===e?[]:e.slice(0),m.set(t,e)}return e},binding(t,e,s=this.isVolatileBinding(t)){return new M(t,e,s)},isVolatileBinding:t=>b.test(t.toString())}),B=w.getNotifier,S=w.trackVolatile,T=a.queueUpdate;function O(t,e){w.defineProperty(t,e)}function N(t,e,s){return Object.assign({},s,{get:function(){return S(),s.get.apply(this)}})}let A=null;function k(t){A=t}class V{constructor(){this.index=0,this.length=0,this.parent=null,this.parentContext=null}get event(){return A}get isEven(){return this.index%2==0}get isOdd(){return this.index%2!=0}get isFirst(){return 0===this.index}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}}w.defineProperty(V.prototype,"index"),w.defineProperty(V.prototype,"length");const F=Object.seal(new V);class M extends p{constructor(t,e,s=!1){super(t,e),this.binding=t,this.isVolatileBinding=s,this.needsRefresh=!0,this.needsQueue=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}observe(t,e){this.needsRefresh&&null!==this.last&&this.disconnect();const s=y;y=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;const i=this.binding(t,e);return y=s,i}disconnect(){if(null!==this.last){let t=this.first;for(;void 0!==t;)t.notifier.unsubscribe(this,t.propertyName),t=t.next;this.last=null,this.needsRefresh=this.needsQueue=!0}}watch(t,e){const s=this.last,i=B(t),n=null===s?this.first:{};if(n.propertySource=t,n.propertyName=e,n.notifier=i,i.subscribe(this,e),null!==s){if(!this.needsRefresh){y=void 0;const e=s.propertySource[s.propertyName];y=this,t===e&&(this.needsRefresh=!0)}s.next=n}this.last=n}handleChange(){this.needsQueue&&(this.needsQueue=!1,T(this))}call(){null!==this.last&&(this.needsQueue=!0,this.notify(this))}}class ${constructor(){this.targetIndex=0}}class I extends ${constructor(){super(...arguments),this.createPlaceholder=a.createInterpolationPlaceholder}}class E extends ${constructor(t,e,s){super(),this.name=t,this.behavior=e,this.options=s}createPlaceholder(t){return a.createCustomAttributePlaceholder(this.name,t)}createBehavior(t){return new this.behavior(t,this.options)}}function L(t,e){this.source=t,this.context=e,null===this.bindingObserver&&(this.bindingObserver=w.binding(this.binding,this,this.isBindingVolatile)),this.updateTarget(this.bindingObserver.observe(t,e))}function P(t,e){this.source=t,this.context=e,this.target.addEventListener(this.targetName,this)}function _(){this.bindingObserver.disconnect(),this.source=null,this.context=null}function j(){this.bindingObserver.disconnect(),this.source=null,this.context=null;const t=this.target.$fastView;void 0!==t&&t.isComposed&&(t.unbind(),t.needsBindOnly=!0)}function R(){this.target.removeEventListener(this.targetName,this),this.source=null,this.context=null}function z(t){a.setAttribute(this.target,this.targetName,t)}function H(t){a.setBooleanAttribute(this.target,this.targetName,t)}function Q(t){if(null==t&&(t=""),t.create){this.target.textContent="";let e=this.target.$fastView;void 0===e?e=t.create():this.target.$fastTemplate!==t&&(e.isComposed&&(e.remove(),e.unbind()),e=t.create()),e.isComposed?e.needsBindOnly&&(e.needsBindOnly=!1,e.bind(this.source,this.context)):(e.isComposed=!0,e.bind(this.source,this.context),e.insertBefore(this.target),this.target.$fastView=e,this.target.$fastTemplate=t)}else{const e=this.target.$fastView;void 0!==e&&e.isComposed&&(e.isComposed=!1,e.remove(),e.needsBindOnly?e.needsBindOnly=!1:e.unbind()),this.target.textContent=t}}function U(t){this.target[this.targetName]=t}function q(t){const e=this.classVersions||Object.create(null),s=this.target;let i=this.version||0;if(null!=t&&t.length){const n=t.split(/\s+/);for(let t=0,o=n.length;t<o;++t){const o=n[t];""!==o&&(e[o]=i,s.classList.add(o))}}if(this.classVersions=e,this.version=i+1,0!==i){i-=1;for(const t in e)e[t]===i&&s.classList.remove(t)}}class W extends I{constructor(t){super(),this.binding=t,this.bind=L,this.unbind=_,this.updateTarget=z,this.isBindingVolatile=w.isVolatileBinding(this.binding)}get targetName(){return this.originalTargetName}set targetName(t){if(this.originalTargetName=t,void 0!==t)switch(t[0]){case":":if(this.cleanedTargetName=t.substr(1),this.updateTarget=U,"innerHTML"===this.cleanedTargetName){const t=this.binding;this.binding=(e,s)=>a.createHTML(t(e,s))}break;case"?":this.cleanedTargetName=t.substr(1),this.updateTarget=H;break;case"@":this.cleanedTargetName=t.substr(1),this.bind=P,this.unbind=R;break;default:this.cleanedTargetName=t,"class"===t&&(this.updateTarget=q)}}targetAtContent(){this.updateTarget=Q,this.unbind=j}createBehavior(t){return new D(t,this.binding,this.isBindingVolatile,this.bind,this.unbind,this.updateTarget,this.cleanedTargetName)}}class D{constructor(t,e,s,i,n,o,r){this.source=null,this.context=null,this.bindingObserver=null,this.target=t,this.binding=e,this.isBindingVolatile=s,this.bind=i,this.unbind=n,this.updateTarget=o,this.targetName=r}handleChange(){this.updateTarget(this.bindingObserver.observe(this.source,this.context))}handleEvent(t){k(t);const e=this.binding(this.source,this.context);k(null),!0!==e&&t.preventDefault()}}let K=null;class G{addFactory(t){t.targetIndex=this.targetIndex,this.behaviorFactories.push(t)}captureContentBinding(t){t.targetAtContent(),this.addFactory(t)}reset(){this.behaviorFactories=[],this.targetIndex=-1}release(){K=this}static borrow(t){const e=K||new G;return e.directives=t,e.reset(),K=null,e}}function J(t){if(1===t.length)return t[0];let e;const s=t.length,i=t.map(t=>"string"==typeof t?()=>t:(e=t.targetName||e,t.binding)),n=new W((t,e)=>{let n="";for(let o=0;o<s;++o)n+=i[o](t,e);return n});return n.targetName=e,n}const X=h.length;function Y(t,e){const s=e.split(l);if(1===s.length)return null;const i=[];for(let e=0,n=s.length;e<n;++e){const n=s[e],o=n.indexOf(h);let r;if(-1===o)r=n;else{const e=parseInt(n.substring(0,o));i.push(t.directives[e]),r=n.substring(o+X)}""!==r&&i.push(r)}return i}function Z(t,e,s=!1){const i=e.attributes;for(let n=0,o=i.length;n<o;++n){const r=i[n],l=r.value,h=Y(t,l);let a=null;null===h?s&&(a=new W(()=>l),a.targetName=r.name):a=J(h),null!==a&&(e.removeAttributeNode(r),n--,o--,t.addFactory(a))}}function tt(t,e,s){const i=Y(t,e.textContent);if(null!==i){let n=e;for(let o=0,r=i.length;o<r;++o){const r=i[o],l=0===o?e:n.parentNode.insertBefore(document.createTextNode(""),n.nextSibling);"string"==typeof r?l.textContent=r:(l.textContent=" ",t.captureContentBinding(r)),n=l,t.targetIndex++,l!==e&&s.nextNode()}t.targetIndex--}}function et(t,e){const s=t.content;document.adoptNode(s);const i=G.borrow(e);Z(i,t,!0);const n=i.behaviorFactories;i.reset();const o=a.createTemplateWalker(s);let r;for(;r=o.nextNode();)switch(i.targetIndex++,r.nodeType){case 1:Z(i,r);break;case 3:tt(i,r,o);break;case 8:a.isMarker(r)&&i.addFactory(e[a.extractDirectiveIndexFromMarker(r)])}let l=0;(a.isMarker(s.firstChild)||1===s.childNodes.length&&e.length)&&(s.insertBefore(document.createComment(""),s.firstChild),l=-1);const h=i.behaviorFactories;return i.release(),{fragment:s,viewBehaviorFactories:h,hostBehaviorFactories:n,targetOffset:l}}const st=document.createRange();class it{constructor(t,e){this.fragment=t,this.behaviors=e,this.source=null,this.context=null,this.firstChild=t.firstChild,this.lastChild=t.lastChild}appendTo(t){t.appendChild(this.fragment)}insertBefore(t){if(this.fragment.hasChildNodes())t.parentNode.insertBefore(this.fragment,t);else{const e=t.parentNode,s=this.lastChild;let i,n=this.firstChild;for(;n!==s;)i=n.nextSibling,e.insertBefore(n,t),n=i;e.insertBefore(s,t)}}remove(){const t=this.fragment,e=this.lastChild;let s,i=this.firstChild;for(;i!==e;)s=i.nextSibling,t.appendChild(i),i=s;t.appendChild(e)}dispose(){const t=this.firstChild.parentNode,e=this.lastChild;let s,i=this.firstChild;for(;i!==e;)s=i.nextSibling,t.removeChild(i),i=s;t.removeChild(e);const n=this.behaviors,o=this.source;for(let t=0,e=n.length;t<e;++t)n[t].unbind(o)}bind(t,e){const s=this.behaviors;if(this.source!==t)if(null!==this.source){const i=this.source;this.source=t,this.context=e;for(let n=0,o=s.length;n<o;++n){const o=s[n];o.unbind(i),o.bind(t,e)}}else{this.source=t,this.context=e;for(let i=0,n=s.length;i<n;++i)s[i].bind(t,e)}}unbind(){if(null===this.source)return;const t=this.behaviors,e=this.source;for(let s=0,i=t.length;s<i;++s)t[s].unbind(e);this.source=null}static disposeContiguousBatch(t){if(0!==t.length){st.setStartBefore(t[0].firstChild),st.setEndAfter(t[t.length-1].lastChild),st.deleteContents();for(let e=0,s=t.length;e<s;++e){const s=t[e],i=s.behaviors,n=s.source;for(let t=0,e=i.length;t<e;++t)i[t].unbind(n)}}}}class nt{constructor(t,e){this.behaviorCount=0,this.hasHostBehaviors=!1,this.fragment=null,this.targetOffset=0,this.viewBehaviorFactories=null,this.hostBehaviorFactories=null,this.html=t,this.directives=e}create(t){if(null===this.fragment){let t;const e=this.html;if("string"==typeof e){t=document.createElement("template"),t.innerHTML=a.createHTML(e);const s=t.content.firstElementChild;null!==s&&"TEMPLATE"===s.tagName&&(t=s)}else t=e;const s=et(t,this.directives);this.fragment=s.fragment,this.viewBehaviorFactories=s.viewBehaviorFactories,this.hostBehaviorFactories=s.hostBehaviorFactories,this.targetOffset=s.targetOffset,this.behaviorCount=this.viewBehaviorFactories.length+this.hostBehaviorFactories.length,this.hasHostBehaviors=this.hostBehaviorFactories.length>0}const e=this.fragment.cloneNode(!0),s=this.viewBehaviorFactories,i=new Array(this.behaviorCount),n=a.createTemplateWalker(e);let o=0,r=this.targetOffset,l=n.nextNode();for(let t=s.length;o<t;++o){const t=s[o],e=t.targetIndex;for(;null!==l;){if(r===e){i[o]=t.createBehavior(l);break}l=n.nextNode(),r++}}if(this.hasHostBehaviors){const e=this.hostBehaviorFactories;for(let s=0,n=e.length;s<n;++s,++o)i[o]=e[s].createBehavior(t)}return new it(e,i)}render(t,e,s){"string"==typeof e&&(e=document.getElementById(e)),void 0===s&&(s=e);const i=this.create(s);return i.bind(t,F),i.appendTo(e),i}}const ot=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;function rt(t,...e){const s=[];let i="";for(let n=0,o=t.length-1;n<o;++n){const o=t[n];let r=e[n];if(i+=o,r instanceof nt){const t=r;r=()=>t}if("function"==typeof r&&(r=new W(r)),r instanceof I){const t=ot.exec(o);null!==t&&(r.targetName=t[2])}r instanceof $?(i+=r.createPlaceholder(s.length),s.push(r)):i+=r}return i+=t[t.length-1],new nt(i,s)}
/*! *****************************************************************************

@@ -15,2 +15,2 @@ Copyright (c) Microsoft Corporation.

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */const lt=new Map;class ht{constructor(){this.targets=new WeakSet,this.behaviors=null}addStylesTo(t){this.targets.add(t)}removeStylesFrom(t){this.targets.delete(t)}isAttachedTo(t){return this.targets.has(t)}withBehaviors(...t){return this.behaviors=null===this.behaviors?t:this.behaviors.concat(t),this}withKey(t){return lt.set(t,this),this}static find(t){return lt.get(t)||null}}function at(t){return t.map(t=>t instanceof ht?at(t.styles):[t]).reduce((t,e)=>t.concat(e),[])}function ct(t){return t.map(t=>t instanceof ht?t.behaviors:null).reduce((t,e)=>null===e?t:(null===t&&(t=[]),t.concat(e)),null)}ht.create=(()=>{if(a.supportsAdoptedStyleSheets){const t=new Map;return e=>new dt(e,t)}return t=>new ft(t)})();class dt extends ht{constructor(t,e){super(),this.styles=t,this.behaviors=null,this.behaviors=ct(t),this.styleSheets=at(t).map(t=>{if(t instanceof CSSStyleSheet)return t;let s=e.get(t);return void 0===s&&(s=new CSSStyleSheet,s.replaceSync(t),e.set(t,s)),s})}addStylesTo(t){t.adoptedStyleSheets=[...t.adoptedStyleSheets,...this.styleSheets],super.addStylesTo(t)}removeStylesFrom(t){const e=this.styleSheets;t.adoptedStyleSheets=t.adoptedStyleSheets.filter(t=>-1===e.indexOf(t)),super.removeStylesFrom(t)}}let ut=0;class ft extends ht{constructor(t){super(),this.styles=t,this.behaviors=null,this.behaviors=ct(t),this.styleSheets=at(t),this.styleClass="fast-style-class-"+ ++ut}addStylesTo(t){const e=this.styleSheets,s=this.styleClass;t=this.normalizeTarget(t);for(let i=e.length-1;i>-1;--i){const n=document.createElement("style");n.innerHTML=e[i],n.className=s,t.prepend(n)}super.addStylesTo(t)}removeStylesFrom(t){const e=(t=this.normalizeTarget(t)).querySelectorAll("."+this.styleClass);for(let s=0,i=e.length;s<i;++s)t.removeChild(e[s]);super.removeStylesFrom(t)}isAttachedTo(t){return super.isAttachedTo(this.normalizeTarget(t))}normalizeTarget(t){return t===document?document.body:t}}const pt={toView:t=>t?"true":"false",fromView:t=>null!=t&&"false"!==t&&!1!==t&&0!==t},gt={toView(t){if(null==t)return null;const e=1*t;return isNaN(e)?null:e.toString()},fromView(t){if(null==t)return null;const e=1*t;return isNaN(e)?null:e}};class bt{constructor(t,e,s=e.toLowerCase(),i="reflect",n){this.guards=new Set,this.Owner=t,this.name=e,this.attribute=s,this.mode=i,this.converter=n,this.fieldName="_"+e,this.callbackName=e+"Changed",this.hasCallback=this.callbackName in t.prototype,"boolean"===i&&void 0===n&&(this.converter=pt)}setValue(t,e){const s=t[this.fieldName],i=this.converter;void 0!==i&&(e=i.fromView(e)),s!==e&&(t[this.fieldName]=e,this.tryReflectToAttribute(t),this.hasCallback&&t[this.callbackName](s,e),t.$fastController.notify(this.name))}getValue(t){return w.track(t,this.name),t[this.fieldName]}onAttributeChangedCallback(t,e){this.guards.has(t)||(this.guards.add(t),this.setValue(t,e),this.guards.delete(t))}tryReflectToAttribute(t){const e=this.mode,s=this.guards;s.has(t)||"fromView"===e||a.queueUpdate(()=>{s.add(t);const i=t[this.fieldName];switch(e){case"reflect":const e=this.converter;a.setAttribute(t,this.attribute,void 0!==e?e.toView(i):i);break;case"boolean":a.setBooleanAttribute(t,this.attribute,i)}s.delete(t)})}static collect(t,...e){const s=[];e.push(t.attributes);for(let i=0,n=e.length;i<n;++i){const n=e[i];if(void 0!==n)for(let e=0,i=n.length;e<i;++e){const i=n[e];"string"==typeof i?s.push(new bt(t,i)):s.push(new bt(t,i.property,i.attribute,i.mode,i.converter))}}return s}}function vt(t,e){let s;function i(t,e){arguments.length>1&&(s.property=e);const i=t.constructor.attributes||(t.constructor.attributes=[]);i.push(s)}return arguments.length>1?(s={},void i(t,e)):(s=void 0===t?{}:t,i)}const mt={mode:"open"},yt={},Ct=new Map;class xt{constructor(t,e=t.definition){"string"==typeof e&&(e={name:e}),this.type=t,this.name=e.name,this.template=e.template;const s=bt.collect(t,e.attributes),i=new Array(s.length),n={},o={};for(let t=0,e=s.length;t<e;++t){const e=s[t];i[t]=e.attribute,n[e.name]=e,o[e.attribute]=e}this.attributes=s,this.observedAttributes=i,this.propertyLookup=n,this.attributeLookup=o,this.shadowOptions=void 0===e.shadowOptions?mt:null===e.shadowOptions?void 0:Object.assign(Object.assign({},mt),e.shadowOptions),this.elementOptions=void 0===e.elementOptions?yt:Object.assign(Object.assign({},yt),e.elementOptions),this.styles=void 0===e.styles?void 0:Array.isArray(e.styles)?ht.create(e.styles):e.styles instanceof ht?e.styles:ht.create([e.styles])}define(t=customElements){const e=this.type;if(!this.isDefined){const t=this.attributes,s=e.prototype;for(let e=0,i=t.length;e<i;++e)w.defineProperty(s,t[e]);Reflect.defineProperty(e,"observedAttributes",{value:this.observedAttributes,enumerable:!0}),Ct.set(e,this),this.isDefined=!0}return t.get(this.name)||t.define(this.name,e,this.elementOptions),this}static forType(t){return Ct.get(t)}}const wt=new WeakMap,Bt={bubbles:!0,composed:!0};function St(t){return t.shadowRoot||wt.get(t)||null}class Tt extends g{constructor(t,e){super(t),this.boundObservables=null,this.behaviors=null,this.needsInitialization=!0,this._template=null,this._styles=null,this.view=null,this.isConnected=!1,this.element=t,this.definition=e;const s=e.shadowOptions;if(void 0!==s){const e=t.attachShadow(s);"closed"===s.mode&&wt.set(t,e)}const i=w.getAccessors(t);if(i.length>0){const e=this.boundObservables=Object.create(null);for(let s=0,n=i.length;s<n;++s){const n=i[s].name,o=t[n];void 0!==o&&(delete t[n],e[n]=o)}}}get template(){return this._template}set template(t){this._template!==t&&(this._template=t,this.needsInitialization||this.renderTemplate(t))}get styles(){return this._styles}set styles(t){this._styles!==t&&(null!==this._styles&&this.removeStyles(this._styles),this._styles=t,this.needsInitialization||null===t||this.addStyles(t))}addStyles(t){const e=St(this.element)||this.element.getRootNode();if(t instanceof HTMLStyleElement)e.prepend(t);else if(!t.isAttachedTo(e)){const s=t.behaviors;t.addStylesTo(e),null!==s&&this.addBehaviors(s)}}removeStyles(t){const e=St(this.element)||this.element.getRootNode();if(t instanceof HTMLStyleElement)e.removeChild(t);else if(t.isAttachedTo(e)){const s=t.behaviors;t.removeStylesFrom(e),null!==s&&this.removeBehaviors(s)}}addBehaviors(t){const e=this.behaviors||(this.behaviors=new Map),s=t.length,i=[];for(let n=0;n<s;++n){const s=t[n];e.has(s)?e.set(s,e.get(s)+1):(e.set(s,1),i.push(s))}if(this.isConnected){const t=this.element;for(let e=0;e<i.length;++e)i[e].bind(t,F)}}removeBehaviors(t,e=!1){const s=this.behaviors;if(null===s)return;const i=t.length,n=[];for(let o=0;o<i;++o){const i=t[o];if(s.has(i)){const t=s.get(i)-1;0===t||e?s.delete(i)&&n.push(i):s.set(i,t)}}if(this.isConnected){const t=this.element;for(let e=0;e<n.length;++e)n[e].unbind(t)}}onConnectedCallback(){if(this.isConnected)return;const t=this.element;this.needsInitialization?this.finishInitialization():null!==this.view&&this.view.bind(t,F);const e=this.behaviors;if(null!==e)for(let[s]of e)s.bind(t,F);this.isConnected=!0}onDisconnectedCallback(){if(!1===this.isConnected)return;this.isConnected=!1;const t=this.view;null!==t&&t.unbind();const e=this.behaviors;if(null!==e){const t=this.element;for(let[s]of e)s.unbind(t)}}onAttributeChangedCallback(t,e,s){const i=this.definition.attributeLookup[t];void 0!==i&&i.onAttributeChangedCallback(this.element,s)}emit(t,e,s){return!!this.isConnected&&this.element.dispatchEvent(new CustomEvent(t,Object.assign(Object.assign({detail:e},Bt),s)))}finishInitialization(){const t=this.element,e=this.boundObservables;if(null!==e){const s=Object.keys(e);for(let i=0,n=s.length;i<n;++i){const n=s[i];t[n]=e[n]}this.boundObservables=null}const s=this.definition;null===this._template&&(this.element.resolveTemplate?this._template=this.element.resolveTemplate():s.template&&(this._template=s.template||null)),null!==this._template&&this.renderTemplate(this._template),null===this._styles&&(this.element.resolveStyles?this._styles=this.element.resolveStyles():s.styles&&(this._styles=s.styles||null)),null!==this._styles&&this.addStyles(this._styles),this.needsInitialization=!1}renderTemplate(t){const e=this.element,s=St(e)||e;null!==this.view?(this.view.dispose(),this.view=null):this.needsInitialization||a.removeChildNodes(s),t&&(this.view=t.render(e,s,e))}static forCustomElement(t){const e=t.$fastController;if(void 0!==e)return e;const s=xt.forType(t.constructor);if(void 0===s)throw new Error("Missing FASTElement definition.");return t.$fastController=new Tt(t,s)}}function Ot(t){return class extends t{constructor(){super(),Tt.forCustomElement(this)}$emit(t,e,s){return this.$fastController.emit(t,e,s)}connectedCallback(){this.$fastController.onConnectedCallback()}disconnectedCallback(){this.$fastController.onDisconnectedCallback()}attributeChangedCallback(t,e,s){this.$fastController.onAttributeChangedCallback(t,e,s)}}}!function(t,e,s,i){var n,o=arguments.length,r=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,s,i);else for(var l=t.length-1;l>=0;l--)(n=t[l])&&(r=(o<3?n(r):o>3?n(e,s,r):n(e,s))||r);o>3&&r&&Object.defineProperty(e,s,r)}([O],Tt.prototype,"isConnected",void 0);const Nt=Object.assign(Ot(HTMLElement),{from:t=>Ot(t),define:(t,e)=>new xt(t,e).define().type});function At(t){return function(e){new xt(e,t).define()}}class kt{createCSS(){return""}createBehavior(){}}function Vt(t,...e){const s=[];let i="";const n=[];for(let o=0,r=t.length-1;o<r;++o){i+=t[o];let r=e[o];if(r instanceof kt){const t=r.createBehavior();r=r.createCSS(),t&&n.push(t)}r instanceof ht||r instanceof CSSStyleSheet?(""!==i.trim()&&(s.push(i),i=""),s.push(r)):i+=r}i+=t[t.length-1],""!==i.trim()&&s.push(i);const o=ht.create(s);return n.length&&o.withBehaviors(...n),o}function Ft(t,e,s){return{index:t,removed:e,addedCount:s}}function Mt(t,s,i,n,o,r){let l=0,h=0;const a=Math.min(i-s,r-o);if(0===s&&0===o&&(l=function(t,e,s){for(let i=0;i<s;++i)if(t[i]!==e[i])return i;return s}(t,n,a)),i===t.length&&r===n.length&&(h=function(t,e,s){let i=t.length,n=e.length,o=0;for(;o<s&&t[--i]===e[--n];)o++;return o}(t,n,a-l)),o+=l,r-=h,(i-=h)-(s+=l)==0&&r-o==0)return e;if(s===i){const t=Ft(s,[],0);for(;o<r;)t.removed.push(n[o++]);return[t]}if(o===r)return[Ft(s,[],i-s)];const c=function(t){let e=t.length-1,s=t[0].length-1,i=t[e][s];const n=[];for(;e>0||s>0;){if(0===e){n.push(2),s--;continue}if(0===s){n.push(3),e--;continue}const o=t[e-1][s-1],r=t[e-1][s],l=t[e][s-1];let h;h=r<l?r<o?r:o:l<o?l:o,h===o?(o===i?n.push(0):(n.push(1),i=o),e--,s--):h===r?(n.push(3),e--,i=r):(n.push(2),s--,i=l)}return n.reverse(),n}(function(t,e,s,i,n,o){const r=o-n+1,l=s-e+1,h=new Array(r);let a,c;for(let t=0;t<r;++t)h[t]=new Array(l),h[t][0]=t;for(let t=0;t<l;++t)h[0][t]=t;for(let s=1;s<r;++s)for(let o=1;o<l;++o)t[e+o-1]===i[n+s-1]?h[s][o]=h[s-1][o-1]:(a=h[s-1][o]+1,c=h[s][o-1]+1,h[s][o]=a<c?a:c);return h}(t,s,i,n,o,r)),d=[];let u=void 0,f=s,p=o;for(let t=0;t<c.length;++t)switch(c[t]){case 0:void 0!==u&&(d.push(u),u=void 0),f++,p++;break;case 1:void 0===u&&(u=Ft(f,[],0)),u.addedCount++,f++,u.removed.push(n[p]),p++;break;case 2:void 0===u&&(u=Ft(f,[],0)),u.addedCount++,f++;break;case 3:void 0===u&&(u=Ft(f,[],0)),u.removed.push(n[p]),p++}return void 0!==u&&d.push(u),d}const $t=Array.prototype.push;function It(t,e,s,i){const n=Ft(e,s,i);let o=!1,r=0;for(let e=0;e<t.length;e++){const s=t[e];if(s.index+=r,o)continue;const i=(l=n.index,h=n.index+n.removed.length,a=s.index,c=s.index+s.addedCount,h<a||c<l?-1:h===a||c===l?0:l<a?h<c?h-a:c-a:c<h?c-l:h-l);if(i>=0){t.splice(e,1),e--,r-=s.addedCount-s.removed.length,n.addedCount+=s.addedCount-i;const l=n.removed.length+s.removed.length-i;if(n.addedCount||l){let t=s.removed;if(n.index<s.index){const e=n.removed.slice(0,s.index-n.index);$t.apply(e,t),t=e}if(n.index+n.removed.length>s.index+s.addedCount){const e=n.removed.slice(s.index+s.addedCount-n.index);$t.apply(t,e)}n.removed=t,s.index<n.index&&(n.index=s.index)}else o=!0}else if(n.index<s.index){o=!0,t.splice(e,0,n),e++;const i=n.addedCount-n.removed.length;s.index+=i,r+=i}}var l,h,a,c;o||t.push(n)}function Et(t,e){let s=[];const i=function(t){const e=[];for(let s=0,i=t.length;s<i;s++){const i=t[s];It(e,i.index,i.removed,i.addedCount)}return e}(e);for(let e=0,n=i.length;e<n;++e){const n=i[e];1!==n.addedCount||1!==n.removed.length?s=s.concat(Mt(t,n.index,n.index+n.addedCount,n.removed,0,n.removed.length)):n.removed[0]!==t[n.index]&&s.push(n)}return s}let Lt=!1;function Pt(t,e){let s=t.index;const i=e.length;return s>i?s=i-t.addedCount:s<0&&(s=i+t.removed.length+s-t.addedCount),s<0&&(s=0),t.index=s,t}class _t extends p{constructor(t){super(t),this.oldCollection=void 0,this.splices=void 0,this.needsQueue=!0,this.call=this.flush,t.$fastController=this}addSplice(t){void 0===this.splices?this.splices=[t]:this.splices.push(t),this.needsQueue&&(this.needsQueue=!1,a.queueUpdate(this))}reset(t){this.oldCollection=t,this.needsQueue&&(this.needsQueue=!1,a.queueUpdate(this))}flush(){const t=this.splices,e=this.oldCollection;if(void 0===t&&void 0===e)return;this.needsQueue=!0,this.splices=void 0,this.oldCollection=void 0;const s=void 0===e?Et(this.source,t):Mt(this.source,0,this.source.length,e,0,e.length);this.notify(s)}}function jt(){if(Lt)return;Lt=!0,w.setArrayObserverFactory(t=>new _t(t));const t=Array.prototype,e=t.pop,s=t.push,i=t.reverse,n=t.shift,o=t.sort,r=t.splice,l=t.unshift;t.pop=function(){const t=this.length>0,s=e.apply(this,arguments),i=this.$fastController;return void 0!==i&&t&&i.addSplice(Ft(this.length,[s],0)),s},t.push=function(){const t=s.apply(this,arguments),e=this.$fastController;return void 0!==e&&e.addSplice(Pt(Ft(this.length-arguments.length,[],arguments.length),this)),t},t.reverse=function(){let t;const e=this.$fastController;void 0!==e&&(e.flush(),t=this.slice());const s=i.apply(this,arguments);return void 0!==e&&e.reset(t),s},t.shift=function(){const t=this.length>0,e=n.apply(this,arguments),s=this.$fastController;return void 0!==s&&t&&s.addSplice(Ft(0,[e],0)),e},t.sort=function(){let t;const e=this.$fastController;void 0!==e&&(e.flush(),t=this.slice());const s=o.apply(this,arguments);return void 0!==e&&e.reset(t),s},t.splice=function(){const t=r.apply(this,arguments),e=this.$fastController;return void 0!==e&&e.addSplice(Pt(Ft(+arguments[0],t,arguments.length>2?arguments.length-2:0),this)),t},t.unshift=function(){const t=l.apply(this,arguments),e=this.$fastController;return void 0!==e&&e.addSplice(Pt(Ft(0,[],arguments.length),this)),t}}class Rt{constructor(t,e){this.target=t,this.propertyName=e}bind(t){t[this.propertyName]=this.target}unbind(){}}function zt(t){return new E("fast-ref",Rt,t)}function Ht(t,e){const s="function"==typeof e?e:()=>e;return(e,i)=>t(e,i)?s(e,i):null}const Qt=Object.freeze({positioning:!1});function Ut(t,e,s,i){t.bind(e[s],i)}function qt(t,e,s,i){const n=Object.create(i);n.index=s,n.length=e.length,t.bind(e[s],n)}class Wt{constructor(t,e,s,i,n,o){this.location=t,this.itemsBinding=e,this.templateBinding=i,this.options=o,this.source=null,this.views=[],this.items=null,this.itemsObserver=null,this.originalContext=void 0,this.childContext=void 0,this.bindView=Ut,this.itemsBindingObserver=w.binding(e,this,s),this.templateBindingObserver=w.binding(i,this,n),o.positioning&&(this.bindView=qt)}bind(t,e){this.source=t,this.originalContext=e,this.childContext=Object.create(e),this.childContext.parent=t,this.childContext.parentContext=this.originalContext,this.items=this.itemsBindingObserver.observe(t,this.originalContext),this.template=this.templateBindingObserver.observe(t,this.originalContext),this.observeItems(!0),this.refreshAllViews()}unbind(){this.source=null,this.items=null,null!==this.itemsObserver&&this.itemsObserver.unsubscribe(this),this.unbindAllViews(),this.itemsBindingObserver.disconnect(),this.templateBindingObserver.disconnect()}handleChange(t,e){t===this.itemsBinding?(this.items=this.itemsBindingObserver.observe(this.source,this.originalContext),this.observeItems(),this.refreshAllViews()):t===this.templateBinding?(this.template=this.templateBindingObserver.observe(this.source,this.originalContext),this.refreshAllViews(!0)):this.updateViews(e)}observeItems(t=!1){if(!this.items)return void(this.items=e);const s=this.itemsObserver,i=this.itemsObserver=w.getNotifier(this.items),n=s!==i;n&&null!==s&&s.unsubscribe(this),(n||t)&&i.subscribe(this)}updateViews(t){const e=this.childContext,s=this.views,i=[],n=this.bindView;let o=0;for(let e=0,n=t.length;e<n;++e){const n=t[e],r=n.removed;i.push(...s.splice(n.index+o,r.length)),o-=n.addedCount}const r=this.items,l=this.template;for(let o=0,h=t.length;o<h;++o){const h=t[o];let a=h.index;const c=a+h.addedCount;for(;a<c;++a){const t=s[a],o=t?t.firstChild:this.location,h=i.length>0?i.shift():l.create();s.splice(a,0,h),n(h,r,a,e),h.insertBefore(o)}}for(let t=0,e=i.length;t<e;++t)i[t].dispose();if(this.options.positioning)for(let t=0,e=s.length;t<e;++t){const i=s[t].context;i.length=e,i.index=t}}refreshAllViews(t=!1){const e=this.items,s=this.childContext,i=this.template,n=this.location,o=this.bindView;let r=e.length,l=this.views,h=l.length;if((0===r||t)&&(it.disposeContiguousBatch(l),h=0),0===h){this.views=l=new Array(r);for(let t=0;t<r;++t){const r=i.create();o(r,e,t,s),l[t]=r,r.insertBefore(n)}}else{let t=0;for(;t<r;++t)if(t<h){o(l[t],e,t,s)}else{const r=i.create();o(r,e,t,s),l.push(r),r.insertBefore(n)}const a=l.splice(t,h-t);for(t=0,r=a.length;t<r;++t)a[t].dispose()}}unbindAllViews(){const t=this.views;for(let e=0,s=t.length;e<s;++e)t[e].unbind()}}class Dt extends ${constructor(t,e,s){super(),this.itemsBinding=t,this.templateBinding=e,this.options=s,this.createPlaceholder=a.createBlockPlaceholder,jt(),this.isItemsBindingVolatile=w.isVolatileBinding(t),this.isTemplateBindingVolatile=w.isVolatileBinding(e)}createBehavior(t){return new Wt(t,this.itemsBinding,this.isItemsBindingVolatile,this.templateBinding,this.isTemplateBindingVolatile,this.options)}}function Kt(t,e,s=Qt){return new Dt(t,"function"==typeof e?e:()=>e,s)}function Gt(t){return t?function(e,s,i){return 1===e.nodeType&&e.matches(t)}:function(t,e,s){return 1===t.nodeType}}class Jt{constructor(t,e){this.target=t,this.options=e,this.source=null}bind(t){const e=this.options.property;this.shouldUpdate=w.getAccessors(t).some(t=>t.name===e),this.source=t,this.updateTarget(this.computeNodes()),this.shouldUpdate&&this.observe()}unbind(){this.updateTarget(e),this.source=null,this.shouldUpdate&&this.disconnect()}handleEvent(){this.updateTarget(this.computeNodes())}computeNodes(){let t=this.getNodes();return void 0!==this.options.filter&&(t=t.filter(this.options.filter)),t}updateTarget(t){this.source[this.options.property]=t}}class Xt extends Jt{constructor(t,e){super(t,e)}observe(){this.target.addEventListener("slotchange",this)}disconnect(){this.target.removeEventListener("slotchange",this)}getNodes(){return this.target.assignedNodes(this.options)}}function Yt(t){return"string"==typeof t&&(t={property:t}),new E("fast-slotted",Xt,t)}class Zt extends Jt{constructor(t,e){super(t,e),this.observer=null,e.childList=!0}observe(){null===this.observer&&(this.observer=new MutationObserver(this.handleEvent.bind(this))),this.observer.observe(this.target,this.options)}disconnect(){this.observer.disconnect()}getNodes(){return"subtree"in this.options?Array.from(this.target.querySelectorAll(this.options.selector)):Array.from(this.target.childNodes)}}function te(t){return"string"==typeof t&&(t={property:t}),new E("fast-children",Zt,t)}export{t as $global,E as AttachedBehaviorHTMLDirective,bt as AttributeDefinition,D as BindingBehavior,kt as CSSDirective,Zt as ChildrenBehavior,Tt as Controller,a as DOM,ht as ElementStyles,V as ExecutionContext,Nt as FASTElement,xt as FASTElementDefinition,W as HTMLBindingDirective,$ as HTMLDirective,it as HTMLView,w as Observable,g as PropertyChangeNotifier,Rt as RefBehavior,Wt as RepeatBehavior,Dt as RepeatDirective,Xt as SlottedBehavior,p as SubscriberSet,I as TargetedHTMLDirective,nt as ViewTemplate,vt as attr,pt as booleanConverter,te as children,et as compileTemplate,Vt as css,At as customElement,F as defaultExecutionContext,Gt as elements,e as emptyArray,jt as enableArrayObservation,rt as html,gt as nullableNumberConverter,O as observable,zt as ref,Kt as repeat,k as setCurrentEvent,Yt as slotted,N as volatile,Ht as when};
***************************************************************************** */const lt=new Map;class ht{constructor(){this.targets=new WeakSet,this.behaviors=null}addStylesTo(t){this.targets.add(t)}removeStylesFrom(t){this.targets.delete(t)}isAttachedTo(t){return this.targets.has(t)}withBehaviors(...t){return this.behaviors=null===this.behaviors?t:this.behaviors.concat(t),this}withKey(t){return lt.set(t,this),this}static find(t){return lt.get(t)||null}}function at(t){return t.map(t=>t instanceof ht?at(t.styles):[t]).reduce((t,e)=>t.concat(e),[])}function ct(t){return t.map(t=>t instanceof ht?t.behaviors:null).reduce((t,e)=>null===e?t:(null===t&&(t=[]),t.concat(e)),null)}ht.create=(()=>{if(a.supportsAdoptedStyleSheets){const t=new Map;return e=>new dt(e,t)}return t=>new ft(t)})();class dt extends ht{constructor(t,e){super(),this.styles=t,this.behaviors=null,this.behaviors=ct(t),this.styleSheets=at(t).map(t=>{if(t instanceof CSSStyleSheet)return t;let s=e.get(t);return void 0===s&&(s=new CSSStyleSheet,s.replaceSync(t),e.set(t,s)),s})}addStylesTo(t){t.adoptedStyleSheets=[...t.adoptedStyleSheets,...this.styleSheets],super.addStylesTo(t)}removeStylesFrom(t){const e=this.styleSheets;t.adoptedStyleSheets=t.adoptedStyleSheets.filter(t=>-1===e.indexOf(t)),super.removeStylesFrom(t)}}let ut=0;class ft extends ht{constructor(t){super(),this.styles=t,this.behaviors=null,this.behaviors=ct(t),this.styleSheets=at(t),this.styleClass="fast-style-class-"+ ++ut}addStylesTo(t){const e=this.styleSheets,s=this.styleClass;t=this.normalizeTarget(t);for(let i=e.length-1;i>-1;--i){const n=document.createElement("style");n.innerHTML=e[i],n.className=s,t.prepend(n)}super.addStylesTo(t)}removeStylesFrom(t){const e=(t=this.normalizeTarget(t)).querySelectorAll("."+this.styleClass);for(let s=0,i=e.length;s<i;++s)t.removeChild(e[s]);super.removeStylesFrom(t)}isAttachedTo(t){return super.isAttachedTo(this.normalizeTarget(t))}normalizeTarget(t){return t===document?document.body:t}}const pt={toView:t=>t?"true":"false",fromView:t=>null!=t&&"false"!==t&&!1!==t&&0!==t},gt={toView(t){if(null==t)return null;const e=1*t;return isNaN(e)?null:e.toString()},fromView(t){if(null==t)return null;const e=1*t;return isNaN(e)?null:e}};class bt{constructor(t,e,s=e.toLowerCase(),i="reflect",n){this.guards=new Set,this.Owner=t,this.name=e,this.attribute=s,this.mode=i,this.converter=n,this.fieldName="_"+e,this.callbackName=e+"Changed",this.hasCallback=this.callbackName in t.prototype,"boolean"===i&&void 0===n&&(this.converter=pt)}setValue(t,e){const s=t[this.fieldName],i=this.converter;void 0!==i&&(e=i.fromView(e)),s!==e&&(t[this.fieldName]=e,this.tryReflectToAttribute(t),this.hasCallback&&t[this.callbackName](s,e),t.$fastController.notify(this.name))}getValue(t){return w.track(t,this.name),t[this.fieldName]}onAttributeChangedCallback(t,e){this.guards.has(t)||(this.guards.add(t),this.setValue(t,e),this.guards.delete(t))}tryReflectToAttribute(t){const e=this.mode,s=this.guards;s.has(t)||"fromView"===e||a.queueUpdate(()=>{s.add(t);const i=t[this.fieldName];switch(e){case"reflect":const e=this.converter;a.setAttribute(t,this.attribute,void 0!==e?e.toView(i):i);break;case"boolean":a.setBooleanAttribute(t,this.attribute,i)}s.delete(t)})}static collect(t,...e){const s=[];e.push(t.attributes);for(let i=0,n=e.length;i<n;++i){const n=e[i];if(void 0!==n)for(let e=0,i=n.length;e<i;++e){const i=n[e];"string"==typeof i?s.push(new bt(t,i)):s.push(new bt(t,i.property,i.attribute,i.mode,i.converter))}}return s}}function vt(t,e){let s;function i(t,e){arguments.length>1&&(s.property=e);const i=t.constructor.attributes||(t.constructor.attributes=[]);i.push(s)}return arguments.length>1?(s={},void i(t,e)):(s=void 0===t?{}:t,i)}const mt={mode:"open"},yt={},Ct=new Map;class xt{constructor(t,e=t.definition){"string"==typeof e&&(e={name:e}),this.type=t,this.name=e.name,this.template=e.template;const s=bt.collect(t,e.attributes),i=new Array(s.length),n={},o={};for(let t=0,e=s.length;t<e;++t){const e=s[t];i[t]=e.attribute,n[e.name]=e,o[e.attribute]=e}this.attributes=s,this.observedAttributes=i,this.propertyLookup=n,this.attributeLookup=o,this.shadowOptions=void 0===e.shadowOptions?mt:null===e.shadowOptions?void 0:Object.assign(Object.assign({},mt),e.shadowOptions),this.elementOptions=void 0===e.elementOptions?yt:Object.assign(Object.assign({},yt),e.elementOptions),this.styles=void 0===e.styles?void 0:Array.isArray(e.styles)?ht.create(e.styles):e.styles instanceof ht?e.styles:ht.create([e.styles])}define(t=customElements){const e=this.type;if(!this.isDefined){const t=this.attributes,s=e.prototype;for(let e=0,i=t.length;e<i;++e)w.defineProperty(s,t[e]);Reflect.defineProperty(e,"observedAttributes",{value:this.observedAttributes,enumerable:!0}),Ct.set(e,this),this.isDefined=!0}return t.get(this.name)||t.define(this.name,e,this.elementOptions),this}static forType(t){return Ct.get(t)}}const wt=new WeakMap,Bt={bubbles:!0,composed:!0};function St(t){return t.shadowRoot||wt.get(t)||null}class Tt extends g{constructor(t,e){super(t),this.boundObservables=null,this.behaviors=null,this.needsInitialization=!0,this._template=null,this._styles=null,this.view=null,this.isConnected=!1,this.element=t,this.definition=e;const s=e.shadowOptions;if(void 0!==s){const e=t.attachShadow(s);"closed"===s.mode&&wt.set(t,e)}const i=w.getAccessors(t);if(i.length>0){const e=this.boundObservables=Object.create(null);for(let s=0,n=i.length;s<n;++s){const n=i[s].name,o=t[n];void 0!==o&&(delete t[n],e[n]=o)}}}get template(){return this._template}set template(t){this._template!==t&&(this._template=t,this.needsInitialization||this.renderTemplate(t))}get styles(){return this._styles}set styles(t){this._styles!==t&&(null!==this._styles&&this.removeStyles(this._styles),this._styles=t,this.needsInitialization||null===t||this.addStyles(t))}addStyles(t){const e=St(this.element)||this.element.getRootNode();if(t instanceof HTMLStyleElement)e.prepend(t);else if(!t.isAttachedTo(e)){const s=t.behaviors;t.addStylesTo(e),null!==s&&this.addBehaviors(s)}}removeStyles(t){const e=St(this.element)||this.element.getRootNode();if(t instanceof HTMLStyleElement)e.removeChild(t);else if(t.isAttachedTo(e)){const s=t.behaviors;t.removeStylesFrom(e),null!==s&&this.removeBehaviors(s)}}addBehaviors(t){const e=this.behaviors||(this.behaviors=new Map),s=t.length,i=[];for(let n=0;n<s;++n){const s=t[n];e.has(s)?e.set(s,e.get(s)+1):(e.set(s,1),i.push(s))}if(this.isConnected){const t=this.element;for(let e=0;e<i.length;++e)i[e].bind(t,F)}}removeBehaviors(t,e=!1){const s=this.behaviors;if(null===s)return;const i=t.length,n=[];for(let o=0;o<i;++o){const i=t[o];if(s.has(i)){const t=s.get(i)-1;0===t||e?s.delete(i)&&n.push(i):s.set(i,t)}}if(this.isConnected){const t=this.element;for(let e=0;e<n.length;++e)n[e].unbind(t)}}onConnectedCallback(){if(this.isConnected)return;const t=this.element;this.needsInitialization?this.finishInitialization():null!==this.view&&this.view.bind(t,F);const e=this.behaviors;if(null!==e)for(const[s]of e)s.bind(t,F);this.isConnected=!0}onDisconnectedCallback(){if(!1===this.isConnected)return;this.isConnected=!1;const t=this.view;null!==t&&t.unbind();const e=this.behaviors;if(null!==e){const t=this.element;for(const[s]of e)s.unbind(t)}}onAttributeChangedCallback(t,e,s){const i=this.definition.attributeLookup[t];void 0!==i&&i.onAttributeChangedCallback(this.element,s)}emit(t,e,s){return!!this.isConnected&&this.element.dispatchEvent(new CustomEvent(t,Object.assign(Object.assign({detail:e},Bt),s)))}finishInitialization(){const t=this.element,e=this.boundObservables;if(null!==e){const s=Object.keys(e);for(let i=0,n=s.length;i<n;++i){const n=s[i];t[n]=e[n]}this.boundObservables=null}const s=this.definition;null===this._template&&(this.element.resolveTemplate?this._template=this.element.resolveTemplate():s.template&&(this._template=s.template||null)),null!==this._template&&this.renderTemplate(this._template),null===this._styles&&(this.element.resolveStyles?this._styles=this.element.resolveStyles():s.styles&&(this._styles=s.styles||null)),null!==this._styles&&this.addStyles(this._styles),this.needsInitialization=!1}renderTemplate(t){const e=this.element,s=St(e)||e;null!==this.view?(this.view.dispose(),this.view=null):this.needsInitialization||a.removeChildNodes(s),t&&(this.view=t.render(e,s,e))}static forCustomElement(t){const e=t.$fastController;if(void 0!==e)return e;const s=xt.forType(t.constructor);if(void 0===s)throw new Error("Missing FASTElement definition.");return t.$fastController=new Tt(t,s)}}function Ot(t){return class extends t{constructor(){super(),Tt.forCustomElement(this)}$emit(t,e,s){return this.$fastController.emit(t,e,s)}connectedCallback(){this.$fastController.onConnectedCallback()}disconnectedCallback(){this.$fastController.onDisconnectedCallback()}attributeChangedCallback(t,e,s){this.$fastController.onAttributeChangedCallback(t,e,s)}}}!function(t,e,s,i){var n,o=arguments.length,r=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,s,i);else for(var l=t.length-1;l>=0;l--)(n=t[l])&&(r=(o<3?n(r):o>3?n(e,s,r):n(e,s))||r);o>3&&r&&Object.defineProperty(e,s,r)}([O],Tt.prototype,"isConnected",void 0);const Nt=Object.assign(Ot(HTMLElement),{from:t=>Ot(t),define:(t,e)=>new xt(t,e).define().type});function At(t){return function(e){new xt(e,t).define()}}class kt{createCSS(){return""}createBehavior(){}}function Vt(t,...e){const s=[];let i="";const n=[];for(let o=0,r=t.length-1;o<r;++o){i+=t[o];let r=e[o];if(r instanceof kt){const t=r.createBehavior();r=r.createCSS(),t&&n.push(t)}r instanceof ht||r instanceof CSSStyleSheet?(""!==i.trim()&&(s.push(i),i=""),s.push(r)):i+=r}i+=t[t.length-1],""!==i.trim()&&s.push(i);const o=ht.create(s);return n.length&&o.withBehaviors(...n),o}function Ft(t,e,s){return{index:t,removed:e,addedCount:s}}function Mt(t,s,i,n,o,r){let l=0,h=0;const a=Math.min(i-s,r-o);if(0===s&&0===o&&(l=function(t,e,s){for(let i=0;i<s;++i)if(t[i]!==e[i])return i;return s}(t,n,a)),i===t.length&&r===n.length&&(h=function(t,e,s){let i=t.length,n=e.length,o=0;for(;o<s&&t[--i]===e[--n];)o++;return o}(t,n,a-l)),o+=l,r-=h,(i-=h)-(s+=l)==0&&r-o==0)return e;if(s===i){const t=Ft(s,[],0);for(;o<r;)t.removed.push(n[o++]);return[t]}if(o===r)return[Ft(s,[],i-s)];const c=function(t){let e=t.length-1,s=t[0].length-1,i=t[e][s];const n=[];for(;e>0||s>0;){if(0===e){n.push(2),s--;continue}if(0===s){n.push(3),e--;continue}const o=t[e-1][s-1],r=t[e-1][s],l=t[e][s-1];let h;h=r<l?r<o?r:o:l<o?l:o,h===o?(o===i?n.push(0):(n.push(1),i=o),e--,s--):h===r?(n.push(3),e--,i=r):(n.push(2),s--,i=l)}return n.reverse(),n}(function(t,e,s,i,n,o){const r=o-n+1,l=s-e+1,h=new Array(r);let a,c;for(let t=0;t<r;++t)h[t]=new Array(l),h[t][0]=t;for(let t=0;t<l;++t)h[0][t]=t;for(let s=1;s<r;++s)for(let o=1;o<l;++o)t[e+o-1]===i[n+s-1]?h[s][o]=h[s-1][o-1]:(a=h[s-1][o]+1,c=h[s][o-1]+1,h[s][o]=a<c?a:c);return h}(t,s,i,n,o,r)),d=[];let u=void 0,f=s,p=o;for(let t=0;t<c.length;++t)switch(c[t]){case 0:void 0!==u&&(d.push(u),u=void 0),f++,p++;break;case 1:void 0===u&&(u=Ft(f,[],0)),u.addedCount++,f++,u.removed.push(n[p]),p++;break;case 2:void 0===u&&(u=Ft(f,[],0)),u.addedCount++,f++;break;case 3:void 0===u&&(u=Ft(f,[],0)),u.removed.push(n[p]),p++}return void 0!==u&&d.push(u),d}const $t=Array.prototype.push;function It(t,e,s,i){const n=Ft(e,s,i);let o=!1,r=0;for(let e=0;e<t.length;e++){const s=t[e];if(s.index+=r,o)continue;const i=(l=n.index,h=n.index+n.removed.length,a=s.index,c=s.index+s.addedCount,h<a||c<l?-1:h===a||c===l?0:l<a?h<c?h-a:c-a:c<h?c-l:h-l);if(i>=0){t.splice(e,1),e--,r-=s.addedCount-s.removed.length,n.addedCount+=s.addedCount-i;const l=n.removed.length+s.removed.length-i;if(n.addedCount||l){let t=s.removed;if(n.index<s.index){const e=n.removed.slice(0,s.index-n.index);$t.apply(e,t),t=e}if(n.index+n.removed.length>s.index+s.addedCount){const e=n.removed.slice(s.index+s.addedCount-n.index);$t.apply(t,e)}n.removed=t,s.index<n.index&&(n.index=s.index)}else o=!0}else if(n.index<s.index){o=!0,t.splice(e,0,n),e++;const i=n.addedCount-n.removed.length;s.index+=i,r+=i}}var l,h,a,c;o||t.push(n)}function Et(t,e){let s=[];const i=function(t){const e=[];for(let s=0,i=t.length;s<i;s++){const i=t[s];It(e,i.index,i.removed,i.addedCount)}return e}(e);for(let e=0,n=i.length;e<n;++e){const n=i[e];1!==n.addedCount||1!==n.removed.length?s=s.concat(Mt(t,n.index,n.index+n.addedCount,n.removed,0,n.removed.length)):n.removed[0]!==t[n.index]&&s.push(n)}return s}let Lt=!1;function Pt(t,e){let s=t.index;const i=e.length;return s>i?s=i-t.addedCount:s<0&&(s=i+t.removed.length+s-t.addedCount),s<0&&(s=0),t.index=s,t}class _t extends p{constructor(t){super(t),this.oldCollection=void 0,this.splices=void 0,this.needsQueue=!0,this.call=this.flush,t.$fastController=this}addSplice(t){void 0===this.splices?this.splices=[t]:this.splices.push(t),this.needsQueue&&(this.needsQueue=!1,a.queueUpdate(this))}reset(t){this.oldCollection=t,this.needsQueue&&(this.needsQueue=!1,a.queueUpdate(this))}flush(){const t=this.splices,e=this.oldCollection;if(void 0===t&&void 0===e)return;this.needsQueue=!0,this.splices=void 0,this.oldCollection=void 0;const s=void 0===e?Et(this.source,t):Mt(this.source,0,this.source.length,e,0,e.length);this.notify(s)}}function jt(){if(Lt)return;Lt=!0,w.setArrayObserverFactory(t=>new _t(t));const t=Array.prototype,e=t.pop,s=t.push,i=t.reverse,n=t.shift,o=t.sort,r=t.splice,l=t.unshift;t.pop=function(){const t=this.length>0,s=e.apply(this,arguments),i=this.$fastController;return void 0!==i&&t&&i.addSplice(Ft(this.length,[s],0)),s},t.push=function(){const t=s.apply(this,arguments),e=this.$fastController;return void 0!==e&&e.addSplice(Pt(Ft(this.length-arguments.length,[],arguments.length),this)),t},t.reverse=function(){let t;const e=this.$fastController;void 0!==e&&(e.flush(),t=this.slice());const s=i.apply(this,arguments);return void 0!==e&&e.reset(t),s},t.shift=function(){const t=this.length>0,e=n.apply(this,arguments),s=this.$fastController;return void 0!==s&&t&&s.addSplice(Ft(0,[e],0)),e},t.sort=function(){let t;const e=this.$fastController;void 0!==e&&(e.flush(),t=this.slice());const s=o.apply(this,arguments);return void 0!==e&&e.reset(t),s},t.splice=function(){const t=r.apply(this,arguments),e=this.$fastController;return void 0!==e&&e.addSplice(Pt(Ft(+arguments[0],t,arguments.length>2?arguments.length-2:0),this)),t},t.unshift=function(){const t=l.apply(this,arguments),e=this.$fastController;return void 0!==e&&e.addSplice(Pt(Ft(0,[],arguments.length),this)),t}}class Rt{constructor(t,e){this.target=t,this.propertyName=e}bind(t){t[this.propertyName]=this.target}unbind(){}}function zt(t){return new E("fast-ref",Rt,t)}function Ht(t,e){const s="function"==typeof e?e:()=>e;return(e,i)=>t(e,i)?s(e,i):null}const Qt=Object.freeze({positioning:!1});function Ut(t,e,s,i){t.bind(e[s],i)}function qt(t,e,s,i){const n=Object.create(i);n.index=s,n.length=e.length,t.bind(e[s],n)}class Wt{constructor(t,e,s,i,n,o){this.location=t,this.itemsBinding=e,this.templateBinding=i,this.options=o,this.source=null,this.views=[],this.items=null,this.itemsObserver=null,this.originalContext=void 0,this.childContext=void 0,this.bindView=Ut,this.itemsBindingObserver=w.binding(e,this,s),this.templateBindingObserver=w.binding(i,this,n),o.positioning&&(this.bindView=qt)}bind(t,e){this.source=t,this.originalContext=e,this.childContext=Object.create(e),this.childContext.parent=t,this.childContext.parentContext=this.originalContext,this.items=this.itemsBindingObserver.observe(t,this.originalContext),this.template=this.templateBindingObserver.observe(t,this.originalContext),this.observeItems(!0),this.refreshAllViews()}unbind(){this.source=null,this.items=null,null!==this.itemsObserver&&this.itemsObserver.unsubscribe(this),this.unbindAllViews(),this.itemsBindingObserver.disconnect(),this.templateBindingObserver.disconnect()}handleChange(t,e){t===this.itemsBinding?(this.items=this.itemsBindingObserver.observe(this.source,this.originalContext),this.observeItems(),this.refreshAllViews()):t===this.templateBinding?(this.template=this.templateBindingObserver.observe(this.source,this.originalContext),this.refreshAllViews(!0)):this.updateViews(e)}observeItems(t=!1){if(!this.items)return void(this.items=e);const s=this.itemsObserver,i=this.itemsObserver=w.getNotifier(this.items),n=s!==i;n&&null!==s&&s.unsubscribe(this),(n||t)&&i.subscribe(this)}updateViews(t){const e=this.childContext,s=this.views,i=[],n=this.bindView;let o=0;for(let e=0,n=t.length;e<n;++e){const n=t[e],r=n.removed;i.push(...s.splice(n.index+o,r.length)),o-=n.addedCount}const r=this.items,l=this.template;for(let o=0,h=t.length;o<h;++o){const h=t[o];let a=h.index;const c=a+h.addedCount;for(;a<c;++a){const t=s[a],o=t?t.firstChild:this.location,h=i.length>0?i.shift():l.create();s.splice(a,0,h),n(h,r,a,e),h.insertBefore(o)}}for(let t=0,e=i.length;t<e;++t)i[t].dispose();if(this.options.positioning)for(let t=0,e=s.length;t<e;++t){const i=s[t].context;i.length=e,i.index=t}}refreshAllViews(t=!1){const e=this.items,s=this.childContext,i=this.template,n=this.location,o=this.bindView;let r=e.length,l=this.views,h=l.length;if((0===r||t)&&(it.disposeContiguousBatch(l),h=0),0===h){this.views=l=new Array(r);for(let t=0;t<r;++t){const r=i.create();o(r,e,t,s),l[t]=r,r.insertBefore(n)}}else{let t=0;for(;t<r;++t)if(t<h){o(l[t],e,t,s)}else{const r=i.create();o(r,e,t,s),l.push(r),r.insertBefore(n)}const a=l.splice(t,h-t);for(t=0,r=a.length;t<r;++t)a[t].dispose()}}unbindAllViews(){const t=this.views;for(let e=0,s=t.length;e<s;++e)t[e].unbind()}}class Dt extends ${constructor(t,e,s){super(),this.itemsBinding=t,this.templateBinding=e,this.options=s,this.createPlaceholder=a.createBlockPlaceholder,jt(),this.isItemsBindingVolatile=w.isVolatileBinding(t),this.isTemplateBindingVolatile=w.isVolatileBinding(e)}createBehavior(t){return new Wt(t,this.itemsBinding,this.isItemsBindingVolatile,this.templateBinding,this.isTemplateBindingVolatile,this.options)}}function Kt(t,e,s=Qt){return new Dt(t,"function"==typeof e?e:()=>e,s)}function Gt(t){return t?function(e,s,i){return 1===e.nodeType&&e.matches(t)}:function(t,e,s){return 1===t.nodeType}}class Jt{constructor(t,e){this.target=t,this.options=e,this.source=null}bind(t){const e=this.options.property;this.shouldUpdate=w.getAccessors(t).some(t=>t.name===e),this.source=t,this.updateTarget(this.computeNodes()),this.shouldUpdate&&this.observe()}unbind(){this.updateTarget(e),this.source=null,this.shouldUpdate&&this.disconnect()}handleEvent(){this.updateTarget(this.computeNodes())}computeNodes(){let t=this.getNodes();return void 0!==this.options.filter&&(t=t.filter(this.options.filter)),t}updateTarget(t){this.source[this.options.property]=t}}class Xt extends Jt{constructor(t,e){super(t,e)}observe(){this.target.addEventListener("slotchange",this)}disconnect(){this.target.removeEventListener("slotchange",this)}getNodes(){return this.target.assignedNodes(this.options)}}function Yt(t){return"string"==typeof t&&(t={property:t}),new E("fast-slotted",Xt,t)}class Zt extends Jt{constructor(t,e){super(t,e),this.observer=null,e.childList=!0}observe(){null===this.observer&&(this.observer=new MutationObserver(this.handleEvent.bind(this))),this.observer.observe(this.target,this.options)}disconnect(){this.observer.disconnect()}getNodes(){return"subtree"in this.options?Array.from(this.target.querySelectorAll(this.options.selector)):Array.from(this.target.childNodes)}}function te(t){return"string"==typeof t&&(t={property:t}),new E("fast-children",Zt,t)}export{t as $global,E as AttachedBehaviorHTMLDirective,bt as AttributeDefinition,D as BindingBehavior,kt as CSSDirective,Zt as ChildrenBehavior,Tt as Controller,a as DOM,ht as ElementStyles,V as ExecutionContext,Nt as FASTElement,xt as FASTElementDefinition,W as HTMLBindingDirective,$ as HTMLDirective,it as HTMLView,w as Observable,g as PropertyChangeNotifier,Rt as RefBehavior,Wt as RepeatBehavior,Dt as RepeatDirective,Xt as SlottedBehavior,p as SubscriberSet,I as TargetedHTMLDirective,nt as ViewTemplate,vt as attr,pt as booleanConverter,te as children,et as compileTemplate,Vt as css,At as customElement,F as defaultExecutionContext,Gt as elements,e as emptyArray,jt as enableArrayObservation,rt as html,gt as nullableNumberConverter,O as observable,zt as ref,Kt as repeat,k as setCurrentEvent,Yt as slotted,N as volatile,Ht as when};

@@ -223,5 +223,8 @@ ## API Report File for "@microsoft/fast-element"

// @public
export function elements(selector?: string): (value: Node, index: number, array: Node[]) => boolean;
export function elements(selector?: string): ElementsFilter;
// @public
export type ElementsFilter = (value: Node, index: number, array: Node[]) => boolean;
// @public
export type ElementStyleFactory = (styles: ReadonlyArray<ComposableStyles>) => ElementStyles;

@@ -372,3 +375,3 @@

export interface NodeBehaviorOptions<T = any> {
filter?(value: Node, index: number, array: Node[]): boolean;
filter?: ElementsFilter;
property: T;

@@ -571,3 +574,3 @@ }

// @public
export function volatile(target: {}, name: any, descriptor: any): any;
export function volatile(target: {}, name: string | Accessor, descriptor: PropertyDescriptor): PropertyDescriptor;

@@ -574,0 +577,0 @@ // @public

@@ -323,3 +323,3 @@ ---

`)}
<ul>
</ul>
`;

@@ -560,2 +560,2 @@

Using the `children` directive on the `template` element will provide you with references to all Light DOM child nodes of your custom element, regardless of if or where they are slotted.
:::
:::

@@ -5,3 +5,3 @@ {

"sideEffects": false,
"version": "1.0.1",
"version": "1.0.2",
"author": {

@@ -87,3 +87,3 @@ "name": "Microsoft",

},
"gitHead": "a22abd105a73cc3e267d05b1e446601a2eb040b5"
"gitHead": "d8cc83f53baa42f4094b650c77b4719409456369"
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc