{"version":3,"sources":["webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/breadcrumb-item/breadcrumb-item.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/breadcrumb-item/breadcrumb-item.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/button/button.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/anchor/anchor.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/accordion-item/accordion-item.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/badge/badge.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/anchored-region/anchored-region.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/accordion/accordion.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/anchor/anchor.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/badge/badge.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/breadcrumb/breadcrumb.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/accordion/accordion.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/breadcrumb/breadcrumb.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/accordion-item/accordion-item.template.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/anchored-region/anchored-region.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/button/button.form-associated.js","webpack:///./node_modules/@microsoft/fast-foundation/dist/esm/button/button.js"],"names":["breadcrumbItemTemplate","context","definition","x","href","length","separator","BreadcrumbItem","super","arguments","this","prototype","buttonTemplate","autofocus","disabled","formId","formaction","formenctype","formmethod","formnovalidate","formtarget","name","type","value","ariaAtomic","ariaBusy","ariaControls","ariaCurrent","ariaDescribedby","ariaDetails","ariaDisabled","ariaErrormessage","ariaExpanded","ariaFlowto","ariaHaspopup","ariaHidden","ariaInvalid","ariaKeyshortcuts","ariaLabel","ariaLabelledby","ariaLive","ariaOwns","ariaPressed","ariaRelevant","ariaRoledescription","anchorTemplate","download","hreflang","ping","referrerpolicy","rel","target","AccordionItem","headinglevel","expanded","clickHandler","e","change","$emit","attribute","mode","converter","Badge","generateBadgeStyle","fill","color","anchoredRegionTemplate","initialLayoutComplete","AccordionExpandMode","Accordion","expandmode","multi","activeItemIndex","setItems","_a","accordionItems","accordionIds","getItemIds","forEach","item","index","addEventListener","activeItemChange","isSingleExpandMode","itemId","setAttribute","activeid","handleItemKeyDown","handleItemFocus","findExpandedItem","removeItemListeners","oldValue","removeEventListener","event","selectedItem","getAttribute","resetItems","hasAttribute","id","removeAttribute","Array","from","indexOf","currentTarget","key","preventDefault","adjust","focusItem","focusedItem","focusedIndex","newValue","$fastController","isConnected","map","accordionItem","single","adjustment","element","expandbutton","focus","Anchor","handleUnsupportedDelegatesFocus","window","ShadowRoot","hasOwnProperty","shadowOptions","delegatesFocus","control","connectedCallback","DelegatesARIALink","badgeTemplate","circular","Breadcrumb","undefined","slottedBreadcrumbItems","lastNode","setItemSeparator","setLastItemAriaCurrent","node","_b","childElementCount","querySelector","shadowRoot","childNodeWithHref","findChildWithHref","accordionTemplate","breadcrumbTemplate","property","filter","accordionItemTemplate","c","expandedIcon","collapsedIcon","AnchoredRegion","anchor","viewport","horizontalPositioningMode","horizontalDefaultPosition","horizontalViewportLock","horizontalInset","horizontalScaling","verticalPositioningMode","verticalDefaultPosition","verticalViewportLock","verticalInset","verticalScaling","fixedPlacement","autoUpdateMode","anchorElement","viewportElement","resizeDetector","baseHorizontalOffset","baseVerticalOffset","pendingPositioningUpdate","pendingReset","currentDirection","ltr","regionVisible","forceUpdate","updateThreshold","update","requestPositionUpdates","startObservers","stopObservers","observe","intersectionService","requestPosition","handleIntersection","cancelRequestPosition","disconnect","getViewport","document","documentElement","getElementById","getAnchor","entries","applyIntersectionEntries","updateLayout","regionEntry","find","anchorEntry","viewportEntry","regionRect","anchorRect","viewportRect","isRectDifferent","boundingClientRect","DOMRectReadOnly","scrollLeft","y","scrollTop","width","height","updateRegionOffset","left","translateX","top","translateY","rectA","rectB","Math","abs","right","bottom","handleResize","reset","desiredVerticalPosition","desiredHorizontalPosition","horizontalOptions","getPositioningOptions","dirCorrectedHorizontalDefaultPosition","newDirection","initialize","horizontalThreshold","anchorLeft","anchorRight","anchorWidth","viewportLeft","viewportRight","getAvailableSpace","verticalOptions","verticalThreshold","anchorTop","anchorBottom","anchorHeight","viewportTop","viewportBottom","nextPositionerDimension","getNextRegionDimension","positionChanged","horizontalPosition","verticalPosition","setHorizontalPosition","setVerticalPosition","updateRegionStyle","style","removeProperty","classList","toggle","bubbles","updatePositionClasses","regionWidth","regionHeight","transform","nextRegionWidth","sizeDelta","regionLeft","regionRight","nextRegionHeight","regionTop","regionBottom","inset","positionOption","anchorStart","anchorEnd","anchorSpan","viewportStart","viewportEnd","spaceStart","spaceEnd","min","newRegionDimension","startAutoUpdateEventListeners","passive","capture","stopAutoUpdateEventListeners","unobserve","requestReset","updateForAttributeChange","prevMode","newMode","disconnectedCallback","disconnectResizeDetector","ResizeObserver","initializeResizeDetector","setInitialState","queueUpdate","opacity","pointerEvents","position","proxy","createElement","handleSubmission","form","attached","attachProxy","requestSubmit","click","detachProxy","handleFormReset","HTMLInputElement","formAction","formEnctype","formMethod","formNoValidate","formTarget","previous","next","observable","DelegatesARIAButton"],"mappings":"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","file":"vendors~3c32c101.d81fb8330df6284f7038.chunk.js","sourcesContent":["import { html, when } from \"@microsoft/fast-element\";\nimport { anchorTemplate } from \"../anchor\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(BreadcrumbItem:class)} component.\n * @public\n */\nexport const breadcrumbItemTemplate = (context, definition) => html `\n    <div role=\"listitem\" class=\"listitem\" part=\"listitem\">\n        ${when(x => x.href && x.href.length > 0, html `\n                ${anchorTemplate(context, definition)}\n            `)}\n        ${when(x => !x.href, html `\n                ${startSlotTemplate(context, definition)}\n                <slot></slot>\n                ${endSlotTemplate(context, definition)}\n            `)}\n        ${when(x => x.separator, html `\n                <span class=\"separator\" part=\"separator\" aria-hidden=\"true\">\n                    <slot name=\"separator\">${definition.separator || \"\"}</slot>\n                </span>\n            `)}\n    </div>\n`;\n","import { __decorate } from \"tslib\";\nimport { observable } from \"@microsoft/fast-element\";\nimport { Anchor, DelegatesARIALink } from \"../anchor\";\nimport { StartEnd } from \"../patterns/index\";\nimport { applyMixins } from \"../utilities/apply-mixins\";\n/**\n * A Breadcrumb Item Custom HTML Element.\n *\n * @public\n */\nexport class BreadcrumbItem extends Anchor {\n    constructor() {\n        super(...arguments);\n        /**\n         * @internal\n         */\n        this.separator = true;\n    }\n}\n__decorate([\n    observable\n], BreadcrumbItem.prototype, \"separator\", void 0);\napplyMixins(BreadcrumbItem, StartEnd, DelegatesARIALink);\n","import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Button:class)} component.\n * @public\n */\nexport const buttonTemplate = (context, definition) => html `\n    <button\n        class=\"control\"\n        part=\"control\"\n        ?autofocus=\"${x => x.autofocus}\"\n        ?disabled=\"${x => x.disabled}\"\n        form=\"${x => x.formId}\"\n        formaction=\"${x => x.formaction}\"\n        formenctype=\"${x => x.formenctype}\"\n        formmethod=\"${x => x.formmethod}\"\n        formnovalidate=\"${x => x.formnovalidate}\"\n        formtarget=\"${x => x.formtarget}\"\n        name=\"${x => x.name}\"\n        type=\"${x => x.type}\"\n        value=\"${x => x.value}\"\n        aria-atomic=\"${x => x.ariaAtomic}\"\n        aria-busy=\"${x => x.ariaBusy}\"\n        aria-controls=\"${x => x.ariaControls}\"\n        aria-current=\"${x => x.ariaCurrent}\"\n        aria-describedby=\"${x => x.ariaDescribedby}\"\n        aria-details=\"${x => x.ariaDetails}\"\n        aria-disabled=\"${x => x.ariaDisabled}\"\n        aria-errormessage=\"${x => x.ariaErrormessage}\"\n        aria-expanded=\"${x => x.ariaExpanded}\"\n        aria-flowto=\"${x => x.ariaFlowto}\"\n        aria-haspopup=\"${x => x.ariaHaspopup}\"\n        aria-hidden=\"${x => x.ariaHidden}\"\n        aria-invalid=\"${x => x.ariaInvalid}\"\n        aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n        aria-label=\"${x => x.ariaLabel}\"\n        aria-labelledby=\"${x => x.ariaLabelledby}\"\n        aria-live=\"${x => x.ariaLive}\"\n        aria-owns=\"${x => x.ariaOwns}\"\n        aria-pressed=\"${x => x.ariaPressed}\"\n        aria-relevant=\"${x => x.ariaRelevant}\"\n        aria-roledescription=\"${x => x.ariaRoledescription}\"\n        ${ref(\"control\")}\n    >\n        ${startSlotTemplate(context, definition)}\n        <span class=\"content\" part=\"content\">\n            <slot ${slotted(\"defaultSlottedContent\")}></slot>\n        </span>\n        ${endSlotTemplate(context, definition)}\n    </button>\n`;\n","import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Anchor:class)} component.\n * @public\n */\nexport const anchorTemplate = (context, definition) => html `\n    <a\n        class=\"control\"\n        part=\"control\"\n        download=\"${x => x.download}\"\n        href=\"${x => x.href}\"\n        hreflang=\"${x => x.hreflang}\"\n        ping=\"${x => x.ping}\"\n        referrerpolicy=\"${x => x.referrerpolicy}\"\n        rel=\"${x => x.rel}\"\n        target=\"${x => x.target}\"\n        type=\"${x => x.type}\"\n        aria-atomic=\"${x => x.ariaAtomic}\"\n        aria-busy=\"${x => x.ariaBusy}\"\n        aria-controls=\"${x => x.ariaControls}\"\n        aria-current=\"${x => x.ariaCurrent}\"\n        aria-describedby=\"${x => x.ariaDescribedby}\"\n        aria-details=\"${x => x.ariaDetails}\"\n        aria-disabled=\"${x => x.ariaDisabled}\"\n        aria-errormessage=\"${x => x.ariaErrormessage}\"\n        aria-expanded=\"${x => x.ariaExpanded}\"\n        aria-flowto=\"${x => x.ariaFlowto}\"\n        aria-haspopup=\"${x => x.ariaHaspopup}\"\n        aria-hidden=\"${x => x.ariaHidden}\"\n        aria-invalid=\"${x => x.ariaInvalid}\"\n        aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n        aria-label=\"${x => x.ariaLabel}\"\n        aria-labelledby=\"${x => x.ariaLabelledby}\"\n        aria-live=\"${x => x.ariaLive}\"\n        aria-owns=\"${x => x.ariaOwns}\"\n        aria-relevant=\"${x => x.ariaRelevant}\"\n        aria-roledescription=\"${x => x.ariaRoledescription}\"\n        ${ref(\"control\")}\n    >\n        ${startSlotTemplate(context, definition)}\n        <span class=\"content\" part=\"content\">\n            <slot ${slotted(\"defaultSlottedContent\")}></slot>\n        </span>\n        ${endSlotTemplate(context, definition)}\n    </a>\n`;\n","import { __decorate } from \"tslib\";\nimport { attr, nullableNumberConverter, } from \"@microsoft/fast-element\";\nimport { FoundationElement } from \"../foundation-element\";\nimport { StartEnd } from \"../patterns/start-end\";\nimport { applyMixins } from \"../utilities/apply-mixins\";\n/**\n * An individual item in an {@link @microsoft/fast-foundation#(Accordion:class) }.\n * @public\n */\nexport class AccordionItem extends FoundationElement {\n    constructor() {\n        super(...arguments);\n        /**\n         * Configures the {@link https://www.w3.org/TR/wai-aria-1.1/#aria-level | level} of the\n         * heading element.\n         *\n         * @defaultValue 2\n         * @public\n         * @remarks\n         * HTML attribute: heading-level\n         */\n        this.headinglevel = 2;\n        /**\n         * Expands or collapses the item.\n         *\n         * @public\n         * @remarks\n         * HTML attribute: expanded\n         */\n        this.expanded = false;\n        /**\n         * @internal\n         */\n        this.clickHandler = (e) => {\n            this.expanded = !this.expanded;\n            this.change();\n        };\n        this.change = () => {\n            this.$emit(\"change\");\n        };\n    }\n}\n__decorate([\n    attr({\n        attribute: \"heading-level\",\n        mode: \"fromView\",\n        converter: nullableNumberConverter,\n    })\n], AccordionItem.prototype, \"headinglevel\", void 0);\n__decorate([\n    attr({ mode: \"boolean\" })\n], AccordionItem.prototype, \"expanded\", void 0);\n__decorate([\n    attr\n], AccordionItem.prototype, \"id\", void 0);\napplyMixins(AccordionItem, StartEnd);\n","import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { FoundationElement } from \"../foundation-element\";\n/**\n * A Badge Custom HTML Element.\n *\n * @public\n */\nexport class Badge extends FoundationElement {\n    constructor() {\n        super(...arguments);\n        this.generateBadgeStyle = () => {\n            if (!this.fill && !this.color) {\n                return;\n            }\n            const fill = `background-color: var(--badge-fill-${this.fill});`;\n            const color = `color: var(--badge-color-${this.color});`;\n            if (this.fill && !this.color) {\n                return fill;\n            }\n            else if (this.color && !this.fill) {\n                return color;\n            }\n            else {\n                return `${color} ${fill}`;\n            }\n        };\n    }\n}\n__decorate([\n    attr({ attribute: \"fill\" })\n], Badge.prototype, \"fill\", void 0);\n__decorate([\n    attr({ attribute: \"color\" })\n], Badge.prototype, \"color\", void 0);\n__decorate([\n    attr({ mode: \"boolean\" })\n], Badge.prototype, \"circular\", void 0);\n","import { html, when } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(AnchoredRegion:class)} component.\n * @beta\n */\nexport const anchoredRegionTemplate = (context, definition) => html `\n    <template class=\"${x => (x.initialLayoutComplete ? \"loaded\" : \"\")}\">\n        ${when(x => x.initialLayoutComplete, html `\n                <slot></slot>\n            `)}\n    </template>\n`;\n","import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { keyArrowDown, keyArrowUp, keyEnd, keyHome, wrapInBounds, } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element\";\nimport { AccordionItem } from \"../accordion-item\";\n/**\n * Expand mode for {@link Accordion}\n * @public\n */\nexport var AccordionExpandMode;\n(function (AccordionExpandMode) {\n    /**\n     * Designates only a single {@link @microsoft/fast-foundation#(AccordionItem:class) } can be open a time.\n     */\n    AccordionExpandMode[\"single\"] = \"single\";\n    /**\n     * Designates multiple {@link @microsoft/fast-foundation#(AccordionItem:class) | AccordionItems} can be open simultaneously.\n     */\n    AccordionExpandMode[\"multi\"] = \"multi\";\n})(AccordionExpandMode || (AccordionExpandMode = {}));\n/**\n * An Accordion Custom HTML Element\n * Implements {@link https://www.w3.org/TR/wai-aria-practices-1.1/#accordion | ARIA Accordion}.\n * @public\n *\n * @remarks\n * Designed to be used with {@link @microsoft/fast-foundation#accordionTemplate} and {@link @microsoft/fast-foundation#(AccordionItem:class)}.\n */\nexport class Accordion extends FoundationElement {\n    constructor() {\n        super(...arguments);\n        /**\n         * Controls the expand mode of the Accordion, either allowing\n         * single or multiple item expansion.\n         * @public\n         *\n         * @remarks\n         * HTML attribute: expand-mode\n         */\n        this.expandmode = AccordionExpandMode.multi;\n        this.activeItemIndex = 0;\n        this.change = () => {\n            this.$emit(\"change\");\n        };\n        this.setItems = () => {\n            var _a;\n            if (this.accordionItems.length === 0) {\n                return;\n            }\n            this.accordionIds = this.getItemIds();\n            this.accordionItems.forEach((item, index) => {\n                if (item instanceof AccordionItem) {\n                    item.addEventListener(\"change\", this.activeItemChange);\n                    if (this.isSingleExpandMode()) {\n                        this.activeItemIndex !== index\n                            ? (item.expanded = false)\n                            : (item.expanded = true);\n                    }\n                }\n                const itemId = this.accordionIds[index];\n                item.setAttribute(\"id\", typeof itemId !== \"string\" ? `accordion-${index + 1}` : itemId);\n                this.activeid = this.accordionIds[this.activeItemIndex];\n                item.addEventListener(\"keydown\", this.handleItemKeyDown);\n                item.addEventListener(\"focus\", this.handleItemFocus);\n            });\n            if (this.isSingleExpandMode()) {\n                const expandedItem = (_a = this.findExpandedItem()) !== null && _a !== void 0 ? _a : this.accordionItems[0];\n                expandedItem.setAttribute(\"aria-disabled\", \"true\");\n            }\n        };\n        this.removeItemListeners = (oldValue) => {\n            oldValue.forEach((item, index) => {\n                item.removeEventListener(\"change\", this.activeItemChange);\n                item.removeEventListener(\"keydown\", this.handleItemKeyDown);\n                item.removeEventListener(\"focus\", this.handleItemFocus);\n            });\n        };\n        this.activeItemChange = (event) => {\n            const selectedItem = event.target;\n            this.activeid = event.target.getAttribute(\"id\");\n            if (this.isSingleExpandMode()) {\n                this.resetItems();\n                selectedItem.expanded = true;\n                selectedItem.setAttribute(\"aria-disabled\", \"true\");\n                this.accordionItems.forEach((item) => {\n                    if (!item.hasAttribute(\"disabled\") && item.id !== this.activeid) {\n                        item.removeAttribute(\"aria-disabled\");\n                    }\n                });\n            }\n            this.activeItemIndex = Array.from(this.accordionItems).indexOf(selectedItem);\n            this.change();\n        };\n        this.handleItemKeyDown = (event) => {\n            // only handle the keydown if the event target is the accordion item\n            // prevents arrow keys from moving focus to accordion headers when focus is on accordion item panel content\n            if (event.target !== event.currentTarget) {\n                return;\n            }\n            this.accordionIds = this.getItemIds();\n            switch (event.key) {\n                case keyArrowUp:\n                    event.preventDefault();\n                    this.adjust(-1);\n                    break;\n                case keyArrowDown:\n                    event.preventDefault();\n                    this.adjust(1);\n                    break;\n                case keyHome:\n                    this.activeItemIndex = 0;\n                    this.focusItem();\n                    break;\n                case keyEnd:\n                    this.activeItemIndex = this.accordionItems.length - 1;\n                    this.focusItem();\n                    break;\n            }\n        };\n        this.handleItemFocus = (event) => {\n            // update the active item index if the focus moves to an accordion item via a different method other than the up and down arrow key actions\n            // only do so if the focus is actually on the accordion item and not on any of its children\n            if (event.target === event.currentTarget) {\n                const focusedItem = event.target;\n                const focusedIndex = (this.activeItemIndex = Array.from(this.accordionItems).indexOf(focusedItem));\n                if (this.activeItemIndex !== focusedIndex && focusedIndex !== -1) {\n                    this.activeItemIndex = focusedIndex;\n                    this.activeid = this.accordionIds[this.activeItemIndex];\n                }\n            }\n        };\n    }\n    /**\n     * @internal\n     */\n    accordionItemsChanged(oldValue, newValue) {\n        if (this.$fastController.isConnected) {\n            this.removeItemListeners(oldValue);\n            this.setItems();\n        }\n    }\n    findExpandedItem() {\n        for (let item = 0; item < this.accordionItems.length; item++) {\n            if (this.accordionItems[item].getAttribute(\"expanded\") === \"true\") {\n                return this.accordionItems[item];\n            }\n        }\n        return null;\n    }\n    resetItems() {\n        this.accordionItems.forEach((item, index) => {\n            item.expanded = false;\n        });\n    }\n    getItemIds() {\n        return this.accordionItems.map((accordionItem) => {\n            return accordionItem.getAttribute(\"id\");\n        });\n    }\n    isSingleExpandMode() {\n        return this.expandmode === AccordionExpandMode.single;\n    }\n    adjust(adjustment) {\n        this.activeItemIndex = wrapInBounds(0, this.accordionItems.length - 1, this.activeItemIndex + adjustment);\n        this.focusItem();\n    }\n    focusItem() {\n        const element = this.accordionItems[this.activeItemIndex];\n        if (element instanceof AccordionItem) {\n            element.expandbutton.focus();\n        }\n    }\n}\n__decorate([\n    attr({ attribute: \"expand-mode\" })\n], Accordion.prototype, \"expandmode\", void 0);\n__decorate([\n    observable\n], Accordion.prototype, \"accordionItems\", void 0);\n","import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { FoundationElement } from \"../foundation-element\";\nimport { ARIAGlobalStatesAndProperties, StartEnd, } from \"../patterns/index\";\nimport { applyMixins } from \"../utilities/apply-mixins\";\n/**\n * An Anchor Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element }.\n *\n * @public\n */\nexport class Anchor extends FoundationElement {\n    constructor() {\n        super(...arguments);\n        /**\n         * Overrides the focus call for where delegatesFocus is unsupported.\n         * This check works for Chrome, Edge Chromium, FireFox, and Safari\n         * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858\n         */\n        this.handleUnsupportedDelegatesFocus = () => {\n            var _a;\n            // Check to see if delegatesFocus is supported\n            if (window.ShadowRoot &&\n                !window.ShadowRoot.prototype.hasOwnProperty(\"delegatesFocus\") && ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {\n                this.focus = () => {\n                    this.control.focus();\n                };\n            }\n        };\n    }\n    /**\n     * @internal\n     */\n    connectedCallback() {\n        super.connectedCallback();\n        this.handleUnsupportedDelegatesFocus();\n    }\n}\n__decorate([\n    attr\n], Anchor.prototype, \"download\", void 0);\n__decorate([\n    attr\n], Anchor.prototype, \"href\", void 0);\n__decorate([\n    attr\n], Anchor.prototype, \"hreflang\", void 0);\n__decorate([\n    attr\n], Anchor.prototype, \"ping\", void 0);\n__decorate([\n    attr\n], Anchor.prototype, \"referrerpolicy\", void 0);\n__decorate([\n    attr\n], Anchor.prototype, \"rel\", void 0);\n__decorate([\n    attr\n], Anchor.prototype, \"target\", void 0);\n__decorate([\n    attr\n], Anchor.prototype, \"type\", void 0);\n__decorate([\n    observable\n], Anchor.prototype, \"defaultSlottedContent\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA link role\n *\n * @public\n */\nexport class DelegatesARIALink {\n}\n__decorate([\n    attr({ attribute: \"aria-expanded\", mode: \"fromView\" })\n], DelegatesARIALink.prototype, \"ariaExpanded\", void 0);\napplyMixins(DelegatesARIALink, ARIAGlobalStatesAndProperties);\napplyMixins(Anchor, StartEnd, DelegatesARIALink);\n","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#Badge} component.\n * @public\n */\nexport const badgeTemplate = (context, definition) => html `\n    <template class=\"${x => (x.circular ? \"circular\" : \"\")}\">\n        <div class=\"control\" part=\"control\" style=\"${x => x.generateBadgeStyle()}\">\n            <slot></slot>\n        </div>\n    </template>\n`;\n","import { __decorate } from \"tslib\";\nimport { observable } from \"@microsoft/fast-element\";\nimport { BreadcrumbItem } from \"../breadcrumb-item\";\nimport { FoundationElement } from \"../foundation-element\";\n/**\n * A Breadcrumb Custom HTML Element.\n *\n * @public\n */\nexport class Breadcrumb extends FoundationElement {\n    slottedBreadcrumbItemsChanged() {\n        if (this.$fastController.isConnected) {\n            if (this.slottedBreadcrumbItems === undefined ||\n                this.slottedBreadcrumbItems.length === 0) {\n                return;\n            }\n            const lastNode = this.slottedBreadcrumbItems[this.slottedBreadcrumbItems.length - 1];\n            this.setItemSeparator(lastNode);\n            this.setLastItemAriaCurrent(lastNode);\n        }\n    }\n    setItemSeparator(lastNode) {\n        this.slottedBreadcrumbItems.forEach((item) => {\n            if (item instanceof BreadcrumbItem) {\n                item.separator = true;\n            }\n        });\n        if (lastNode instanceof BreadcrumbItem) {\n            lastNode.separator = false;\n        }\n    }\n    /**\n     * @internal\n     * Finds href on childnodes in the light DOM or shadow DOM.\n     * We look in the shadow DOM because we insert an anchor when breadcrumb-item has an href.\n     */\n    findChildWithHref(node) {\n        var _a, _b;\n        if (node.childElementCount > 0) {\n            return node.querySelector(\"a[href]\");\n        }\n        else if ((_a = node.shadowRoot) === null || _a === void 0 ? void 0 : _a.childElementCount) {\n            return (_b = node.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(\"a[href]\");\n        }\n        else\n            return null;\n    }\n    /**\n     *  If child node with an anchor tag and with href is found then apply aria-current to child node otherwise apply aria-current to the host element, with an href\n     */\n    setLastItemAriaCurrent(lastNode) {\n        const childNodeWithHref = this.findChildWithHref(lastNode);\n        if (childNodeWithHref === null &&\n            lastNode.hasAttribute(\"href\") &&\n            lastNode instanceof BreadcrumbItem) {\n            lastNode.ariaCurrent = \"page\";\n        }\n        else if (childNodeWithHref !== null) {\n            childNodeWithHref.setAttribute(\"aria-current\", \"page\");\n        }\n    }\n}\n__decorate([\n    observable\n], Breadcrumb.prototype, \"slottedBreadcrumbItems\", void 0);\n","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#Accordion} component.\n * @public\n */\nexport const accordionTemplate = (context, definition) => html `\n    <template>\n        <slot name=\"item\" part=\"item\" ${slotted(\"accordionItems\")}></slot>\n    </template>\n`;\n","import { elements, html, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#Breadcrumb} component.\n * @public\n */\nexport const breadcrumbTemplate = (context, definition) => html `\n    <template role=\"navigation\">\n        <div role=\"list\" class=\"list\" part=\"list\">\n            <slot\n                ${slotted({ property: \"slottedBreadcrumbItems\", filter: elements() })}\n            ></slot>\n        </div>\n    </template>\n`;\n","import { html, ref } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(AccordionItem:class)} component.\n * @public\n */\nexport const accordionItemTemplate = (context, definition) => html `\n    <template\n        class=\"${x => (x.expanded ? \"expanded\" : \"\")}\"\n        slot=\"item\"\n    >\n        <div\n            class=\"heading\"\n            part=\"heading\"\n            role=\"heading\"\n            aria-level=\"${x => x.headinglevel}\"\n        >\n            <button\n                class=\"button\"\n                part=\"button\"\n                ${ref(\"expandbutton\")}\n                aria-expanded=\"${x => x.expanded}\"\n                aria-controls=\"${x => x.id}-panel\"\n                id=\"${x => x.id}\"\n                @click=\"${(x, c) => x.clickHandler(c.event)}\"\n            >\n                <span class=\"heading\">\n                    <slot name=\"heading\" part=\"heading\"></slot>\n                </span>\n            </button>\n            ${startSlotTemplate(context, definition)}\n            ${endSlotTemplate(context, definition)}\n            <span class=\"icon\" part=\"icon\" aria-hidden=\"true\">\n                <slot name=\"expanded-icon\" part=\"expanded-icon\">\n                    ${definition.expandedIcon || \"\"}\n                </slot>\n                <slot name=\"collapsed-icon\" part=\"collapsed-icon\">\n                    ${definition.collapsedIcon || \"\"}\n                </slot>\n            <span>\n        </div>\n        <div\n            class=\"region\"\n            part=\"region\"\n            id=\"${x => x.id}-panel\"\n            role=\"region\"\n            aria-labelledby=\"${x => x.id}\"\n        >\n            <slot></slot>\n        </div>\n    </template>\n`;\n","import { __decorate } from \"tslib\";\nimport { attr, DOM, observable } from \"@microsoft/fast-element\";\nimport { Direction, eventResize, eventScroll } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element\";\nimport { getDirection } from \"../utilities/direction\";\nimport { IntersectionService } from \"../utilities/intersection-service\";\n/**\n * An anchored region Custom HTML Element.\n *\n * @beta\n */\nexport class AnchoredRegion extends FoundationElement {\n    constructor() {\n        super(...arguments);\n        /**\n         * The HTML ID of the anchor element this region is positioned relative to\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: anchor\n         */\n        this.anchor = \"\";\n        /**\n         * The HTML ID of the viewport element this region is positioned relative to\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: anchor\n         */\n        this.viewport = \"\";\n        /**\n         * Sets what logic the component uses to determine horizontal placement.\n         * 'locktodefault' forces the default position\n         * 'dynamic' decides placement based on available space\n         * 'uncontrolled' does not control placement on the horizontal axis\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: horizontal-positioning-mode\n         */\n        this.horizontalPositioningMode = \"uncontrolled\";\n        /**\n         * The default horizontal position of the region relative to the anchor element\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: horizontal-default-position\n         */\n        this.horizontalDefaultPosition = \"unset\";\n        /**\n         * Whether the region remains in the viewport (ie. detaches from the anchor) on the horizontal axis\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: horizontal-viewport-lock\n         */\n        this.horizontalViewportLock = false;\n        /**\n         * Whether the region overlaps the anchor on the horizontal axis\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: horizontal-inset\n         */\n        this.horizontalInset = false;\n        /**\n         * Defines how the width of the region is calculated\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: horizontal-scaling\n         */\n        this.horizontalScaling = \"content\";\n        /**\n         * Sets what logic the component uses to determine vertical placement.\n         * 'locktodefault' forces the default position\n         * 'dynamic' decides placement based on available space\n         * 'uncontrolled' does not control placement on the vertical axis\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: vertical-positioning-mode\n         */\n        this.verticalPositioningMode = \"uncontrolled\";\n        /**\n         * The default vertical position of the region relative to the anchor element\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: vertical-default-position\n         */\n        this.verticalDefaultPosition = \"unset\";\n        /**\n         * Whether the region remains in the viewport (ie. detaches from the anchor) on the vertical axis\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: vertical-viewport-lock\n         */\n        this.verticalViewportLock = false;\n        /**\n         * Whether the region overlaps the anchor on the vertical axis\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: vertical-inset\n         */\n        this.verticalInset = false;\n        /**\n         * Defines how the height of the region is calculated\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: vertical-scaling\n         */\n        this.verticalScaling = \"content\";\n        /**\n         * Whether the region is positioned using css \"position: fixed\".\n         * Otherwise the region uses \"position: absolute\".\n         * Fixed placement allows the region to break out of parent containers,\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: fixed-placement\n         */\n        this.fixedPlacement = false;\n        /**\n         *\n         *\n         * @beta\n         * @remarks\n         * HTML Attribute: auto-update-mode\n         */\n        this.autoUpdateMode = \"anchor\";\n        /**\n         * The HTML element being used as the anchor\n         *\n         * @beta\n         */\n        this.anchorElement = null;\n        /**\n         * The HTML element being used as the viewport\n         *\n         * @beta\n         */\n        this.viewportElement = null;\n        /**\n         * indicates that an initial positioning pass on layout has completed\n         *\n         * @internal\n         */\n        this.initialLayoutComplete = false;\n        this.resizeDetector = null;\n        /**\n         * base offsets between the positioner's base position and the anchor's\n         */\n        this.baseHorizontalOffset = 0;\n        this.baseVerticalOffset = 0;\n        this.pendingPositioningUpdate = false;\n        this.pendingReset = false;\n        this.currentDirection = Direction.ltr;\n        this.regionVisible = false;\n        // indicates that a layout update should occur even if geometry has not changed\n        // used to ensure some attribute changes are applied\n        this.forceUpdate = false;\n        // defines how big a difference in pixels there must be between states to\n        // justify a layout update that affects the dom (prevents repeated sub-pixel corrections)\n        this.updateThreshold = 0.5;\n        /**\n         * update position\n         */\n        this.update = () => {\n            if (!this.pendingPositioningUpdate) {\n                this.requestPositionUpdates();\n            }\n        };\n        /**\n         * starts observers\n         */\n        this.startObservers = () => {\n            this.stopObservers();\n            if (this.anchorElement === null) {\n                return;\n            }\n            this.requestPositionUpdates();\n            if (this.resizeDetector !== null) {\n                this.resizeDetector.observe(this.anchorElement);\n                this.resizeDetector.observe(this);\n            }\n        };\n        /**\n         * get position updates\n         */\n        this.requestPositionUpdates = () => {\n            if (this.anchorElement === null || this.pendingPositioningUpdate) {\n                return;\n            }\n            AnchoredRegion.intersectionService.requestPosition(this, this.handleIntersection);\n            AnchoredRegion.intersectionService.requestPosition(this.anchorElement, this.handleIntersection);\n            if (this.viewportElement !== null) {\n                AnchoredRegion.intersectionService.requestPosition(this.viewportElement, this.handleIntersection);\n            }\n            this.pendingPositioningUpdate = true;\n        };\n        /**\n         * stops observers\n         */\n        this.stopObservers = () => {\n            if (this.pendingPositioningUpdate) {\n                this.pendingPositioningUpdate = false;\n                AnchoredRegion.intersectionService.cancelRequestPosition(this, this.handleIntersection);\n                if (this.anchorElement !== null) {\n                    AnchoredRegion.intersectionService.cancelRequestPosition(this.anchorElement, this.handleIntersection);\n                }\n                if (this.viewportElement !== null) {\n                    AnchoredRegion.intersectionService.cancelRequestPosition(this.viewportElement, this.handleIntersection);\n                }\n            }\n            if (this.resizeDetector !== null) {\n                this.resizeDetector.disconnect();\n            }\n        };\n        /**\n         * Gets the viewport element by id, or defaults to document root\n         */\n        this.getViewport = () => {\n            if (typeof this.viewport !== \"string\" || this.viewport === \"\") {\n                return document.documentElement;\n            }\n            return document.getElementById(this.viewport);\n        };\n        /**\n         *  Gets the anchor element by id\n         */\n        this.getAnchor = () => {\n            return document.getElementById(this.anchor);\n        };\n        /**\n         *  Handle intersections\n         */\n        this.handleIntersection = (entries) => {\n            if (!this.pendingPositioningUpdate) {\n                return;\n            }\n            this.pendingPositioningUpdate = false;\n            if (!this.applyIntersectionEntries(entries)) {\n                return;\n            }\n            this.updateLayout();\n        };\n        /**\n         *  iterate through intersection entries and apply data\n         */\n        this.applyIntersectionEntries = (entries) => {\n            const regionEntry = entries.find(x => x.target === this);\n            const anchorEntry = entries.find(x => x.target === this.anchorElement);\n            const viewportEntry = entries.find(x => x.target === this.viewportElement);\n            if (regionEntry === undefined ||\n                viewportEntry === undefined ||\n                anchorEntry === undefined) {\n                return false;\n            }\n            // don't update the dom unless there is a significant difference in rect positions\n            if (!this.regionVisible ||\n                this.forceUpdate ||\n                this.regionRect === undefined ||\n                this.anchorRect === undefined ||\n                this.viewportRect === undefined ||\n                this.isRectDifferent(this.anchorRect, anchorEntry.boundingClientRect) ||\n                this.isRectDifferent(this.viewportRect, viewportEntry.boundingClientRect) ||\n                this.isRectDifferent(this.regionRect, regionEntry.boundingClientRect)) {\n                this.regionRect = regionEntry.boundingClientRect;\n                this.anchorRect = anchorEntry.boundingClientRect;\n                if (this.viewportElement === document.documentElement) {\n                    this.viewportRect = new DOMRectReadOnly(viewportEntry.boundingClientRect.x +\n                        document.documentElement.scrollLeft, viewportEntry.boundingClientRect.y +\n                        document.documentElement.scrollTop, viewportEntry.boundingClientRect.width, viewportEntry.boundingClientRect.height);\n                }\n                else {\n                    this.viewportRect = viewportEntry.boundingClientRect;\n                }\n                this.updateRegionOffset();\n                this.forceUpdate = false;\n                return true;\n            }\n            return false;\n        };\n        /**\n         *  Update the offset values\n         */\n        this.updateRegionOffset = () => {\n            if (this.anchorRect && this.regionRect) {\n                this.baseHorizontalOffset =\n                    this.baseHorizontalOffset +\n                        (this.anchorRect.left - this.regionRect.left) +\n                        (this.translateX - this.baseHorizontalOffset);\n                this.baseVerticalOffset =\n                    this.baseVerticalOffset +\n                        (this.anchorRect.top - this.regionRect.top) +\n                        (this.translateY - this.baseVerticalOffset);\n            }\n        };\n        /**\n         *  compare rects to see if there is enough change to justify a DOM update\n         */\n        this.isRectDifferent = (rectA, rectB) => {\n            if (Math.abs(rectA.top - rectB.top) > this.updateThreshold ||\n                Math.abs(rectA.right - rectB.right) > this.updateThreshold ||\n                Math.abs(rectA.bottom - rectB.bottom) > this.updateThreshold ||\n                Math.abs(rectA.left - rectB.left) > this.updateThreshold) {\n                return true;\n            }\n            return false;\n        };\n        /**\n         *  Handle resize events\n         */\n        this.handleResize = (entries) => {\n            this.update();\n        };\n        /**\n         * resets the component\n         */\n        this.reset = () => {\n            if (!this.pendingReset) {\n                return;\n            }\n            this.pendingReset = false;\n            if (this.anchorElement === null) {\n                this.anchorElement = this.getAnchor();\n            }\n            if (this.viewportElement === null) {\n                this.viewportElement = this.getViewport();\n            }\n            this.currentDirection = getDirection(this);\n            this.startObservers();\n        };\n        /**\n         *  Recalculate layout related state values\n         */\n        this.updateLayout = () => {\n            let desiredVerticalPosition = undefined;\n            let desiredHorizontalPosition = undefined;\n            if (this.horizontalPositioningMode !== \"uncontrolled\") {\n                const horizontalOptions = this.getPositioningOptions(this.horizontalInset);\n                if (this.horizontalDefaultPosition === \"center\") {\n                    desiredHorizontalPosition = \"center\";\n                }\n                else if (this.horizontalDefaultPosition !== \"unset\") {\n                    let dirCorrectedHorizontalDefaultPosition = this\n                        .horizontalDefaultPosition;\n                    if (dirCorrectedHorizontalDefaultPosition === \"start\" ||\n                        dirCorrectedHorizontalDefaultPosition === \"end\") {\n                        // if direction changes we reset the layout\n                        const newDirection = getDirection(this);\n                        if (newDirection !== this.currentDirection) {\n                            this.currentDirection = newDirection;\n                            this.initialize();\n                            return;\n                        }\n                        if (this.currentDirection === Direction.ltr) {\n                            dirCorrectedHorizontalDefaultPosition =\n                                dirCorrectedHorizontalDefaultPosition === \"start\"\n                                    ? \"left\"\n                                    : \"right\";\n                        }\n                        else {\n                            dirCorrectedHorizontalDefaultPosition =\n                                dirCorrectedHorizontalDefaultPosition === \"start\"\n                                    ? \"right\"\n                                    : \"left\";\n                        }\n                    }\n                    switch (dirCorrectedHorizontalDefaultPosition) {\n                        case \"left\":\n                            desiredHorizontalPosition = this.horizontalInset\n                                ? \"insetStart\"\n                                : \"start\";\n                            break;\n                        case \"right\":\n                            desiredHorizontalPosition = this.horizontalInset\n                                ? \"insetEnd\"\n                                : \"end\";\n                            break;\n                    }\n                }\n                const horizontalThreshold = this.horizontalThreshold !== undefined\n                    ? this.horizontalThreshold\n                    : this.regionRect !== undefined\n                        ? this.regionRect.width\n                        : 0;\n                const anchorLeft = this.anchorRect !== undefined ? this.anchorRect.left : 0;\n                const anchorRight = this.anchorRect !== undefined ? this.anchorRect.right : 0;\n                const anchorWidth = this.anchorRect !== undefined ? this.anchorRect.width : 0;\n                const viewportLeft = this.viewportRect !== undefined ? this.viewportRect.left : 0;\n                const viewportRight = this.viewportRect !== undefined ? this.viewportRect.right : 0;\n                if (desiredHorizontalPosition === undefined ||\n                    (!(this.horizontalPositioningMode === \"locktodefault\") &&\n                        this.getAvailableSpace(desiredHorizontalPosition, anchorLeft, anchorRight, anchorWidth, viewportLeft, viewportRight) < horizontalThreshold)) {\n                    desiredHorizontalPosition =\n                        this.getAvailableSpace(horizontalOptions[0], anchorLeft, anchorRight, anchorWidth, viewportLeft, viewportRight) >\n                            this.getAvailableSpace(horizontalOptions[1], anchorLeft, anchorRight, anchorWidth, viewportLeft, viewportRight)\n                            ? horizontalOptions[0]\n                            : horizontalOptions[1];\n                }\n            }\n            if (this.verticalPositioningMode !== \"uncontrolled\") {\n                const verticalOptions = this.getPositioningOptions(this.verticalInset);\n                if (this.verticalDefaultPosition === \"center\") {\n                    desiredVerticalPosition = \"center\";\n                }\n                else if (this.verticalDefaultPosition !== \"unset\") {\n                    switch (this.verticalDefaultPosition) {\n                        case \"top\":\n                            desiredVerticalPosition = this.verticalInset\n                                ? \"insetStart\"\n                                : \"start\";\n                            break;\n                        case \"bottom\":\n                            desiredVerticalPosition = this.verticalInset ? \"insetEnd\" : \"end\";\n                            break;\n                    }\n                }\n                const verticalThreshold = this.verticalThreshold !== undefined\n                    ? this.verticalThreshold\n                    : this.regionRect !== undefined\n                        ? this.regionRect.height\n                        : 0;\n                const anchorTop = this.anchorRect !== undefined ? this.anchorRect.top : 0;\n                const anchorBottom = this.anchorRect !== undefined ? this.anchorRect.bottom : 0;\n                const anchorHeight = this.anchorRect !== undefined ? this.anchorRect.height : 0;\n                const viewportTop = this.viewportRect !== undefined ? this.viewportRect.top : 0;\n                const viewportBottom = this.viewportRect !== undefined ? this.viewportRect.bottom : 0;\n                if (desiredVerticalPosition === undefined ||\n                    (!(this.verticalPositioningMode === \"locktodefault\") &&\n                        this.getAvailableSpace(desiredVerticalPosition, anchorTop, anchorBottom, anchorHeight, viewportTop, viewportBottom) < verticalThreshold)) {\n                    desiredVerticalPosition =\n                        this.getAvailableSpace(verticalOptions[0], anchorTop, anchorBottom, anchorHeight, viewportTop, viewportBottom) >\n                            this.getAvailableSpace(verticalOptions[1], anchorTop, anchorBottom, anchorHeight, viewportTop, viewportBottom)\n                            ? verticalOptions[0]\n                            : verticalOptions[1];\n                }\n            }\n            const nextPositionerDimension = this.getNextRegionDimension(desiredHorizontalPosition, desiredVerticalPosition);\n            const positionChanged = this.horizontalPosition !== desiredHorizontalPosition ||\n                this.verticalPosition !== desiredVerticalPosition;\n            this.setHorizontalPosition(desiredHorizontalPosition, nextPositionerDimension);\n            this.setVerticalPosition(desiredVerticalPosition, nextPositionerDimension);\n            this.updateRegionStyle();\n            if (!this.initialLayoutComplete) {\n                this.initialLayoutComplete = true;\n                this.requestPositionUpdates();\n                return;\n            }\n            if (!this.regionVisible) {\n                this.regionVisible = true;\n                this.style.removeProperty(\"pointer-events\");\n                this.style.removeProperty(\"opacity\");\n                this.classList.toggle(\"loaded\", true);\n                this.$emit(\"loaded\", this, { bubbles: false });\n            }\n            this.updatePositionClasses();\n            if (positionChanged) {\n                // emit change event\n                this.$emit(\"positionchange\", this, { bubbles: false });\n            }\n        };\n        /**\n         *  Updates the style string applied to the region element as well as the css classes attached\n         *  to the root element\n         */\n        this.updateRegionStyle = () => {\n            this.style.width = this.regionWidth;\n            this.style.height = this.regionHeight;\n            this.style.transform = `translate(${this.translateX}px, ${this.translateY}px)`;\n        };\n        /**\n         *  Updates the css classes that reflect the current position of the element\n         */\n        this.updatePositionClasses = () => {\n            this.classList.toggle(\"top\", this.verticalPosition === \"start\");\n            this.classList.toggle(\"bottom\", this.verticalPosition === \"end\");\n            this.classList.toggle(\"inset-top\", this.verticalPosition === \"insetStart\");\n            this.classList.toggle(\"inset-bottom\", this.verticalPosition === \"insetEnd\");\n            this.classList.toggle(\"vertical-center\", this.verticalPosition === \"center\");\n            this.classList.toggle(\"left\", this.horizontalPosition === \"start\");\n            this.classList.toggle(\"right\", this.horizontalPosition === \"end\");\n            this.classList.toggle(\"inset-left\", this.horizontalPosition === \"insetStart\");\n            this.classList.toggle(\"inset-right\", this.horizontalPosition === \"insetEnd\");\n            this.classList.toggle(\"horizontal-center\", this.horizontalPosition === \"center\");\n        };\n        /**\n         * Get horizontal positioning state based on desired position\n         */\n        this.setHorizontalPosition = (desiredHorizontalPosition, nextPositionerDimension) => {\n            if (desiredHorizontalPosition === undefined ||\n                this.regionRect === undefined ||\n                this.anchorRect === undefined ||\n                this.viewportRect === undefined) {\n                return;\n            }\n            let nextRegionWidth = 0;\n            switch (this.horizontalScaling) {\n                case \"anchor\":\n                case \"fill\":\n                    nextRegionWidth = nextPositionerDimension.width;\n                    this.regionWidth = `${nextRegionWidth}px`;\n                    break;\n                case \"content\":\n                    nextRegionWidth = this.regionRect.width;\n                    this.regionWidth = \"unset\";\n                    break;\n            }\n            let sizeDelta = 0;\n            switch (desiredHorizontalPosition) {\n                case \"start\":\n                    this.translateX = this.baseHorizontalOffset - nextRegionWidth;\n                    if (this.horizontalViewportLock &&\n                        this.anchorRect.left > this.viewportRect.right) {\n                        this.translateX =\n                            this.translateX -\n                                (this.anchorRect.left - this.viewportRect.right);\n                    }\n                    break;\n                case \"insetStart\":\n                    this.translateX =\n                        this.baseHorizontalOffset - nextRegionWidth + this.anchorRect.width;\n                    if (this.horizontalViewportLock &&\n                        this.anchorRect.right > this.viewportRect.right) {\n                        this.translateX =\n                            this.translateX -\n                                (this.anchorRect.right - this.viewportRect.right);\n                    }\n                    break;\n                case \"insetEnd\":\n                    this.translateX = this.baseHorizontalOffset;\n                    if (this.horizontalViewportLock &&\n                        this.anchorRect.left < this.viewportRect.left) {\n                        this.translateX =\n                            this.translateX - (this.anchorRect.left - this.viewportRect.left);\n                    }\n                    break;\n                case \"end\":\n                    this.translateX = this.baseHorizontalOffset + this.anchorRect.width;\n                    if (this.horizontalViewportLock &&\n                        this.anchorRect.right < this.viewportRect.left) {\n                        this.translateX =\n                            this.translateX -\n                                (this.anchorRect.right - this.viewportRect.left);\n                    }\n                    break;\n                case \"center\":\n                    sizeDelta = (this.anchorRect.width - nextRegionWidth) / 2;\n                    this.translateX = this.baseHorizontalOffset + sizeDelta;\n                    if (this.horizontalViewportLock) {\n                        const regionLeft = this.anchorRect.left + sizeDelta;\n                        const regionRight = this.anchorRect.right - sizeDelta;\n                        if (regionLeft < this.viewportRect.left &&\n                            !(regionRight > this.viewportRect.right)) {\n                            this.translateX =\n                                this.translateX - (regionLeft - this.viewportRect.left);\n                        }\n                        else if (regionRight > this.viewportRect.right &&\n                            !(regionLeft < this.viewportRect.left)) {\n                            this.translateX =\n                                this.translateX - (regionRight - this.viewportRect.right);\n                        }\n                    }\n                    break;\n            }\n            this.horizontalPosition = desiredHorizontalPosition;\n        };\n        /**\n         * Set vertical positioning state based on desired position\n         */\n        this.setVerticalPosition = (desiredVerticalPosition, nextPositionerDimension) => {\n            if (desiredVerticalPosition === undefined ||\n                this.regionRect === undefined ||\n                this.anchorRect === undefined ||\n                this.viewportRect === undefined) {\n                return;\n            }\n            let nextRegionHeight = 0;\n            switch (this.verticalScaling) {\n                case \"anchor\":\n                case \"fill\":\n                    nextRegionHeight = nextPositionerDimension.height;\n                    this.regionHeight = `${nextRegionHeight}px`;\n                    break;\n                case \"content\":\n                    nextRegionHeight = this.regionRect.height;\n                    this.regionHeight = \"unset\";\n                    break;\n            }\n            let sizeDelta = 0;\n            switch (desiredVerticalPosition) {\n                case \"start\":\n                    this.translateY = this.baseVerticalOffset - nextRegionHeight;\n                    if (this.verticalViewportLock &&\n                        this.anchorRect.top > this.viewportRect.bottom) {\n                        this.translateY =\n                            this.translateY -\n                                (this.anchorRect.top - this.viewportRect.bottom);\n                    }\n                    break;\n                case \"insetStart\":\n                    this.translateY =\n                        this.baseVerticalOffset - nextRegionHeight + this.anchorRect.height;\n                    if (this.verticalViewportLock &&\n                        this.anchorRect.bottom > this.viewportRect.bottom) {\n                        this.translateY =\n                            this.translateY -\n                                (this.anchorRect.bottom - this.viewportRect.bottom);\n                    }\n                    break;\n                case \"insetEnd\":\n                    this.translateY = this.baseVerticalOffset;\n                    if (this.verticalViewportLock &&\n                        this.anchorRect.top < this.viewportRect.top) {\n                        this.translateY =\n                            this.translateY - (this.anchorRect.top - this.viewportRect.top);\n                    }\n                    break;\n                case \"end\":\n                    this.translateY = this.baseVerticalOffset + this.anchorRect.height;\n                    if (this.verticalViewportLock &&\n                        this.anchorRect.bottom < this.viewportRect.top) {\n                        this.translateY =\n                            this.translateY -\n                                (this.anchorRect.bottom - this.viewportRect.top);\n                    }\n                    break;\n                case \"center\":\n                    sizeDelta = (this.anchorRect.height - nextRegionHeight) / 2;\n                    this.translateY = this.baseVerticalOffset + sizeDelta;\n                    if (this.verticalViewportLock) {\n                        const regionTop = this.anchorRect.top + sizeDelta;\n                        const regionBottom = this.anchorRect.bottom - sizeDelta;\n                        if (regionTop < this.viewportRect.top &&\n                            !(regionBottom > this.viewportRect.bottom)) {\n                            this.translateY =\n                                this.translateY - (regionTop - this.viewportRect.top);\n                        }\n                        else if (regionBottom > this.viewportRect.bottom &&\n                            !(regionTop < this.viewportRect.top)) {\n                            this.translateY =\n                                this.translateY - (regionBottom - this.viewportRect.bottom);\n                        }\n                    }\n            }\n            this.verticalPosition = desiredVerticalPosition;\n        };\n        /**\n         *  Get available positions based on positioning mode\n         */\n        this.getPositioningOptions = (inset) => {\n            if (inset) {\n                return [\"insetStart\", \"insetEnd\"];\n            }\n            return [\"start\", \"end\"];\n        };\n        /**\n         *  Get the space available for a particular relative position\n         */\n        this.getAvailableSpace = (positionOption, anchorStart, anchorEnd, anchorSpan, viewportStart, viewportEnd) => {\n            const spaceStart = anchorStart - viewportStart;\n            const spaceEnd = viewportEnd - (anchorStart + anchorSpan);\n            switch (positionOption) {\n                case \"start\":\n                    return spaceStart;\n                case \"insetStart\":\n                    return spaceStart + anchorSpan;\n                case \"insetEnd\":\n                    return spaceEnd + anchorSpan;\n                case \"end\":\n                    return spaceEnd;\n                case \"center\":\n                    return Math.min(spaceStart, spaceEnd) * 2 + anchorSpan;\n            }\n        };\n        /**\n         * Get region dimensions\n         */\n        this.getNextRegionDimension = (desiredHorizontalPosition, desiredVerticalPosition) => {\n            const newRegionDimension = {\n                height: this.regionRect !== undefined ? this.regionRect.height : 0,\n                width: this.regionRect !== undefined ? this.regionRect.width : 0,\n            };\n            if (desiredHorizontalPosition !== undefined &&\n                this.horizontalScaling === \"fill\") {\n                newRegionDimension.width = this.getAvailableSpace(desiredHorizontalPosition, this.anchorRect !== undefined ? this.anchorRect.left : 0, this.anchorRect !== undefined ? this.anchorRect.right : 0, this.anchorRect !== undefined ? this.anchorRect.width : 0, this.viewportRect !== undefined ? this.viewportRect.left : 0, this.viewportRect !== undefined ? this.viewportRect.right : 0);\n            }\n            else if (this.horizontalScaling === \"anchor\") {\n                newRegionDimension.width =\n                    this.anchorRect !== undefined ? this.anchorRect.width : 0;\n            }\n            if (desiredVerticalPosition !== undefined && this.verticalScaling === \"fill\") {\n                newRegionDimension.height = this.getAvailableSpace(desiredVerticalPosition, this.anchorRect !== undefined ? this.anchorRect.top : 0, this.anchorRect !== undefined ? this.anchorRect.bottom : 0, this.anchorRect !== undefined ? this.anchorRect.height : 0, this.viewportRect !== undefined ? this.viewportRect.top : 0, this.viewportRect !== undefined ? this.viewportRect.bottom : 0);\n            }\n            else if (this.verticalScaling === \"anchor\") {\n                newRegionDimension.height =\n                    this.anchorRect !== undefined ? this.anchorRect.height : 0;\n            }\n            return newRegionDimension;\n        };\n        /**\n         * starts event listeners that can trigger auto updating\n         */\n        this.startAutoUpdateEventListeners = () => {\n            window.addEventListener(eventResize, this.update, { passive: true });\n            window.addEventListener(eventScroll, this.update, {\n                passive: true,\n                capture: true,\n            });\n            if (this.resizeDetector !== null && this.viewportElement !== null) {\n                this.resizeDetector.observe(this.viewportElement);\n            }\n        };\n        /**\n         * stops event listeners that can trigger auto updating\n         */\n        this.stopAutoUpdateEventListeners = () => {\n            window.removeEventListener(eventResize, this.update);\n            window.removeEventListener(eventScroll, this.update);\n            if (this.resizeDetector !== null && this.viewportElement !== null) {\n                this.resizeDetector.unobserve(this.viewportElement);\n            }\n        };\n    }\n    anchorChanged() {\n        if (this.initialLayoutComplete) {\n            this.anchorElement = this.getAnchor();\n        }\n    }\n    viewportChanged() {\n        if (this.initialLayoutComplete) {\n            this.viewportElement = this.getViewport();\n        }\n    }\n    horizontalPositioningModeChanged() {\n        this.requestReset();\n    }\n    horizontalDefaultPositionChanged() {\n        this.updateForAttributeChange();\n    }\n    horizontalViewportLockChanged() {\n        this.updateForAttributeChange();\n    }\n    horizontalInsetChanged() {\n        this.updateForAttributeChange();\n    }\n    horizontalThresholdChanged() {\n        this.updateForAttributeChange();\n    }\n    horizontalScalingChanged() {\n        this.updateForAttributeChange();\n    }\n    verticalPositioningModeChanged() {\n        this.requestReset();\n    }\n    verticalDefaultPositionChanged() {\n        this.updateForAttributeChange();\n    }\n    verticalViewportLockChanged() {\n        this.updateForAttributeChange();\n    }\n    verticalInsetChanged() {\n        this.updateForAttributeChange();\n    }\n    verticalThresholdChanged() {\n        this.updateForAttributeChange();\n    }\n    verticalScalingChanged() {\n        this.updateForAttributeChange();\n    }\n    fixedPlacementChanged() {\n        if (this.$fastController.isConnected &&\n            this.initialLayoutComplete) {\n            this.initialize();\n        }\n    }\n    autoUpdateModeChanged(prevMode, newMode) {\n        if (this.$fastController.isConnected &&\n            this.initialLayoutComplete) {\n            if (prevMode === \"auto\") {\n                this.stopAutoUpdateEventListeners();\n            }\n            if (newMode === \"auto\") {\n                this.startAutoUpdateEventListeners();\n            }\n        }\n    }\n    anchorElementChanged() {\n        this.requestReset();\n    }\n    viewportElementChanged() {\n        if (this.$fastController.isConnected &&\n            this.initialLayoutComplete) {\n            this.initialize();\n        }\n    }\n    /**\n     * @internal\n     */\n    connectedCallback() {\n        super.connectedCallback();\n        if (this.autoUpdateMode === \"auto\") {\n            this.startAutoUpdateEventListeners();\n        }\n        this.initialize();\n    }\n    /**\n     * @internal\n     */\n    disconnectedCallback() {\n        super.disconnectedCallback();\n        if (this.autoUpdateMode === \"auto\") {\n            this.stopAutoUpdateEventListeners();\n        }\n        this.stopObservers();\n        this.disconnectResizeDetector();\n    }\n    /**\n     * @internal\n     */\n    adoptedCallback() {\n        this.initialize();\n    }\n    /**\n     * destroys the instance's resize observer\n     */\n    disconnectResizeDetector() {\n        if (this.resizeDetector !== null) {\n            this.resizeDetector.disconnect();\n            this.resizeDetector = null;\n        }\n    }\n    /**\n     * initializes the instance's resize observer\n     */\n    initializeResizeDetector() {\n        this.disconnectResizeDetector();\n        this.resizeDetector = new window.ResizeObserver(this.handleResize);\n    }\n    /**\n     * react to attribute changes that don't require a reset\n     */\n    updateForAttributeChange() {\n        if (this.$fastController.isConnected &&\n            this.initialLayoutComplete) {\n            this.forceUpdate = true;\n            this.update();\n        }\n    }\n    /**\n     * fully initializes the component\n     */\n    initialize() {\n        this.initializeResizeDetector();\n        if (this.anchorElement === null) {\n            this.anchorElement = this.getAnchor();\n        }\n        this.requestReset();\n    }\n    /**\n     * Request a reset if there are currently no open requests\n     */\n    requestReset() {\n        if (this.$fastController.isConnected &&\n            this.pendingReset === false) {\n            this.setInitialState();\n            DOM.queueUpdate(() => this.reset());\n            this.pendingReset = true;\n        }\n    }\n    /**\n     * sets the starting configuration for component internal values\n     */\n    setInitialState() {\n        this.initialLayoutComplete = false;\n        this.regionVisible = false;\n        this.translateX = 0;\n        this.translateY = 0;\n        this.baseHorizontalOffset = 0;\n        this.baseVerticalOffset = 0;\n        this.viewportRect = undefined;\n        this.regionRect = undefined;\n        this.anchorRect = undefined;\n        this.verticalPosition = undefined;\n        this.horizontalPosition = undefined;\n        this.style.opacity = \"0\";\n        this.style.pointerEvents = \"none\";\n        this.forceUpdate = false;\n        this.style.position = this.fixedPlacement ? \"fixed\" : \"absolute\";\n        this.updatePositionClasses();\n        this.updateRegionStyle();\n    }\n}\nAnchoredRegion.intersectionService = new IntersectionService();\n__decorate([\n    attr\n], AnchoredRegion.prototype, \"anchor\", void 0);\n__decorate([\n    attr\n], AnchoredRegion.prototype, \"viewport\", void 0);\n__decorate([\n    attr({ attribute: \"horizontal-positioning-mode\" })\n], AnchoredRegion.prototype, \"horizontalPositioningMode\", void 0);\n__decorate([\n    attr({ attribute: \"horizontal-default-position\" })\n], AnchoredRegion.prototype, \"horizontalDefaultPosition\", void 0);\n__decorate([\n    attr({ attribute: \"horizontal-viewport-lock\", mode: \"boolean\" })\n], AnchoredRegion.prototype, \"horizontalViewportLock\", void 0);\n__decorate([\n    attr({ attribute: \"horizontal-inset\", mode: \"boolean\" })\n], AnchoredRegion.prototype, \"horizontalInset\", void 0);\n__decorate([\n    attr({ attribute: \"horizontal-threshold\" })\n], AnchoredRegion.prototype, \"horizontalThreshold\", void 0);\n__decorate([\n    attr({ attribute: \"horizontal-scaling\" })\n], AnchoredRegion.prototype, \"horizontalScaling\", void 0);\n__decorate([\n    attr({ attribute: \"vertical-positioning-mode\" })\n], AnchoredRegion.prototype, \"verticalPositioningMode\", void 0);\n__decorate([\n    attr({ attribute: \"vertical-default-position\" })\n], AnchoredRegion.prototype, \"verticalDefaultPosition\", void 0);\n__decorate([\n    attr({ attribute: \"vertical-viewport-lock\", mode: \"boolean\" })\n], AnchoredRegion.prototype, \"verticalViewportLock\", void 0);\n__decorate([\n    attr({ attribute: \"vertical-inset\", mode: \"boolean\" })\n], AnchoredRegion.prototype, \"verticalInset\", void 0);\n__decorate([\n    attr({ attribute: \"vertical-threshold\" })\n], AnchoredRegion.prototype, \"verticalThreshold\", void 0);\n__decorate([\n    attr({ attribute: \"vertical-scaling\" })\n], AnchoredRegion.prototype, \"verticalScaling\", void 0);\n__decorate([\n    attr({ attribute: \"fixed-placement\", mode: \"boolean\" })\n], AnchoredRegion.prototype, \"fixedPlacement\", void 0);\n__decorate([\n    attr({ attribute: \"auto-update-mode\" })\n], AnchoredRegion.prototype, \"autoUpdateMode\", void 0);\n__decorate([\n    observable\n], AnchoredRegion.prototype, \"anchorElement\", void 0);\n__decorate([\n    observable\n], AnchoredRegion.prototype, \"viewportElement\", void 0);\n__decorate([\n    observable\n], AnchoredRegion.prototype, \"initialLayoutComplete\", void 0);\n","import { FormAssociated } from \"../form-associated/form-associated\";\nimport { FoundationElement } from \"../foundation-element\";\nclass _Button extends FoundationElement {\n}\n/**\n * A form-associated base class for the {@link @microsoft/fast-foundation#(Button:class)} component.\n *\n * @internal\n */\nexport class FormAssociatedButton extends FormAssociated(_Button) {\n    constructor() {\n        super(...arguments);\n        this.proxy = document.createElement(\"input\");\n    }\n}\n","import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { ARIAGlobalStatesAndProperties, StartEnd, } from \"../patterns/index\";\nimport { applyMixins } from \"../utilities/apply-mixins\";\nimport { FormAssociatedButton } from \"./button.form-associated\";\n/**\n * A Button Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button | <button> element }.\n *\n * @public\n */\nexport class Button extends FormAssociatedButton {\n    constructor() {\n        super(...arguments);\n        /**\n         * Submits the parent form\n         */\n        this.handleSubmission = () => {\n            if (!this.form) {\n                return;\n            }\n            const attached = this.proxy.isConnected;\n            if (!attached) {\n                this.attachProxy();\n            }\n            // Browser support for requestSubmit is not comprehensive\n            // so click the proxy if it isn't supported\n            typeof this.form.requestSubmit === \"function\"\n                ? this.form.requestSubmit(this.proxy)\n                : this.proxy.click();\n            if (!attached) {\n                this.detachProxy();\n            }\n        };\n        /**\n         * Resets the parent form\n         */\n        this.handleFormReset = () => {\n            var _a;\n            (_a = this.form) === null || _a === void 0 ? void 0 : _a.reset();\n        };\n        /**\n         * Overrides the focus call for where delegatesFocus is unsupported.\n         * This check works for Chrome, Edge Chromium, FireFox, and Safari\n         * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858\n         */\n        this.handleUnsupportedDelegatesFocus = () => {\n            var _a;\n            // Check to see if delegatesFocus is supported\n            if (window.ShadowRoot &&\n                !window.ShadowRoot.prototype.hasOwnProperty(\"delegatesFocus\") && ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {\n                this.focus = () => {\n                    this.control.focus();\n                };\n            }\n        };\n    }\n    formactionChanged() {\n        if (this.proxy instanceof HTMLInputElement) {\n            this.proxy.formAction = this.formaction;\n        }\n    }\n    formenctypeChanged() {\n        if (this.proxy instanceof HTMLInputElement) {\n            this.proxy.formEnctype = this.formenctype;\n        }\n    }\n    formmethodChanged() {\n        if (this.proxy instanceof HTMLInputElement) {\n            this.proxy.formMethod = this.formmethod;\n        }\n    }\n    formnovalidateChanged() {\n        if (this.proxy instanceof HTMLInputElement) {\n            this.proxy.formNoValidate = this.formnovalidate;\n        }\n    }\n    formtargetChanged() {\n        if (this.proxy instanceof HTMLInputElement) {\n            this.proxy.formTarget = this.formtarget;\n        }\n    }\n    typeChanged(previous, next) {\n        if (this.proxy instanceof HTMLInputElement) {\n            this.proxy.type = this.type;\n        }\n        next === \"submit\" && this.addEventListener(\"click\", this.handleSubmission);\n        previous === \"submit\" && this.removeEventListener(\"click\", this.handleSubmission);\n        next === \"reset\" && this.addEventListener(\"click\", this.handleFormReset);\n        previous === \"reset\" && this.removeEventListener(\"click\", this.handleFormReset);\n    }\n    /**\n     * @internal\n     */\n    connectedCallback() {\n        super.connectedCallback();\n        this.proxy.setAttribute(\"type\", this.type);\n        this.handleUnsupportedDelegatesFocus();\n    }\n}\n__decorate([\n    attr({ mode: \"boolean\" })\n], Button.prototype, \"autofocus\", void 0);\n__decorate([\n    attr({ attribute: \"form\" })\n], Button.prototype, \"formId\", void 0);\n__decorate([\n    attr\n], Button.prototype, \"formaction\", void 0);\n__decorate([\n    attr\n], Button.prototype, \"formenctype\", void 0);\n__decorate([\n    attr\n], Button.prototype, \"formmethod\", void 0);\n__decorate([\n    attr({ mode: \"boolean\" })\n], Button.prototype, \"formnovalidate\", void 0);\n__decorate([\n    attr\n], Button.prototype, \"formtarget\", void 0);\n__decorate([\n    attr\n], Button.prototype, \"type\", void 0);\n__decorate([\n    observable\n], Button.prototype, \"defaultSlottedContent\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA button role\n *\n * @public\n */\nexport class DelegatesARIAButton {\n}\n__decorate([\n    attr({ attribute: \"aria-expanded\", mode: \"fromView\" })\n], DelegatesARIAButton.prototype, \"ariaExpanded\", void 0);\n__decorate([\n    attr({ attribute: \"aria-pressed\", mode: \"fromView\" })\n], DelegatesARIAButton.prototype, \"ariaPressed\", void 0);\napplyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);\napplyMixins(Button, StartEnd, DelegatesARIAButton);\n"],"sourceRoot":""}